Stability and versioning¶
dpm-xl follows semantic versioning. From 1.0.0, a change that breaks the public API needs a new major version.
The public API¶
- Every name in the
__all__of the modules in the Python API, including the expression tree indpmxl.ast(frozen node classes with sourcespans,walkandchildren) for callers that analyse rules. - The columnar frame schema
that a
FrameProviderreturns. - The thread-safety guarantees in Run rules in threads.
- The CLI: its commands, options, exit statuses
and the
--jsonlayout, versioned byschema_version(1), and the data formats it reads.
Names starting with an underscore are internal, as are modules whose names
start with one. dpmxl.__version__ gives the installed version.
What may change in a minor release¶
- The wording of explanations (
summary,filledand the other text fields), of syntax error messages and ofRuleResult.message. - New constructs, functions, token kinds and optional provider methods.
- Constructs the columnar evaluator handles itself instead of raising
ColumnarUnsupported. - Bug fixes that change a result to what the specification and these docs say it should be. They are listed under "Fixed" in the changelog.
Statuses, record keys, field names, Explanation.kind values and the JSON
field names do not change outside a major release.
Supported Python versions¶
dpm-xl supports the Python versions listed in its package metadata, currently 3.11 to 3.15.