otf-api 0.10.2__tar.gz → 0.11.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.
Files changed (47) hide show
  1. {otf_api-0.10.2 → otf_api-0.11.1}/PKG-INFO +23 -27
  2. otf_api-0.11.1/pyproject.toml +78 -0
  3. otf_api-0.11.1/setup.cfg +4 -0
  4. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/__init__.py +1 -1
  5. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/api.py +397 -209
  6. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/auth/__init__.py +1 -1
  7. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/auth/auth.py +115 -8
  8. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/auth/user.py +14 -7
  9. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/auth/utils.py +21 -33
  10. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/__init__.py +11 -1
  11. otf_api-0.11.1/src/otf_api/models/bookings_v2.py +171 -0
  12. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/challenge_tracker_content.py +2 -2
  13. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/challenge_tracker_detail.py +2 -2
  14. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/classes.py +4 -7
  15. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/enums.py +1 -0
  16. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/lifetime_stats.py +7 -19
  17. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/member_detail.py +1 -1
  18. otf_api-0.11.1/src/otf_api/models/mixins.py +54 -0
  19. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/out_of_studio_workout_history.py +1 -1
  20. otf_api-0.11.1/src/otf_api/models/performance_summary.py +87 -0
  21. otf_api-0.11.1/src/otf_api/models/ratings.py +28 -0
  22. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/studio_detail.py +14 -7
  23. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/telemetry.py +13 -3
  24. otf_api-0.11.1/src/otf_api/models/workout.py +81 -0
  25. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/utils.py +36 -8
  26. otf_api-0.11.1/src/otf_api.egg-info/PKG-INFO +61 -0
  27. otf_api-0.11.1/src/otf_api.egg-info/SOURCES.txt +42 -0
  28. otf_api-0.11.1/src/otf_api.egg-info/dependency_links.txt +1 -0
  29. otf_api-0.11.1/src/otf_api.egg-info/requires.txt +11 -0
  30. otf_api-0.11.1/src/otf_api.egg-info/top_level.txt +1 -0
  31. otf_api-0.11.1/tests/test_filters.py +76 -0
  32. otf_api-0.10.2/pyproject.toml +0 -73
  33. otf_api-0.10.2/src/otf_api/models/mixins.py +0 -48
  34. otf_api-0.10.2/src/otf_api/models/performance_summary.py +0 -169
  35. {otf_api-0.10.2 → otf_api-0.11.1}/LICENSE +0 -0
  36. {otf_api-0.10.2 → otf_api-0.11.1}/README.md +0 -0
  37. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/exceptions.py +0 -0
  38. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/filters.py +0 -0
  39. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/logging.py +0 -0
  40. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/base.py +0 -0
  41. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/body_composition_list.py +0 -0
  42. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/bookings.py +0 -0
  43. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/member_membership.py +0 -0
  44. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/member_purchases.py +0 -0
  45. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/notifications.py +0 -0
  46. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/models/studio_services.py +0 -0
  47. {otf_api-0.10.2 → otf_api-0.11.1}/src/otf_api/py.typed +0 -0
@@ -1,36 +1,33 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: otf-api
3
- Version: 0.10.2
3
+ Version: 0.11.1
4
4
  Summary: Python OrangeTheory Fitness API Client
5
- License: MIT
6
- Author: Jessica Smith
7
- Author-email: j.smith.git1@gmail.com
8
- Requires-Python: >=3.11,<4.0
5
+ Author-email: Jessica Smith <j.smith.git1@gmail.com>
6
+ License-Expression: MIT
7
+ Project-URL: Documentation, https://otf-api.readthedocs.io/en/stable/
9
8
  Classifier: Development Status :: 4 - Beta
10
9
  Classifier: Intended Audience :: Developers
11
- Classifier: License :: OSI Approved :: MIT License
12
- Classifier: Operating System :: OS Independent
13
- Classifier: Programming Language :: Python :: 3
14
10
  Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: 3.13
17
- Classifier: Topic :: Internet :: WWW/HTTP
18
- Classifier: Topic :: Software Development :: Libraries
19
- Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
20
11
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
- Requires-Dist: attrs (>=24.3.0,<25.0.0)
22
- Requires-Dist: cachetools (>=5.5.0)
23
- Requires-Dist: httpx (>=0.27.2)
24
- Requires-Dist: humanize (>=4.9.0,<5.0.0)
25
- Requires-Dist: inflection (==0.5.*)
26
- Requires-Dist: mypy-boto3-cognito-idp (>=1.35.93,<2.0.0)
27
- Requires-Dist: pint (==0.24.*)
28
- Requires-Dist: pycognito (==2024.5.1)
29
- Requires-Dist: pydantic (>=2.7.3)
30
- Requires-Dist: tenacity (>=9.0.0,<10.0.0)
31
- Requires-Dist: yarl (>=1.18.3,<2.0.0)
32
- Project-URL: Documentation, https://otf-api.readthedocs.io/en/stable/
12
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
13
+ Classifier: Topic :: Software Development :: Libraries
14
+ Classifier: Topic :: Internet :: WWW/HTTP
15
+ Classifier: Operating System :: OS Independent
16
+ Requires-Python: >=3.11
33
17
  Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ Requires-Dist: attrs<25,>=24.3.0
20
+ Requires-Dist: httpx>=0.27.2
21
+ Requires-Dist: humanize<5,>=4.9.0
22
+ Requires-Dist: inflection==0.5.*
23
+ Requires-Dist: pint==0.24.*
24
+ Requires-Dist: pycognito==2024.5.1
25
+ Requires-Dist: pydantic>=2.7.3
26
+ Requires-Dist: yarl<2,>=1.18.3
27
+ Requires-Dist: tenacity<10,>=9.0.0
28
+ Requires-Dist: cachetools>=5.5.0
29
+ Requires-Dist: pendulum>=3.1.0
30
+ Dynamic: license-file
34
31
 
35
32
  Simple API client for interacting with the OrangeTheory Fitness APIs.
36
33
 
@@ -62,4 +59,3 @@ otf = Otf()
62
59
  otf = Otf(user=OtfUser(<email_address>,<password>))
63
60
 
64
61
  ```
65
-
@@ -0,0 +1,78 @@
1
+ [project]
2
+ name = "otf-api"
3
+ version = "0.11.1"
4
+ description = "Python OrangeTheory Fitness API Client"
5
+ authors = [{ name = "Jessica Smith", email = "j.smith.git1@gmail.com" }]
6
+ requires-python = ">=3.11"
7
+ readme = "README.md"
8
+ license = "MIT"
9
+ classifiers = [
10
+ "Development Status :: 4 - Beta",
11
+ "Intended Audience :: Developers",
12
+ "Programming Language :: Python :: 3.11",
13
+ "Topic :: Software Development :: Libraries :: Python Modules",
14
+ "Topic :: Software Development :: Libraries :: Application Frameworks",
15
+ "Topic :: Software Development :: Libraries",
16
+ "Topic :: Internet :: WWW/HTTP",
17
+ "Operating System :: OS Independent",
18
+ ]
19
+ dependencies = [
20
+ "attrs>=24.3.0,<25",
21
+ "httpx>=0.27.2",
22
+ "humanize>=4.9.0,<5",
23
+ "inflection==0.5.*",
24
+ "pint==0.24.*",
25
+ "pycognito==2024.5.1",
26
+ "pydantic>=2.7.3",
27
+ "yarl>=1.18.3,<2",
28
+ "tenacity>=9.0.0,<10",
29
+ "cachetools>=5.5.0",
30
+ "pendulum>=3.1.0",
31
+ ]
32
+
33
+ [project.urls]
34
+ Documentation = "https://otf-api.readthedocs.io/en/stable/"
35
+
36
+ [dependency-groups]
37
+ dev = [
38
+ "build==1.2.1",
39
+ "bump-my-version>=0.23.0,<0.24",
40
+ "mypy==1.10.0",
41
+ "mypy-boto3-cognito-identity>=1.38.0",
42
+ "mypy-boto3-cognito-idp>=1.35.93,<2",
43
+ "pre-commit==3.7.1",
44
+ "pytest==8.2.2",
45
+ "pytest-cov==5.0.0",
46
+ "tox==4.15.1",
47
+ "twine==5.1.1",
48
+ ]
49
+ docs = [
50
+ "griffe<1.0.0",
51
+ "griffe-fieldz==0.1.2",
52
+ "mike==2.1.1",
53
+ "mkdocs==1.6.0",
54
+ "mkdocs-autorefs==1.0.1",
55
+ "mkdocs-gen-files==0.5.0",
56
+ "mkdocs-get-deps==0.2.0",
57
+ "mkdocs-include-markdown-plugin==6.2.0",
58
+ "mkdocs-literate-nav==0.6.1",
59
+ "mkdocs-material==9.5.26",
60
+ "mkdocs-material-extensions==1.3.1",
61
+ "mkdocs-section-index==0.3.9",
62
+ "mkdocstrings==0.25.1",
63
+ "mkdocstrings-python==1.10.3",
64
+ "pkginfo<1.11",
65
+ "setuptools>=70.0.0,<71",
66
+ "virtualenv>=20.26.2,<21",
67
+ ]
68
+
69
+ [tool.uv]
70
+ default-groups = ["dev"]
71
+
72
+
73
+ [tool.pytest.ini_options]
74
+ pythonpath = ["src"]
75
+
76
+ [build-system]
77
+ requires = ["setuptools >= 61.0"]
78
+ build-backend = "setuptools.build_meta"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -4,7 +4,7 @@ from otf_api.api import Otf
4
4
  from otf_api import models
5
5
  from otf_api.auth import OtfUser
6
6
 
7
- __version__ = "0.10.2"
7
+ __version__ = "0.11.1"
8
8
 
9
9
 
10
10
  __all__ = ["Otf", "OtfUser", "models"]