Python SDK for the Macrometa Global Data Mesh.
This SDK supports the following Python implementations:
- Python 3.4 - 3.10
Install from PyPi using pip, a package manager for Python.
pip install pyC8
Currently, pyC8 supports API Key, JWT token, username and password authentication. Preferred method needs to be passed during client creation. We highly recommend that you use API key or JWT token.
You can create you test Macrometa account with this link.
After that you can check out our getting started code examples.
To enable development environment position ourselves to project's root and run:
pip install -r requirements/dev.txt
End-to-end tests can be found in tests/.
Before first run create .env file in tests/.
In .env
file add variables:
FEDERATION_URL="<your federation url>"
FABRIC="<selected fabric>"
API_KEY="<your api key>"
.env
file is in .gitignore
.
To run tests position yourself in the project's root while your virtual environment is active and run:
python -m pytest
Since we have end-to-end test we use VCR package to record our response so tests can be faster in next iteration. Example:
pytest --record-mode=once test_redis.py
Cassettes folder will be created with '.yaml'. Each test will have its own file.
You will need to install pre-commit hooks Using homebrew:
brew install pre-commit
Using conda (via conda-forge):
conda install -c conda-forge pre-commit
To check installation run:
pre-commit --version
If installation was successful you will see version number.
You can find the Pre-commit configuration in .pre-commit-config.yaml
.
Install the git hook scripts:
pre-commit install
Run against all files:
pre-commit run --all-files
If setup was successful pre-commit will run on every commit.
Every time you clone a project that uses pre-commit, running pre-commit install
should be the first thing you do.
To build package we need to position ourselves to project's root and run:
$ python setup.py build
pip install --upgrade pyC8
You can find code examples in our getting started collection.
If you have any trouble or need help while using SDK please contact support@macrometa.com.
This library is distributed under the Apache License 2.0 license found in the License.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to product@macrometa.com.