This Cookiecutter template is designed to help you to bootstrap the data model for an Invenio service.
Install the latest Cookiecutter if you haven't installed it yet:
pip install -U cookiecutter
Generate your Invenio datamodel:
cookiecutter https://github.com/inveniosoftware/cookiecutter-invenio-datamodel.git
- Python package: Python package for your service.
- Boilerplate files: README including important badges, AUTHORS and CHANGES files.
- License: MIT file and headers.
- Installation: Installation script written as setup.py and a requirements calculator for different levels (min, pypi).
- Tests: Testing setup using pytest.
- Documentation: Documentation generator using Sphinx. Also includes all files required for Read the Docs. Mocking module to simulate not-installed requirements for faster documentation building.
- Continuous integration: Support for Travis which tests all requirement levels and adds coverage tests using Coveralls.
- Your toolchain: Ignores a decent set of files when working with Git and Docker. Gets your editor to adapt project guidelines by providing an EditorConfig file.
To generate correct files, please provide the following input to Cookiecutter:
project_name | Full project name, might contain spaces. |
project_shortname | Project shortname, no spaces allowed, use - as a separator. |
package_name | Package/Module name for Python, must follow PEP 0008. |
github_repo | GitHub repository of the project in form of USER/REPO, not the full GitHub URL. |
description | A short description of the functionality of the module, its length should not extend one line. |
author_name | The name of the primary author of the project, not necessarily the same as the copyright holder. |
author_email | E-Mail address of the primary author. |
year | Current year. |
copyright_holder | Name of the person or organization who acts as the copyright holder of this project. |
elasticsearch_version | The version of ElasticSearch you are planning to use. Versions 5.x (v5) and 6.x (v6) supported at the moment. |
extension_class | Name of the class that will be exported as setuptools entrypoint and loaded by invenio main app. |
config_prefix | Prefix for the configuration keys that the main app will use for this extension. |
Further documentation is available on https://cookiecutter-invenio-datamodel.readthedocs.io/