]> git.ipfire.org Git - thirdparty/starlette.git/log
thirdparty/starlette.git
7 months agoVersion 0.45.2 (#2839) 0.45.2
Marcelo Trylesinski [Sat, 4 Jan 2025 09:52:50 +0000 (10:52 +0100)] 
Version 0.45.2 (#2839)

7 months agoBump the python-packages group across 1 directory with 7 updates (#2838)
dependabot[bot] [Fri, 3 Jan 2025 13:24:19 +0000 (14:24 +0100)] 
Bump the python-packages group across 1 directory with 7 updates (#2838)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7 months agofix create_memory_object_stream not subscriptable at runtime in old anyio versions...
Thomas Grainger [Fri, 3 Jan 2025 13:16:39 +0000 (13:16 +0000)] 
fix create_memory_object_stream not subscriptable at runtime in old anyio versions (#2833)

7 months agoVersion 0.45.1 (#2832) 0.45.1
Marcelo Trylesinski [Mon, 30 Dec 2024 21:06:32 +0000 (22:06 +0100)] 
Version 0.45.1 (#2832)

7 months agoRemove python version from mypy (#2831)
Marcelo Trylesinski [Mon, 30 Dec 2024 07:48:16 +0000 (08:48 +0100)] 
Remove python version from mypy (#2831)

7 months agoFix unclosed 'MemoryObjectReceiveStream' upon exception in 'BaseHTTPMiddleware' child...
Marcelo Trylesinski [Sun, 29 Dec 2024 12:32:00 +0000 (13:32 +0100)] 
Fix unclosed 'MemoryObjectReceiveStream' upon exception in 'BaseHTTPMiddleware' children (#2813)

7 months agouse a pair of memory object streams instead of two queues (#2829)
Thomas Grainger [Sun, 29 Dec 2024 12:13:31 +0000 (12:13 +0000)] 
use a pair of memory object streams instead of two queues (#2829)

7 months agocollect errors more reliably from websocket test client (#2814)
Thomas Grainger [Sun, 29 Dec 2024 11:00:04 +0000 (11:00 +0000)] 
collect errors more reliably from websocket test client (#2814)

7 months agoVersion 0.45.0 (#2828) 0.45.0
Marcelo Trylesinski [Sun, 29 Dec 2024 09:25:24 +0000 (10:25 +0100)] 
Version 0.45.0 (#2828)

7 months agoRemove deprecated `WS_1004_NO_STATUS_RCVD` and `WS_1005_ABNORMAL_CLOSURE` (#2827)
Marcelo Trylesinski [Sat, 28 Dec 2024 21:18:03 +0000 (22:18 +0100)] 
Remove deprecated `WS_1004_NO_STATUS_RCVD` and `WS_1005_ABNORMAL_CLOSURE` (#2827)

7 months agoRemove `ExceptionMiddleware` import proxy from `starlette.exceptions` module (#2826)
Marcelo Trylesinski [Sat, 28 Dec 2024 21:10:44 +0000 (22:10 +0100)] 
Remove `ExceptionMiddleware` import proxy from `starlette.exceptions` module (#2826)

* Remove `ExceptionMiddleware` proxy from `starlette.exceptions` module

* remove test

7 months agotests: add `--branch` to coverage run (#2825)
Marcelo Trylesinski [Sat, 28 Dec 2024 20:29:57 +0000 (21:29 +0100)] 
tests: add `--branch` to coverage run (#2825)

7 months agoRemove `ignore_missing_imports` from mypy (#2824)
Marcelo Trylesinski [Sat, 28 Dec 2024 16:16:19 +0000 (17:16 +0100)] 
Remove `ignore_missing_imports` from mypy (#2824)

* Remove `ignore_missing_imports` from mypy

* remove comment

* add comment again

* add comment again

* add comment again

* try

7 months agoDrop Python 3.8 (#2823)
Marcelo Trylesinski [Sat, 28 Dec 2024 15:50:16 +0000 (16:50 +0100)] 
Drop Python 3.8 (#2823)

7 months agodocs: don't show code source (#2822)
Marcelo Trylesinski [Sat, 28 Dec 2024 08:45:17 +0000 (09:45 +0100)] 
docs: don't show code source (#2822)

7 months agoVersion 0.44.0 (#2819) 0.44.0
Marcelo Trylesinski [Sat, 28 Dec 2024 07:31:23 +0000 (08:31 +0100)] 
Version 0.44.0 (#2819)

* Version 0.44.0

* Update docs/release-notes.md

7 months agodocs: add `black` to allow docs formatting (#2818)
Marcelo Trylesinski [Sat, 28 Dec 2024 07:29:33 +0000 (08:29 +0100)] 
docs: add `black` to allow docs formatting (#2818)

* docs: add `black` to allow docs formatting

* Only install black on Python >= 3.9

7 months agodocs: add section about `TestClient(client=...)` (#2817)
Marcelo Trylesinski [Sat, 28 Dec 2024 07:23:40 +0000 (08:23 +0100)] 
docs: add section about `TestClient(client=...)` (#2817)

7 months agoAdd `client` parameter to `TestClient` (#2810)
Irfanuddin Shafi Ahmed [Sat, 28 Dec 2024 06:05:09 +0000 (10:05 +0400)] 
Add `client` parameter to `TestClient` (#2810)

7 months agoAdd `max_part_size` parameter to `MultiPartParser` (#2815)
Irfanuddin Shafi Ahmed [Sat, 28 Dec 2024 04:57:20 +0000 (08:57 +0400)] 
Add `max_part_size` parameter to `MultiPartParser` (#2815)

7 months agotests: branch coverage in `_utils.py`, `middleware/gzip.py`, `routing.py` and `reques...
Renan Heckert Leal [Sat, 28 Dec 2024 04:55:20 +0000 (04:55 +0000)] 
tests: branch coverage in `_utils.py`, `middleware/gzip.py`, `routing.py` and `requests.py` (#2816)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
7 months agoRemove unneeded warning filters (#2811)
Marcelo Trylesinski [Thu, 26 Dec 2024 08:00:28 +0000 (09:00 +0100)] 
Remove unneeded warning filters (#2811)

7 months agoVersion 0.43.0 (#2809) 0.43.0
Marcelo Trylesinski [Wed, 25 Dec 2024 09:12:06 +0000 (10:12 +0100)] 
Version 0.43.0 (#2809)

7 months agotests: branches coverage in `responses.py`, `staticfiles.py`, `templating.py`, `middl...
Renan Heckert Leal [Wed, 25 Dec 2024 08:54:42 +0000 (08:54 +0000)] 
tests: branches coverage in `responses.py`, `staticfiles.py`, `templating.py`, `middleware/wsgi.py` and `endpoints.py` (#2804)

7 months agoMake UUID path parameter conversion more flexible (#2806)
ed [Wed, 25 Dec 2024 08:48:06 +0000 (09:48 +0100)] 
Make UUID path parameter conversion more flexible (#2806)

7 months agoRemove deprecated `allow_redirects` argument from `TestClient` (#2808)
Renan Heckert Leal [Wed, 25 Dec 2024 08:45:38 +0000 (08:45 +0000)] 
Remove deprecated `allow_redirects` argument from `TestClient` (#2808)

7 months agotests: adding `# pragma: no branch` in `middleware/test_base` and `test_routing`...
Renan Heckert Leal [Sat, 21 Dec 2024 19:11:28 +0000 (19:11 +0000)] 
tests: adding `# pragma: no branch` in `middleware/test_base` and `test_routing` (#2807)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
7 months agotests: branches coverage in `test_authentication`, `test_background`, `test_responses...
Renan Heckert Leal [Sun, 15 Dec 2024 15:28:16 +0000 (15:28 +0000)] 
tests: branches coverage in `test_authentication`, `test_background`, `test_responses`, `test_routing` (#2796)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
7 months agoAdapt starlette's logo to the current theme (#2799)
Abduaziz [Sun, 15 Dec 2024 13:43:46 +0000 (18:43 +0500)] 
Adapt starlette's logo to the current theme (#2799)

7 months agoVersion 0.42.0 (#2786) 0.42.0
Marcelo Trylesinski [Sat, 14 Dec 2024 08:59:35 +0000 (09:59 +0100)] 
Version 0.42.0 (#2786)

* Version 0.42.0

* Change date

7 months agoAdd `pragma: no branch` in `middleware/exceptions.py`
Renan Heckert Leal [Fri, 13 Dec 2024 23:10:16 +0000 (23:10 +0000)] 
Add `pragma: no branch` in `middleware/exceptions.py`

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
7 months agotests: Add skipped coverages for `websockets.py` and `templating.py` using `branch...
Renan Heckert Leal [Fri, 13 Dec 2024 22:43:43 +0000 (22:43 +0000)] 
tests: Add skipped coverages for `websockets.py` and `templating.py` using `branch=true` (#2793)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
7 months agodocs: Update description for third-party package Apitally (#2794)
Simon Gurcke [Fri, 13 Dec 2024 19:39:26 +0000 (05:39 +1000)] 
docs: Update description for third-party package Apitally (#2794)

8 months agodocs: use `transport` instead of directly pass the app to AsyncClient (#2784)
Marcelo Trylesinski [Thu, 5 Dec 2024 08:53:54 +0000 (09:53 +0100)] 
docs: use `transport` instead of directly pass the app to AsyncClient (#2784)

8 months agoUpdate documentation link for python-multipart (#2782)
Daniel Bowring [Wed, 4 Dec 2024 05:33:59 +0000 (16:33 +1100)] 
Update documentation link for python-multipart (#2782)

8 months agoBump the python-packages group with 5 updates (#2779)
dependabot[bot] [Tue, 3 Dec 2024 07:09:27 +0000 (07:09 +0000)] 
Bump the python-packages group with 5 updates (#2779)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
8 months agoUse ETag from headers when parsing If-Range in FileResponse (#2761)
Victor Westerhuis [Tue, 3 Dec 2024 07:07:22 +0000 (08:07 +0100)] 
Use ETag from headers when parsing If-Range in FileResponse (#2761)

8 months agoFix: Resolve the issue where the directory itself being a symlink does not work....
涵曦 [Sun, 1 Dec 2024 16:46:16 +0000 (00:46 +0800)] 
Fix: Resolve the issue where the directory itself being a symlink does not work. (#2711)

8 months agoReplace `mkautodoc` by `mkdocstrings` (#2776)
Marcelo Trylesinski [Sat, 30 Nov 2024 11:41:25 +0000 (12:41 +0100)] 
Replace `mkautodoc` by `mkdocstrings` (#2776)

8 months agotest: add tests in `test_routing` (#2676)
Sean Chen [Sat, 30 Nov 2024 09:58:59 +0000 (17:58 +0800)] 
test: add tests in `test_routing` (#2676)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
8 months agoPin httpx in `full` extra (#2773)
Marcelo Trylesinski [Sat, 30 Nov 2024 09:53:55 +0000 (10:53 +0100)] 
Pin httpx in `full` extra (#2773)

8 months agobump-python-multipart
Marcelo Trylesinski [Sat, 30 Nov 2024 09:52:32 +0000 (10:52 +0100)] 
bump-python-multipart

8 months agoMake _MiddlewareFactory compatible with Callable (#2768)
Eugene Toder [Tue, 26 Nov 2024 07:28:34 +0000 (02:28 -0500)] 
Make _MiddlewareFactory compatible with Callable (#2768)

8 months agodocs: fix typo in applications example (#2763)
Logan Connolly [Sun, 24 Nov 2024 15:00:32 +0000 (16:00 +0100)] 
docs: fix typo in applications example (#2763)

8 months agoFix issue with broken link in release notes (#2758)
Yurii Karabas [Tue, 19 Nov 2024 13:50:07 +0000 (14:50 +0100)] 
Fix issue with broken link in release notes (#2758)

8 months agoSupport for `send` client disconnect to HTTP (#2732)
Marcelo Trylesinski [Mon, 18 Nov 2024 20:56:13 +0000 (21:56 +0100)] 
Support for `send` client disconnect to HTTP (#2732)

8 months agoBump the python-packages group with 6 updates (#2743)
dependabot[bot] [Mon, 18 Nov 2024 20:19:15 +0000 (21:19 +0100)] 
Bump the python-packages group with 6 updates (#2743)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
8 months agoVersion 0.41.3 (#2754) 0.41.3
Marcelo Trylesinski [Mon, 18 Nov 2024 19:43:25 +0000 (20:43 +0100)] 
Version 0.41.3 (#2754)

8 months agofix(testclient): exclude query sting from `raw_path` (#2716)
Hao Guan [Mon, 18 Nov 2024 19:28:43 +0000 (03:28 +0800)] 
fix(testclient): exclude query sting from `raw_path` (#2716)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
8 months agoReplace `dict` by `Mapping` on `HTTPException.headers` (#2749)
rijenkii [Mon, 18 Nov 2024 19:00:58 +0000 (02:00 +0700)] 
Replace `dict` by `Mapping` on `HTTPException.headers` (#2749)

8 months agoFix issue with middleware args passing (#2752)
Yurii Karabas [Thu, 14 Nov 2024 23:34:22 +0000 (00:34 +0100)] 
Fix issue with middleware args passing (#2752)

9 months agoMatch httpx documentation style (#2742)
Marcelo Trylesinski [Thu, 31 Oct 2024 07:05:06 +0000 (08:05 +0100)] 
Match httpx documentation style (#2742)

9 months agoVersion 0.41.2 (#2740) 0.41.2
Marcelo Trylesinski [Sun, 27 Oct 2024 08:18:54 +0000 (09:18 +0100)] 
Version 0.41.2 (#2740)

9 months agoRevert bump on `python-multipart` (#2737)
Marcelo Trylesinski [Sun, 27 Oct 2024 08:11:05 +0000 (09:11 +0100)] 
Revert bump on `python-multipart` (#2737)

9 months agoVersion 0.41.1 (#2736) 0.41.1
Marcelo Trylesinski [Thu, 24 Oct 2024 14:39:47 +0000 (16:39 +0200)] 
Version 0.41.1 (#2736)

9 months agoBump minimum `python-multipart` version to 0.0.13 (#2734)
Marcelo Trylesinski [Sun, 20 Oct 2024 12:25:43 +0000 (14:25 +0200)] 
Bump minimum `python-multipart` version to 0.0.13 (#2734)

9 months agoChange `python-multipart` import to `python_multipart` (#2733)
Marcelo Trylesinski [Sun, 20 Oct 2024 12:20:25 +0000 (14:20 +0200)] 
Change `python-multipart` import to `python_multipart` (#2733)

9 months agoVersion 0.41.0 (#2729) 0.41.0
Marcelo Trylesinski [Tue, 15 Oct 2024 17:30:20 +0000 (19:30 +0200)] 
Version 0.41.0 (#2729)

9 months agoAllow to raise `HTTPException` before `websocket.accept()` (#2725)
Marcelo Trylesinski [Tue, 15 Oct 2024 07:50:49 +0000 (09:50 +0200)] 
Allow to raise `HTTPException` before `websocket.accept()` (#2725)

* Allow to raise `HTTPException` before `websocket.accept()`

* move <<

* Add documentation

9 months agoVersion 0.40.0 (#2728) 0.40.0
Marcelo Trylesinski [Tue, 15 Oct 2024 06:49:52 +0000 (08:49 +0200)] 
Version 0.40.0 (#2728)

9 months agoMerge commit from fork
Marcelo Trylesinski [Tue, 15 Oct 2024 06:40:51 +0000 (08:40 +0200)] 
Merge commit from fork

10 months agoBump the python-packages group with 6 updates (#2713)
dependabot[bot] [Wed, 2 Oct 2024 06:49:29 +0000 (08:49 +0200)] 
Bump the python-packages group with 6 updates (#2713)

Bumps the python-packages group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.4.0` | `8.5.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.6.3` | `0.6.8` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20240808` | `6.0.12.20240917` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.3.2` | `8.3.3` |
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.34` | `9.5.39` |
| [build](https://github.com/pypa/build) | `1.2.1` | `1.2.2` |

Updates `importlib-metadata` from 8.4.0 to 8.5.0
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v8.4.0...v8.5.0)

Updates `ruff` from 0.6.3 to 0.6.8
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.6.3...0.6.8)

Updates `types-pyyaml` from 6.0.12.20240808 to 6.0.12.20240917
- [Commits](https://github.com/python/typeshed/commits)

Updates `pytest` from 8.3.2 to 8.3.3
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)

Updates `mkdocs-material` from 9.5.34 to 9.5.39
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.34...9.5.39)

Updates `build` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/pypa/build/releases)
- [Changelog](https://github.com/pypa/build/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/build/compare/1.2.1...1.2.2)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: types-pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: build
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
10 months agoVersion 0.39.2 (#2710) 0.39.2
Marcelo Trylesinski [Sun, 29 Sep 2024 10:33:42 +0000 (12:33 +0200)] 
Version 0.39.2 (#2710)

10 months agoSupport `request.url_for` when only "app" scope is avaialable (#2672)
Joel Sleppy [Sun, 29 Sep 2024 09:40:23 +0000 (05:40 -0400)] 
Support `request.url_for` when only "app" scope is avaialable (#2672)

* Support request.url_for in BaseMiddleware

* Move test to test_requests

* Call the endpoint properly

* fix test

* order the type hint

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
10 months agoSupport python-multipart 0.0.12 (#2708)
Marcelo Trylesinski [Sun, 29 Sep 2024 08:28:34 +0000 (10:28 +0200)] 
Support python-multipart 0.0.12 (#2708)

10 months agoVersion 0.39.1 (#2706) 0.39.1
Marcelo Trylesinski [Wed, 25 Sep 2024 15:24:24 +0000 (17:24 +0200)] 
Version 0.39.1 (#2706)

* Version 0.39.1

* Update docs/release-notes.md

* Update docs/release-notes.md

* Update docs/release-notes.md

10 months agogenerate boundary with token_hex (#2702)
Trim21 [Wed, 25 Sep 2024 11:27:55 +0000 (19:27 +0800)] 
generate boundary with token_hex (#2702)

* generate boundary with token_hex

* generate boundary with token_hex

* fix

* boundary size

* Update starlette/responses.py

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
10 months agoConsider `FileResponse.chunk_size` when handling multiple ranges (#2703)
Marcelo Trylesinski [Wed, 25 Sep 2024 07:16:08 +0000 (09:16 +0200)] 
Consider `FileResponse.chunk_size` when handling multiple ranges (#2703)

* Take in consideration the `FileResponse.chunk_size` on multiple ranges

* Update starlette/responses.py

* Update starlette/responses.py

* Update starlette/responses.py

Co-authored-by: Frost Ming <mianghong@gmail.com>
---------

Co-authored-by: Frost Ming <mianghong@gmail.com>
10 months agotest: add tests in `test_requests` (#2677)
Orenoid [Mon, 23 Sep 2024 18:38:19 +0000 (02:38 +0800)] 
test: add tests in `test_requests` (#2677)

* test: add tests in test_requests

* test: add test for Request.close method

* fix: typo

* test: ignore conditional branch in coverage report and remove unnecessary test

* test: pragma no branch

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
10 months agoperf: stop use `re` on `get_route_path` (#2701)
Trim21 [Mon, 23 Sep 2024 18:23:34 +0000 (02:23 +0800)] 
perf: stop use `re` on `get_route_path` (#2701)

* perf: stop use re on get_route_path

* add test

10 months agoperf: avoid regex re-compile (#2700)
Trim21 [Mon, 23 Sep 2024 06:54:17 +0000 (14:54 +0800)] 
perf: avoid regex re-compile (#2700)

* perf

* format

* avoid

* fix

10 months agoVersion 0.39.0 (#2699) 0.39.0
Marcelo Trylesinski [Mon, 23 Sep 2024 06:13:56 +0000 (08:13 +0200)] 
Version 0.39.0 (#2699)

10 months agoAdd support for HTTP Range to `FileResponse` (#2697)
Marcelo Trylesinski [Mon, 23 Sep 2024 01:20:21 +0000 (03:20 +0200)] 
Add support for HTTP Range to `FileResponse` (#2697)

* Add support for HTTP Range to `FileResponse`

* Remove pragmas

* Single line

10 months agoVersion 0.38.6 (#2698) 0.38.6
Marcelo Trylesinski [Sun, 22 Sep 2024 16:58:20 +0000 (18:58 +0200)] 
Version 0.38.6 (#2698)

10 months agoClose unclosed `MemoryObjectReceiveStream` in `TestClient` (#2693)
Moataz Elmasry [Sun, 22 Sep 2024 16:54:30 +0000 (17:54 +0100)] 
Close unclosed `MemoryObjectReceiveStream` in `TestClient` (#2693)

11 months agoVersion 0.38.5 (#2689) 0.38.5
Marcelo Trylesinski [Sun, 8 Sep 2024 09:49:21 +0000 (10:49 +0100)] 
Version 0.38.5 (#2689)

* Version 0.38.5

* Update release-notes.md

Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
---------

Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>
11 months agoFix `BackgroundTasks` with `BaseHTTPMiddleware` (#2688)
Adrian Garcia Badaracco [Sat, 7 Sep 2024 12:42:54 +0000 (13:42 +0100)] 
Fix `BackgroundTasks` with `BaseHTTPMiddleware` (#2688)

* Streaming response early disconnect mode

* Fix BackgroundTasks with BaseHTTPMiddleware

* move comment

* initialize field

---------

Co-authored-by: Dmitry Maliuga <dmaliuga@fireworks.ai>
11 months agoBump the python-packages group with 9 updates (#2683)
dependabot[bot] [Sun, 1 Sep 2024 19:42:35 +0000 (19:42 +0000)] 
Bump the python-packages group with 9 updates (#2683)

* Bump the python-packages group with 9 updates

Bumps the python-packages group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [coverage](https://github.com/nedbat/coveragepy) | `7.6.0` | `7.6.1` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.2.0` | `8.4.0` |
| [mypy](https://github.com/python/mypy) | `1.11.1` | `1.11.2` |
| [ruff](https://github.com/astral-sh/ruff) | `0.5.5` | `0.6.3` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20240724` | `6.0.12.20240808` |
| [trio](https://github.com/python-trio/trio) | `0.26.1` | `0.26.2` |
| [attrs](https://github.com/sponsors/hynek) | `23.2.0` | `24.2.0` |
| [mkdocs](https://github.com/mkdocs/mkdocs) | `1.6.0` | `1.6.1` |
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.30` | `9.5.34` |

Updates `coverage` from 7.6.0 to 7.6.1
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.6.0...7.6.1)

Updates `importlib-metadata` from 8.2.0 to 8.4.0
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v8.2.0...v8.4.0)

Updates `mypy` from 1.11.1 to 1.11.2
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.11.1...v1.11.2)

Updates `ruff` from 0.5.5 to 0.6.3
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.5.5...0.6.3)

Updates `types-pyyaml` from 6.0.12.20240724 to 6.0.12.20240808
- [Commits](https://github.com/python/typeshed/commits)

Updates `trio` from 0.26.1 to 0.26.2
- [Release notes](https://github.com/python-trio/trio/releases)
- [Commits](https://github.com/python-trio/trio/compare/v0.26.1...v0.26.2)

Updates `attrs` from 23.2.0 to 24.2.0
- [Commits](https://github.com/sponsors/hynek/commits)

Updates `mkdocs` from 1.6.0 to 1.6.1
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.6.0...1.6.1)

Updates `mkdocs-material` from 9.5.30 to 9.5.34
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.30...9.5.34)

---
updated-dependencies:
- dependency-name: coverage
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: mypy
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: types-pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: trio
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: attrs
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
* Apply suggestions from code review

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
11 months agoRemove short logo from documentation (#2682)
Marcelo Trylesinski [Sun, 1 Sep 2024 18:48:01 +0000 (20:48 +0200)] 
Remove short logo from documentation (#2682)

11 months agoVersion 0.38.4 (#2681) 0.38.4
Marcelo Trylesinski [Sun, 1 Sep 2024 15:14:29 +0000 (17:14 +0200)] 
Version 0.38.4 (#2681)

11 months agoEnsure accurate `root_path` removal in `get_route_path` function (#2600)
Gabriel Figueiredo [Sun, 1 Sep 2024 15:12:43 +0000 (12:12 -0300)] 
Ensure accurate `root_path` removal in `get_route_path` function (#2600)

* fix: regex inside function get_route_path to remove root_path

* fix: apply format ruff

* fix: mypy

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
11 months agoChange documentation layout (#2680)
Marcelo Trylesinski [Sun, 1 Sep 2024 15:06:20 +0000 (17:06 +0200)] 
Change documentation layout (#2680)

11 months agoSet `line-length` to 120 on Ruff (#2679)
Marcelo Trylesinski [Sun, 1 Sep 2024 13:11:01 +0000 (15:11 +0200)] 
Set `line-length` to 120 on Ruff (#2679)

* Set `line-length` to 120 on Ruff

* Add links to selected rules

* Remove empty strings

* Fix more stuff

11 months agoVersion 0.38.3 (#2678) 0.38.3
Marcelo Trylesinski [Sun, 1 Sep 2024 07:16:18 +0000 (09:16 +0200)] 
Version 0.38.3 (#2678)

11 months agoDon't poll for disconnects in BaseHTTPMiddleware via StreamingResponse (#2620)
Adrian Garcia Badaracco [Sun, 1 Sep 2024 07:04:50 +0000 (02:04 -0500)] 
Don't poll for disconnects in BaseHTTPMiddleware via StreamingResponse (#2620)

* Don't poll for disconnects in BaseHTTPMiddleware via StreamingResponse

Fixes #2516

* add test

* fmt

* Update tests/middleware/test_base.py

Co-authored-by: Mikkel Duif <mikkel@duifs.dk>
* add test for line now missing coverage

* more coverage, fix test

* add comment

* fmt

* tweak test

* fix

* fix coverage

* relint

---------

Co-authored-by: Mikkel Duif <mikkel@duifs.dk>
12 months agoFix typo in README.md (#2666)
Logan [Sat, 10 Aug 2024 17:24:16 +0000 (01:24 +0800)] 
Fix typo in README.md (#2666)

12 months agoFix typo in docs/index.md (#2665)
Logan [Sat, 10 Aug 2024 07:17:25 +0000 (15:17 +0800)] 
Fix typo in docs/index.md (#2665)

12 months agoSupport Python 3.13 (#2662)
Marcelo Trylesinski [Tue, 6 Aug 2024 15:08:22 +0000 (17:08 +0200)] 
Support Python 3.13 (#2662)

* Support Python 3.13

* Use `exc_type_str` instead of `exc_type.__name__`

* Close GzipFile

* min changes

12 months agoAdd tests to `test_responses` (#2656)
Orenoid [Tue, 6 Aug 2024 07:14:59 +0000 (15:14 +0800)] 
Add tests to `test_responses` (#2656)

* test: add test cases for uncovered branches in starlette.responses

* chore: fix format issue

* Update test

* Remove unused import

* Update tmpdir to tmp_path

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
12 months agoBump trio and downgrade attrs on the `requirements.txt` (#2660)
Marcelo Trylesinski [Tue, 6 Aug 2024 07:13:24 +0000 (09:13 +0200)] 
Bump trio and downgrade attrs on the `requirements.txt` (#2660)

* Bump trio

* Downgrade attrs

12 months agoBump the python-packages group with 8 updates (#2657)
dependabot[bot] [Sat, 3 Aug 2024 12:14:13 +0000 (06:14 -0600)] 
Bump the python-packages group with 8 updates (#2657)

Bumps the python-packages group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [coverage](https://github.com/nedbat/coveragepy) | `7.5.4` | `7.6.0` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `8.0.0` | `8.2.0` |
| [mypy](https://github.com/python/mypy) | `1.10.1` | `1.11.1` |
| [ruff](https://github.com/astral-sh/ruff) | `0.5.0` | `0.5.5` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20240311` | `6.0.12.20240724` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.2.2` | `8.3.2` |
| [trio](https://github.com/python-trio/trio) | `0.25.1` | `0.26.0` |
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.27` | `9.5.30` |

Updates `coverage` from 7.5.4 to 7.6.0
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.5.4...7.6.0)

Updates `importlib-metadata` from 8.0.0 to 8.2.0
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v8.0.0...v8.2.0)

Updates `mypy` from 1.10.1 to 1.11.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.10.1...v1.11.1)

Updates `ruff` from 0.5.0 to 0.5.5
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/0.5.0...0.5.5)

Updates `types-pyyaml` from 6.0.12.20240311 to 6.0.12.20240724
- [Commits](https://github.com/python/typeshed/commits)

Updates `pytest` from 8.2.2 to 8.3.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.2.2...8.3.2)

Updates `trio` from 0.25.1 to 0.26.0
- [Release notes](https://github.com/python-trio/trio/releases)
- [Commits](https://github.com/python-trio/trio/compare/v0.25.1...v0.26.0)

Updates `mkdocs-material` from 9.5.27 to 9.5.30
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.27...9.5.30)

---
updated-dependencies:
- dependency-name: coverage
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: mypy
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: types-pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: trio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
12 months agoVersion 0.38.2 (#2655) 0.38.2
Marcelo Trylesinski [Sat, 27 Jul 2024 17:55:52 +0000 (19:55 +0200)] 
Version 0.38.2 (#2655)

12 months agoCreate types module inside tests (#2502)
Scirlat Danut [Sat, 27 Jul 2024 09:31:16 +0000 (12:31 +0300)] 
Create types module inside tests (#2502)

* Create types module inside tests

* Apply suggestions from code review

* Apply suggestions from code review

* Fix check errors

* Change testclientfactory due to autotest

* No cover fix

* Apply suggestions from code review

* Skip code coverage for TestClientFactory protocol

* Apply suggestions from code review

* Small improvements

* Lint

* Fix everything

---------

Co-authored-by: Scirlat Danut <scirlatdanut@scirlats-mini.lan>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
12 months agoBump the python-packages group with 13 updates (#2632)
dependabot[bot] [Sat, 27 Jul 2024 09:03:46 +0000 (03:03 -0600)] 
Bump the python-packages group with 13 updates (#2632)

* Bump the python-packages group with 13 updates

Bumps the python-packages group with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [anyio](https://github.com/agronholm/anyio) | `4.3.0` | `4.4.0` |
| [coverage](https://github.com/nedbat/coveragepy) | `7.4.3` | `7.5.4` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `7.0.1` | `8.0.0` |
| [mypy](https://github.com/python/mypy) | `1.8.0` | `1.10.1` |
| [ruff](https://github.com/astral-sh/ruff) | `0.1.15` | `0.5.0` |
| [typing-extensions](https://github.com/python/typing_extensions) | `4.10.0` | `4.12.2` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.12` | `6.0.12.20240311` |
| [pytest](https://github.com/pytest-dev/pytest) | `8.0.2` | `8.2.2` |
| [trio](https://github.com/python-trio/trio) | `0.24.0` | `0.25.1` |
| [mkdocs](https://github.com/mkdocs/mkdocs) | `1.5.3` | `1.6.0` |
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) | `9.5.12` | `9.5.27` |
| [build](https://github.com/pypa/build) | `1.1.1` | `1.2.1` |
| [twine](https://github.com/pypa/twine) | `5.0.0` | `5.1.1` |

Updates `anyio` from 4.3.0 to 4.4.0
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst)
- [Commits](https://github.com/agronholm/anyio/compare/4.3.0...4.4.0)

Updates `coverage` from 7.4.3 to 7.5.4
- [Release notes](https://github.com/nedbat/coveragepy/releases)
- [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst)
- [Commits](https://github.com/nedbat/coveragepy/compare/7.4.3...7.5.4)

Updates `importlib-metadata` from 7.0.1 to 8.0.0
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v7.0.1...v8.0.0)

Updates `mypy` from 1.8.0 to 1.10.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/python/mypy/compare/v1.8.0...v1.10.1)

Updates `ruff` from 0.1.15 to 0.5.0
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](https://github.com/astral-sh/ruff/compare/v0.1.15...0.5.0)

Updates `typing-extensions` from 4.10.0 to 4.12.2
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](https://github.com/python/typing_extensions/compare/4.10.0...4.12.2)

Updates `types-pyyaml` from 6.0.12.12 to 6.0.12.20240311
- [Commits](https://github.com/python/typeshed/commits)

Updates `pytest` from 8.0.2 to 8.2.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/8.0.2...8.2.2)

Updates `trio` from 0.24.0 to 0.25.1
- [Release notes](https://github.com/python-trio/trio/releases)
- [Commits](https://github.com/python-trio/trio/compare/v0.24.0...v0.25.1)

Updates `mkdocs` from 1.5.3 to 1.6.0
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.3...1.6.0)

Updates `mkdocs-material` from 9.5.12 to 9.5.27
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.12...9.5.27)

Updates `build` from 1.1.1 to 1.2.1
- [Release notes](https://github.com/pypa/build/releases)
- [Changelog](https://github.com/pypa/build/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/build/compare/1.1.1...1.2.1)

Updates `twine` from 5.0.0 to 5.1.1
- [Release notes](https://github.com/pypa/twine/releases)
- [Changelog](https://github.com/pypa/twine/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/twine/compare/5.0.0...v5.1.1)

---
updated-dependencies:
- dependency-name: anyio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: coverage
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-packages
- dependency-name: mypy
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: types-pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: trio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-packages
- dependency-name: build
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
- dependency-name: twine
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-packages
...

Signed-off-by: dependabot[bot] <support@github.com>
* Add all changes needed for bump

* Ignore ResourceWarning

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
12 months agoFix `routing.get_name()` not to assume all routines have `__name__` (#2648)
Michał Górny [Wed, 24 Jul 2024 08:23:59 +0000 (10:23 +0200)] 
Fix `routing.get_name()` not to assume all routines have `__name__` (#2648)

Fix `routing.get_name()` to use the `__name__` attribute only if it is
actually present, rather than assuming that all routine and class types
have it, and use the fallback to class name otherwise.  This is
necessary for `functools.partial()` that doesn't have a `__name__`
attribute, but is recognized as a routine starting with Python 3.13.0b3.
Since for older versions of Python, it would have used the fallback
anyway, this doesn't really change the behavior there.

Fixes #2638

12 months agoVersion 0.38.1 (#2650) 0.38.1
Marcelo Trylesinski [Tue, 23 Jul 2024 10:17:08 +0000 (12:17 +0200)] 
Version 0.38.1 (#2650)

12 months agoRevert "Add support for ASGI `pathsend` extension" (#2649)
Giovanni Barillari [Tue, 23 Jul 2024 10:10:14 +0000 (12:10 +0200)] 
Revert "Add support for ASGI `pathsend` extension" (#2649)

This reverts commit 7936e86f0a0eb7494aee8a1094b0ccda31c67a72.

12 months agoVersion 0.38.0 (#2647) 0.38.0
Marcelo Trylesinski [Sat, 20 Jul 2024 09:16:30 +0000 (11:16 +0200)] 
Version 0.38.0 (#2647)

* Version 0.38.0

* Version 0.38.0

12 months agoAdd proper synchronisation to WebSocketTestSession (#2597)
Olocool17 [Sat, 20 Jul 2024 09:06:51 +0000 (09:06 +0000)] 
Add proper synchronisation to WebSocketTestSession (#2597)

* Add proper synchronisation to WebSocketTestSession
`anyio.sleep(0)` is often used as a way to yield to another task.
However, depending on event loop implememtation it is not guaranteed to
actually do so in a timely manner.
This commit alters this behaviour in _asgi_receive by using
`anyio.Event`s as a simple synchronisation primitive, dramatically
speeding up the session depending on underlying system/implementation.

* Fix mypy type errors
Jinja 3.1.4 slightly changed the argument types of FileSystemLoader.

* Formatting

---------

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
12 months agotest: refine the test of client disconnection after reading request body (#2639)
Godot [Sat, 20 Jul 2024 09:06:30 +0000 (02:06 -0700)] 
test: refine the test of client disconnection after reading request body (#2639)

Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>