Coder Social home page Coder Social logo

aiidalab-app-cutter's Introduction

Documentation Status codecov

AiiDAlab package

The aiidalab package manages AiiDAlab applications within the AiiDAlab Docker stack. It contains API and CLI interface to install/uninstall apps from the AiiDAlab App registry or directly from Git repositories. It also contains the code for building the App Registry, although the actual registry data are housed and deployed in a aiidalab-registry repository.

Installation

Install latest version from pypi:

pip install aiidalab

or from the conda-forge conda channel:

conda install -c conda-forge aiidalab

Documentation

The documentation can be found on the following web page.

For maintainers

To create a new release, clone the repository, install development dependencies with pip install -e '.[dev]', and then execute bumpver update. This will:

  1. Create a tagged release with bumped version and push it to the repository.
  2. Trigger a GitHub actions workflow that creates a GitHub release.

Additional notes:

  • Use the --dry option to preview the release change.
  • The release tag (e.g. a/b/rc) is determined from the last release. Use the --tag option to switch the release tag.

License

MIT

Citation

Users of AiiDAlab are kindly asked to cite the following publication in their own work:

A. V. Yakutovich et al., Comp. Mat. Sci. 188, 110165 (2021). DOI:10.1016/j.commatsci.2020.110165

Contact

[email protected]

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

aiidalab-app-cutter's People

Contributors

casperwa avatar csadorf avatar ltalirz avatar yakutovicha avatar

Watchers

 avatar  avatar  avatar  avatar

aiidalab-app-cutter's Issues

.travis.yml file should (perhaps) be changed for "new" app / testing apps

I think the current content of the .travis.yml file is not correct.
I believe it is taken from an existing app, but I am not sure.

First, it tries to install the app, including precommit and testing packages, however, these do not exist for the current app.
In the end, it is probably fine if these are simply removed?
Perhaps some guide-lines should be written concerning how to test AiiDA Lab Apps as well?

Do we have a common or "normal" way of testing apps? - Making sure the AiiDA db env is loaded, how to test Jupyter notebooks, etc?

Update app-cutter after 2.0 release

(Jason: @danielhollas I use this issue to track the things require to do to make this cutter more friendly and more fit with current infrastructures we have now, hope you don't mind).

  • (TBD) using copier which is using jinja like a template and gets along well with ruff lint.
  • Drop setup.py which not needed anymore with aiidalab>=23.3.2
  • Use new notebook test framework used in AWB by installing app and loading notebook on the full-stack container.
  • Docs template using mkdocs as the backend.

Testing apps

As mentioned in issue #5, we need guidelines/guidance for testing apps in AiiDA Lab.

The following URL was mentioned by @ltalirz: https://github.com/computationalmodelling/nbval
It is a pytest module for validating notebooks. It locates code sections in a notebook and tests it against the outputs stored in .ipynb files.

This issue is meant to be a discussion forum for how app-testing is recommended to be implemented by AiiDA Lab App developers.

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.