Materials-MarketPlace Standard App API
Project description
README
About
This repository contains the specification of the Materials MarketPlace Standard App API. The API is used as basis for the interaction between apps on the Materials MarketPlace platform.
This repository contains the API version: 0.4.0.
Authors
- Simon Adorf (simon.adorf@epfl.ch)
- MarketPlace consortium partners
Specification
The repository contains both a programmatic definition of the API (implemented via Pydantic and FastAPI) within the marketplace_standard_app_api.main module as well as an equivalent OpenAPI representation in the openapi.json file. Programmatic checks are performed to ensure that both representations remain synchronized and conflict-free. In case that the definition within the Python module and the OpenAPI JSON-file are conflicting with each other for whatever reason, the former must be considered authoritive.
Tip: You can use the marketplace-standard-app-api show
command to generate the OpenAPI file from the Python module (requires the cli
extra).
Installation
Note: Users should use the MarketPlace Python SDK for app development.
You can install this package from PyPI with:
pip install marketplace-standard-app-api
Tests
Tests for this repository are implemented via pytest. To run these tests, first install the test dependencies with
pip install '.[tests]'
and then run the tests with the pytest
command.
Contributing
Contributions in the form of issues, comments, and pull request are very welcome.
To make code contributions, please fork this repository, and then create a pull request. For development you will need to setup a Python environment (with a recent Python version), install the development requiremments, and the pre-commit hooks with:
pip install pre-commit==2.17.0
pre-commit install
For maintainers
To create a new release, clone the repository, install development dependencies with pip install -e '.[dev]'
, and then execute bumpver update --[major|minor|patch]
.
This will:
- Create a tagged release with bumped version and push it to the repository.
- Trigger a GitHub actions workflow that creates a GitHub release and publishes it on PyPI.
Additional notes:
- The project follows semantic versioning.
- Use the
--dry
option to preview the release change.
Acknowledgements
This work is supported by the MarketPlace project funded by Horizon 2020 under the H2020-NMBP-25-2017 call (Grant No. 760173).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file marketplace-standard-app-api-0.4.0.tar.gz
.
File metadata
- Download URL: marketplace-standard-app-api-0.4.0.tar.gz
- Upload date:
- Size: 15.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7af812793fd2b199cb3eacfd017ed1fd530da9c1b7c378c761f5718bdbb04498 |
|
MD5 | 67043894450b323b3888e6020c34da34 |
|
BLAKE2b-256 | 04f9e2d852f16b159b74999c195c2633518267fa7ecb07078a7fd1191dea6af5 |
File details
Details for the file marketplace_standard_app_api-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: marketplace_standard_app_api-0.4.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.28.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f54d32081710f5e6dcf83c660bf8d66eff03a3ee26f51440e00042cdcd06263 |
|
MD5 | 135588b994489ec34bd1af1b98123026 |
|
BLAKE2b-256 | 958296fc5b99010bc2d24a95219ecee8ce02f7d37352d90c411f78f5ebb88ac7 |