fix: release-please config fixes - #579
Conversation
WalkthroughAdds pyproject.toml to .fernignore and updates pyproject.toml configuration: switches to dynamic versioning, resets Poetry version to 0.0.0, adjusts classifiers and packages declaration formatting, and normalizes pytest and Ruff lint configuration spacing/comments. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
pyproject.toml (1)
64-67: Ruff comment nits (typo + misleading E721 note)
- E721 comment suggests using “is/is not” for type comparisons; E721 warns against type(x) is Y—prefer isinstance(x, Y). Adjust to avoid confusion.
- Typo: “insinstance” -> “instance”.
Apply comment-only tweaks:
- "E721", # Use `is` and `is not` for type comparisons, or `isinstance()` for insinstance checks + "E721", # Avoid direct type comparisons (e.g., type(x) is Y); use isinstance(x, Y)- "F841", # Local variable ... is assigned to but never used + "F841", # Local variable is assigned to but never usedAlso applies to: 69-77
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.fernignore(1 hunks)pyproject.toml(4 hunks)
🔇 Additional comments (4)
.fernignore (1)
11-11: LGTM: Ignore pyproject.toml in FernAdding pyproject.toml to .fernignore is reasonable and low-risk.
pyproject.toml (3)
29-29: LGTM: Classifier additionAdding “License :: OSI Approved :: MIT License” to classifiers is correct and consistent with license = "MIT".
31-31: LGTM: Explicit packages mappingpackages = [{ include = "deepgram", from = "src" }] is the correct Poetry src-layout declaration.
53-53: LGTM: pytest formattingMinor normalization to ["tests"] is fine.
| @@ -1,9 +1,10 @@ | |||
| [project] | |||
| name = "deepgram-sdk" | |||
| dynamic = ["version"] | |||
There was a problem hiding this comment.
🧩 Analysis chain
Potential release/build mismatch: dynamic version + Poetry backend + 0.0.0
With Poetry build-backend, builds typically read [tool.poetry].version. Setting [project].dynamic = ["version"] won’t supply a version unless you add a version provider (e.g., poetry-dynamic-versioning). As-is, wheels may publish as 0.0.0, and Release Please may not bump anything if it’s configured to skip version writes.
Recommend one of:
- Keep Release Please bumping: remove [project].dynamic and let Release Please update [tool.poetry].version as before.
- Go fully dynamic: add and configure poetry-dynamic-versioning (plugin + config), and ensure release-please doesn’t try to write version.
Run this script to verify current setup and avoid 0.0.0 releases:
Also applies to: 7-7
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Check release-please config files =="
fd -H -t f -a 'release-please*|*release*please*|*.json|*.yml' .github . 2>/dev/null | sed 's/^/ - /' || true
rg -n -C2 -i 'release-please|release please|release_please|releaseplease|release' -g '!.git/' || true
echo
echo "== Check if Release Please bumps pyproject version =="
rg -n -C2 -i 'pyproject\.toml|version' -g '!.git/' .github || true
echo
echo "== Check for dynamic versioning plugin/config =="
rg -n -C2 -i 'poetry-dynamic-versioning' || true
rg -n -C2 -i 'tool\.poetry-dynamic-versioning' pyproject.toml || true
echo
echo "== Show build-system.requires/back-end =="
rg -n -C2 '^\[build-system\]|build-backend|requires' pyproject.toml || true
echo
echo "== Current version fields in pyproject.toml =="
rg -n -C1 '^\[project\]$|^\[tool\.poetry\]$|^version\s*=' pyproject.toml || trueLength of output: 682
Provide a version provider or remove dynamic = ["version"]
With the Poetry core backend, PEP 621 dynamic = ["version"] alone does not generate a version, so your package will publish as 0.0.0. Either remove the dynamic setting and let your versioning tool update tool.poetry.version, or install and configure poetry-dynamic-versioning and skip version writes in your release process.
🤖 Prompt for AI Agents
In pyproject.toml around line 3, the use of PEP 621 dynamic = ["version"]
without a version provider will result in a default 0.0.0 package version;
either remove the dynamic entry and ensure tool.poetry.version is set/updated by
your release/versioning tool, or install and configure a version provider such
as poetry-dynamic-versioning (enable the plugin and configure its settings) so
the build/publish process injects a real version; update CI/release steps to
avoid writing versions if using the dynamic plugin and verify the published
package version after making the change.
Summary by CodeRabbit