Spend less time setting up and configuring your new Python packages and comply with the Netherlands eScience Center Software Development Guide from the start.
Use this Cookiecutter template to generate an empty Python package set up with documentation and testing. The project setup is documented extensively in the README.
We recommend developing your software in an isolated Python environment. You can use virualenv + pip or conda.
For example, to create a virtual environment with Python 3, do:
$ virtualenv -p python3 env
$ . env/bin/activate
To do the same using conda, type:
$ conda create -n env python=3.4
$ source activate env
(On windows use activate env
to activate the conda environment.)
If you don't have cookiecutter installed yet, install it with
pip install cookiecutter
If you use conda, you can also type:
conda install -c conda-forge cookiecutter
To generate the files and directory structure for a new Python project, type:
cookiecutter https://github.com/nlesc/python-template.git
You will be asked to supply the following information about your project:
Name | Default value | Explanation |
---|---|---|
full_name | Your full name, e.g. 'John Smith'. | |
yourname@esciencecenter.nl | Your (work) email address | |
code_of_conduct_email | yourname@esciencecenter.nl | Email address of the person who should be contacted in case of violations of the Code of Conduct. |
copyright_holder | Name(s) of the organization(s) or person(s) who hold the copyright of the software (e.g., Netherlands eScience Center). | |
github_organization | GitHub organization that will contain this project's repository. This can also be your github user name. | |
project_name | My Python Project | Full project/package name. |
project_slug | my_python_project | This will be the name of the directory to be created and the git repository. |
project_short_description | The information that you enter here will end up in the README, documentation, license, and setup.py, so it may be a good idea to prepare something in advance. | |
version | 0.1.0 | |
open_source_license | Apache 2.0 (1) | The software license under which the code is made available. |
apidoc | no (1) | Add support for automatically generating a module index from the docstrings in your Python package (look at the scriptcwl package for an example). |
Suggestions/improvements/edits are most welcome. Please read the contribution guidelines before creating an issue or a pull request.