Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

openalea/cookiecutter-openalea

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cookiecutter-openalea

An template for OpenAlea packages. It follows the OpenAlea development guidelines, and provides all necessary files and configurations to develop a new package up to the continuous integration and package publication on a conda channel.

Best used with cruft

To use:

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

Features

  • Package organization: Follows the OpenAlea layout and namespace managment with src/openalea, tests/, and doc/ directories. It also provides homogeneous package description files (README.md, LICENSE, CODE_OF_CONDUCT.md, CONTRIBUTING.md, CHANGELOG.md, etc.).
  • Unified package management and meta-informations : pyproject.toml is preconfigured with setuptools, setuptools_scm, and provides all the necessary sections for filling in your package metadata, dependencies, and development tools. It is also used for filling your conda recipe for building your package.
  • Documentation: Uses Sphinx for documentation, with a preconfigured conf.py and Makefile. Layout of the documentation is homogeneous among OpenAlea packages.
  • Continuous integration: Preconfigured GitHub Actions to build and test your package on multiple Python versions, and multiple OS, in a standardized way defined by the dedicated Github Actions

Typical workflow

  1. Create a new package using cruft create https://github.com/openalea/cookiecutter-openalea/
  2. Initiate your git repository: git init (needed for setuptools_scm to work properly)
  3. Install the package in editable mode with dev dependencies: mamba env create -f conda/environment.yml
  4. Activate the environment: mamba activate my_project_dev # Replace my_project with your project slug defined in cookiecutter.json
  5. Implement your package code in the src/ directory, add your tests in the tests/ directory, and documentation in the doc/ directory.
  6. Build the documentation: cd doc && make html
  7. Run tests: pytest

About

Project template for openalea projects, designed according to openalea development guidelines

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.