/python-primogen

This repository's goal is to be a starting point for Python projects.

Primary LanguagePythonApache License 2.0Apache-2.0

steenzout.primogen

Build Status Code Health Coverage Status Requirements Status

This repository's goal is to be a starting point for Python projects.

It uses:

  • git for version control
  • pip to manage Python packages
  • tox for automation and setup development environments
  • Sphinx for documentation

company

This is the directory which will hold your files.

Rename "company" with your company's name or product.

In this empty project the company package is a namespace package, meaning it was defined in another repository.

You may not need to do this but it's here to make an example of how to define namespace packages, what to add on the init.py file and in the setup.py file.

docs

Directory where you'll store the Sphinx configuration files and where the documentation will be generated.

.gitignore

File where you specify which files Git should ignore.

A generic file has been provided.

You can use gitignore.io to produce other files that will better suit your development environment.

For more information, you can check "git-scm.com : gitignore".

LICENSE

The Apache 2 license.

Feel free to replace for another license that will be more suitable to the purpose of your project.

pytest.ini

The pytest configuration file.

You can read "pytest : Changing standard (Python) test discovery" for more information on how to use this file to customize pytest's behavior.

README.md

This file.

Check "here" for help with Markdown syntax.

requirements.txt

On this file you specify the list of packages the project depends.

Read "pip : Requirement Files" to understand how you can properly use this file to define your project's dependencies.

setup.py

The setup script whre you'll describe the project / product, authors, maintainers and information on how to distribute it.

Read "Python : 2. Writing the Setup Script", for more information.

tests

The directory where you should add your unit tests.

test-requirements.txt

On this file you specify the list of packages the project needs to run its tests.

An example of the possible contents of this file has been provided.

Read "pip : Requirement Files" to understand how you can properly use this file to define your project's test dependencies.

tox.ini

The tox configuration file.

It contains basic information about your project and test environments.

I recommend installling tox and use it to run your tests and generate the documentation.

# run the tests
$ tox

# generate the documentation
$ tox -e docs