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
Hashes for guardrails_api-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0c16a3eb28dd9dea2f24d3cc32fee8fe9cc29c9cde5f84bb660212c0516b467 |
|
MD5 | fee560392946939c46c0a1fb8b72d0ec |
|
BLAKE2b-256 | b6c5c256bd7c4561dae209711eec1c531bdb158856c95cbd2a5f0167a4c585a7 |