Skip to content

This repository serves only as a Python template for new projects

License

Notifications You must be signed in to change notification settings

CellProfiling/cell-pro-template

Repository files navigation

NEW_REPO

This repository serves only as a Python template for new projects.

Create a new repository

  • Create a new repo and select CellProfiling/cell-pro-template as template repository.
  • Clone your new repo.
  • Search and replace all occurences of NEW_REPO, AUTHOR_NAME and AUTHOR_EMAIL. Replace NEW_REPO with the name of the new repo.
  • Add package requirements in install_requires in setup.py and in requirements.txt as needed.
  • Update this README.md with a description of and instructions for your new repo.

Development

  • 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.yml file 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.

About

This repository serves only as a Python template for new projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages