v3.0.0: Reintegration
Marvin 3.0 represents a significant merger of two libraries: marvin
and controlflow
- re-platformed on pydantic-ai
. This combined framework brings together Marvin's user-friendly structured output tools with ControlFlow's powerful agentic engine to create a simple but powerful way to get things done with AI.
🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉
this release contains breaking changes
🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉 🐉
What's Changed
New Features 🎉
- Ensure agents plural arg by @jlowin in #1005
- Bump pydantic-ai to 0.0.18 by @jlowin in #1006
- Add usage methods by @jlowin in #1009
- update banner by @zzstoatzz in #1008
- Support in-memory databases by @jlowin in #1012
- Add context kwarg for major fns by @jlowin in #1014
- Handle non-serializable elements of RetryPromptParts by @jlowin in #1015
- marvin.generate: Enforce n in typing by @jlowin in #1016
- Add JSONSchema parser by @jlowin in #1017
- actually ignore extra by @zzstoatzz in #1018
- Update ai-labeler.yml by @jlowin in #1019
- Add marvin.summarize by @jlowin in #1021
- Improve how instructions are provided to high-level fns by @jlowin in #1022
- Add function for generating schemas by @jlowin in #1024
- Add autouse memory by @jlowin in #1027
- typing progress by @zzstoatzz in #1020
- update readme by @zzstoatzz in #1031
- update examples by @zzstoatzz in #1032
- smol by @zzstoatzz in #1033
- resolve merge conflict on 3 by @jlowin in #1041
- totally normal 🪿 server example by @zzstoatzz in #1042
- Add planning by @jlowin in #1046
- Update README.md by @jlowin in #1048
- tweaks by @zzstoatzz in #1050
- Clean up by @jlowin in #1054
- more examples by @zzstoatzz in #1056
- Ensure annotated is properly... annotated by @jlowin in #1057
- Add support for postgres as backing db by @jlowin in #1058
- Add support for base schema in schema generation by @jlowin in #1059
- Improve schema generation by @jlowin in #1060
- Update session generation by @jlowin in #1061
Breaking Changes 🛫
- Move database.py by @jlowin in #1007
- Update readme by @jlowin in #1013
- Memories are async classes by @jlowin in #1026
- Refactor agents/teams/end-turn functions by @jlowin in #1036
- Readme for 3.0 by @jlowin in #1039
- Merge Marvin 3 to main by @jlowin in #1040
- Update README.md by @jlowin in #1044
- Update for pydantic 0.26 by @jlowin in #1062
Docs 📚
- readme tweaks by @zzstoatzz in #1028
- add Marvin docs by @jlowin in #1030
Other Changes 🦾
- add controlflow tool by @zzstoatzz in #991
- xai example by @zzstoatzz in #994
- Introducing Marvin Guru on Gurubase.io by @kursataktas in #992
- redirect twitter by @zzstoatzz in #995
- added check for new user join to chat_endpoint by @biancaines in #993
- Fix bot by @zzstoatzz in #996
- Improve Clarity and Consistency in README by @Anik2812 in #990
utcnow
is deprecated by @zzstoatzz in #999- Bump turbopuffer from 0.1.15 to 0.1.23 by @dependabot in #998
- doc(README): remove typo by @Chaitanya110703 in #988
- migrate slackbot to
pydantic-ai
by @zzstoatzz in #1002 - add missing import in example by @zzstoatzz in #1003
- Update database validation by @jlowin in #1011
- Summarize tests by @jlowin in #1023
AgentDeps
->AgentDepsT
by @zzstoatzz in #1034- deepseek example and typing by @zzstoatzz in #1029
- Delegates by @jlowin in #1037
- Unit test instruction by @jlowin in #1038
- fix typo in README example by @davidgasquez in #1043
- fix typing for embedding_fn in postgres provider by @webcoderz in #1047
- add release CI by @zzstoatzz in #1064
- Create publish-pypi.yml by @jlowin in #1066
- Delete publish-pypi.yml by @jlowin in #1067
New Contributors
- @kursataktas made their first contribution in #992
- @biancaines made their first contribution in #993
- @Anik2812 made their first contribution in #990
- @Chaitanya110703 made their first contribution in #988
- @davidgasquez made their first contribution in #1043
- @webcoderz made their first contribution in #1047
Full Changelog: v2.3.8...v3.0.0
yes the release name is a Severance reference