Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .fernignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ websockets-reference.md
.github/
scripts/run_examples.sh
docs/
pyproject.toml

# Examples
examples/
Expand Down
35 changes: 17 additions & 18 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -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.


[tool.poetry]
name = "deepgram-sdk"
version = "5.0.0-rc.5"
version = "0.0.0"
description = ""
readme = "README.md"
authors = []
Expand All @@ -25,11 +26,9 @@ classifiers = [
"Operating System :: Microsoft :: Windows",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed",
"License :: OSI Approved :: MIT License"
]
packages = [
{ include = "deepgram", from = "src"}
"License :: OSI Approved :: MIT License",
]
packages = [{ include = "deepgram", from = "src" }]

[project.urls]
Repository = 'https://github.com/deepgram/deepgram-python-sdk'
Expand All @@ -51,7 +50,7 @@ types-python-dateutil = "^2.9.0.20240316"
ruff = "==0.11.5"

[tool.pytest.ini_options]
testpaths = [ "tests" ]
testpaths = ["tests"]
asyncio_mode = "auto"

[tool.mypy]
Expand All @@ -62,20 +61,20 @@ line-length = 120

[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
]
ignore = [
"E402", # Module level import not at top of file
"E501", # Line too long
"E711", # Comparison to `None` should be `cond is not None`
"E712", # Avoid equality comparisons to `True`; use `if ...:` checks
"E721", # Use `is` and `is not` for type comparisons, or `isinstance()` for insinstance checks
"E722", # Do not use bare `except`
"E731", # Do not assign a `lambda` expression, use a `def`
"F821", # Undefined name
"F841" # Local variable ... is assigned to but never used
"E402", # Module level import not at top of file
"E501", # Line too long
"E711", # Comparison to `None` should be `cond is not None`
"E712", # Avoid equality comparisons to `True`; use `if ...:` checks
"E721", # Use `is` and `is not` for type comparisons, or `isinstance()` for insinstance checks
"E722", # Do not use bare `except`
"E731", # Do not assign a `lambda` expression, use a `def`
"F821", # Undefined name
"F841", # Local variable ... is assigned to but never used
]

[tool.ruff.lint.isort]
Expand Down