I build Python and Go tools at IVI for service integration, testing, and predictable caching.
Proxy Mock · Python
Simulate HTTP dependencies and inspect requests in integration tests. Configure responses and response sequences, capture the traffic your service sends, and record real upstream answers to replay them offline. Run it as a standalone server or through the bundled pytest fixtures.
Status: 3.x is the current major; 3.0 changed the administrative API. Requires Python 3.11 or newer.
Install and usage · Migrating to 3.0 · PyPI · Report a problem
sanecache · Go
Cache Go values with synchronous writes, byte budgets, and one load per cold key, single or batched. Use negative caching to remember missing records and TTL jitter to spread out expiration. No dependencies.
Status: pre-1.0; the public API may change. Requires Go 1.24 or newer.
Quick start · API reference · Changelog · Report a problem
gomorphy is my experimental fork of a Russian morphology library for Go, focused on independent analyzer instances and predictable lifecycle behavior. See its README for differences from upstream and current limitations.
MiniJinja · Go port
Changes that bring the Go port in line with Jinja2 and the Rust core, shipped in MiniJinja 3.0.0:
- Keep whole-number floats from the context as floats.
- Keep
loop.changed()state across iterations. - Align floor division and modulo with Jinja2 in Rust and Go.
- Add
Environment.SetUnknownMethodCallback, matching the Rust API. - Treat empty iterators as empty sequences.
For usage questions or bug reports, open an issue in the relevant project with a small example and the package version. Contributions are welcome; each maintained project has a contributing guide.
