aiidateam / aiida-registry

Find plugins for AiiDA
http://aiidateam.github.io/aiida-registry
Other
16 stars 64 forks source link

AiiDA plugin registry

This repository contains the source of the official registry of AiiDA plugins.

If you are starting to develop a new plugin (e.g. using the AiiDA plugin cutter) or if you already have one, please register it here. We strongly encourage to register at early stages of development, since this both "reserves" the name of your plugin and informs the developer community of your ongoing work.

By default, the list of plugins is now sorted by the latest release, so plugins that are under active development automatically bubble up to the top. The release date is determined by the date of the latest PyPI release. Plugins not released to PyPI will have no release date.

How to register a plugin

  1. Fork this repository
  2. Add your plugin to the end of the plugins.yaml file, e.g.
    ...
    aiida-new:
      entry_point_prefix: new
      plugin_info: https://raw.github.com/aiidateam/aiida-new/master/setup.json
      code_home: https://github.com/aiidateam/aiida-new
      documentation_url: http://aiida-new.readthedocs.io/
  3. Create a Pull Request to this repository

Valid keys for each plugin

top-level key (required)

The name under which your plugin will be distributed. By convention, names of AiiDA plugins are lowercase and prefixed by aiida-.

Examples:

entry_point_prefix (required)

The prefix of all entry points provided by the plugin. By convention, a plugin aiida-xxx should use entry_point_prefix: xxx.

Example: aiida-quantumespresso uses the entry point prefix quantumespresso and provides numerous entry points, all of which start with quantumespresso..

code_home (required)

The link to the homepage of the plugin, for example its github repository.

pip_url (required for development status beta and higher)

A URL or PyPI package name for installing the most recent version of the package through pip.

Examples:

plugin_info (required for development status stable)

URL pointing to a JSON file containing the keyword arguments passed to the setuptools.setup function when installing your package.

For an example, see the setup.json file of the aiida-diff demo plugin.

documentation_url (optional)

The link to the online documentation for your plugin, for example on readthedocs.org .

version_file (optional)

Use this to point to a Python module that contains a __version__ variable with the version of your plugin. Useful for flit and setuptools configuration files that use the programmatic version = attr: aiida_plugin.__version__ format.

development_status (deprecated)

The development status of a plugin used to be recorded explicitly on the plugin registry. Over time, we've moved closer and closer to adopting the development status trove classifer, so we now suggest to just use those in your setup.json/setup.cfg/... file of your plugin.

If no development status is specified, the status will default to 'planning'.

How to fix registry warnings and errors

You can reproduce the warnings/errors locally through the instructions.

Warning/Error codes

W001

W002

W003

W004

W005

W006

W007

W008

W009

W010

W011

W012

W013

W014

W015

W016

W017

W018

W019

W020

E001

E002

E003

E004