From fb244592634a667c3ec3ce9c829633d47145a228 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 5 May 2023 15:28:11 +0000 Subject: automatic import of python-optimade --- .gitignore | 1 + python-optimade.spec | 550 +++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 552 insertions(+) create mode 100644 python-optimade.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..ffb1d1e 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/optimade-0.23.1.tar.gz diff --git a/python-optimade.spec b/python-optimade.spec new file mode 100644 index 0000000..48a69cc --- /dev/null +++ b/python-optimade.spec @@ -0,0 +1,550 @@ +%global _empty_manifest_terminate_build 0 +Name: python-optimade +Version: 0.23.1 +Release: 1 +Summary: Tools for implementing and consuming OPTIMADE APIs. +License: MIT +URL: https://github.com/Materials-Consortia/optimade-python-tools +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/98/c8/db85b81b87f1b9122bcb1035c00732d3d6d08be5622746f4ae9f6e5c1c9a/optimade-0.23.1.tar.gz +BuildArch: noarch + +Requires: python3-lark +Requires: python3-pydantic +Requires: python3-email-validator +Requires: python3-requests +Requires: python3-aiida-core +Requires: python3-black +Requires: python3-flake8 +Requires: python3-isort +Requires: python3-mypy +Requires: python3-pylint +Requires: python3-pre-commit +Requires: python3-invoke +Requires: python3-types-all +Requires: python3-ruff +Requires: python3-mike +Requires: python3-mkdocs +Requires: python3-mkdocs-awesome-pages-plugin +Requires: python3-mkdocs-material +Requires: python3-mkdocstrings[python-legacy] +Requires: python3-build +Requires: python3-jsondiff +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-uvicorn +Requires: python3-fastapi +Requires: python3-pyyaml +Requires: python3-pymongo +Requires: python3-mongomock +Requires: python3-numpy +Requires: python3-httpx +Requires: python3-rich +Requires: python3-click +Requires: python3-elasticsearch-dsl +Requires: python3-elasticsearch +Requires: python3-aiida-core +Requires: python3-ase +Requires: python3-pymatgen +Requires: python3-jarvis-tools +Requires: python3-ase +Requires: python3-numpy +Requires: python3-numpy +Requires: python3-black +Requires: python3-flake8 +Requires: python3-isort +Requires: python3-mypy +Requires: python3-pylint +Requires: python3-pre-commit +Requires: python3-invoke +Requires: python3-types-all +Requires: python3-ruff +Requires: python3-mike +Requires: python3-mkdocs +Requires: python3-mkdocs-awesome-pages-plugin +Requires: python3-mkdocs-material +Requires: python3-mkdocstrings[python-legacy] +Requires: python3-build +Requires: python3-jsondiff +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-uvicorn +Requires: python3-fastapi +Requires: python3-pyyaml +Requires: python3-pymongo +Requires: python3-mongomock +Requires: python3-numpy +Requires: python3-httpx +Requires: python3-rich +Requires: python3-click +Requires: python3-mike +Requires: python3-mkdocs +Requires: python3-mkdocs-awesome-pages-plugin +Requires: python3-mkdocs-material +Requires: python3-mkdocstrings[python-legacy] +Requires: python3-elasticsearch-dsl +Requires: python3-elasticsearch +Requires: python3-httpx +Requires: python3-rich +Requires: python3-click +Requires: python3-jarvis-tools +Requires: python3-pymongo +Requires: python3-mongomock +Requires: python3-numpy +Requires: python3-pymatgen +Requires: python3-uvicorn +Requires: python3-fastapi +Requires: python3-pyyaml +Requires: python3-pymongo +Requires: python3-mongomock +Requires: python3-build +Requires: python3-jsondiff +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-uvicorn +Requires: python3-fastapi +Requires: python3-pyyaml +Requires: python3-pymongo +Requires: python3-mongomock + +%description + + +
+ +
+ +#
OPTIMADE Python tools
+ +
+ +JOSS DOI +
+ +
+ + + + + + + + + + + + + +
Latest releaseBuild statusActivity
+ PyPI version
+ PyPI - Python Version
+ OPTIMADE version +
+ Build Status
+ Docs
+ Codecov
+
+ Commit Activity
+ Last Commit
+ Contributors +
+ +
+ +The aim of [OPTIMADE](https://optimade.org) is to develop a common API, compliant with the [JSON:API 1.0](http://jsonapi.org/format/1.0/) specification. +This is to enable interoperability among databases that serve crystal structures and calculated properties of existing and hypothetical materials. + +This repository contains a library of tools for implementing and consuming [OPTIMADE APIs](https://www.optimade.org) using Python: + +1. [pydantic](https://github.com/pydantic/pydantic) data models for all [OPTIMADE entry types](https://www.optimade.org/optimade-python-tools/latest/all_models/) and endpoint responses, and a [Lark](https://github.com/lark-parser/lark) [EBNF grammar](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form) implementation for the OPTIMADE filter language. +1. Adapters to map OPTIMADE data to and from many commonly used atomistic Python frameworks (e.g., [pymatgen](https://pymatgen.org/), [ASE](https://wiki.fysik.dtu.dk/ase/)) and crystallographic file types (e.g., [CIF](https://www.iucr.org/resources/cif)), using the `optimade.adapters` module. +1. A configurable reference server implementation that can make use of either MongoDB or Elasticsearch database backends out-of-the-box, and is readily extensible to other backends. Try it out on the [demo site](https://optimade.fly.dev)! The OpenAPI schemas of the server are used to construct the [OPTIMADE schemas](https://schemas.optimade.org/) site. +1. An [OPTIMADE client](https://www.optimade.org/optimade-python-tools/latest/getting_started/client/) (`optimade-get`) that can query multiple [OPTIMADE providers](https://optimade.org/providers-dashboard) concurrently with a given filter, at the command-line or from Python code. +1. A fuzzy API validator tool, which may be called from the shell (`optimade-validator`) or used as a GitHub Action from [optimade-validator-action](https://github.com/Materials-Consortia/optimade-validator-action); this validator is used to construct the [providers dashboard](https://optimade.org/providers-dashboard). + + +## Documentation + +This document, guides, and the full module API documentation can be found online at [https://optimade.org/optimade-python-tools](https://optimade.org/optimade-python-tools). +In particular, documentation of the OPTIMADE API response data models (implemented here with [pydantic](https://github.com/pydantic/pydantic)) can be found online under [OPTIMADE Data Models](https://optimade.org/optimade-python-tools/latest/all_models). + +The release history and changelog can be found in [the changelog](CHANGELOG.md). + +## Installation + +Detailed installation instructions for different use cases (e.g., using the library or running a server) can be found in [the installation documentation](INSTALL.md). + +The latest stable version of this package can be obtained from [PyPI](https://pypi.org/project/optimade): + +```shell +pip install optimade +``` + +The latest development version of this package can be obtained from the master branch of this repository: + +```shell +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 versionoptimade version
v1.0.0v0.12.9
v1.1.0v0.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](https://github.com/Materials-Consortia/optimade-python-tools). +Contribution guidelines and tips for getting help can be found in the [contributing notes](CONTRIBUTING.md). + +## 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](https://doi.org/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](https://doi.org/10.21105/joss.03458) + +## Links + +- [OPTIMADE Specification](https://github.com/Materials-Consortia/OPTIMADE/blob/develop/optimade.rst), the human-readable specification that this library is based on. +- [optimade-validator-action](https://github.com/Materials-Consortia/optimade-validator-action), a GitHub action that can be used to validate implementations from a URL (using the validator from this repo). +- [OpenAPI](https://github.com/OAI/OpenAPI-Specification), the machine-readable format used to specify the OPTIMADE API in [`openapi.json`](openapi/openapi.json) and [`index_openapi.json`](openapi/index_openapi.json). +- [Interactive documentation](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/Materials-Consortia/optimade-python-tools/master/openapi/openapi.json) generated from [`openapi.json`](openapi/openapi.json) (see also [interactive JSON editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/Materials-Consortia/optimade-python-tools/master/openapi/openapi.json)). +- [pydantic](https://pydantic-docs.helpmanual.io/), the library used for generating the OpenAPI schema from [Python models](https://www.optimade.org/optimade-python-tools/all_models/). +- [FastAPI](https://fastapi.tiangolo.com/), the framework used for generating the reference implementation expressed by the [`openapi.json`](openapi/openapi.json) specification. +- [Lark](https://github.com/lark-parser/lark), the library used to parse the filter language in OPTIMADE queries. + + +%package -n python3-optimade +Summary: Tools for implementing and consuming OPTIMADE APIs. +Provides: python-optimade +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-optimade + + +
+ +
+ +#
OPTIMADE Python tools
+ +
+ +JOSS DOI +
+ +
+ + + + + + + + + + + + + +
Latest releaseBuild statusActivity
+ PyPI version
+ PyPI - Python Version
+ OPTIMADE version +
+ Build Status
+ Docs
+ Codecov
+
+ Commit Activity
+ Last Commit
+ Contributors +
+ +
+ +The aim of [OPTIMADE](https://optimade.org) is to develop a common API, compliant with the [JSON:API 1.0](http://jsonapi.org/format/1.0/) specification. +This is to enable interoperability among databases that serve crystal structures and calculated properties of existing and hypothetical materials. + +This repository contains a library of tools for implementing and consuming [OPTIMADE APIs](https://www.optimade.org) using Python: + +1. [pydantic](https://github.com/pydantic/pydantic) data models for all [OPTIMADE entry types](https://www.optimade.org/optimade-python-tools/latest/all_models/) and endpoint responses, and a [Lark](https://github.com/lark-parser/lark) [EBNF grammar](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form) implementation for the OPTIMADE filter language. +1. Adapters to map OPTIMADE data to and from many commonly used atomistic Python frameworks (e.g., [pymatgen](https://pymatgen.org/), [ASE](https://wiki.fysik.dtu.dk/ase/)) and crystallographic file types (e.g., [CIF](https://www.iucr.org/resources/cif)), using the `optimade.adapters` module. +1. A configurable reference server implementation that can make use of either MongoDB or Elasticsearch database backends out-of-the-box, and is readily extensible to other backends. Try it out on the [demo site](https://optimade.fly.dev)! The OpenAPI schemas of the server are used to construct the [OPTIMADE schemas](https://schemas.optimade.org/) site. +1. An [OPTIMADE client](https://www.optimade.org/optimade-python-tools/latest/getting_started/client/) (`optimade-get`) that can query multiple [OPTIMADE providers](https://optimade.org/providers-dashboard) concurrently with a given filter, at the command-line or from Python code. +1. A fuzzy API validator tool, which may be called from the shell (`optimade-validator`) or used as a GitHub Action from [optimade-validator-action](https://github.com/Materials-Consortia/optimade-validator-action); this validator is used to construct the [providers dashboard](https://optimade.org/providers-dashboard). + + +## Documentation + +This document, guides, and the full module API documentation can be found online at [https://optimade.org/optimade-python-tools](https://optimade.org/optimade-python-tools). +In particular, documentation of the OPTIMADE API response data models (implemented here with [pydantic](https://github.com/pydantic/pydantic)) can be found online under [OPTIMADE Data Models](https://optimade.org/optimade-python-tools/latest/all_models). + +The release history and changelog can be found in [the changelog](CHANGELOG.md). + +## Installation + +Detailed installation instructions for different use cases (e.g., using the library or running a server) can be found in [the installation documentation](INSTALL.md). + +The latest stable version of this package can be obtained from [PyPI](https://pypi.org/project/optimade): + +```shell +pip install optimade +``` + +The latest development version of this package can be obtained from the master branch of this repository: + +```shell +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 versionoptimade version
v1.0.0v0.12.9
v1.1.0v0.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](https://github.com/Materials-Consortia/optimade-python-tools). +Contribution guidelines and tips for getting help can be found in the [contributing notes](CONTRIBUTING.md). + +## 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](https://doi.org/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](https://doi.org/10.21105/joss.03458) + +## Links + +- [OPTIMADE Specification](https://github.com/Materials-Consortia/OPTIMADE/blob/develop/optimade.rst), the human-readable specification that this library is based on. +- [optimade-validator-action](https://github.com/Materials-Consortia/optimade-validator-action), a GitHub action that can be used to validate implementations from a URL (using the validator from this repo). +- [OpenAPI](https://github.com/OAI/OpenAPI-Specification), the machine-readable format used to specify the OPTIMADE API in [`openapi.json`](openapi/openapi.json) and [`index_openapi.json`](openapi/index_openapi.json). +- [Interactive documentation](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/Materials-Consortia/optimade-python-tools/master/openapi/openapi.json) generated from [`openapi.json`](openapi/openapi.json) (see also [interactive JSON editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/Materials-Consortia/optimade-python-tools/master/openapi/openapi.json)). +- [pydantic](https://pydantic-docs.helpmanual.io/), the library used for generating the OpenAPI schema from [Python models](https://www.optimade.org/optimade-python-tools/all_models/). +- [FastAPI](https://fastapi.tiangolo.com/), the framework used for generating the reference implementation expressed by the [`openapi.json`](openapi/openapi.json) specification. +- [Lark](https://github.com/lark-parser/lark), the library used to parse the filter language in OPTIMADE queries. + + +%package help +Summary: Development documents and examples for optimade +Provides: python3-optimade-doc +%description help + + +
+ +
+ +#
OPTIMADE Python tools
+ +
+ +JOSS DOI +
+ +
+ + + + + + + + + + + + + +
Latest releaseBuild statusActivity
+ PyPI version
+ PyPI - Python Version
+ OPTIMADE version +
+ Build Status
+ Docs
+ Codecov
+
+ Commit Activity
+ Last Commit
+ Contributors +
+ +
+ +The aim of [OPTIMADE](https://optimade.org) is to develop a common API, compliant with the [JSON:API 1.0](http://jsonapi.org/format/1.0/) specification. +This is to enable interoperability among databases that serve crystal structures and calculated properties of existing and hypothetical materials. + +This repository contains a library of tools for implementing and consuming [OPTIMADE APIs](https://www.optimade.org) using Python: + +1. [pydantic](https://github.com/pydantic/pydantic) data models for all [OPTIMADE entry types](https://www.optimade.org/optimade-python-tools/latest/all_models/) and endpoint responses, and a [Lark](https://github.com/lark-parser/lark) [EBNF grammar](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form) implementation for the OPTIMADE filter language. +1. Adapters to map OPTIMADE data to and from many commonly used atomistic Python frameworks (e.g., [pymatgen](https://pymatgen.org/), [ASE](https://wiki.fysik.dtu.dk/ase/)) and crystallographic file types (e.g., [CIF](https://www.iucr.org/resources/cif)), using the `optimade.adapters` module. +1. A configurable reference server implementation that can make use of either MongoDB or Elasticsearch database backends out-of-the-box, and is readily extensible to other backends. Try it out on the [demo site](https://optimade.fly.dev)! The OpenAPI schemas of the server are used to construct the [OPTIMADE schemas](https://schemas.optimade.org/) site. +1. An [OPTIMADE client](https://www.optimade.org/optimade-python-tools/latest/getting_started/client/) (`optimade-get`) that can query multiple [OPTIMADE providers](https://optimade.org/providers-dashboard) concurrently with a given filter, at the command-line or from Python code. +1. A fuzzy API validator tool, which may be called from the shell (`optimade-validator`) or used as a GitHub Action from [optimade-validator-action](https://github.com/Materials-Consortia/optimade-validator-action); this validator is used to construct the [providers dashboard](https://optimade.org/providers-dashboard). + + +## Documentation + +This document, guides, and the full module API documentation can be found online at [https://optimade.org/optimade-python-tools](https://optimade.org/optimade-python-tools). +In particular, documentation of the OPTIMADE API response data models (implemented here with [pydantic](https://github.com/pydantic/pydantic)) can be found online under [OPTIMADE Data Models](https://optimade.org/optimade-python-tools/latest/all_models). + +The release history and changelog can be found in [the changelog](CHANGELOG.md). + +## Installation + +Detailed installation instructions for different use cases (e.g., using the library or running a server) can be found in [the installation documentation](INSTALL.md). + +The latest stable version of this package can be obtained from [PyPI](https://pypi.org/project/optimade): + +```shell +pip install optimade +``` + +The latest development version of this package can be obtained from the master branch of this repository: + +```shell +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 versionoptimade version
v1.0.0v0.12.9
v1.1.0v0.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](https://github.com/Materials-Consortia/optimade-python-tools). +Contribution guidelines and tips for getting help can be found in the [contributing notes](CONTRIBUTING.md). + +## 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](https://doi.org/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](https://doi.org/10.21105/joss.03458) + +## Links + +- [OPTIMADE Specification](https://github.com/Materials-Consortia/OPTIMADE/blob/develop/optimade.rst), the human-readable specification that this library is based on. +- [optimade-validator-action](https://github.com/Materials-Consortia/optimade-validator-action), a GitHub action that can be used to validate implementations from a URL (using the validator from this repo). +- [OpenAPI](https://github.com/OAI/OpenAPI-Specification), the machine-readable format used to specify the OPTIMADE API in [`openapi.json`](openapi/openapi.json) and [`index_openapi.json`](openapi/index_openapi.json). +- [Interactive documentation](https://petstore.swagger.io/?url=https://raw.githubusercontent.com/Materials-Consortia/optimade-python-tools/master/openapi/openapi.json) generated from [`openapi.json`](openapi/openapi.json) (see also [interactive JSON editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/Materials-Consortia/optimade-python-tools/master/openapi/openapi.json)). +- [pydantic](https://pydantic-docs.helpmanual.io/), the library used for generating the OpenAPI schema from [Python models](https://www.optimade.org/optimade-python-tools/all_models/). +- [FastAPI](https://fastapi.tiangolo.com/), the framework used for generating the reference implementation expressed by the [`openapi.json`](openapi/openapi.json) specification. +- [Lark](https://github.com/lark-parser/lark), the library used to parse the filter language in OPTIMADE queries. + + +%prep +%autosetup -n optimade-0.23.1 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-optimade -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot - 0.23.1-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..52eab78 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +35763f86d9ff5d68aefb0da6b0847ac8 optimade-0.23.1.tar.gz -- cgit v1.2.3