Skip to content

conda/cookiecutter-conda-python

cookiecutter-conda-python

A cookiecutter template for conda packages using Python

Features

  • Modern build system using pyproject.toml and hatchling build backend
  • Automatic versioning with hatch-vcs (requires git annotated tags before it'll work)
  • Ready-made conda recipe found in conda.recipe/meta.yaml
    • It reads the pyproject.toml file for almost all metadata. You will likely not need to modify it
    • You will need to set the VERSION env var to the output of hatch version to build the package
  • pre-commit config for automatic linting with every git commit
  • Pre-configured for Appveyor, Travis CI and Circle CI (you need to activate each of these individually)
  • Coverage report hosted on Codecov.io (activated after first successful CI run, which uploads results)
  • Code analysis with codacy, setup to exclude version file and tests (requires activation of project at Codacy)

Installation

Prior to installing cookiecutter-conda-python, the cookiecutter package must be installed in your environment. This is achieved via the following command::

conda install cookiecutter

With cookiecutter installed, the cookiecutter-conda-python template can be installed with::

cookiecutter https://github.com/conda/cookiecutter-conda-python.git

Once cookiecutter clones the template, you will be asked a series of questions related to your project::

[1/9] full_name (Full Name): (required)
[2/9] email (Email Address): (required)
[3/9] github_username (Destination github org or username): (required)
[4/9] repo_name (repository-name): (required)
[5/9] package_name (test_pkg): (optional, autogenerated from repository-name)
[6/9] project_short_description (Short description): (optional)
[7/9] noarch_python (y): (optional, default yes)
[8/9] include_cli (y): (optional, default yes)
[9/9] Select open_source_license
  1 - MIT
  2 - BSD
  3 - ISC
  4 - Apache
  5 - GNUv3
  6 - Proprietary
  Choose from [1/2/3/4/5/6] (1): (optional, default 1)

Usage

After answering the questions asked during installation, a conda Python package will be created in your current working directory. This package will contain a simple CLI script and the conda recipe necessary to build the application into a conda package.

You will need to have conda-build, hatch, hatchling, and hatch-vcs to build::

conda install conda-build hatch hatchling hatch-vcs

To build the conda package, be sure to set VERSION

VERSION=`hatch version` conda build conda.recipe/

You'll still need to activate the web services you want to use - they won't be active automatically.

About

A cookiecutter template for conda packages using Python

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages