/cookiecutter-mmschema

Python-centric Cookiecutter for MMSchema translators

Primary LanguagePythonMIT LicenseMIT

Cookiecutter for MMElemental/MMSchema translators in Python

Pseudo Validate GHA Output

A cookiecutter template for MMSChema translators written in Python. Based on the CMS cookiecutter.

The skeletal structure is designed to help you get started, but do not feel limited by the skeleton's features included here. Just to name a few things you can alter to suit your needs: change continuous integration options, remove deployment platforms, or test with a different suite.

Features

  • Python-centric skeletal structure with initial module files
  • Pre-configured setup.py for installation and packaging
  • Pre-configured Windows, Linux, and OSX continuous integration on GitHub Actions.
  • Choice of dependency locations through conda-forge, default conda, or pip
  • Basic testing structure with PyTest
  • Automatic git initialization + tag
  • GitHub Hooks
  • Automatic package version control with Versioneer
  • Sample data inclusion with packaging instructions
  • Basic documentation structure powered by Sphinx
  • Automatic license file inclusion from several common Open Source licenses (optional)

Requirements

Usage

With cookiecutter installed, execute the following command inside the folder you want to create the skeletal repository.

cookiecutter gh:andrew-abimansour/cookiecutter-mmschema

Which fetches this repository from github automatically and prompts the user for some simple information such as package name, author(s), and licences.

Acknowledgments

The MMSchema cookitercutter is based on the CMS cookiecutter developed by Levi N. Naden and Jessica A. Nash from the Molecular Sciences Software Institute (MolSSI); and Daniel G. A. Smith of ENTOS. Copyright (c) 2021.

Elements of this repository drawn from the cookiecutter-data-science by Driven Data and the MolSSI Python Template