Skip to main content

The One API Python SDK

Installation

To install the SDK:

  1. Create and activate a venv
$ mkdir venv
$ python3.10 -m venv venv
$ source venv/bin/activate
  1. Install the package from PyPi
(venv) $ pip install the-one-api-sdk-duke

User Guide

  1. If you haven't done so, create an account at The One API
  2. Use your access token to authenticate:
>>> import the_one_api
>>> the_one_api.api_key = "your-access-token-here"

Endpoints

Movie Endpoint

Import the Movie module:

>>> from the_one_api import movie

Quotes can be listed in full, fetched by ID, or searched using a variety of filters

>>> movie.list_all()
>>> movie.get('quote-id')
>>> movie.filter(**filters)

Quote Endpoint

Import the Quote module:

>>> from the_one_api import quote

Quotes can be listed in full, fetched by ID, or searched using a variety of filters, including by movie ID.

>>> quote.list_all()
>>> quote.get('quote-id')
>>> quote.filter(movie_id="movie-id", match={"character": "character-id"})  # etc.

About Sorts and Filters

The filter functionality accepts a sort keyword argument and a variety of filters

Sort

Supply a field to sort by, and prepend a "-" for a descending sort. Only one field at a time is supported.

>>> movie.filter(sort="name")
>>> quote.filter(sort="-character")
Match/Negate Match

Supply a dictionary containing a field and value for an exact match (or to not match). Only one term per match is supported.

>>> movie.filter(match={"name": "The Lord of the Rings Series")
>>> movie.filter(negate_match={"name": "The Lord of the Rings Series")
Filter/Exclude

Supply a dictionary containing a field and a list of values to match (or not match).

>>> movie.filter(filter={"name": ["The Return of the King", "The Fellowship of the Ring"]})
>>> movie.filter(exclude={"name": ["The Return of the King", "The Fellowship of the Ring"]})
Regex/Negate Regex

Supply a MongoDB-style regex pattern to include or not. See the MongoDB documentation for details.

>>> quote.filter(regex={"dialog": "/foot/i"})
>>> quote.filter(negate_regex={"dialog": "/foot/i"})
Less Than, Greater Than, and Greater Than or Equal To

Supply a dictionary containing a field and a number or character.

>>> movie.filter(gte={"budgetInMillions": 600}, lt={"budgetInMillions": 400})
>>> quote.filter(lt={"dialog": "B"})

Developer Guide

Installation

  1. Clone the project from GitHub
  2. Create a venv and activate it
  3. Install the requirements and the project itself in editable mode:
(venv) $ pip install -r requirements.txt -r requirements-dev.txt
(venv) $ pip install -e .

Running the test suite

Once the project has been installed following the Developer Guide:

  1. Install "requirements-test.txt"
  2. Run the tests:
(venv) $ python -m pytest

Metadata

Release files for the-one-api-sdk-duke 0.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for the-one-api-sdk-duke 0.0.0
File Interpreter ABI Platform
the_one_api_sdk_duke-0.0.0-py3-none-any.whl Python 3 none any Details

Release files / the_one_api_sdk_duke-0.0.0-py3-none-any.whl

Download URL the_one_api_sdk_duke-0.0.0-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c456ba7eddc355b497b2091e8db4d7861eca184259cfa9d67f29ecb5a99a13be
BLAKE2b-256 checksum
How to use checksums
812a07877be94912b22436ded0f78576fb734845808f544a8031fcd28ec4eaad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release history Release notifications | RSS feed

This release

0.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page