kennethreitz
0cbcaf9c4f
Code quality improvements and test fixes ( #592 )
...
## Summary
Comprehensive post-v3.0.0 modernization: new features, bug fixes,
dependency cleanup, docs, and test coverage.
**New features:**
- **HTTP method filtering** — `@api.route("/data", methods=["GET"])`
- **Lifespan context manager** — modern async startup/shutdown
- **`api.exception_handler()`** — custom error handling per exception
type
- **`api.graphql()`** — one-liner GraphQL setup
- **`resp.file()`** — serve files from disk with auto content-type
- **before_request short-circuit** — set status code to skip route
handler
- **`req.path_params`** / **`req.client`** / **`req.is_json`** — new
request properties
- **`uuid`** and **`path`** route convertors
- **PEP 561 `py.typed`** marker
**Bug fixes:**
- Fix multipart parser losing headers
- Fix `url_for()` with typed params (`{id:int}`)
- Fix `resp.body` encoding crash on bytes content
- Fix Python 3.9 type syntax (`from __future__ import annotations`)
- Fix broken session test and no-op file upload test
- Fix helloworld example 404 on root path
**Dependencies:**
- Flattened — `pip install responder` gets everything
- Core: just starlette + uvicorn (down from 10 deps)
**Docs & README:**
- All new features documented in tour
- Modernized README features list
- Deployment guide: Docker, cloud, uvicorn
- Removed Pipenv, extras, stale references throughout
**Tests & quality:**
- 117 tests (up from 92), 91% coverage, 0 warnings
- CaseInsensitiveDict, GraphQL edge cases, staticfiles tests
- Ruff clean, all `tmpdir` → `tmp_path`
🤖 Generated with [Claude Code](https://claude.com/claude-code )
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-22 07:44:11 -04:00
Andreas Motl
98ca45003b
Documentation: Badges, linking, wording, inline comments. This and that.
...
A few of the adjustments here have been required to mitigate Sphinx
warnings, which would converge to errors on CI, thus failing the build.
A few other changes, both wording and syntax/formatting fixes, are
coming from regular copyediting and documentation maintenance.
2024-10-27 18:13:13 +01:00
Vincent Barbaresi
86361523e2
fix async templates rendering requiring enable_async in jinja2
...
When trying to test the render_async() feature I realized that it wasn't working
The template instance needs to be created with enable_async=True
2019-10-19 14:49:50 +02:00
taoufik
85c1c0036c
[WIP] Update docs
2019-08-21 22:50:58 +02:00
Taoufik
f21b296fba
Add docs for route params convertors
2019-04-27 20:10:31 +02:00
kobayashi
ebed9fe3aa
fix typos
2019-03-17 19:05:14 -04:00
kobayashi
734b5e7303
add sample of uploading a file
2019-03-17 15:21:27 -04:00
taoufik07
9f39917895
Update docs and README
2019-02-22 01:12:25 +01:00
Edi Santoso
fa621d076d
DOC: Fix quickstart response headers
2018-10-27 00:53:11 +07:00
Dražen Lučanin
237a2ed426
document how to customise the address
2018-10-25 16:43:19 +02:00
Manish P Mathai
148a430da4
Fix typo in quickstart example
2018-10-16 22:36:54 -07:00
Romain Catajar
29e514fea6
Fix typo in quickstart documentation
2018-10-14 15:10:29 +02:00
kennethreitz
b3be767923
upgrades
2018-10-14 08:46:33 -04:00
kennethreitz
e86f2f3873
media()
2018-10-14 08:17:17 -04:00
kennethreitz
6e6bac429a
order
2018-10-14 07:24:48 -04:00
kennethreitz
5f33c6bfee
rendering a template
2018-10-14 07:23:10 -04:00
kennethreitz
b304d5d784
real fix
2018-10-14 07:12:45 -04:00
kennethreitz
cfe83b97d9
fix
2018-10-14 07:12:27 -04:00
kennethreitz
2fec2bf560
response headers
2018-10-14 07:11:14 -04:00
kennethreitz
73dc1a7839
!
2018-10-14 07:02:22 -04:00
kennethreitz
66fe951831
python
2018-10-14 07:01:13 -04:00
kennethreitz
7991bcbf1a
note
2018-10-14 06:59:26 -04:00
kennethreitz
de9516563a
await
2018-10-14 06:58:56 -04:00
kennethreitz
27fefb821c
quickstart
2018-10-14 06:58:14 -04:00
kennethreitz
c195894db9
yaml
2018-10-14 06:57:39 -04:00
kennethreitz
6777b4d370
data
2018-10-14 06:55:54 -04:00
kennethreitz
09269c22a2
fix
2018-10-14 06:46:21 -04:00
kennethreitz
5d9932dd61
more quickstart
2018-10-14 06:44:18 -04:00