Eris maintains an up-to-date set of reports for every file in a codebase.
- Rewrite worker.py: each Worker uses a ProcessPoolExecutor(max_workers=1), tools run via loop.run_in_executor() in a forked OS subprocess - Remove create_process(), main(), stdin/stdout IPC, os.killpg - Remove eris-worker entry point from [project.scripts] in pyproject.toml - Update tests/worker_test.py for new Worker API - Guard _sweep_up/_sweep_down against IndexError when _entries is empty; keep cursor_position() try/except for stale y after row deletion |
||
|---|---|---|
| eris | ||
| packaging | ||
| tests | ||
| .gitignore | ||
| .python-version | ||
| BUGS | ||
| install | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| test-all | ||
| TODO | ||
| uv.lock | ||
Eris Codebase Monitor
Summary
Eris maintains an up to date set of reports for every file in a codebase.
Installation
Debian / Ubuntu / Fedora / Arch / Alpine
Install uv first if you don't have it.
Use uv to install eris:
uv tool install --python 3.14 git+https://forgejo.tail556789.ts.net/ahamilton/eris@2026.7.28
Then use eris to install all the tools it uses:
eris --install-all-tools
Then to run:
eris
eris-webserver <project> # Or a simple web interface.
Tools
| File types(103) | Tools(63) |
|---|---|
| .* | contents • metadata • git_diff • git_blame • git_log |
| .py | python_syntax • python_unittests • pytest • pydoc • mypy • python_coverage • pycodestyle • pyflakes • pylint • python_gut • python_mccabe • bandit • black • isort |
| .pl .pm .t | perl_syntax • perldoc |
| .p6 .pm6 | perl6_syntax |
| .pod .pod6 | perldoc |
| .c .h | c_syntax_gcc • cppcheck |
| .cc .cpp .hpp | cpp_syntax_gcc • cppcheck |
| .rb | ruby_syntax • rubocop |
| .rs | rustfmt • clippy |
| .lua | lua_syntax • lua_check |
| .js .ts | js_syntax • typescript_check |
| .php | php8_syntax |
| .go | go_vet • godoc |
| .bash .sh .dash .ksh | shellcheck |
| .wat | wat_syntax_check |
| .wasm | wasm_validate • wasm_objdump |
| pdf2txt | |
| .html .htm | html_syntax • html2text • elinks |
| .yaml .yml | yamllint |
| .md .epub .docx .odt .rst | pandoc |
| .zip .jar .apk .egg .whl | zipinfo |
| .tar.gz .tgz | tar_gz |
| .tar.bz2 | tar_bz2 |
| .7z | 7z |
| .xz | unxz |
| .a | ar • nm |
| .o | objdump_headers • objdump_disassemble • readelf |
| .so | nm |
| .deb | dpkg_contents • dpkg_info |
| .rpm | rpm |
| .png .jpg .jpeg .gif .bmp .tif .tiff .tga .ico .xpm | mediainfo • pil |
| .svg .svgz | cairosvg |
| .mkv .mka .mks .ogg .ogm .avi .wav .mpeg .mpg .vob .mp4 .mpgv .mpv .m1v .m2v .mp2 .mp3 .asf .wma .wmv .qt .mov .rm .rmvb .ra .ifo .ac3 .dts .aac .flac .aiff .aifc .au .iff .flv .srt .ssa .ass .sami | mediainfo |
| .iso | isoinfo |