Metadata-Version: 1.1
Name: chicken_turtle_project
Version: 1.0.0.dev2
Summary: Python 3 project development tools
Home-page: https://github.com/timdiels/chicken_turtle_project
Author: Tim Diels
Author-email: timdiels.m@gmail.com
License: LGPL3
Download-URL: https://github.com/timdiels/chicken_turtle_project/releases/v1.0.0.dev2
Description: Python 3 project development tools. Looks like a turtle, tastes like
        chicken.
        
        Chicken Turtle provides tools (CLI) for developing Python 3 projects.
        
        Chicken Turtle is pre-alpha. None of the interface is stable, i.e. it
        may change in the future.
        
        Methodology
        -----------
        
        Tests must be placed in $project\_name.test or subpackages. Tests are
        run with py.test from the project root.
        
        Package data can be provided by placing a directory named ``data`` in
        the package with the data files, but no ``__init__.py`` as that would
        turn the data directory into a package.
        
        Simply include test dependencies in install\_requires.
        
        ``ct-mksetup`` should be run before any commit and deployment. For the
        latter, call ``ct-mksetup`` in your deploy scripts.
        
        Chicken Turtle Project does not enforce a particular methodology for
        deployments, but we recommend shell scripts for simple deployments as
        they don't have dependencies (assuming you only deploy to unix-like
        machines). If you need to do more complex work such as migrating data to
        a new database structure, include a Python script and call it from the
        shell script after having made the venv.
        
        When making dependency in requirements.in editable (e.g. -e
        path/to/setup\_dir), leave the original dependency as a comment so you
        remember the previous version constraint when you change it back at
        release (though you likely need to require the version with the changes
        you made)
        
        Versions should adhere to
        `PEP-0440 <https://www.python.org/dev/peps/pep-0440/>`__ and use
        `semantic
        versioning <https://python-packaging-user-guide.readthedocs.org/en/latest/distributing/#semantic-versioning-preferred>`__.
        Versions are only set on release, via an argument to ``ct-release``.
        ``ct-release`` then adjusts ``setup.py`` with the new version, commits
        and tags the commit with its version (prefixed with 'v'). At all other
        times, the version in ``setup.py`` is set to ``0.0.0``, use commit ids
        instead of versions in this case.
        
        Old notes (TODO rm)
        -------------------
        
        -  venv\_create.sh: create a virtual environment corresponding to
           setup.py. If requirements.txt exists, that list of packages will be
           installed. If extra\_requirements.txt exists (corresponding to the
           extra dependencies in setup.py), these will also be installed. Then
           setup.py's deps are installed, without upgrading any other packages.
        -  interpreter.sh: start an interpreter inside the virtual environment,
           ensuring the project source is in the PYTHONPATH and start an
           interactive session in which interpreter.py is first executed.
        -  test data should be placed in test/data
        -  output of last test runs is kept in test/last\_runs
        -  run\_tests.py to run the tests, but you need to run it from withing
           the venv (i.e. ``. venv/bin/activate`` before running this)
        
        See also
        --------
        
        Python packaging recommendations:
        
        -  https://packaging.python.org/en/latest/distributing.html
        -  https://github.com/pypa/sampleproject
        
Keywords: development release setuptools tools
Platform: UNKNOWN
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Topic :: Software Development
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: AIX
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: POSIX :: BSD :: BSD/OS
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
Classifier: Operating System :: POSIX :: BSD :: NetBSD
Classifier: Operating System :: POSIX :: BSD :: OpenBSD
Classifier: Operating System :: POSIX :: GNU Hurd
Classifier: Operating System :: POSIX :: HP-UX
Classifier: Operating System :: POSIX :: IRIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: POSIX :: Other
Classifier: Operating System :: POSIX :: SCO
Classifier: Operating System :: POSIX :: SunOS/Solaris
Classifier: Operating System :: Unix
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: Stackless
