Max Isbey
91a983fc4c
chore: ignore ANN204 to allow __init__ without return type
...
Replaces mypy-init-return (which only exempts __init__ when args are
typed) with a blanket ANN204 ignore. Special methods have well-known
return types and pyright infers them correctly.
2026-03-24 23:12:43 +00:00
Max Isbey
cfde91dacd
chore: exempt tests from ANN, enable mypy-init-return
...
Align with ecosystem norms per review feedback:
- Add mypy-init-return = true to skip -> None on __init__ when args are typed
- Exempt tests/** from ANN rules (near-universal practice)
- Revert test file annotations and __init__-only changes
Shrinks diff from 149 to ~47 files, keeping the valuable src/ return
type annotations that close the pyright gap.
2026-03-24 23:04:34 +00:00
Max Isbey
5697d68e65
chore: enforce type annotations on all functions via ruff ANN rules
...
Enable the `ANN` (flake8-annotations) rule set to require return type
and argument annotations on all function definitions. Pyright strict
already enforces argument types but infers return types silently; this
closes the gap so every function has an explicit return annotation.
Configuration choices:
- `ANN401` (any-type) is ignored: `Any` is sometimes the right answer
and pyright strict already catches genuine misuse.
- `allow-star-arg-any = true`: `*args: Any, **kwargs: Any` is a common
valid pattern for pass-through wrappers.
- Per-file ignores for `test_func_metadata.py` and `test_server.py` where
untyped parameters are intentional (testing schema inference on
unannotated signatures).
- README code snippets (via pytest-examples) exempt — short doc
examples shouldn't need full annotations.
Auto-fix added `-> None` or inferred return types to ~910 functions.
The remaining ~100 were annotated manually — mostly
`@asynccontextmanager` generators, pytest fixtures, and ASGI handlers
that Ruff couldn't infer.
2026-03-24 23:04:34 +00:00
Jonathan Hefner
5388bea53a
docs: generate hierarchical per-module API reference pages ( #2103 )
2026-03-18 18:15:17 +00:00
Max Isbey
e1fd62e0f3
fix: close all memory stream ends in client transport cleanup ( #2266 )
2026-03-13 14:43:54 +00:00
Jonathan Hefner
0fe16dd5fd
fix: silence mkdocs social plugin warnings in strict mode ( #2109 )
2026-02-19 23:12:51 +01:00
Max Isbey
8f669a77e3
fix: explicitly load required pytest plugins in addopts ( #2055 )
2026-02-13 18:25:10 +00:00
Aaron Abbott
f049c8e5c6
Fix leaked anyio streams in streamable_http ( #1991 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-02-11 14:52:07 +00:00
Max Isbey
d3133ae6ce
chore: update author metadata to LF Projects ( #1992 )
2026-02-04 11:01:33 +00:00
Marcelo Trylesinski
74f41ff1ae
Add more maintainers to the PyPI metadata ( #1976 )
2026-02-03 16:19:56 +00:00
Max Isbey
2137c8fbdb
fix: revert README to v1.x documentation on main ( #1971 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-01-29 20:03:01 +00:00
Marcelo Trylesinski
65c614e48e
Rename FastMCP to MCPServer ( #1951 )
2026-01-25 14:45:52 +01:00
Max Isbey
a7ddfdae07
ci: add strict-no-cover to detect unnecessary coverage pragmas ( #1897 )
2026-01-23 21:00:20 +01:00
Marcelo Trylesinski
a1d330de9f
Proper handle extra data in MCP objects ( #1937 )
2026-01-23 15:35:23 +01:00
Marcelo Trylesinski
f0ab53e194
Add meta to Client methods ( #1923 )
2026-01-22 14:50:39 +01:00
Marcelo Trylesinski
bcb07c2b25
refactor: flatten the methods in Client ( #1914 )
2026-01-20 13:12:07 +01:00
Rin
0f9a41d777
chore: include cli and ws extras in dev environment ( #1905 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2026-01-19 14:53:08 +01:00
Marcelo Trylesinski
5fdd48a0d3
Completely drop RootModel from types module ( #1910 )
2026-01-19 14:29:15 +01:00
Felix Weinberger
d41d0c0128
chore: add D212 lint rule to enforce Google-style docstrings ( #1892 )
2026-01-16 16:10:52 +00:00
Marcelo Trylesinski
3ffe142e9a
Support Python 3.14 ( #1834 )
2026-01-07 16:28:23 +00:00
Marcelo Trylesinski
1fd557afdc
Add type checker to examples/client ( #1837 )
2026-01-07 17:08:18 +01:00
Victorien
116c13e2c6
Refactor func_metadata() implementation ( #1496 )
2025-11-13 20:21:15 +00:00
Max Isbey
89e9c43acf
Get baseline 100% clean coverage ( #1553 )
2025-11-11 14:09:32 +01:00
Luca Chang
f161149680
Implement RFC 7523 JWT flows ( #1247 )
...
Co-authored-by: Yann Jouanin <yann.jouanin@valueandco.com >
2025-10-29 16:48:08 +00:00
Max Isbey
3e86edfb2f
fix: Replace arbitrary sleeps with active server readiness checks in tests ( #1527 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-10-28 21:42:33 +00:00
Christian Clauss
35a9ccdb42
fix: uv CVE-2025-62518 astral-tokio-tar issue GHSA-j5gw-2vrg-8fgx ( #1505 )
2025-10-22 15:52:56 +02:00
Luca Chang
c733eec5d9
Make client examples workspaces to reflect package code ( #1466 )
2025-10-17 17:13:39 +01:00
Marcelo Trylesinski
814c9c024a
Add documentation about testing ( #1426 )
2025-10-03 14:17:31 +00:00
Christian Clauss
c47c767ff4
Python lint: Ruff rules for pylint and code complexity ( #525 )
2025-09-05 15:20:14 +01:00
David Soria Parra
0926613714
Update dependencies and fix type issues ( #1268 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2025-08-14 10:40:47 +01:00
Marcelo Trylesinski
c7671e470c
Add pyright strict mode on the whole project ( #1254 )
2025-08-11 18:56:37 +01:00
Inna Harper
9bf5160eea
README - replace code snippets with examples ( #1136 )
2025-07-14 13:57:47 +01:00
Stanley Law
6d092af6fd
chore: add markdownlint on pre-commit hook and lint md files ( #996 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com >
2025-07-10 09:43:49 +01:00
Felix Weinberger
e0336213e8
Improve child process termination on POSIX & Windows ( #1078 )
...
Co-authored-by: jingx8885 <jingxu8885@qq.com >
Co-authored-by: Surya Prakash Susarla <susarla.surya.prakash.1998@gmail.com >
2025-07-08 15:04:06 +01:00
Marcelo Trylesinski
3fa7bc7b61
tests: add lowest dependency tests ( #1067 )
...
Co-authored-by: ihrpr <inna@anthropic.com >
2025-07-06 09:38:56 +02:00
Inna Harper
adf327164a
Embed code snippets for README from executable examples ( #1055 )
2025-07-04 17:25:54 +01:00
Inna Harper
0323831b01
unpin jsonschema version ( #1037 )
2025-06-26 13:28:15 +01:00
bhosmer-ant
c8bbfc034d
Add schema validation to lowlevel server ( #1005 )
2025-06-25 09:23:49 -04:00
Marcelo Trylesinski
543961968c
Use 120 characters instead of 88 ( #856 )
2025-06-11 11:45:50 +02:00
Marcelo Trylesinski
8a2359ffeb
Pin uv version ( #806 )
2025-05-26 12:17:23 +01:00
Lekhnath Parajuli
d1876433af
add support for parallel run ( #739 )
...
Co-authored-by: Lekhnath Parajuli <lekhnathparajuli4@gmail.com >
2025-05-23 17:13:24 +01:00
ihrpr
b3fbee9c48
Include server examples folder in pyright check ( #667 )
2025-05-15 09:29:36 +01:00
ihrpr
9d99aee014
Revert "Add message queue for SSE messages POST endpoint ( #459 )" ( #649 )
2025-05-07 16:35:20 +01:00
Akash D
3b1b213a96
Add message queue for SSE messages POST endpoint ( #459 )
2025-05-06 17:10:43 -07:00
Peter Raboud
2210c1be18
Add support for serverside oauth ( #255 )
...
Main branch checks / checks (push) Failing after 0s
Check uv.lock / check-lock (push) Has been cancelled
Co-authored-by: David Soria Parra <davidsp@anthropic.com >
Co-authored-by: Basil Hosmer <basil@anthropic.com >
Co-authored-by: ihrpr <inna@anthropic.com >
2025-05-01 19:42:59 +01:00
Samuel Colvin
017135434e
add pytest-pretty dev dependency ( #546 )
2025-04-29 21:02:09 +01:00
Christian Clauss
babb477dff
Python lint: Ruff rules for comprehensions and performance ( #512 )
2025-04-15 16:58:33 +02:00
Dan Lapid
8c9269c34b
Move uvicorn import to usage ( #502 )
2025-04-15 16:51:02 +02:00
David Soria Parra
9a2bb6a7e7
refactor: Make types.py strictly typechecked. ( #336 )
2025-03-26 14:21:35 +00:00
Marcelo Trylesinski
4e11f2890b
Add mkdocs ( #367 )
2025-03-25 13:06:15 +01:00