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 tht 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.14.zip (114.1 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.14-py2.py3-none-any.whl (89.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file PyHatch-0.0.14.zip.

File metadata

  • Download URL: PyHatch-0.0.14.zip
  • Upload date:
  • Size: 114.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyHatch-0.0.14.zip
Algorithm Hash digest
SHA256 863f87e64785b997f74d286e9ff7b691b0cea2b0f1545e09d5cfcf8b212ee304
MD5 07ac1bde26b64568fabccc6a99b483b1
BLAKE2b-256 72f6c74d9fe41efab3b867c71d1417e5fe0b94b0270cf7459929971bc6d32d6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for PyHatch-0.0.14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 be48a4dc7139e8e79111b84cb63807d217c7c767a73c060b909b7b567e1ad1db
MD5 7b2dfc356024cc778a0e704381abb366
BLAKE2b-256 15cd1b212f7a99a3c25b2ead246c6d683c78904af602ff1b6eb75496aa478d9e

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