This repository serves only as a Python template for new projects.
- Create a new repo and select
CellProfiling/cell-pro-templateas template repository. - Clone your new repo.
- Search and replace all occurences of
NEW_REPO,AUTHOR_NAMEandAUTHOR_EMAIL. ReplaceNEW_REPOwith the name of the new repo. - Add package requirements in
install_requiresinsetup.pyand inrequirements.txtas needed. - Update this
README.mdwith a description of and instructions for your new repo.
-
Install and set up development environment.
pip install -r requirements_dev.txt
This will install all requirements. It will also install this package in development mode, so that code changes are applied immediately without reinstall necessary.
-
Here's a list of development tools we use.
-
It's recommended to use the corresponding code formatter and linters also in your code editor to get instant feedback. A popular editor that can do this is
vscode. -
Run all tests, check formatting and linting.
tox
-
Run a single tox environment.
tox -e lint
-
Reinstall all tox environments.
tox -r
-
Run pytest and all tests.
pytest
-
Run pytest and calculate coverage for the package.
pytest --cov-report term-missing --cov=NEW_REPO
-
Continous integration is by default supported via GitHub actions. GitHub actions is free for public repos and comes with 2000 free Ubuntu build minutes per month for private repos.
-
To activate continuous integration testing on Travis CI, add a
.travis.ymlfile with this contents to the repo.dist: xenial language: python cache: pip python: - "3.6" - "3.7" - "3.8" install: - pip install -U tox-travis script: tox
Note that Travis CI is free for public repos, but requires a subscription for private repos.