Skip to content

Commit 72d6b3e

Browse files
committed
Merge remote-tracking branch 'origin/master' into servusdei2018/master
2 parents 5e89884 + 2d91800 commit 72d6b3e

33 files changed

+3026
-960
lines changed

.github/workflows/changelog-preview.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ permissions:
1515

1616
jobs:
1717
changelog-preview:
18-
uses: getsentry/craft/.github/workflows/changelog-preview.yml@f4889d04564e47311038ecb6b910fef6b6cf1363 # v2
18+
uses: getsentry/craft/.github/workflows/changelog-preview.yml@ba01e596c4a4c07692f0de10b0d4fe05f3dd0292 # v2
1919
secrets: inherit

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
token: ${{ steps.token.outputs.token }}
3232
fetch-depth: 0
3333
- name: Prepare release
34-
uses: getsentry/craft@013a7b2113c2cac0ff32d5180cfeaefc7c9ce5b6 # v2
34+
uses: getsentry/craft@ba01e596c4a4c07692f0de10b0d4fe05f3dd0292 # v2
3535
env:
3636
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
3737
with:

.github/workflows/test-integrations-ai.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ jobs:
6969
run: |
7070
set -x # print commands that are executed
7171
./scripts/runtox.sh "py${{ matrix.python-version }}-huggingface_hub"
72+
- name: Test litellm
73+
run: |
74+
set -x # print commands that are executed
75+
./scripts/runtox.sh "py${{ matrix.python-version }}-litellm"
7276
- name: Test openai-base
7377
run: |
7478
set -x # print commands that are executed

.github/workflows/validate-pr.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Validate PR
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, reopened]
6+
7+
jobs:
8+
validate-pr:
9+
runs-on: ubuntu-24.04
10+
permissions:
11+
pull-requests: write
12+
steps:
13+
- uses: getsentry/github-workflows/validate-pr@0b52fc6a867b744dcbdf5d25c18bc8d1c95710e1
14+
with:
15+
app-id: ${{ vars.SDK_MAINTAINER_BOT_APP_ID }}
16+
private-key: ${{ secrets.SDK_MAINTAINER_BOT_PRIVATE_KEY }}

CONTRIBUTING.md

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,64 @@ We welcome contributions to `sentry-python` by the community.
44

55
This file outlines the process to contribute to the SDK itself. For contributing to the documentation, please see the [Contributing to Docs](https://docs.sentry.io/contributing/) page.
66

7+
## Table of Contents
8+
9+
- [How to Report a Problem](#how-to-report-a-problem)
10+
- [Submitting Changes](#submitting-changes)
11+
- [Development Environment](#development-environment)
12+
- [Running Tests](#running-tests)
13+
- [Debugging](#debugging)
14+
- [Adding a New Integration](#adding-a-new-integration)
15+
- [Releasing a New Version](#releasing-a-new-version)
16+
- [Contributing to Sentry AWS Lambda Layer](#contributing-to-sentry-aws-lambda-layer)
17+
718
## How to Report a Problem
819

920
Please search the [issue tracker](https://github.com/getsentry/sentry-python/issues) before creating a new issue (a problem or an improvement request). Please also ask in our [Sentry Community on Discord](https://discord.com/invite/Ww9hbqr) before submitting a new issue. There are a ton of great people in our Discord community ready to help you!
1021

1122
## Submitting Changes
1223

24+
### Before You Start
25+
26+
1. **Find or create an issue.** Every contribution must be tied to a GitHub issue. If one doesn't exist, open one describing the problem or feature.
27+
2. **Discuss your approach with a maintainer.** Comment on the issue and wait for a maintainer to respond before you start working. This avoids wasted effort on both sides.
28+
3. **Check the assignee.** If the issue is already assigned to someone else, coordinate with them in the issue before starting work.
29+
30+
PRs that don't meet these requirements will be automatically closed. See [Automated Checks](#automated-checks) below.
31+
32+
### Making Your Contribution
33+
1334
- Fork the `sentry-python` repo and prepare your changes.
1435
- Add tests for your changes to `tests/`.
1536
- Run tests and make sure all of them pass.
16-
- Submit a pull request, referencing any issues your changes address. Please follow our [commit message format](https://develop.sentry.dev/commit-messages/#commit-message-format) when naming your pull request.
37+
- Submit a pull request, referencing the issue(s) your changes address. Please follow our [commit message format](https://develop.sentry.dev/commit-messages/#commit-message-format) when naming your pull request.
38+
39+
### Pull Request Requirements
1740

18-
We will review your pull request as soon as possible. Thank you for contributing!
41+
All PRs must be created as **drafts**. Non-draft PRs will be automatically converted to draft. Mark your PR as "Ready for review" once:
42+
43+
- CI passes
44+
- The PR description is complete (what, why, and links to relevant issues)
45+
- You've personally reviewed your own changes
46+
47+
A PR should do one thing well. Don't mix functional changes with unrelated refactors or cleanup. Smaller, focused PRs are easier to review, reason about, and revert if needed.
48+
49+
For the full set of PR standards, see the [code submission standard](https://develop.sentry.dev/sdk/getting-started/standards/code-submission/#pull-requests).
1950

2051
### AI Use
2152

2253
You are welcome to use whatever tools you prefer for making a contribution. However, any changes you propose have to be reviewed and tested by you, a human, first, before you submit a pull request with them for the Sentry team to review. If we feel like that didn't happen, we will close the PR outright. For example, we won't review visibly AI-generated PRs from an agent instructed to look for and "fix" open issues in the repo.
2354

55+
### Automated Checks
56+
57+
To maintain the quality of contributions, we use automated workflows that enforce the following rules for PRs from non-maintainers:
58+
59+
- **Issue reference required.** Your PR body must reference a GitHub issue in the `getsentry` organization (e.g. `#123`, `getsentry/sentry#456`, or a full GitHub issue URL).
60+
- **Prior discussion required.** The referenced issue must show a conversation between you and a maintainer. Opening the issue counts as participation — but a maintainer must have also responded.
61+
- **Respect existing assignees.** If the referenced issue is assigned to someone other than you, the PR will be closed. Coordinate in the issue first.
62+
63+
PRs that don't meet these criteria are automatically closed and labeled `violating-contribution-guidelines`. If your PR was closed by mistake, comment on the issue to discuss with a maintainer and then open a new PR.
64+
2465
## Development Environment
2566

2667
### Set up Python

scripts/populate_tox/config.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@
122122
"pytest-asyncio",
123123
"python-multipart",
124124
"requests",
125-
"anyio<4",
125+
"anyio>=3,<5",
126126
"jinja2",
127127
],
128128
# There's an incompatibility between FastAPI's TestClient, which is
@@ -133,6 +133,7 @@
133133
# FastAPI versions we use older httpx which still supports the
134134
# deprecated argument.
135135
"<0.110.1": ["httpx<0.28.0"],
136+
"<0.80": ["anyio<4"],
136137
"py3.6": ["aiocontextvars"],
137138
},
138139
},
@@ -171,7 +172,8 @@
171172
"httpx": {
172173
"package": "httpx",
173174
"deps": {
174-
"*": ["anyio<4.0.0"],
175+
"*": ["anyio>=3,<5"],
176+
"<0.24": ["anyio<4"],
175177
">=0.16,<0.17": ["pytest-httpx==0.10.0"],
176178
">=0.17,<0.19": ["pytest-httpx==0.12.0"],
177179
">=0.19,<0.21": ["pytest-httpx==0.14.0"],
@@ -230,6 +232,9 @@
230232
"package": "launchdarkly-server-sdk",
231233
"num_versions": 2,
232234
},
235+
"litellm": {
236+
"package": "litellm",
237+
},
233238
"litestar": {
234239
"package": "litestar",
235240
"deps": {

0 commit comments

Comments
 (0)