Guardrails API
Project description
guardrails-poc
Docker compose stub of Guardrails as a Service
Setting Up
We strongly encourage you to use a virtual environment when developing in python. To set one up for this project run the following:
python3 -m venv ./.venv
source ./.venv/bin/activate
Your terminal should now show that you are working from within the virtual environment. Now you can install the dependencies:
make install
And start the dev server:
make start
Once the service has launched, you should be able to navigate to the Swagger documenation for the guardrails-api at http://localhost:8000
Local Infrastructure
By default, the server will start with an in-memory store for Guards. As of June 4th, 2024 this store does not support write operations via the API. In order to utilize all CRUD operations you will need a postgres database running locally and you will need to provide the following environment variables (sane defaults included for demonstration purposes):
export PGPORT=5432
export PGDATABASE=postgres
export PGHOST=localhost
export PGUSER=${PGUSER:-postgres}
export PGPASSWORD=${PGPASSWORD:-changeme}
You can create this database however you wish, but we do have a docker-compose configuration to stand up the database as well as a local opentelemetry stack. To use this make sure you have docker installed, then run:
docker compose --profile db up --build
to run just the database.
docker compose --profile infra up --build
to run the database and opentelemetry infrastructure
or
docker compose --profile all up --build
to run everything including the guardrails-api
The last option is useful when checking that everything will work as planned in a more productionized environment. When developing, it's generally faster to just run the minimum infrastructure you need via docker and run the api on a bare process with the make start
command.
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
Built Distribution
File details
Details for the file guardrails_api-0.0.5.tar.gz
.
File metadata
- Download URL: guardrails_api-0.0.5.tar.gz
- Upload date:
- Size: 36.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56a9fad7c9ceb5b8835c07ad870b8ed11e46978318c49061083ead9138f30695 |
|
MD5 | 7d36fd021cf9a99c7ff69c30093f16eb |
|
BLAKE2b-256 | 2c05ed0a3402df2125cb6fa2bffee9a248c7ad92fc7217464c8891b1131af323 |
Provenance
File details
Details for the file guardrails_api-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: guardrails_api-0.0.5-py3-none-any.whl
- Upload date:
- Size: 46.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42f9f97396d6e7472315f53eb6365d6ce11134a62510c051f10717b0bc551c75 |
|
MD5 | f98eff0452f10928b52194338ccbe3ed |
|
BLAKE2b-256 | 0149bd2cd8e193dd1f555fad82f06ccd47cd0666eb71274b76222cd71a73070e |