Update dependencies - #24
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates the Python SDK packaging metadata and dependency constraints, along with small formatting/doc tweaks.
Changes:
- Migrates dependency/spec metadata into a PEP 621
[project]section and updates minimum Python to 3.10+ - Bumps runtime and dev tool dependency version constraints
- Normalizes docstring/README formatting
Reviewed changes
Copilot reviewed 2 out of 5 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| api/python/pyproject.toml | Moves metadata/deps to [project], updates Python requirement, and bumps tool/dependency constraints |
| api/python/examples/fetch_devices_and_sensors.py | Docstring formatting cleanup |
| api/python/airthings_sdk/init.py | Docstring formatting cleanup |
| api/python/README.md | Updates stated Python prerequisite to 3.10+ |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| [project] | ||
| name = "airthings-sdk" | ||
| version = "1.0.0" | ||
| description = "A client library for accessing Airthings for Consumer" | ||
| authors = [] | ||
| readme = "README.md" | ||
| requires-python = ">=3.10" | ||
| dependencies = [ | ||
| "httpx>=0.28.1,<0.29.0", | ||
| "attrs>=26,<27", | ||
| "python-dateutil>=2.9.0,<3.0.0", | ||
| ] | ||
|
|
||
| [tool.poetry] | ||
| packages = [ | ||
| {include = "airthings_api_client"}, | ||
| {include = "airthings_sdk"}, | ||
| ] | ||
| include = ["CHANGELOG.md", "api_client/py.typed"] | ||
|
|
There was a problem hiding this comment.
This mixes PEP 621 [project] metadata/dependencies with Poetry configuration ([tool.poetry]) while still using the Poetry build backend (see [build-system]). If your build/publish pipeline (or consumers) uses Poetry/poetry-core versions that don’t fully support reading dependencies/metadata from [project], builds may produce incorrect metadata or fail. To avoid toolchain fragility, either (a) keep metadata/dependencies in [tool.poetry] (legacy Poetry format), or (b) confirm Poetry 2 + poetry-core 2 are required everywhere and document/enforce that in CI/tooling.
| [project] | |
| name = "airthings-sdk" | |
| version = "1.0.0" | |
| description = "A client library for accessing Airthings for Consumer" | |
| authors = [] | |
| readme = "README.md" | |
| requires-python = ">=3.10" | |
| dependencies = [ | |
| "httpx>=0.28.1,<0.29.0", | |
| "attrs>=26,<27", | |
| "python-dateutil>=2.9.0,<3.0.0", | |
| ] | |
| [tool.poetry] | |
| packages = [ | |
| {include = "airthings_api_client"}, | |
| {include = "airthings_sdk"}, | |
| ] | |
| include = ["CHANGELOG.md", "api_client/py.typed"] | |
| [tool.poetry] | |
| name = "airthings-sdk" | |
| version = "1.0.0" | |
| description = "A client library for accessing Airthings for Consumer" | |
| authors = [] | |
| readme = "README.md" | |
| packages = [ | |
| {include = "airthings_api_client"}, | |
| {include = "airthings_sdk"}, | |
| ] | |
| include = ["CHANGELOG.md", "api_client/py.typed"] | |
| [tool.poetry.dependencies] | |
| python = ">=3.10" | |
| httpx = ">=0.28.1,<0.29.0" | |
| attrs = ">=26,<27" | |
| python-dateutil = ">=2.9.0,<3.0.0" |
|
|
||
| [build-system] | ||
| requires = ["poetry-core>=1.0.0"] | ||
| requires = ["poetry-core>=2.0.0,<3.0.0"] |
There was a problem hiding this comment.
Bumping poetry-core to >=2.0.0 is a breaking toolchain change for environments still on Poetry/poetry-core 1.x. If the repo’s CI/release tooling isn’t already pinned to Poetry 2, installs/builds can fail. Recommend updating the documented build instructions and any CI images/scripts to explicitly install/use a compatible Poetry version (and/or add an explicit toolchain check) so failures are deterministic.
| requires = ["poetry-core>=2.0.0,<3.0.0"] | |
| requires = ["poetry-core>=1.0.0,<2.0.0"] |
What
Why
References
How to fill this template?
Closes #123) and PRs, or related documentation for context.Use bullet points to be concise and to the point.
Expand this for infrastructure updates via Atlantis
and repos.
atlantis plan -p "production"andatlantis apply