# Lodum Roadmap

This document outlines the planned future enhancements for `lodum`. Our goal is to maintain the library's high performance while expanding its utility in the Python ecosystem.

## 0. Completed Milestones (First release v0.2.0 - ?)

- **AST Bytecode Compiler**: Replaced string-based `exec` with a robust and maintainable AST generation engine using a specialized DSL.
- **Modular Architecture**: Refactored the core engine into decoupled `compiler/` and `handlers/` subpackages.
- **Thread Safety**: Implemented thread-local `Context` management with a lock-free fast path for cache performance.
- **Centralized Schema API**: Promoted `lodum.schema()` as the primary entry point for JSON Schema generation.
- **Extended Type Support**: Added native support for `numpy`, `pandas`, `polars`, and numerous standard library types.

## 1. Current Milestone (v0.2.0 - First Public Release)

- [ ] Complete Community & Governance docs (CoC, Security, Templates)
- [ ] Ensure 100% Test Coverage
- [ ] Final Performance Benchmarking & Analysis
- [ ] API Reference Documentation
- [ ] PyPI Readiness & Release Process

## 2. Short-Term Goals (v0.3.0+)

### Streaming Support ([Plan](../plans/streaming_support.md))

* **Goal**: Enable processing of datasets larger than memory.
* **Implementation**: Add `dump_stream(obj, stream)` and `load_stream(cls, stream)` to the IDumper/ILoader protocols.
* **Target Formats**: JSON (via `ijson` or similar), MsgPack, CBOR.

### Partial Serialization ([Plan](../plans/partial_serialization.md))

* **Goal**: Allow users to serialize only a subset of fields or only fields that have changed.
* **API Idea**: `dumps(obj, include={'id', 'name'})` or `field(serialize_if_changed=True)`.

## 2. Medium-Term Goals (v0.5.0+)

### Framework Integrations

* **FastAPI** ([Plan](../plans/fastapi_integration.md)): Create a `LodumResponse` class and a `Depends` provider for automatic parsing.
* **OpenAPI Support** ([Plan](../plans/openapi_support.md)): Utilities to convert `lodum` schemas directly into OpenAPI/Swagger specifications.

### Advanced Schema Features

* **Schema-to-Code** ([Plan](../plans/schema_to_code_cli_tool.md)): A CLI tool to generate `@lodum` classes from an existing JSON Schema.

## 3. Longer-Term Vision (v1.0.0?)

### Compiler Enhancements

* **Compiler Enhancements** ([Plan](../plans/compiler_enhancements_cython_mypyc.md)): Explore compiling the generated bytecode handlers into C via Cython or MyPyC for even greater speed.
* **Protocol Buffers** ([Plan](../plans/protocol_buffers_support.md)): Native Protobuf support via the AST compiler.

### Ecosystem

* **IDE Plugin** ([Plan](../plans/ide_plugin.md)): A VS Code / PyCharm plugin to auto-generate `field()` definitions and validate schema compliance in real-time.

## Contributing

We welcome contributions on any of these items! Please open an issue to discuss your implementation plan before submitting a PR.
