Metadata-Version: 2.3
Name: otf-api
Version: 0.10.0
Summary: Python OrangeTheory Fitness API Client
License: MIT
Author: Jessica Smith
Author-email: j.smith.git1@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: attrs (>=24.3.0,<25.0.0)
Requires-Dist: cachetools (>=5.5.0)
Requires-Dist: httpx (>=0.27.2)
Requires-Dist: humanize (>=4.9.0,<5.0.0)
Requires-Dist: inflection (==0.5.*)
Requires-Dist: mypy-boto3-cognito-idp (>=1.35.93,<2.0.0)
Requires-Dist: pint (==0.24.*)
Requires-Dist: pycognito (==2024.5.1)
Requires-Dist: pydantic (>=2.7.3)
Requires-Dist: tenacity (>=9.0.0,<10.0.0)
Requires-Dist: yarl (>=1.18.3,<2.0.0)
Project-URL: Documentation, https://otf-api.readthedocs.io/en/stable/
Description-Content-Type: text/markdown

Simple API client for interacting with the OrangeTheory Fitness APIs.

Review the [documentation](https://otf-api.readthedocs.io/en/stable/).


This library allows access to the OrangeTheory API to retrieve workouts and performance data, class schedules, studio information, and bookings.

## Installation
```bash
pip install otf-api
```

## Overview

To use the API, you need to create an instance of the `Otf` class. This will authenticate you with the API and allow you to make requests. When the `Otf` object is created it automatically grabs your member details and home studio, to simplify the process of making requests.

You can either pass an `OtfUser` object to the `OtfClass` or you can pass nothing and allow it to prompt you for your username and password.

You can also export environment variables `OTF_EMAIL` and `OTF_PASSWORD` to get these from the environment.

```python
from otf_api import Otf, OtfUser

otf = Otf()

# OR

otf = Otf(user=OtfUser(<email_address>,<password>))

```

