Skip to content

v0.12.0

@nshkrdotcom nshkrdotcom tagged this 21 Jan 22:50
This release introduces a new split layout for generated Elixir wrappers,
mirroring Python's directory and module structure for better organization.

Key changes:

- Added generated_layout configuration option, defaulting to :split.
- Python modules now generate a directory containing an __init__.ex file.
- Class modules are generated into separate files named after the class.
- Introduced Generator.PathMapper for Python-to-Elixir path conversions.
- Updated Generator to support rendering standalone module and class files.
- Registry now tracks relative paths for all files within a split layout.
- Strict mode validation updated to verify all files in a library's layout.
- Legacy single-file layout remains supported via the :single option.

The split layout improves IDE navigation, simplifies git diffs, and provides
a structure familiar to Python developers. For example, the Python module
dspy.predict now maps to dspy/predict/__init__.ex while a class module
Dspy.Predict.RLM maps to dspy/predict/rlm.ex.
Assets 2
Loading