Python agent for protopia
Project description
Python Protopia Agent
This is a Python implementation of the Protopia Agent.
Install via Pypi
pip install protopia
Usage via Pypi
import protopia
client = protopia.Agent()
client.get_option()
# returns will be
# > PROTOPIA_CLOUD_URL is set to api.stage-01.stage.protopia.ai:443
# > TOKEN_URL is set to https://protopia-cloud-stage-01.auth.us-east-1.amazoncognito.com/oauth2/token
# > SCOPES is set to ['https://api.stage-01.protopia.ai/noise:read']
# > OIDC_CLIENT_ID is set to None
# > OIDC_CLIENT_SECRET is set to None
client.set_client(client_id, client_secret)
# returns will be (See below to retrieve client_id and client_secret)
# > OIDC_CLIENT_ID is set to client_id
# > OIDC_CLIENT_SECRET is set to client_secret
client.connect()
# returns will be
# > successfully connected to staging cloud API
dist = client.get_noise_distribution(nnid)
# returns will be encrypted noise distribution
Development
Prerequisites
Install the following programs:
- Python version 3.8+
- Run
pip3 install -r requirements.txt protoc- In MacOS this can be installed by running
brew install protoc
- In MacOS this can be installed by running
Preconfiguration
The following environment variables must be exported prior to running the agent:
OIDC_CLIENT_IDthe client ID of the agent issued by Cognito.OIDC_CLIENT_SECRETthe client secret of the agent issued by Cognito.
You will get the predefined agent in AWS cognito console New user creation is described in the cloud/example/nose_store/upload
Installation for local package
Once above is set then you can install the package by following command
pip install .
Build the package
You can execute the following line to build the package
python setup.py bdist_wheel
Upload the package to Pypi
You'll need twine to upload the package
pip install twine
Then you'll need ID and Password for Pypi. contact alan@protopia.ai to get it.
twine upload dist/{build location from above}
# ex twine upload dist/protopia-0.1.0-py3-none-any.whl
Generting Python From ProtocolBuffer
A script is provided to generate Python code from the ProtocolBuffer defintion of the gRPC protocol exposed by Protopia Cloud. To re-generate Python code from the ProtocolBuffer definition, run:
make protoc
This will be executed in the cloud repo
Then copy cloud/protos/protopia-api/api in cloud repo and paste to py-agent/protopia/api
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file protopia-0.2.5.tar.gz.
File metadata
- Download URL: protopia-0.2.5.tar.gz
- Upload date:
- Size: 21.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0587f6da188046c17accbbd134d2c7f30af3638bb7104c0499c47dce35add3d9
|
|
| MD5 |
b778908703834db7b9554533d9188b27
|
|
| BLAKE2b-256 |
df3caa7619e3cde4483b147ad7c846e08da80e0e8f06271d42b3a21431dac1aa
|