otf-api 0.8.2__tar.gz → 0.9.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {otf_api-0.8.2 → otf_api-0.9.1}/PKG-INFO +21 -10
- otf_api-0.9.1/README.md +30 -0
- {otf_api-0.8.2 → otf_api-0.9.1}/pyproject.toml +9 -11
- otf_api-0.9.1/src/otf_api/__init__.py +10 -0
- otf_api-0.9.1/src/otf_api/api.py +1182 -0
- otf_api-0.9.1/src/otf_api/auth/__init__.py +4 -0
- otf_api-0.9.1/src/otf_api/auth/auth.py +234 -0
- otf_api-0.9.1/src/otf_api/auth/user.py +66 -0
- otf_api-0.9.1/src/otf_api/auth/utils.py +129 -0
- otf_api-0.9.1/src/otf_api/exceptions.py +51 -0
- otf_api-0.9.1/src/otf_api/filters.py +97 -0
- otf_api-0.9.1/src/otf_api/logging.py +19 -0
- otf_api-0.9.1/src/otf_api/models/__init__.py +48 -0
- {otf_api-0.8.2 → otf_api-0.9.1}/src/otf_api/models/body_composition_list.py +47 -50
- otf_api-0.9.1/src/otf_api/models/bookings.py +95 -0
- otf_api-0.9.1/src/otf_api/models/challenge_tracker_content.py +59 -0
- otf_api-0.9.1/src/otf_api/models/challenge_tracker_detail.py +88 -0
- otf_api-0.9.1/src/otf_api/models/classes.py +71 -0
- otf_api-0.9.1/src/otf_api/models/enums.py +165 -0
- otf_api-0.9.1/src/otf_api/models/lifetime_stats.py +90 -0
- otf_api-0.9.1/src/otf_api/models/member_detail.py +121 -0
- otf_api-0.9.1/src/otf_api/models/member_membership.py +26 -0
- otf_api-0.9.1/src/otf_api/models/member_purchases.py +29 -0
- otf_api-0.9.1/src/otf_api/models/mixins.py +48 -0
- otf_api-0.9.1/src/otf_api/models/notifications.py +17 -0
- otf_api-0.9.1/src/otf_api/models/out_of_studio_workout_history.py +32 -0
- otf_api-0.9.1/src/otf_api/models/performance_summary_detail.py +84 -0
- otf_api-0.9.1/src/otf_api/models/performance_summary_list.py +50 -0
- otf_api-0.9.1/src/otf_api/models/studio_detail.py +62 -0
- otf_api-0.9.1/src/otf_api/models/studio_services.py +36 -0
- {otf_api-0.8.2 → otf_api-0.9.1}/src/otf_api/models/telemetry.py +14 -5
- otf_api-0.9.1/src/otf_api/utils.py +134 -0
- otf_api-0.8.2/AUTHORS.md +0 -9
- otf_api-0.8.2/README.md +0 -21
- otf_api-0.8.2/src/otf_api/__init__.py +0 -7
- otf_api-0.8.2/src/otf_api/api.py +0 -963
- otf_api-0.8.2/src/otf_api/auth.py +0 -316
- otf_api-0.8.2/src/otf_api/exceptions.py +0 -18
- otf_api-0.8.2/src/otf_api/models/__init__.py +0 -59
- otf_api-0.8.2/src/otf_api/models/book_class.py +0 -89
- otf_api-0.8.2/src/otf_api/models/bookings.py +0 -119
- otf_api-0.8.2/src/otf_api/models/cancel_booking.py +0 -49
- otf_api-0.8.2/src/otf_api/models/challenge_tracker_content.py +0 -38
- otf_api-0.8.2/src/otf_api/models/challenge_tracker_detail.py +0 -68
- otf_api-0.8.2/src/otf_api/models/classes.py +0 -80
- otf_api-0.8.2/src/otf_api/models/enums.py +0 -87
- otf_api-0.8.2/src/otf_api/models/favorite_studios.py +0 -106
- otf_api-0.8.2/src/otf_api/models/latest_agreement.py +0 -21
- otf_api-0.8.2/src/otf_api/models/lifetime_stats.py +0 -76
- otf_api-0.8.2/src/otf_api/models/member_detail.py +0 -141
- otf_api-0.8.2/src/otf_api/models/member_membership.py +0 -25
- otf_api-0.8.2/src/otf_api/models/member_purchases.py +0 -135
- otf_api-0.8.2/src/otf_api/models/mixins.py +0 -44
- otf_api-0.8.2/src/otf_api/models/out_of_studio_workout_history.py +0 -41
- otf_api-0.8.2/src/otf_api/models/performance_summary_detail.py +0 -79
- otf_api-0.8.2/src/otf_api/models/performance_summary_list.py +0 -68
- otf_api-0.8.2/src/otf_api/models/studio_detail.py +0 -109
- otf_api-0.8.2/src/otf_api/models/studio_services.py +0 -57
- otf_api-0.8.2/src/otf_api/models/telemetry_hr_history.py +0 -34
- otf_api-0.8.2/src/otf_api/models/telemetry_max_hr.py +0 -13
- otf_api-0.8.2/src/otf_api/models/total_classes.py +0 -8
- {otf_api-0.8.2 → otf_api-0.9.1}/LICENSE +0 -0
- {otf_api-0.8.2 → otf_api-0.9.1}/src/otf_api/models/base.py +0 -0
- {otf_api-0.8.2 → otf_api-0.9.1}/src/otf_api/py.typed +0 -0
@@ -1,17 +1,16 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.3
|
2
2
|
Name: otf-api
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.9.1
|
4
4
|
Summary: Python OrangeTheory Fitness API Client
|
5
5
|
License: MIT
|
6
6
|
Author: Jessica Smith
|
7
7
|
Author-email: j.smith.git1@gmail.com
|
8
|
-
Requires-Python: >=3.
|
8
|
+
Requires-Python: >=3.11,<4.0
|
9
9
|
Classifier: Development Status :: 4 - Beta
|
10
10
|
Classifier: Intended Audience :: Developers
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
12
12
|
Classifier: Operating System :: OS Independent
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
14
|
-
Classifier: Programming Language :: Python :: 3.10
|
15
14
|
Classifier: Programming Language :: Python :: 3.11
|
16
15
|
Classifier: Programming Language :: Python :: 3.12
|
17
16
|
Classifier: Programming Language :: Python :: 3.13
|
@@ -19,12 +18,15 @@ Classifier: Topic :: Internet :: WWW/HTTP
|
|
19
18
|
Classifier: Topic :: Software Development :: Libraries
|
20
19
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
21
20
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
22
|
-
Requires-Dist:
|
21
|
+
Requires-Dist: attrs (>=24.3.0,<25.0.0)
|
22
|
+
Requires-Dist: httpx (>=0.27.2)
|
23
23
|
Requires-Dist: humanize (>=4.9.0,<5.0.0)
|
24
24
|
Requires-Dist: inflection (==0.5.*)
|
25
|
+
Requires-Dist: mypy-boto3-cognito-idp (>=1.35.93,<2.0.0)
|
25
26
|
Requires-Dist: pint (==0.24.*)
|
26
27
|
Requires-Dist: pycognito (==2024.5.1)
|
27
|
-
Requires-Dist: pydantic (
|
28
|
+
Requires-Dist: pydantic (>=2.7.3)
|
29
|
+
Requires-Dist: yarl (>=1.18.3,<2.0.0)
|
28
30
|
Project-URL: Documentation, https://otf-api.readthedocs.io/en/stable/
|
29
31
|
Description-Content-Type: text/markdown
|
30
32
|
|
@@ -42,11 +44,20 @@ pip install otf-api
|
|
42
44
|
|
43
45
|
## Overview
|
44
46
|
|
45
|
-
To use the API, you need to create an instance of the `Otf` class
|
47
|
+
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.
|
46
48
|
|
49
|
+
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.
|
47
50
|
|
48
|
-
|
51
|
+
You can also export environment variables `OTF_EMAIL` and `OTF_PASSWORD` to get these from the environment.
|
49
52
|
|
50
|
-
|
51
|
-
|
53
|
+
```python
|
54
|
+
from otf_api import Otf, OtfUser
|
55
|
+
|
56
|
+
otf = Otf()
|
57
|
+
|
58
|
+
# OR
|
59
|
+
|
60
|
+
otf = Otf(user=OtfUser(<email_address>,<password>))
|
61
|
+
|
62
|
+
```
|
52
63
|
|
otf_api-0.9.1/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
Simple API client for interacting with the OrangeTheory Fitness APIs.
|
2
|
+
|
3
|
+
Review the [documentation](https://otf-api.readthedocs.io/en/stable/).
|
4
|
+
|
5
|
+
|
6
|
+
This library allows access to the OrangeTheory API to retrieve workouts and performance data, class schedules, studio information, and bookings.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
```bash
|
10
|
+
pip install otf-api
|
11
|
+
```
|
12
|
+
|
13
|
+
## Overview
|
14
|
+
|
15
|
+
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.
|
16
|
+
|
17
|
+
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.
|
18
|
+
|
19
|
+
You can also export environment variables `OTF_EMAIL` and `OTF_PASSWORD` to get these from the environment.
|
20
|
+
|
21
|
+
```python
|
22
|
+
from otf_api import Otf, OtfUser
|
23
|
+
|
24
|
+
otf = Otf()
|
25
|
+
|
26
|
+
# OR
|
27
|
+
|
28
|
+
otf = Otf(user=OtfUser(<email_address>,<password>))
|
29
|
+
|
30
|
+
```
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "otf-api"
|
3
|
-
version = "0.
|
3
|
+
version = "0.9.1"
|
4
4
|
description = "Python OrangeTheory Fitness API Client"
|
5
5
|
authors = ["Jessica Smith <j.smith.git1@gmail.com>"]
|
6
6
|
license = "MIT"
|
@@ -10,7 +10,7 @@ documentation = "https://otf-api.readthedocs.io/en/stable/"
|
|
10
10
|
classifiers = [
|
11
11
|
"Development Status :: 4 - Beta",
|
12
12
|
"Intended Audience :: Developers",
|
13
|
-
"Programming Language :: Python :: 3.
|
13
|
+
"Programming Language :: Python :: 3.11",
|
14
14
|
"License :: OSI Approved :: MIT License",
|
15
15
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
16
16
|
"Topic :: Software Development :: Libraries :: Application Frameworks",
|
@@ -21,31 +21,30 @@ classifiers = [
|
|
21
21
|
|
22
22
|
|
23
23
|
[tool.poetry.dependencies]
|
24
|
-
python = "^3.
|
25
|
-
|
24
|
+
python = "^3.11"
|
25
|
+
attrs = "^24.3.0"
|
26
|
+
httpx = ">=0.27.2"
|
26
27
|
humanize = "^4.9.0"
|
27
28
|
inflection = "0.5.*"
|
28
29
|
pint = "0.24.*"
|
29
30
|
pycognito = "2024.5.1"
|
30
|
-
pydantic = "2.7.3"
|
31
|
+
pydantic = ">=2.7.3"
|
32
|
+
yarl = "^1.18.3"
|
33
|
+
mypy-boto3-cognito-idp = "^1.35.93"
|
31
34
|
|
32
35
|
[tool.poetry.group.dev.dependencies]
|
33
|
-
aioresponses = "0.7.6"
|
34
|
-
black = "^24.4.2"
|
35
36
|
build = "1.2.1"
|
36
37
|
bump-my-version = "^0.23.0"
|
37
|
-
httpx = "^0.27.0"
|
38
38
|
mypy = "1.10.0"
|
39
39
|
pre-commit = "3.7.1"
|
40
40
|
pytest = "8.2.2"
|
41
|
-
pytest-asyncio = "0.23.7"
|
42
41
|
pytest-cov = "5.0.0"
|
43
|
-
pytest-loguru = "0.4.0"
|
44
42
|
tox = "4.15.1"
|
45
43
|
twine = "5.1.1"
|
46
44
|
|
47
45
|
|
48
46
|
[tool.poetry.group.docs.dependencies]
|
47
|
+
griffe = "<1.0.0"
|
49
48
|
griffe-fieldz = "0.1.2"
|
50
49
|
mike = "2.1.1"
|
51
50
|
mkdocs = "1.6.0"
|
@@ -62,7 +61,6 @@ mkdocstrings-python = "1.10.3"
|
|
62
61
|
pkginfo = "<1.11"
|
63
62
|
setuptools = "^70.0.0"
|
64
63
|
virtualenv = "^20.26.2"
|
65
|
-
griffe = "<1.0.0"
|
66
64
|
|
67
65
|
|
68
66
|
[build-system]
|