Metadata-Version: 1.1
Name: PyScons
Version: 1.0.10
Summary: An extension to Scons which enables dependency tracking on python script imports.
Home-page: http://swami.wustl.edu/
Author: S. Joshua Swamidass
Author-email: swamidass@gmail.com
License: UNKNOWN
Description: 
        =======
        PyScons
        =======
        
        PyScons is a tool which works with Scons_. It 
        is installed into a new environment with either of the two commands::
        
            from pyscons import PYTOOL
            env = Environment(tools = ['default', PYTOOL()])
        
        or::
        
            from pyscons import PYTOOL
            env = Environment()
            PYTOOL()(env)
        
        This does two things:
        
        1. Installs a new builder: PyScript.
        2. Installs a new scanner for python scripts.
        
        PyScript
        --------
        
        This Builder has a few additional abilities. 
        
        First, it will automatically find the ".py" files referred to when 
        running a module as a script with the '-m' option. For example
        the following code will run a module as script and add the appriate files
        to the dependencies::
        
           env.PyScript("out", ["-m timeit", "myscript.py"], "python $SOURCES > $TARGET")
        
        Second, it defaults the command string to "python $SOURCES" and using the "capture"
        keyword argument, can automatically append the appropriate strings to capture
        the output or error (or both) to the targets::
        
           env.PyScript("out", ["-m timeit", "myscript.py"], capture="output")
           
        or to capture both the output and error::
          
           env.PyScript(["out","err"], ["-m timeit", "myscript.py"], capture="both")
           
        Just like Command, multiple steps can be used to create a file::
        
           env.PyScript("out", ["step1.py", "step2.py"], 
                ["python ${SOURCES[0]} > temp", "python ${SOURCES[1]} > $TARGET", Delete("temp")])
        
        PyScanner
        ---------
        
        This scanner uses the modulefinder module to find all import dependencies 
        in all sources with a 'py' extension. It can take two options in its constructor:
        
        1. filter_path: a callable object (or None) which takes a path as input and returns true
           if this file should be included as a dependency by scons, or false if it should be ignored.
           By default, this variable becomes a function which ensures that no system python modules
           or modules from site-packages are tracked. To track all files, use "lambda p: True".
        
        2. recursive: with a true (default) or false, it enables or disables recursive dependency 
           tracking. 
        
        For example to track all files (including system imports) in a nonrecursive scanner, use
        the following install code in your SConstruct::
        
            from pyscons import PYTOOL
            env = Environment(tools = ['default', PYTOOL(recursive = False, filter_path = lambda p: True)])
        
        Author
        ------
        
        S. Joshua Swamidass (homepage_)
        
        .. _homepage: http://swami.wustl.edu/
        .. _Scons: http://www.scons.org/
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Science/Research
Classifier: License :: Free for non-commercial use
Classifier: Natural Language :: English
Classifier: Topic :: Software Development :: Build Tools
Classifier: Programming Language :: Python
Classifier: Topic :: System :: Installation/Setup
Classifier: Intended Audience :: Developers
Requires: SCons
