Part of twisted.python View Source
Don't use this outside of Twisted.
Maintainer: Christopher Armstrong
|Class||ConditionalExtension||An extension module that will only be compiled if certain conditions are met.|
|Function||setup||An alternative to distutils' setup() which is specially designed for Twisted subprojects.|
|Function||getVersion||Extract the version number for a given project.|
|Function||relativeTo||Gets 'relativee' relative to 'basepath'.|
|Function||getDataFiles||Get all the data files that should be included in this distutils Project.|
|Function||getExtensions||Get all extensions from core and all subprojects.|
|Function||getPackages||Get all packages which are under dname. This is necessary for Python 2.2's distutils. Pretty similar arguments to getDataFiles, including 'parent'.|
|Function||getScripts||Returns a list of scripts for a Twisted subproject; this works in any of an SVN checkout, a project-specific tarball.|
|Class||build_scripts_twisted||Renames scripts so they end with '.py' on Windows.|
|Class||install_data_twisted||I make sure data files are installed in the package directory.|
|Class||build_ext_twisted||Allow subclasses to easily detect and customize Extensions to build at install-time.|
|Function||_filterNames||Given a list of file names, return those names that should be copied.|
|Function||_checkCPython||Checks if this implementation is CPython.|
Pass twisted_subproject=projname if you want package and data files to automatically be found for you.
|Parameters||conditionalExtensions||Extensions to optionally build. (type: |
|Parameters||proj||the name of the project. Examples are "core", "conch", "words", "mail".|
|Returns||The version number of the project, as a string like "2.0.0". (type: str)|
>>> relativeTo('/home/', '/home/radix/') 'radix' >>> relativeTo('.', '/home/radix/Projects/Twisted') # curdir is /home/radix 'Projects/Twisted'
The 'relativee' must be a child of 'basepath'.
'dname' should be the path to the package that you're distributing.
'ignore' is a list of sub-packages to ignore. This facilitates disparate package hierarchies. That's a fancy way of saying that the 'twisted' package doesn't want to include the 'twisted.conch' package, so it will pass ['conch'] as the value.
'parent' is necessary if you're distributing a subpackage like twisted.conch. 'dname' should point to 'twisted/conch' and 'parent' should point to 'twisted'. This ensures that your data_files are generated correctly, only using relative paths for the first element of the tuple ('twisted/conch/*'). The default 'parent' is the current working directory.
On recent versions of Python, will use
platform.python_implementation. On 2.5, it will try to extract
the implementation from sys.subversion. On older versions (currently the
only supported older version is 2.4), checks if
__pypy__ is in
sys.modules, since PyPy is the implementation we really care
about. If it isn't, assumes CPython.
platform kwargs that by
default use the real modules. You shouldn't care about these -- they are
for testing purposes only.