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
Directory where you'll store the Sphinx configuration files and where the documentation will be generated.
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".
The Apache 2 license.
Feel free to replace for another license that will be more suitable to the purpose of your project.
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.
This file.
Check "here" for help with Markdown syntax.
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.
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.
This is the directory which will hold your files.
Rename "steenzout" with your GitHub's handle.
In this empty project the steenzzout
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.
The directory where you should add your unit tests.
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.
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