All Projects → Materials-Consortia → optimade-python-tools

Materials-Consortia / optimade-python-tools

Licence: MIT license
Tools for implementing and consuming OPTIMADE APIs in Python

Programming Languages

python
139335 projects - #7 most used programming language
TeX
3793 projects

Projects that are alternatives of or similar to optimade-python-tools

OPTIMADE
Specification of a common REST API for access to materials databases
Stars: ✭ 49 (+28.95%)
Mutual labels:  optimade, optimade-specification, optimade-api
n26-api
Unofficial N26 Bank API documentation
Stars: ✭ 41 (+7.89%)
Mutual labels:  openapi
oas
OpenAPI Spec builder in go
Stars: ✭ 15 (-60.53%)
Mutual labels:  openapi
dataclasses-jsonschema
JSON schema generation from dataclasses
Stars: ✭ 145 (+281.58%)
Mutual labels:  openapi
Ktor-OpenAPI-Generator
Ktor OpenAPI/Swagger 3 Generator
Stars: ✭ 203 (+434.21%)
Mutual labels:  openapi
apispec-webframeworks
Web framework plugins for apispec (formally in apispec.ext).
Stars: ✭ 25 (-34.21%)
Mutual labels:  openapi
ssc-restapi-client
Communicate with Fortify Software Security Center through REST API in java, a swagger generated client
Stars: ✭ 13 (-65.79%)
Mutual labels:  openapi
datadog-api-client-python
Python client for the Datadog API
Stars: ✭ 44 (+15.79%)
Mutual labels:  openapi
mapi-action
🤖 Run a Mayhem for API scan in GitHub Actions
Stars: ✭ 16 (-57.89%)
Mutual labels:  openapi
advanced-spring-scaffold
This project provides an advanced baseline to help you kick start a Spring project.
Stars: ✭ 21 (-44.74%)
Mutual labels:  openapi
serverless-openapi-documentation
Serverless 1.0 plugin to generate OpenAPI V3 documentation from serverless configuration
Stars: ✭ 83 (+118.42%)
Mutual labels:  openapi
laravel-openapi
Generate OpenAPI specification for Laravel Applications
Stars: ✭ 269 (+607.89%)
Mutual labels:  openapi
OpenAlchemy
Define SQLAlchemy models using the OpenAPI specification.
Stars: ✭ 39 (+2.63%)
Mutual labels:  openapi
AlipayOpenapiCpp
支付宝开放平台的C\C++版接入示例代码,包含加签验签\网络请求\参数组装\报文解析等等;仅供商户或开发者参考使用;
Stars: ✭ 44 (+15.79%)
Mutual labels:  openapi
microblog-api
A modern (as of 2022) Flask API back end.
Stars: ✭ 218 (+473.68%)
Mutual labels:  openapi
minter-go-sdk
Minter Blockchain Golang SDK, 💳 wallet, 🧾 transactions, gRPC and HTTP clients 🌐 https://t.me/MinterGoSDK
Stars: ✭ 12 (-68.42%)
Mutual labels:  openapi
sbt-guardrail
Principled code generation from OpenAPI specifications
Stars: ✭ 24 (-36.84%)
Mutual labels:  openapi
HibiAPI
一个实现了多种常用站点的易用化API的程序 / A program that implements easy-to-use APIs for a variety of commonly used sites.
Stars: ✭ 427 (+1023.68%)
Mutual labels:  openapi
rapiclient
Dynamic Open API (Swagger) Client for R
Stars: ✭ 55 (+44.74%)
Mutual labels:  openapi
cli
Panacloud Command Line Interface (CLI) uses the design-first approach for developing APIs. It generates Modern Multi-Tenant Serverless Cloud API infrastructure, mocks, stubs, tests, and stages using CDK. GraphQL schemas and OpenAPI specifications are used to implement the design-first approach.
Stars: ✭ 23 (-39.47%)
Mutual labels:  openapi

OPTIMADE Python tools

Latest release Build status Activity
PyPI Version
PyPI - Python Version
OPTIMADE
Build Status
codecov
Heroku App Status
Commit Activity
Last Commit
Contributors

The aim of OPTIMADE is to develop a common API, compliant with the JSON:API 1.0 specification. This is to enable interoperability among databases that contain calculated properties of existing and hypothetical materials.

This repository contains a library of tools for implementing and consuming OPTIMADE APIs using Python. Server implementations can make use of the supported MongoDB (v4) and Elasticsearch (v6) database backends, or plug in a custom backend implementation. The package also contains a server validator tool, which may be called from the shell (optimade-validator) or used as a GitHub Action from optimade-validator-action.

The release history and changelog can be found in the changelog.

Documentation

This document, guides, and the full module API documentation can be found online at https://optimade.org/optimade-python-tools. In particular, documentation of the OPTIMADE API response data models (implemented here with pydantic) can be found online under OPTIMADE Data Models.

Installation

Detailed installation instructions for different use cases (e.g., using the library or running a server) can be found in the installation documentation.

The latest stable version of this package can be obtained from PyPI pip install optimade. The latest development version of this package can be installed from the master branch of this repository git clone https://github.com/Materials-Consortia/optimade-python-tools.

Supported OPTIMADE versions

Each release of the optimade package from this repository only targets one version of the OPTIMADE specification, summarised in the table below.

OPTIMADE API version optimade version
v1.0.0 v0.12.9
v1.1.0 v0.16.0

Contributing and Getting Help

All development of this package (bug reports, suggestions, feedback and pull requests) occurs in the optimade-python-tools GitHub repository. Contribution guidelines and tips for getting help can be found in the contributing notes.

How to cite

If you use this package to access or serve OPTIMADE data, we kindly request that you consider citing the following:

  • Andersen et al., OPTIMADE, an API for exchanging materials data, Sci. Data 8, 217 (2021) 10.1038/s41597-021-00974-z
  • Evans et al., optimade-python-tools: a Python library for serving and consuming materials data via OPTIMADE APIs. Journal of Open Source Software, 6(65), 3458 (2021) 10.21105/joss.03458

Links

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].