A plugin to start ZFS for the Rhino project
This plugin is the default output of the AiiDA plugin cutter, intended to help developers get started with their AiiDA plugins.
.github/: Github Actions configurationci.yml: runs tests, checks test coverage and builds documentation at every new commitpublish-on-pypi.yml: automatically deploy git tags to PyPI - just generate a PyPI API token for your PyPI account and add it to thepypi_tokensecret of your github repository
aiida_rhino_zfs/: The main source code of the plugin packagedata/: A newDiffParametersdata class, used as input to theDiffCalculationCalcJobclasscalculations.py: A newDiffCalculationCalcJobclasscli.py: Extensions of theverdi datacommand line interface for theDiffParametersclasshelpers.py: Helpers for setting up an AiiDA code fordiffautomaticallyparsers.py: A newParserfor theDiffCalculation
docs/: A documentation template ready for publication on Read the Docsexamples/: An example of how to submit a calculation using this plugintests/: Basic regression tests using the pytest framework (submitting a calculation, ...). Installpip install -e .[testing]and runpytest..coveragerc: Configuration of coverage.py tool reporting which lines of your plugin are covered by tests.gitignore: Telling git which files to ignore.pre-commit-config.yaml: Configuration of pre-commit hooks that sanitize coding style and check for syntax errors. Enable viapip install -e .[pre-commit] && pre-commit install.readthedocs.yml: Configuration of documentation build for Read the DocsLICENSE: License for your pluginMANIFEST.in: Configure non-Python files to be included for publication on PyPIREADME.md: This fileconftest.py: Configuration of fixtures for pytestpytest.ini: Configuration of pytest test discoverysetup.json: Plugin metadata for registration on PyPI and the AiiDA plugin registry (including entry points)setup.py: Installation script for pip / PyPI
For more information, see the developer guide of your plugin.
-
Add input files using
SinglefileData:SinglefileData = DataFactory('singlefile') inputs['file1'] = SinglefileData(file='/path/to/file1') inputs['file2'] = SinglefileData(file='/path/to/file2')
-
Specify command line options via a python dictionary and
DiffParameters:d = { 'ignore-case': True } DiffParameters = DataFactory('rhino_zfs') inputs['parameters'] = DiffParameters(dict=d)
-
DiffParametersdictionaries are validated using voluptuous. Find out about supported options:DiffParameters = DataFactory('rhino_zfs') print(DiffParameters.schema.schema)
pip install aiida-rhino-zfs
verdi quicksetup # better to set up a new profile
verdi plugin list aiida.calculations # should now show your calclulation pluginsHere goes a complete example of how to submit a test calculation using this plugin.
A quick demo of how to submit a calculation:
verdi daemon start # make sure the daemon is running
cd examples
./example_01.py # run test calculation
verdi process list -a # check record of calculationThe plugin also includes verdi commands to inspect its data types:
verdi data rhino_zfs list
verdi data rhino_zfs export <PK>git clone https://github.com/ChristianWitzler/aiida-rhino-zfs .
cd aiida-rhino-zfs
pip install -e .[pre-commit,testing] # install extra dependencies
pre-commit install # install pre-commit hooks
pytest -v # discover and run all testsSee the developer guide for more information.
MIT