The official Python library for the Ouro API
Project description
ouro-py
The Ouro Python library provides convenient access to the Ouro REST API from any Python 3.7+ application. Visit Ouro to learn more about the Ouro platform.
Documentation
The REST API documentation can be found on ouro.foundation/docs/developers/api.
Installation
# install from PyPI
pip install ouro-py
Usage
Generate an API key from your account settings by going to ouro.foundation/settings/api-keys.
Set your Ouro environment variables in a dotenv file, or using the shell:
export OURO_API_KEY="your_api_key"
Init client:
import os
from ouro import Ouro
api_key = os.environ.get("OURO_API_KEY")
ouro = Ouro(api_key=api_key)
Use the client to interface with the Ouro framework.
Create a dataset
data = pd.DataFrame(
[
{"name": "Bob", "age": 30},
{"name": "Alice", "age": 27},
{"name": "Matt", "age": 26},
]
)
res = ouro.datasets.create(
data=data,
name="your_dataset_name",
description="your_dataset_description",
visibility="private",
)
Read a dataset
id = "3d82308b-0747-45e4-8045-c8f7d2f6c0a6" # penguins dataset
# Retrieve a dataset
dataset = ouro.datasets.retrieve(id)
# Option 1: Load dataset's data as json using the table name
data = ouro.datasets.load("penguins")
# Option 2: Load dataset's data using tbe Postgrest client
data = ouro.database.table("penguins").select("*").limit(1).execute()
# Option 3: Read dataset's data as a Pandas DataFrame
df = ouro.datasets.query(id)
Update a dataset
id = "3d82308b-0747-45e4-8045-c8f7d2f6c0a6"
data_update = pd.DataFrame([
{"name": "Bob", "age": 30},
{"name": "Alice", "age": 27},
{"name": "Matt", "age": 26},
])
update = {
"visibility": "private",
"data": data_update,
}
data = ouro.datasets.update("018f86da-b1be-7099-9556-fe88fb6882c3", **update)
Create a post
content = ouro.posts.Editor()
content.new_header(level=1, text="Hello World")
content.new_paragraph(text="This is a paragraph written in code.")
post = ouro.posts.create(
content=content,
name="Hello World",
description="This is a post from the Python SDK",
visibility="private",
)
Read a post
id = "b9ff1bfd-b3ae-4e92-9afc-70b1e1e2011a" # The post id
post = ouro.posts.retrieve(id)
Update a post
id = "b9ff1bfd-b3ae-4e92-9afc-70b1e1e2011a" # The post id
new_content = ouro.posts.Editor()
new_content.new_header(level=1, text="Hello World")
new_content.new_paragraph(text="This is a paragraph, but different this time.")
update = {
"name": "Hello World",
"visibility": "public",
"content": new_content,
}
post = ouro.posts.update(id, **update)
Read the full API docs at ouro.foundation/docs/developers/api.
Contributing
Contributing to the Python library is a great way to get involved with the Ouro community. Reach out to us on our Github Discussions page if you want to get involved.
Set up a Local Development Environment
Clone the Repository
git clone git@github.com:ourofoundation/ouro-py.git
cd ouro-py
Create and Activate a Virtual Environment
We recommend activating your virtual environment. Click here for more about Python virtual environments and working with conda and poetry.
Using venv (Python 3 built-in):
python3 -m venv env
source env/bin/activate # On Windows, use .\env\Scripts\activate
Using conda:
conda create --name ouro-py
conda activate ouro-py
PyPi installation
Install the package (for > Python 3.7):
# with pip
pip install ouro-py
Local installation
You can also install locally after cloning this repo. Install Development mode with pip install -e
, which makes it so when you edit the source code the changes will be reflected in your python module.
Badges
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.