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 the 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.
Source Distribution
Built Distribution
File details
Details for the file ouro_py-0.2.11.tar.gz
.
File metadata
- Download URL: ouro_py-0.2.11.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b4dbd8b550bb0d8f906875256459157edc7267bc8f0153754b34d42a375c319 |
|
MD5 | e10bfa249d27ad74dca60c8ce3159db6 |
|
BLAKE2b-256 | 16592ccbcb50bcbf3376f388be42057582bc6a680c0f102c5d9bea6b68689933 |
File details
Details for the file ouro_py-0.2.11-py3-none-any.whl
.
File metadata
- Download URL: ouro_py-0.2.11-py3-none-any.whl
- Upload date:
- Size: 28.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71b40d3fca452e8f4bf51c8ee891e9368f5e478b2a0d5b9d868b2be5efd15689 |
|
MD5 | 9d4bf50a53e17cee172908a4467ec3af |
|
BLAKE2b-256 | 3d6de338787a81ddccf0da34e48a4eeac10e8003f9388eaf86f84a577fa1b007 |