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
9 changes: 9 additions & 0 deletions scripts/populate_tox/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,9 @@
"deps": {
"*": ["mockupdb"],
},
"python": {
"<3.6": "<3.7",
},
},
"pyramid": {
"package": "pyramid",
Expand Down Expand Up @@ -368,6 +371,9 @@
">=0.9,<0.14": ["fakeredis>=1.0,<1.7.4"],
"py3.6,py3.7": ["fakeredis!=2.26.0"],
},
"python": {
"<0.13": "<3.7",
},
},
"sanic": {
"package": "sanic",
Expand All @@ -385,6 +391,9 @@
},
"sqlalchemy": {
"package": "sqlalchemy",
"python": {
"<1.4": "<3.10",
},
},
"starlette": {
"package": "starlette",
Expand Down
28 changes: 15 additions & 13 deletions scripts/populate_tox/package_dependencies.jsonl

Large diffs are not rendered by default.

14 changes: 13 additions & 1 deletion scripts/populate_tox/populate_tox.py
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,9 @@ def pick_python_versions_to_test(
- a free-threaded wheel is distributed; and
- the SDK supports free-threading.
"""
if not python_versions:
return []

filtered_python_versions = {
python_versions[0],
}
Expand Down Expand Up @@ -545,7 +548,8 @@ def _parse_python_versions_from_classifiers(classifiers: list[str]) -> list[Vers

if python_versions:
python_versions.sort()
return python_versions

return python_versions


def determine_python_versions(pypi_data: dict) -> Union[SpecifierSet, list[Version]]:
Expand Down Expand Up @@ -579,6 +583,14 @@ def determine_python_versions(pypi_data: dict) -> Union[SpecifierSet, list[Versi
if requires_python:
return SpecifierSet(requires_python)

# If we haven't found neither specific 3.x classifiers nor a requires_python,
# check if there is a generic "Python 3" classifier and if so, assume the
# package supports all Python versions the SDK does. If this is not the case
# in reality, add the actual constraints manually to config.py.
for classifier in classifiers:
if CLASSIFIER_PREFIX + "3" in classifiers:
return SpecifierSet(f">={MIN_PYTHON_VERSION}")

return []


Expand Down
77 changes: 37 additions & 40 deletions scripts/populate_tox/releases.jsonl

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions sentry_sdk/integrations/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ def iter_default_integrations(
"openai_agents": (0, 0, 19),
"openfeature": (0, 7, 1),
"pydantic_ai": (1, 0, 0),
"pymongo": (3, 5, 0),
"quart": (0, 16, 0),
"ray": (2, 7, 0),
"requests": (2, 0, 0),
Expand Down
Loading
Loading