Releases: ESNODE/esnodePy
v0.2.1: Boundary Intelligence & Return Drift Detection (Beta)
This patch release fixes installation issues on Python 3.9 environments and stabilizes the CI pipeline.
🐛 Bug Fixes
Widen Python Compatibility: Lowered requires-python constraint from >=3.10 to >=3.9 to properly support Python 3.9 environments.
CI Stability: Aligned GitHub Actions test matrix with the supported Python versions, resolving build cancellations.
🚀 v0.2 Features (Recap)
Real Return Inference: Inspects AST for explicit values (return 42).
Implicit None Detection: Catches missing return statements in typed functions.
Evidence-Based Reporting: Detailed CLI output of observed vs declared types.
📦 Installation
pip install esnodePy==0.2.1
v0.2.0: Boundary Intelligence & Return Drift Detection (Beta)
Release Description
We are excited to introduce esnodePy v0.2.0, a major update that brings real "boundary intelligence" to the engine.
This release moves beyond simple placeholders and introduces actual AST-based return value inference, allowing developers to see exactly what their functions are returning versus what they claim to return.
🚀 Key Features
Real Return Inference: The engine now inspects AST nodes to infer return shapes (None, int, CallResult(...), Unknown(variable)).
It no longer relies on dummy values.
Implicit None Detection: esnodePy uses control flow heuristics to detect when a typed function accidentally "falls off the end," implicitly returning None.
This is a common source of bugs in typed Python codebases.
Evidence-Based Reporting: The CLI report now lists the specific observed return values that caused drift, giving you immediate proof of the issue.
risky_function() [src/utils.py:42]
Declared return : int
Observed returns:
- CallResult(fetch_params)
- None (implicit)
Strict Quality Standards: The entire codebase is now strictly typed (mypy strict), docstring-documented, and covered by a comprehensive pytest suite.
CI/CD Pipeline: Added GitHub Actions workflows for automated testing and PyPI publication via OIDC.
🛠️ Technical Improvements
Updated pyproject.toml to standard package structure.
Refactored FunctionBoundary to track sets of observed return shapes.
Switched to ESNODE Community License 1.0.
📦 Installation
bash
pip install esnodePy
🔗 Quick Links
Documentation
Report an Issue
Built with ❤️ by the ESNODE team.