7b82b8298d
use itertools.batched in paged_list batch()
...
Replace the groupby-based pure-Python batching with the C-implemented
itertools.batched (Python 3.12+), wrapped in map(list, ...) to preserve
list-typed pages.
2026-07-31 22:14:15 +10:00
6a39f1aa3c
coding style: Remove traces of snap builds
2026-07-31 21:56:50 +10:00
bcb1a0105b
Update TODO
...
- Am currently self hosting not publishing on PyPI
2026-07-31 21:21:02 +10:00
b52bd59eb6
Using standard pytest for testing
2026-07-31 21:18:59 +10:00
1ac0ef3dae
packaging: Don't need to run eris inside docker
2026-07-31 21:14:24 +10:00
feb0d0a68c
revert worker to subprocess model, self-spawning via --worker flag
...
ProcessPoolExecutor relied on private API, lost os.setpriority and
auto-restart. Revert to the subprocess worker but spawn the current
executable with --worker instead of a separate eris-worker console
script, keeping a single entry point for shiv/pyinstaller. Bump
.python-version to 3.14.
2026-07-31 19:30:40 +10:00
2b13609966
add PyInstaller build script
2026-07-30 23:57:49 +10:00
cfc6e2d176
Relax requires-python to >=3.11, set .python-version to 3.13
2026-07-30 23:31:02 +10:00
272b28c46c
revert Alpine Dockerfile to source-build for musl compatibility; restore uv-based Debian Dockerfile for Python 3.14
2026-07-30 13:01:52 +10:00
e35e2aefd5
simplify Dockerfiles to use pre-built dist/eris instead of uv build
...
Remove all build-dependency packages (glfw-dev, cmake, git, python3-dev,
libX11, mesa, etc.) that were only needed for building eris's Python deps
from source. Replace uv + source install with COPY dist/eris. Use
python3 /usr/local/bin/eris for ENTRYPOINT to avoid shebang portability
issues.
2026-07-30 12:24:32 +10:00
daba0d3eb4
add Shiv-based build for standalone eris executable
...
- Add 'shiv' to dev dependencies in pyproject.toml
- Add dist/ to .gitignore
- Create packaging/build-shiv script: builds dist/eris zipapp via
shiv -e eris.__main__:entry_point --compile-pyc --reproducible
- Update uv.lock
2026-07-30 12:06:57 +10:00
1f72a3cbc7
revert pydoc to TOML-defined subprocess tool, remove @in_separate_process
...
Replace the native pydoc() function (+ @in_separate_process, _call_in_process)
with a TOML tool definition running python3 -m pydoc directly. No ANSI
styling, no TermDoc, no process isolation decorator. This eliminates the
grandchild worker process (from nested ProcessPoolExecutor) that caused
TUI corruption on shutdown.
Also remove now-unused import concurrent.futures from tools.py.
Regenerate the pydoc golden file to match plain-text output.
2026-07-30 11:35:12 +10:00
ed6457a0f0
replace eris-worker subprocess with ProcessPoolExecutor; guard sweep generators against empty _entries
...
- 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
2026-07-30 11:35:12 +10:00
3925ded957
refactor pydoc: inline into tools.py with @in_separate_process decorator for subprocess isolation
2026-07-30 11:34:30 +10:00
7e758b4da5
fix package names for Fedora 44 and Arch; pin Dockerfile base images to current distro releases
2026-07-30 11:34:30 +10:00
c6a076c31d
fix Dockerfiles: add C++/make for glfw-sys source build; fix Alpine package names; fix EOL base images
2026-07-29 22:08:16 +10:00
e88385c861
add GLFW source build dependencies to all Dockerfiles
2026-07-29 12:48:23 +10:00
458e334f5d
regenerate uv.lock after lscolors dep fix (termstr inline git+ tag)
2026-07-29 09:21:01 +10:00
ef41f35812
fix Dockerfiles: add git, fix path to ./eris
2026-07-29 08:58:09 +10:00
6ffab2828a
update Dockerfiles: replace pipx with uv tool install --python 3.14
2026-07-29 08:49:34 +10:00
4f527b2ddb
bump fill3 dep to 2026.7.28 (textgrid-rust pyo3 0.23→0.24 for python 3.14)
2026-07-28 13:37:28 +10:00
9be41ce792
convert indented code blocks to fenced for copy-to-clipboard
2026-07-28 12:22:24 +10:00
3da95703a1
bump version to 2026.7.28
2026-07-28 12:17:00 +10:00
92cd41c152
packaging: Fix README
2026-07-28 12:10:29 +10:00
fe5640f9aa
packaging: Drop pipx as an installation method
2026-07-28 12:06:56 +10:00
5b1269ce1d
add --python 3.14 to uv tool install command in README and make-readme.py
2026-07-28 11:51:03 +10:00
b72de1d2e6
add .python-version for uv python 3.14 auto-download
2026-07-28 11:36:21 +10:00
e578b3cd5d
bump pillow 11.3.0→12.3.0, pygments 2.19.1→2.20.0
2026-07-28 11:32:32 +10:00
05ed8437eb
fix pillow 3.14 wheel support, fix extra-build-variables format
2026-07-28 11:25:30 +10:00
d22ae3c268
bump minimum python to 3.14, drop shebangs
2026-07-28 11:15:16 +10:00
659b1f891a
packaging: Remove appimage
2026-07-28 11:09:53 +10:00
f734dba3f1
packaging: Remove snap
2026-07-28 11:09:53 +10:00
22a23eea7c
Fix DeprecationWarning: asyncio.get_event_loop -> new_event_loop
2026-07-28 10:33:38 +10:00
2c5d7eb853
Accept updated golden files (log, window-orientation)
2026-07-28 10:30:42 +10:00
c906966ce8
Remove MainTestCase (incompatible with pytest) and unused imports
2026-07-28 10:26:59 +10:00
a3f8643c27
Add conftest.py for --diff/--accept pytest options
2026-07-28 10:18:09 +10:00
922ec123a9
Add pytest dev dep, ignore golden-files in test discovery, remove stale dirs
2026-07-28 10:02:29 +10:00
b50685c19c
Inline git deps in pyproject.toml (remove tool.uv.sources)
2026-07-28 09:47:32 +10:00
83ffd0cce1
Update uv.lock version, gitignore build/
2026-07-28 09:39:02 +10:00
a5c94a9072
Bump version to 2026.7.27 and fix push-new-version format
2026-07-27 10:05:07 +10:00
9fd42f2f62
Update lockfile for lscolors extraction
2026-07-27 09:44:15 +10:00
6cb5578326
Extract lscolors to standalone repo (2026.7.27)
2026-07-27 09:43:46 +10:00
c0bb85aa8c
Drop direct termstr dependency (transitive via fill3)
2026-07-27 09:30:38 +10:00
e0c197eb2f
Update lockfile for termstr extraction
2026-07-27 09:18:21 +10:00
1aa82b73c3
Extract termstr to standalone repo (2026.7.27)
2026-07-27 09:16:35 +10:00
8b6978277c
Remove direct textgrid dependency (transitive via fill3)
2026-07-24 12:54:48 +10:00
f1169dd441
Pin textgrid==0.1.0 and fill3==2026.7.22 with bg_color support
2026-07-24 12:48:30 +10:00
f399396616
Update textgrid to 0223087: fix SPIR-V coordinate space
2026-07-23 09:06:32 +10:00
c9c317f090
Update textgrid to c7887a7: v3d driver-based Y-flip detection
2026-07-23 08:41:58 +10:00
2bad84808d
Update textgrid to f4811fe: auto-detect Y-flip for RPi5
2026-07-23 08:12:14 +10:00