https://github.com/aiidateam/aiida-plugin-cutter

Cookie cutter recipe for AiiDA plugins.

https://github.com/aiidateam/aiida-plugin-cutter

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.5%) to scientific vocabulary

Keywords from Contributors

aiida workflows computational-science data-provenance provenance scheduler ssh workflow-engine quantum-espresso materials-science
Last synced: 11 months ago · JSON representation

Repository

Cookie cutter recipe for AiiDA plugins.

Basic Info
  • Host: GitHub
  • Owner: aiidateam
  • Language: Python
  • Default Branch: master
  • Size: 1.34 MB
Statistics
  • Stars: 9
  • Watchers: 4
  • Forks: 12
  • Open Issues: 8
  • Releases: 2
Created about 8 years ago · Last pushed over 1 year ago
Metadata Files
Readme

README.md

Build Status

AiiDA plugin cutter

Cookie cutter recipe for AiiDA plugins. The fastest way to template a new AiiDA plugin package.

For the package structure produced by the plugin cutter, see the aiida-diff demo plugin.

Note: The plugin cutter produces plugins for aiida-core>=2.0.0. See the support/aiida-0.x branch for creating plugins for older versions of aiida-core.

Usage instructions

pip install cookiecutter black
cookiecutter https://github.com/aiidateam/aiida-plugin-cutter.git

Demo

This will produce the files and folder structure for your plugin, already adjusted for the name of your plugin.

In order to get started with development

  1. it's often useful to create a dedicated Python virtual environment for developing your plugin, e.g. using virtualenv, virtualenvwrapper or conda

  2. you will want to install your plugin in editable mode, so that changes to the source code of your plugin are immediately visible to other packages:

    bash cd aiida_<name> pip install -e . # install in editable mode

You are now ready to start development! See the README.md of your package (or of aiida-diff) for an explanation of the purpose of all generated files.

Features

Plugins templated using the plugin cutter

  • include a calculation, parser and data type as well as an example of how to submit a calculation
  • include basic regression tests using the pytest framework (submitting a calculation, ...)
  • can be directly pip-installed (and are prepared for submisson to PyPI
  • include a documentation template ready for Read the Docs
  • come with Github Actions configuration - enable it to run tests and check test coverage at every commit
  • come with pre-commit hooks that sanitize coding style and check for syntax errors - enable via pre-commit install

For more information on how to take advantage of these features, see the developer guide of your plugin.

Developing the plugin cutter

The plugin cutter comes with rather strict continuous integration tests which

  • test that the cookiecutter recipe works
  • test that the plugin can be pip-installed
  • test that the unit tests of the plugin pass
  • test that the documentation of the plugin builds
  • test that the code of the plugin confirms to coding standards

As you develop the plugin cutter, you will want to also update the aiida-diff repository with its default output. Simply run ./update-aiida-diff.sh to create a clone of the aiida-diff repository, with the latest changes produced by the plugin cutter ready to be committed.

License

MIT

Contact

Please report issues to the GitHub issue tracker. Other inquiries may be directed to the AiiDA mailinglist.

Acknowledgements

This work is supported by the MARVEL National Centre for Competency in Research funded by the Swiss National Science Foundation, as well as by the MaX European Centre of Excellence funded by the Horizon 2020 EINFRA-5 program, Grant No. 676598.

MARVEL MaX

Owner

  • Name: AiiDA team
  • Login: aiidateam
  • Kind: organization

The development team of AiiDA

GitHub Events

Total
  • Delete event: 1
  • Push event: 1
  • Pull request review event: 1
  • Pull request event: 1
  • Create event: 1
Last Year
  • Delete event: 1
  • Push event: 1
  • Pull request review event: 1
  • Pull request event: 1
  • Create event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 143
  • Total Committers: 11
  • Avg Commits per committer: 13.0
  • Development Distribution Score (DDS): 0.329
Past Year
  • Commits: 2
  • Committers: 2
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.5
Top Committers
Name Email Commits
Leopold Talirz l****z@g****m 96
Chris Sewell c****l@h****m 35
Leopold Talirz l****z@m****m 3
Marnik Bercx m****x@g****m 2
yakutovicha y****a@g****m 1
Tiziano Müller tm@d****h 1
Kohei Shinohara k****8@g****m 1
Katrin Leinweber 9****r 1
Jusong Yu j****u@g****m 1
Evgeny Posenitskiy 4****v 1
Alexander Goscinski a****i@p****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 43
  • Total pull requests: 71
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 8
  • Total pull request authors: 11
  • Average comments per issue: 1.88
  • Average comments per pull request: 0.56
  • Merged pull requests: 67
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 4
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.25
  • Average comments per pull request: 2.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ltalirz (27)
  • chrisjsewell (6)
  • agoscinski (4)
  • HaoZeke (1)
  • dev-zero (1)
  • unkcpz (1)
  • zhubonan (1)
  • daniel-sintef (1)
Pull Request Authors
  • ltalirz (58)
  • chrisjsewell (5)
  • unkcpz (3)
  • mbercx (3)
  • agoscinski (2)
  • dependabot[bot] (2)
  • lan496 (1)
  • katrinleinweber (1)
  • dev-zero (1)
  • yakutovicha (1)
  • q-posev (1)
Top Labels
Issue Labels
enhancement (14) bug (4)
Pull Request Labels
dependencies (2)

Dependencies

requirements.txt pypi
  • black ==21.12b0
  • cookiecutter *
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • postgres 10 docker
  • rabbitmq latest docker
{{cookiecutter.plugin_name}}/pyproject.toml pypi