Skip to main content

PyHatch initializes files and directory structure for new python projects.

Project description

https://img.shields.io/travis/sonofeft/PyHatch.svg https://img.shields.io/pypi/v/PyHatch.svg https://img.shields.io/pypi/pyversions/PyHatch.svg https://img.shields.io/pypi/l/PyHatch.svg

PyHatch

Pyhatch Initializes Files And Directory Structures For New Python Projects.

See the Code at: https://github.com/sonofeft/PyHatch

See the Docs at: http://pyhatch.readthedocs.org/en/latest/

See PyPI page at:https://pypi.python.org/pypi/pyhatch

PyHatch is intended to help technical programmers focus their python programming efforts on their science and engineering problems by easing the many source code organizational issues required to build and maintain a quality code base. PyHatch will initialize the basic file structure for project files, documentation, unit testing and licensing.

Each time a new project is started, the user fills in a few simple forms and selects a directory location for the project layout. The layout used by PyHatch is shown below.:

MyProject/
    myproject/
        __init__.py
        mycode.py
        examples/
            example_1.py
        tests/
            __init__.py
            test_mycode.py
    docs/
        conf.py
        index.rst
    .travis.yml
    HISTORY.rst
    history_from_github_api.py
    LICENSE.txt
    MANIFEST.in
    README.rst
    requirements.txt
    setup.cfg
    setup.py
    tox.ini

One goal of PyHatch is to encourage unit testing. To do that, a “tests” directory is created and initialized. Of the three common locations of the test scripts shown below, PyHatch uses the third option. The user is free to modify this layout, but encouraged to maintain test scripts in one of the following layouts.

Put test scripts:
  1. Mixed into the same directory as mycode.py /MyProject/myproject/

  2. At the same level as the code directory /MyProject/tests/

  3. One level under the code directory /MyProject/myproject/tests/

A tox.ini file is also created in order to simplify running the unit tests with a number of different python versions. Tox will need to be installed separately, however, the new project simply needs to execute tox locally to use it.

The docs/ subdirectory contains the layout required to run sphinx and create documentation for the project. It is set up to automatically read the project *.py files and include code documentation on the fly. Note that Sphinx will need to be installed separately.

Run make html in the docs/ subdirectory (with sphinx installed) to generate HTML documentation for the project. The file index.html is the main page of the documentation in the directory docs/_build/html.

The examples/ subdirectory contains any example files that use the project.

The hope for PyHatch is that better code will result from early organization and test driven development.

Notice that a configuration file (PyHatch.cfg) is created in the users home directory. That configuration file holds project and personal data that will help autofill the PyHatch GUI the second time that PyHatch is used.

See the Code at: https://github.com/sonofeft/PyHatch

See the Docs at: http://pyhatch.readthedocs.org/en/latest/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyHatch-0.0.18.tar.gz (97.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyHatch-0.0.18-py2.py3-none-any.whl (93.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file PyHatch-0.0.18.tar.gz.

File metadata

  • Download URL: PyHatch-0.0.18.tar.gz
  • Upload date:
  • Size: 97.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyHatch-0.0.18.tar.gz
Algorithm Hash digest
SHA256 2844636c373db7f9de0045ef5e4560955f73a4838d39dcb7b02764858cbc2c3d
MD5 5f568a976c1ec18eabe49a80e37badd3
BLAKE2b-256 edefd09e6e298bb5b738dd834602a832c587a13b7225d85b0a9d991ce37dbf77

See more details on using hashes here.

File details

Details for the file PyHatch-0.0.18-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for PyHatch-0.0.18-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b3827dc7c38a713f2e0ae4a07df8cd51f93a3c29697db900e27aebed97b989fd
MD5 8c6bb2a5e6516eb897665e171f8f2331
BLAKE2b-256 5edd6b801f8888d6b104042896d75936de871c005e4317975badaf99426e2ab4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page