Install & Compatibility
Where this runs
tested against v0.5.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 32.6MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.8s · import 0.000s · 33MB
33MB installed
● package 33MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ImportCycleFinder
✓ from py_import_cycles import ImportCycleFinder
✗ from py_import_cycles import ImportCycleFinder
Scan a package for import cycles. The function returns a dictionary mapping module paths to lists of cycles.
from py_import_cycles import find_cycles
cycles = find_cycles('my_package', include_external=False)
if cycles:
print('Cycles found:', cycles)
else:
print('No cycles detected')
py-import-cycles --version
Upgrade
Version history
0.6.2latest on PyPI · released Apr 15, 2026
Audit
Dependencies
No dependency data recorded yet.