/pyC8

Official Python SDK for Macrometa

Primary LanguagePythonApache License 2.0Apache-2.0

PyC8 SDK

PyPI PyPI - Python Version PyPI - Format PyPI - Wheel PyPI - Downloads

Python SDK for the Macrometa Global Data Mesh.


๐Ÿ Supported Python Versions

This SDK supports the following Python implementations:

  • Python 3.4 - 3.10

โš™๏ธ Installation

Install from PyPi using pip, a package manager for Python.

pip install pyC8

๐Ÿ” Authentication

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.

๐Ÿงฐ Development environment

To enable development environment position ourselves to project's root and run:

pip install -r requirements/dev.txt

๐Ÿงช Testing

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.

๐Ÿ“ Enable pre-commit hooks

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.

๐Ÿ‘จโ€๐Ÿ’ป Build

To build package we need to position ourselves to project's root and run:

 $ python setup.py build

๐Ÿช› Upgrade

pip install --upgrade pyC8

๐Ÿ“— Examples

You can find code examples in our getting started collection.

๐Ÿ†˜ Macrometa Support

If you have any trouble or need help while using SDK please contact support@macrometa.com.

โš–๏ธ License

This library is distributed under the Apache License 2.0 license found in the License.

๐Ÿ“œ Code of Conduct

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.