Skip to main content

enola

Architectural regression testing for AI-assisted development.

Catch structural regressions that builds and tests cannot see: new dependency cycles, violated layer boundaries, undeclared service dependencies, and changes that spread beyond their intended scope.

Enola maps your codebase before a change and compares it with the structure afterward. The result is about this change, not every problem already in the repository, and only the rules you choose can fail the build.

  • Exact, local measurement. Parsed source and graph algorithms. No model, no embeddings, no upload, no account, no license check.
  • One graph across the repository. 23 languages and formats, detected automatically and combined into one baseline and verdict.
  • One loop everywhere. Your coding agent reads the graph before it edits and receives the verdict afterward. The same check runs from the CLI or in CI.

Install

pip install enola-cli

The command is enola. This package ships a prebuilt binary, so there is no Python dependency at run time and nothing is importable from Python.

Try it read-only

enola --explain /path/to/your/repo

No baseline, config file or MCP client, and nothing is written to disk. Enola prints the architecture it measured (patterns, cycles, layer violations, hotspots, blast radius and structural outliers) and exits.

Documentation

Full documentation, including the CLI reference and architecture internals, lives at https://github.com/enola-labs/enola.

Metadata

Release files for enola-cli 0.4.25

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for enola-cli 0.4.25
File
enola_cli-0.4.25-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
enola_cli-0.4.25-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
enola_cli-0.4.25-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
enola_cli-0.4.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
enola_cli-0.4.25-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
enola_cli-0.4.25-py3-none-macosx_12_0_x86_64.whl Python 3 none macOS 12.0+ x86-64 Details
enola_cli-0.4.25-py3-none-macosx_12_0_arm64.whl Python 3 none macOS 12.0+ ARM64 Details

Total release size: 77.9 MB

Release files / enola_cli-0.4.25-py3-none-win_amd64.whl

Download URL enola_cli-0.4.25-py3-none-win_amd64.whl
Size 11.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
18d61c909f0ee3839564f415a7b9504865644ea292bf27edd2008cf59e8a9734
BLAKE2b-256 checksum
How to use checksums
fd6c7807bf71d3821096f148dbbd211475da8b38f3d13b1b3983fc7501fcfab1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / enola_cli-0.4.25-py3-none-musllinux_1_2_x86_64.whl

Download URL enola_cli-0.4.25-py3-none-musllinux_1_2_x86_64.whl
Size 11.4 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
7ba2b05b197eba8ad872e308c05f05e716020a7cd445f80610c7e2f89d2c43eb
BLAKE2b-256 checksum
How to use checksums
81d764c20c2627d9bf1f2dab92072ed3d24cab3018473f987db22f2f3c59b734
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / enola_cli-0.4.25-py3-none-musllinux_1_2_aarch64.whl

Download URL enola_cli-0.4.25-py3-none-musllinux_1_2_aarch64.whl
Size 10.5 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
b7e0a9d0ab8be285ab17a160103d76d657d7a507c2f1d5da55418f4c8cf2e1d7
BLAKE2b-256 checksum
How to use checksums
bb844db71735dd6eaa46c5b54f7c23c2385b21375008cdf54e0630c6b7535a25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / enola_cli-0.4.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL enola_cli-0.4.25-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 11.4 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8d0086c8093cea71babbac8800206e8931802ff7df37d8adbbf315bb9cef32f8
BLAKE2b-256 checksum
How to use checksums
ef1ad9ae2510c125d27d513de105651e4682ef64721c8b5d8375ce1029f57db7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / enola_cli-0.4.25-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL enola_cli-0.4.25-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 10.5 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
7d822dde8468e6cb021acfa5adbb035801869799d0bdbf1ca51c2cbb6f5379be
BLAKE2b-256 checksum
How to use checksums
41e4ce31485c22974e1735e43d5536e646a91ab05f2b3ceaee02bb2c27b34011
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / enola_cli-0.4.25-py3-none-macosx_12_0_x86_64.whl

Download URL enola_cli-0.4.25-py3-none-macosx_12_0_x86_64.whl
Size 11.5 MB
Tags Python 3 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
51557e188a493e8a150160318e3bb443e34bd72eef18c3ca20c9cde0f0519df5
BLAKE2b-256 checksum
How to use checksums
8c03cace55efd8e8983bb2a1869045f046cd9a0b737abdbc16cbe7a85306bf62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / enola_cli-0.4.25-py3-none-macosx_12_0_arm64.whl

Download URL enola_cli-0.4.25-py3-none-macosx_12_0_arm64.whl
Size 10.9 MB
Tags Python 3 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
36c58add2803b98e8969e549725defbd69690e57fda7fd6858636e1b9bc8eac6
BLAKE2b-256 checksum
How to use checksums
955e0aa04430e8293b599d58fb21ff4eb73a5a320fd265c9fbdffe4d8c4dc035
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.29

7 release files

0.4.28

7 release files

0.4.26

7 release files

This release

0.4.25 This release

7 release files

0.4.24

7 release files

0.4.23

7 release files

0.4.22

7 release files

0.4.21

7 release files

0.4.20

5 release files

0.4.19

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page