https://github.com/arup-group/pypackage-template
Python Package Copier template
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.0%) to scientific vocabulary
Repository
Python Package Copier template
Basic Info
- Host: GitHub
- Owner: arup-group
- License: mit
- Language: Jinja
- Default Branch: main
- Size: 723 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Arup Python Package Template
Copier template for an Arup Python package.
This template was originally based on @audreyfeldroy's original cookiecutter template. It has been updated to use latest Python Package best practices, to align with Arup's City Modelling Lab Python projects, and to use the Copier template manager.
Features
- Testing setup with pytest.
- Markdown based documentation, using mkdocs, ready for generation with GitHub pages.
- Project metadata and plugin configuration specified in a
pyproject.tomlfile, according to the latest standards. - Auto-release to your private conda channel when you create a new release on GitHub (optional).
- Command line interface using click.
Quickstart
First, install the latest version of Copier:
bash
conda create -n copier-env copier
conda activate copier-env
Generate a local Python package project in a directory of your choice (change my-repositories to the relevant location on your device):
bash
cd my-repositories
copier copy https://github.com/arup-group/pypackage-template <repository-name>
<repository-name> should be the name for your repository that you will use locally (usually, the same as you plan your repository name to be on GitHub!).
Then:
- Add the packages you will need for your project and their versions to
requirements/base.txt. You can removezippand the commented lines in the process. - initialise your project as a git repository and link it to an online repository.
For more details, see the tutorial.
Keeping your project up-to-date
We may make changes to this template that you want to pull into your project after you have created it. Copier allows you to do this, and one of your project's CI workflows will verify whether there are new template updates that you might like to merge in.
To check if there are updates:
sh
copier update --pretend
To apply updates:
sh
copier update
Not Exactly What You Want?
Don't worry, you have options:
Other Arup templates
- ESOP project template. This is a template for starting an ESOP project.
- ESOP datashop product template. This is a template for contributing an open API data product which will be hosted on DataBricks.
Other Templates
Cookiecutter is another template engine, for which there are a number of Python project templates linked on the parent template repository: audreyfeldroy/cookiecutter-pypackage.
Fork This / Create Your Own
If you have differences in your preferred setup, you can fork this to create your own version. Or you create your own; it doesn't strictly have to be a fork.
- Once you have your own version working, add it to the "other Arup templates" list above with a brief description.
- It's up to you whether or not to rename your fork/own version. Do whatever you think sounds good.
Or Submit a Pull Request
We also accept pull requests on this repository, if they're small!
Owner
- Name: Arup
- Login: arup-group
- Kind: organization
- Email: media@arup.com
- Website: https://www.arup.com/
- Repositories: 168
- Profile: https://github.com/arup-group
We Shape a Better World
GitHub Events
Total
- Issues event: 11
- Delete event: 2
- Issue comment event: 1
- Public event: 1
- Push event: 8
- Pull request event: 3
- Pull request review event: 2
- Fork event: 1
- Create event: 3
Last Year
- Issues event: 11
- Delete event: 2
- Issue comment event: 1
- Public event: 1
- Push event: 8
- Pull request event: 3
- Pull request review event: 2
- Fork event: 1
- Create event: 3
Dependencies
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/upload-artifact v4 composite
- mamba-org/setup-micromamba v1 composite
- pre-commit/action v3.0.1 composite
- copier *
- ipython >=8 development
- mike >=2 development
- mkdocs >1.3 development
- mkdocs-autorefs >=0.5 development
- mkdocs-material >=9.4 development
- pre-commit >=3 development
- pytest >=8 development
- pytest-xdist <4 development
- pyyaml >=6 development
- zipp *