Re: [Distutils] Static metadata using setup.cfg
On Tue, 18 Aug 2009 06:06:29 +0300, Alex Grönholm
That scheme does not allow me to say "This dependency is required unless platform is X". A practical example of this is Beaker, where pycryptopp is required for cookie encryption, but works without external dependencies on Jython.
Yes, I follow.. That's why I'm so keen on having a pre_setup() and a post_setup() user routine, where the environment and dependencies can be exposed. I can't see any easy way to do conditional logic in a config file. imho it just has to go in code.. and it is as simple as that - haha for example (demonstration code - not runnable): """ from distutils.core import setup def pre_setup(): if sys.platform() == "linux2": self.dependencies.append("pycryptopp") return setup() """ So, one could modify the dependencies dynamically based on the underlying platform. Dependencies is a list of packages within the setup class. So the user can add or remove items before the actual setup() is done.
Also, how do I define that this package has a minimum (or maximum) required Python version?
[Python_versions] minimum_supported=2.3 maximum_supported=2.7 We can't tell a user it won't work - only that it isn't supported.
Or that the distribution is only applicable to a certain platform (say, win32 or java)?
[Platforms] supported1=linux2 supported2=mac supported3=win32,win64 I think we can let the developer specify what *is* supported, and if it doesn't match then give the user the choice to proceed or not. (At their own risk) David
participants (1)
-
David Lyon