v1.0.0-beta.1
looplj/axonhubv1.0.0-beta.1Sep 21, 2026by samuelcolvin
Upgrading?
AI Summary
A major beta release dropping experimental features and implementing core Python built-ins and modules, including os, sys, random, copy, datetime, and time, aiming for version 1.0 stability.
Key Highlights
- Drop experimental framing system
- Implement core Python modules: os, sys, random, copy, datetime, time, itertools, binascii
- Implement core built-ins: eval, exec, print, format, and percent formatting
- Add support for Python 3.14t and improve arithmetic accuracy for long ints and floats
Breaking Changes
- Drop experimental framing ahead of v1
- Replace wire types with whitelist of allowed types
- Replace session `max_duration` with feed and turn limits
New Features
- Implement `eval()`, `exec()`, and `locals()`
- Implement `format()` builtin and percent formatting
- Add `random` module and `os.urandom`
- Implement `copy` module
- Add `time.time()`, `time.sleep()`, and `asyncio.sleep()`
- Extend `time` module with timezone support
- Implement remaining math aggregation functions and `fma`
Full Release Notes
## What's Changed * Drop the experimental framing ahead of v1 by @rewitt94 in https://github.com/pydantic/monty/pull/811 * Percent formatting: `'...' % foo` and `b'...' % bar` by @samuelcolvin in https://github.com/pydantic/monty/pull/825 * fix flakey js test by @samuelcolvin in https://github.com/pydantic/monty/pull/826 * Implement the `format()` builtin by @samuelcolvin in https://github.com/pydantic/monty/pull/827 * Answer `date.today()` / `datetime.now()` in standard execution by @rewitt94 in https://github.com/pydantic/monty/pull/812 * Implement remaining math aggregation functions and `fma` by @samuelcolvin in https://github.com/pydantic/monty/pull/831 * fix telemetry context propagation by @davidhewitt in https://github.com/pydantic/monty/pull/830 * Support `print(file=sys.stderr)` by @rewitt94 in https://github.com/pydantic/monty/pull/818 * Finish `binascii` with the uu, quoted-printable and CRC-16 conversions by @rewitt94 in https://github.com/pydantic/monty/pull/816 * Build Python 3.14t wheels by @Kludex in https://github.com/pydantic/monty/pull/832 * make it possible to run smoke test from npm by @davidhewitt in https://github.com/pydantic/monty/pull/619 * fix browser smoke test install by @samuelcolvin in https://github.com/pydantic/monty/pull/844 * Move examples-only Python deps out of the dev group by @samuelcolvin in https://github.com/pydantic/monty/pull/849 * Match CPython for int/float arithmetic on long ints and float pow overflow by @samuelcolvin in https://github.com/pydantic/monty/pull/834 * Make the `examples` dependency group opt-in by @samuelcolvin in https://github.com/pydantic/monty/pull/852 * CWD support by @samuelcolvin in https://github.com/pydantic/monty/pull/828 * Add a watchdog for the CPython side of test cases and deflake `lookup__mutation.py` by @samuelcolvin in https://github.com/pydantic/monty/pull/854 * Accept long ints across `pow()`, `round()` and the `math` module by @samuelcolvin in https://github.com/pydantic/monty/pull/853 * Eager awaits by @samuelcolvin in https://github.com/pydantic/monty/pull/833 * Better `casefold` and other case methods compatibility by @samuelcolvin in https://github.com/pydantic/monty/pull/857 * Deps update by @samuelcolvin in https://github.com/pydantic/monty/pull/859 * Add the remaining `itertools` callables bar `tee` by @samuelcolvin in https://github.com/pydantic/monty/pull/860 * Revert itertools by @samuelcolvin in https://github.com/pydantic/monty/pull/861 * Support runtime definition of types like `tuple[int, str]` and `dict | dict` by @samuelcolvin in https://github.com/pydantic/monty/pull/858 * Implement the `sys` constants with a known value by @samuelcolvin in https://github.com/pydantic/monty/pull/863 * Support attribute and subscript targets in unpacking by @samuelcolvin in https://github.com/pydantic/monty/pull/865 * Add the antigravity example, running Monty in the browser by @samuelcolvin in https://github.com/pydantic/monty/pull/864 * Fix re-entrant source windows in `chain`, `pairwise` and `accumulate` by @rewitt94 in https://github.com/pydantic/monty/pull/843 * Missing `itertools` methods by @samuelcolvin in https://github.com/pydantic/monty/pull/862 * Add a regression test for the trailing-slash symlink escape by @samuelcolvin in https://github.com/pydantic/monty/pull/868 * Add the `random` module and an `os.urandom` host call by @samuelcolvin in https://github.com/pydantic/monty/pull/867 * Add the `copy` module by @rewitt94 in https://github.com/pydantic/monty/pull/791 * Check container growth against the memory limit before it allocates by @rewitt94 in https://github.com/pydantic/monty/pull/845 * Follow-ups for `datetime` by @rewitt94 in https://github.com/pydantic/monty/pull/838 * Fix two container-reentrancy panics by @rewitt94 in https://github.com/pydantic/monty/pull/846 * don't make static strings a requirement for dump stability by @davidhewitt in https://github.com/pydantic/monty/pull/810 * establish tampered snapshots as permitted: garbage in garbage out by @davidhewitt in https://github.com/pydantic/monty/pull/873 * Fix async task scheduling for batched host failures by @flyingmutant in https://github.com/pydantic/monty/pull/875 * Give each callable type its own `PyTrait::py_call` by @rewitt94 in https://github.com/pydantic/monty/pull/878 * Flat layout for wire value type by @samuelcolvin in https://github.com/pydantic/monty/pull/871 * Serialize dumps after the header in place, without a second buffer by @samuelcolvin in https://github.com/pydantic/monty/pull/881 * Shrink the largest dag decode bench to fit the decode budget by @samuelcolvin in https://github.com/pydantic/monty/pull/883 * remove needless `SOFT_LIMIT` variable from `monty-alloc` by @davidhewitt in https://github.com/pydantic/monty/pull/763 * Add `time.time()`, `time.sleep()` and `asyncio.sleep()` by @samuelcolvin in https://github.com/pydantic/monty/pull/866 * expose otel trace context from snapshots by @davidhewitt in https://github.com/pydantic/monty/pull/885 * purge `pool-architecture.md` by @davidhewitt in https://github.com/pydantic/monty/pull/887 * Replace session `max_duration` with feed and turn limits by @rewitt94 in https://github.com/pydantic/monty/pull/880 * add a general solution for wire decoding budgets by @davidhewitt in https://github.com/pydantic/monty/pull/874 * try to hide object internals by @davidhewitt in https://github.com/pydantic/monty/pull/886 * fix merge conflict by @davidhewitt in https://github.com/pydantic/monty/pull/891 * Comment and documentation fixes by @rewitt94 in https://github.com/pydantic/monty/pull/888 * Sort `StaticStrings` alphabetically by @rewitt94 in https://github.com/pydantic/monty/pull/889 * Change `DumpError` for future compatibility by @rewitt94 in https://github.com/pydantic/monty/pull/890 * Implement `eval()`, `exec()` and `locals()` by @samuelcolvin in https://github.com/pydantic/monty/pull/855 * Auto OS calls by @samuelcolvin in https://github.com/pydantic/monty/pull/892 * Use sleep and random in the antigravity example by @samuelcolvin in https://github.com/pydantic/monty/pull/897 * Timezone support by @samuelcolvin in https://github.com/pydantic/monty/pull/898 * Poll the time limit in large three-argument pow by @samuelcolvin in https://github.com/pydantic/monty/pull/899 * Reject overlapping host directories at mount registration by @samuelcolvin in https://github.com/pydantic/monty/pull/741 * Extend `time` module by @samuelcolvin in https://github.com/pydantic/monty/pull/901 * Replace wire types with whitelist of allowed types, and proxy for everything else by @samuelcolvin in https://github.com/pydantic/monty/pull/900 * Rename `AutoOsCalls` to `OsPolicy` by @samuelcolvin in https://github.com/pydantic/monty/pull/902 * Resolve exception classes directly and model them inbound by @samuelcolvin in https://github.com/pydantic/monty/pull/905 * Describe Monty as a sandbox and name the open-source form "OSS Monty" by @samuelcolvin in https://github.com/pydantic/monty/pull/904 * Uprev `ruff`, pre-check source by @samuelcolvin in https://github.com/pydantic/monty/pull/906 * Bump to v1.0.0-beta.1 by @samuelcolvin in https://github.com/pydantic/monty/pull/903 ## New Contributors * @Kludex made their first contribution in https://github.com/pydantic/monty/pull/832 * @flyingmutant made their first contribution in https://github.com/pydantic/monty/pull/875 **Full Changelog**: https://github.com/pydantic/monty/compare/v0.0.23...v1.0.0-beta.1
Related Repositories
ollama/ollama★ 184,242
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.
fatedier/frp★ 110,065
A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
infiniflow/ragflow★ 92,634
RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs
gohugoio/hugo★ 90,197
The world’s fastest framework for building websites.
junegunn/fzf★ 83,714
:cherry_blossom: A command-line fuzzy finder