GithubHelp home page GithubHelp logo

emdann / cookiecutter-scverse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scverse/cookiecutter-scverse

0.0 0.0 0.0 107 KB

Cookiecutter template for scverse

Home Page: https://cookiecutter-scverse-instance.readthedocs.io/en/latest/

License: BSD 3-Clause "New" or "Revised" License

Shell 1.75% Python 63.38% TeX 9.24% Makefile 5.78% Batchfile 6.97% Jupyter Notebook 12.88%

cookiecutter-scverse's Introduction

Scverse Cookiecutter Template

Test

The purpose of this template is to get you started quickly building a best-practice python library for a scverse ecosystem package. Ecosystem packages are independent software libraries that interact with scverse core packages and depend on anndata and mudata data structures.

Please check out the

that are automatically generated and kept in sync with this template.

Features

  • automated testing with pytest
  • continuous integration using GitHub actions.
  • documentation hosted by readthedocs
  • coverage tests with codecov
  • pre-commit checks for code style and consistency
  • tutorials with myst-nb and jupyter notebooks
  • issue templates for better bug reports and feature requests
  • bump2version for managing releases

Getting started

In this section we will show you how to set-up your own repository from this template and how to customize it for your needs.

Install dependencies

You need git >=2.28 and python >=3.8. In addition you need to install the following Python dependencies:

pip install cruft pre-commit

Create the project

We are using cruft to initialize the project from the template. Cruft is fully compatible with cookiecutter, but enables automatic updates to your project whenever a new template version is released.

To create the project, run the following command and follow the prompts:

cruft create https://github.com/scverse/cookiecutter-scverse

This will create a git repository generated from the template. Now cd into the newly created directory and make the initial commit! Don't forget to create a repository on GitHub and upload your project.

Set up online services

Your repository is now ready. However, to use all features of the template you will need to set up the following online services. Clicking on the links will take you to the respective sections of the developer documentation. The developer documentation is also shipped as part of the template in docs/developer_docs.md.

  1. pre-commit.ci to check for inconsistencies and to enforce a code style
  2. readthedocs.org to build and host documentation
  3. codecov to generate test coverage reports

All CI checks should pass, you are ready to start developing your new tool!

Customizations

Further instructions on using this template can be found in the dev docs included in the project.

Committment

We expect developers of scverse ecosystem packages to

Changelog

See the release section.

Releasing a new template version

To release a new version of the template, create a new release on the GitHub release page. Choose a tag name of the format vX.X.X that adheres to semantic versioning.

Note that when creating a new release, changes will be propagated to packages using this template.

cookiecutter-scverse's People

Contributors

adamgayoso avatar flying-sheep avatar giovp avatar grst avatar gtca avatar ilia-kats avatar ivirshup avatar marcovarrone avatar michalk8 avatar pre-commit-ci[bot] avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.