All Projects → NLeSC → python-template

NLeSC / python-template

Licence: Apache-2.0 license
Netherlands eScience Center Python Template

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects
Batchfile
5799 projects
Makefile
30231 projects

Projects that are alternatives of or similar to python-template

cookiecutter-pyms
Cookiecutter template for a Python microservice.
Stars: ✭ 49 (-63.97%)
Mutual labels:  cookiecutter, cookiecutter-template
at-python-template
The official Python Project Template of Alexander Thamm GmbH
Stars: ✭ 34 (-75%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-modern-pypackage
Cookiecutter template for a modern Python package.
Stars: ✭ 97 (-28.68%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-homeassistant-custom-component
Cookiecutter template for Home Assistant custom component
Stars: ✭ 37 (-72.79%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiedozer
📱 Cookiecutter for i18n Kivy Apps
Stars: ✭ 48 (-64.71%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-go
boilerplate, golang project starter tool, support go-zero/go-micro/gin
Stars: ✭ 63 (-53.68%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-qt-app
A cookiecutter to create Qt applications, with translations and packaging
Stars: ✭ 29 (-78.68%)
Mutual labels:  cookiecutter, cookiecutter-template
qt-qml-project-template-with-ci
Template for a Qt/QML application with batteries included: GitHub C.I. for your QML app; automated gui testing with Xvfb; automatic code-format checks and more. Compiles for Desktop and Mobile (Linux, Mac, Windows, and Android).
Stars: ✭ 33 (-75.74%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-pypackage
A cookiecutter template for Python package with heavy use of Github actions
Stars: ✭ 19 (-86.03%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-flask-skeleton
Flask Starter Project
Stars: ✭ 56 (-58.82%)
Mutual labels:  cookiecutter, cookiecutter-template
FastAPI-template
Feature rich robust FastAPI template.
Stars: ✭ 660 (+385.29%)
Mutual labels:  cookiecutter, cookiecutter-template
Cookiecutter Data Science
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
Stars: ✭ 5,271 (+3775.74%)
Mutual labels:  cookiecutter, cookiecutter-template
theme-cookiecutter
A cookiecutter template to help you make new JupyterLab theme extensions
Stars: ✭ 47 (-65.44%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-modern-datascience
Start a data science project with modern tools
Stars: ✭ 136 (+0%)
Mutual labels:  cookiecutter, cookiecutter-template
fastapi-starter
A FastAPI based low code starter: Async SQLAlchemy, Postgres, React-Admin, pytest and cypress
Stars: ✭ 97 (-28.68%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-homeassistant-component
A cookiecutter project template for generating the structure for a new custom component.
Stars: ✭ 22 (-83.82%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-python-cli
A cookiecutter template for creating a Python CLI application using click
Stars: ✭ 65 (-52.21%)
Mutual labels:  cookiecutter, cookiecutter-template
Poyo
A lightweight YAML Parser for Python. 🐓
Stars: ✭ 123 (-9.56%)
Mutual labels:  cookiecutter
Create Aio App
The boilerplate for aiohttp. Quick setup for your asynchronous web service.
Stars: ✭ 207 (+52.21%)
Mutual labels:  cookiecutter
Cookiecutter Reproducible Science
boilerplate for reproducible and transparent science
Stars: ✭ 120 (-11.76%)
Mutual labels:  cookiecutter

Netherlands eScience Center Python Template

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. Features include:

Badges

fair-software.nl recommendations
(1/5) code repository github repo badge
(2/5) license github license badge
(3/5) community registry RSD
(4/5) citation DOI
(5/5) checklist  
overall fair-software badge
Other best practices  
   
GitHub Actions  
Citation metadata consistency cffconvert
MarkDown link checker markdown-link-check
Tests tests

How to use

Step 1/3: Install cookiecutter

We recommend installing cookiecutter in user space as per cookiecutter's instructions. This way, you don't have to install cookiecutter for every new project.

python3 -m pip install --user --upgrade cookiecutter

Step 2/3: Generate the files and directory structure

Run cookiecutter with the template:

# Notes:
#   1. See table below for explanation of each question
#   2. The files will be generated in a new directory
cookiecutter https://github.com/nlesc/python-template.git
Name Default value Explanation
directory_name my-python-project Name of the directory that contains the package. Avoid using spaces or uppercase letters for the best experience across operating systems. To get an impression of what will be generated, see the directory tree below
package_name my_python_package Name of the package. Avoid using spaces, dashes, or uppercase letters for the best experience across operating systems.
package_short_description Short description of package The information that you enter here will end up in the README, documentation, license, and setup.cfg, so it may be a good idea to prepare something in advance.
keyword1 keyword1 A term that describes your package.
keyword2 keyword2 Another term that describes your package.
version 0.1.0  
github_organization <my-github-organization> GitHub organization that will contain this project's repository. This can also be your GitHub user name.
license Apache Software License 2.0 The software license under which the code is made available.
full_name Jane Smith Your full name, e.g. Jane Smith.
email [email protected] Your (work) email address.
copyright_holder Netherlands eScience Center Name(s) of the organization(s) or person(s) who hold the copyright of the software.
code_of_conduct_email [email protected] Email address of the person who should be contacted in case of violations of the Code of Conduct.

Once the project files have been generated, follow the steps outlined in {{cookiecutter.directory_name}}/next_steps.md.

Step 3/3: Read about what was just generated

Good job! You have now generated the skeleton for your package:

my-python-project/
├── .bumpversion.cfg
├── CHANGELOG.md
├── CITATION.cff
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── docs
│   ├── conf.py
│   ├── index.rst
│   ├── make.bat
│   ├── Makefile
│   ├── _static
│   │   └── theme_overrides.css
│   └── _templates
│       └── .gitignore
├── .editorconfig
├── .githooks
│   └── pre-commit
├── .github
│   ├── next_steps
│   │   ├── 01_sonarcloud_integration.md
│   │   ├── 02_citation.md
│   │   ├── 03_readthedocs.md
│   │   ├── 04_zenodo_integration.md
│   │   └── 05_linting.md
│   └── workflows
│       ├── build.yml
│       ├── cffconvert.yml
│       ├── lint.yml
│       ├── markdown-link-check.yml
│       ├── next_steps.yml
│       └── sonarcloud.yml
├── .gitignore
├── LICENSE
├── MANIFEST.in
├── .mlc-config.json
├── my_python_package
│   ├── __init__.py
│   ├── my_module.py
│   └── __version__.py
├── next_steps.md
├── NOTICE
├── project_setup.md
├── .prospector.yml
├── .pylintrc
├── pyproject.toml
├── README.dev.md
├── README.md
├── setup.cfg
├── setup.py
├── sonar-project.properties
└── tests
    ├── __init__.py
    └── test_my_module.py

For an explanation of what's there, read on in the project_setup.md file. There are also instructions on how to apply the template to an existing Python package.

Examples

Many developers have gone before you in using this template to get started quickly. Check out their projects in the list below:

  1. Cerise: https://github.com/MD-Studio/cerise
  2. cerulean: https://github.com/MD-Studio/cerulean
  3. cffconvert: https://github.com/citation-file-format/cff-converter-python
  4. fairtally: https://github.com/fair-software/fairtally
  5. howfairis: https://github.com/fair-software/howfairis
  6. matchms: https://github.com/matchms/matchms
  7. MUSCLE 3: https://github.com/multiscale/muscle3
  8. pycff: https://github.com/citation-file-format/pycff
  9. spec2vec: https://github.com/iomega/spec2vec
  10. yatiml: https://github.com/yatiml/yatiml
  11. ... And many more. Make a PR to add your project here!

How to contribute

Suggestions/improvements/edits are most welcome. Please read the contribution guidelines before creating an issue or a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].