https://github.com/aiidateam/aiida-restapi

AiiDA Web API for data queries and workflow management.

https://github.com/aiidateam/aiida-restapi

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 (16.4%) to scientific vocabulary

Keywords

graphql rest-api server

Keywords from Contributors

materials-science rabbitmq aiida materials-informatics
Last synced: 5 months ago · JSON representation

Repository

AiiDA Web API for data queries and workflow management.

Basic Info
Statistics
  • Stars: 11
  • Watchers: 4
  • Forks: 8
  • Open Issues: 34
  • Releases: 1
Topics
graphql rest-api server
Created over 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.md

Build Status Coverage Status Docs status PyPI version

aiida-restapi

AiiDA REST API for data queries and workflow management.

Uses pydantic for models/validation and fastapi for the ASGI application. Serve e.g. using uvicorn.

Features

  • /users (GET/POST) and /users/<id> (GET) endpoints
  • Authentication via JSON web tokens (see test_auth.py for the flow; also works via interactive docs)
  • User pydantic model for validation
  • Automatic documentation at http://127.0.0.1:8000/docs
  • Full specification at http://127.0.0.1:8000/openapi.json

Installation

shell pip install aiida-restapi[auth]

Usage

```shell

start rest api

uvicorn aiida_restapi:app

start rest api and reload for changes (for development)

uvicorn aiida_restapi:app --reload ```

Examples

See the examples directory.

Development

shell git clone https://github.com/aiidateam/aiida-restapi . cd aiida-restapi

Setting up pre-commit

We use pre-commit to take care for the formatting, type checking and linting. shell pip install -e .[pre-commit] # install extra dependencies pre-commit run # running pre-commit on changes pre-commit run --all-files # running pre-commit on every file pre-commit run pylint --all-files # run only the linter on every file One can also set up pre-commit to be run on every commit ```shell pre-commit install

pre-commit uninstall # to disable it again

```

Running tests

With tox the tests can be run shell pip install tox tox -e py311 # run all tests for Python 3.11 tox -av # see all supported environments tox will creat a custom environment to run the tests in. If you want to run the tests inside your current environment shell pip install -e .[testing] # install extra dependencies pytest -v

See the developer guide for more information.

License

MIT

Contact

leopold.talirz@gmail.com chrisj_sewell@hotmail.com

Owner

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

The development team of AiiDA

GitHub Events

Total
  • Issues event: 3
  • Watch event: 1
  • Delete event: 5
  • Issue comment event: 5
  • Push event: 27
  • Pull request review event: 19
  • Pull request review comment event: 12
  • Pull request event: 20
  • Fork event: 1
  • Create event: 9
Last Year
  • Issues event: 3
  • Watch event: 1
  • Delete event: 5
  • Issue comment event: 5
  • Push event: 27
  • Pull request review event: 19
  • Pull request review comment event: 12
  • Pull request event: 20
  • Fork event: 1
  • Create event: 9

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 61
  • Total Committers: 8
  • Avg Commits per committer: 7.625
  • Development Distribution Score (DDS): 0.656
Past Year
  • Commits: 20
  • Committers: 2
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.15
Top Committers
Name Email Commits
Sebastiaan Huber m****l@s****t 21
Alexander Goscinski a****i@p****e 17
Leopold Talirz l****z@g****m 8
Ninad b****b@g****m 7
Chris Sewell c****l@h****m 3
Kristjan Eimre k****e@g****m 3
Xing Wang x****1@g****m 1
Flaviano José dos Santos f****s@l****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 32
  • Total pull requests: 69
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 11 days
  • Total issue authors: 8
  • Total pull request authors: 9
  • Average comments per issue: 1.38
  • Average comments per pull request: 2.12
  • Merged pull requests: 48
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 23
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.22
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ltalirz (11)
  • chrisjsewell (9)
  • sphuber (4)
  • superstar54 (3)
  • agoscinski (2)
  • qiaojunfeng (1)
  • flavianojs (1)
  • eimrek (1)
Pull Request Authors
  • agoscinski (26)
  • sphuber (21)
  • NinadBhat (7)
  • ltalirz (4)
  • chrisjsewell (4)
  • edan-bainglass (3)
  • eimrek (2)
  • superstar54 (1)
  • flavianojs (1)
Top Labels
Issue Labels
enhancement (8) bug (2) later (1) documentation (1) question (1) graphQL (1)
Pull Request Labels

Dependencies

.github/workflows/cd.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v1 composite
  • pre-commit/action v2.0.0 composite
  • postgres latest docker
  • rabbitmq latest docker
pyproject.toml pypi
  • aiida-core ~=2.0
  • fastapi ~=0.65.1
  • graphene ~=2.0
  • lark ~=0.11.0
  • pydantic ~=1.10
  • python-dateutil ~=2.0
  • uvicorn [standard]~=0.19.0