/cookiecutter-musicpypackage

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Cookiecutter Idekerlab Python Package

Cookiecutter template for Idekerlab Python packages. This template includes a command line script and an example class under the runner module

{% if is_open_source %} * Free software: {{ cookiecutter.open_source_license }} {% endif %} * Source code: https://github.com/{{ cookiecutter.github_username }}/{{ cookiecutter.project_slug }}

Features

  • Derived from the excellent cookie cutter template: https://github.com/audreyr/cookiecutter
  • Command line script template with properly documented methods and functions
  • Support for automated build (Travis-CI) and code coverage
  • Support for automated documentation (ReadTheDocs)
  • make commands for build, document generation, test, and deployment
  • Correct copyright and license for MuSIC and UCSD

Quickstart

Install the latest Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.4.0 or higher):

pip install -U cookiecutter

Generate a Python package project:

cookiecutter https://github.com/idekerlab/cookiecutter-musicpypackage.git

Then:

  • Create a repo and put it there.
  • Install the dev requirements into conda or virtualenv environment. (pip install -r requirements_dev.txt)
  • Test your docs by running make docs
  • Edit requirements.txt and setup.py files to specify the packages you will need for your project and their versions. For more info see the pip docs for requirements files.
  • Add the repo to your Travis-CI account.
  • Add the repo to your ReadTheDocs account + turn on the ReadTheDocs service hook.
  • Create ~/.pypirc file in your home directory and put the following content in it with your PyPi and TestPyPi account credentials
[distutils]
index-servers=
pypi
testpypi

[testpypi]
repository:https://test.pypi.org/legacy/
username = <TEST PYPI USERNAME>
password = <TEST PYPI PASSWORD>

[pypi]
username:<PYPI USERNAME>
password:<PYPI PASSWORD>

Warning

DO NOT PUT ~/.pypirc in repo, it should be in your home directory with only you having read access

  • Release your package to test pypi by running: make testrelease
  • Release your package to pypi by running: make release

For more details, see the cookiecutter-pypackage tutorial.