Skip to content

Conversation

lukeocodes
Copy link
Contributor

@lukeocodes lukeocodes commented Oct 2, 2025

Summary by CodeRabbit

  • Chores
    • Switched to dynamic versioning; internal version placeholder set for automated resolution.
    • Updated packaging metadata, classifiers, and package discovery configuration.
    • Normalized linting and test configuration formatting.
    • Refined internal ignore rules for tooling.
    • No user-facing changes; behavior and APIs remain unchanged.

Copy link
Contributor

coderabbitai bot commented Oct 2, 2025

Walkthrough

Adds 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

Cohort / File(s) Summary of Changes
Ignore rules
./.fernignore
Added pyproject.toml to the Fern ignore list.
Project configuration
./pyproject.toml
Set dynamic = ["version"] under [project]; updated [tool.poetry] version to 0.0.0; reorganized classifiers and packages declaration; normalized spacing in [tool.pytest.ini_options] and [tool.ruff.lint] comments/ignores; no functional code changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • naomi-lgbt

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title clearly emphasizes that the pull request addresses fixes to the release-please configuration, which directly corresponds to the updates in pyproject.toml and related settings, and it avoids extraneous detail or file lists.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/release-please-config

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@lukeocodes lukeocodes merged commit a603806 into main Oct 2, 2025
12 of 13 checks passed
@lukeocodes lukeocodes deleted the fix/release-please-config branch October 2, 2025 13:26
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 used

Also applies to: 69-77

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3aa9896 and 1761652.

📒 Files selected for processing (2)
  • .fernignore (1 hunks)
  • pyproject.toml (4 hunks)
🔇 Additional comments (4)
.fernignore (1)

11-11: LGTM: Ignore pyproject.toml in Fern

Adding pyproject.toml to .fernignore is reasonable and low-risk.

pyproject.toml (3)

29-29: LGTM: Classifier addition

Adding “License :: OSI Approved :: MIT License” to classifiers is correct and consistent with license = "MIT".


31-31: LGTM: Explicit packages mapping

packages = [{ include = "deepgram", from = "src" }] is the correct Poetry src-layout declaration.


53-53: LGTM: pytest formatting

Minor normalization to ["tests"] is fine.

@@ -1,9 +1,10 @@
[project]
name = "deepgram-sdk"
dynamic = ["version"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 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 || true

Length 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants