Metadata-Version: 1.1
Name: module-launcher
Version: 0.2.0
Summary: Preforks interpreters to reduce script startup time
Home-page: https://github.com/gvalkov/python-module-launcher
Author: Georgi Valkov
Author-email: georgi.t.valkov@gmail.com
License: Revised BSD License
Description: Python module launcher
        ----------------------
        
        This module tries to improve the start-up time of Python scripts. It
        does so by doing two things:
        
         - Eliminating the time it takes to spawn a new Python process.
         - Loading modules ahead of time.
        
        Eliminating interpreter start-up time is done by maintaining a pool of
        Python processes. Reducing module load times is done by importing
        modules immediately after a worker is spawned. Python is smart about
        not re-importing modules that are already in ``sys.modules``.
        
        I ended up writing this module because of a few small Qt programs that
        weren't launching as fast as I would like them too. The results were a
        ~100ms reduction in startup time, which can be attributed to PySide
        being a hefty package to import.
        
        There are plenty of bugs and todos left - handling return code and
        proper process shutdown seem to be on top of the list.
        
        Usage
        =====
        
        ::
        
            Usage: python-module-launcher-3.3 [-hvdpws] socket [mod, ...]
        
            Options:
              -h, --help           show this help message and exit
              -v, --version        show version and exit
              -d, --daemonize      run in background (default: no)
              -p, --pidfile        pid file to use if running as a daemon
              -w, --workers <num>  worker processes to start (default: 5)
              -s, --spare <num>    spare worker processes to maintain (default: 3)
        
            Arguments:
              socket               path to AF_UNIX socket
              mod*                 modules to pre-import in workers
        
            Examples:
              python-module-launcher-3.3 launcher.sock numpy PySide.QtCore
        
              echo -n "module path.to.module" | nc -U launcher.sock
              echo -n "file path/to/script.py arg1 arg2 | nc -U launcher.sock
              echo -n  "entrypoint name==0.1.0 console_scripts name arg1 arg2"
        
        You can send the following commands to the unix socket::
        
            file path/to/script.py arg1 arg2 ...
            module path.to.module arg1 arg2 ...
            entrypoint name==0.1.0 console_scripts name arg1 arg2 ...
        
        
        License
        =======
        
        This module is released under the terms of the `Revised BSD License`_.
        
Keywords: module launcher speedup prefork
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Operating System :: POSIX :: Linux
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
