Commit graph

42 commits

Author SHA1 Message Date
619c2305ff Bump version to 2026.8.5, depend on fill3 2026.8.5
fill3 2026.8.5 opens the GPU window at 120x30 by default and depends on
textgrid-rust 2026.8.5.
2026-08-05 08:39:17 +10:00
73dd42c488 Bump version to 2026.8.4, depend on fill3 2026.8.4
fill3 2026.8.4 pulls in textgrid-rust 2026.8.4, which fixes window mode
rendering brighter than a terminal (non-sRGB surface format).
2026-08-04 23:12:45 +10:00
5e0fd54a92 Use pyinstaller build for Docker images, drop shiv
The shiv zipapp's shebang points at the system python3 (GIL-enabled),
which cannot load the cp314t extensions built under the free-threaded
3.14 project venv, so ./dist/eris failed at runtime. pyinstaller bundles
its own 3.14t interpreter and works, so the Dockerfiles now run the
pyinstaller binary directly instead of via a python wrapper, and the
debian image no longer needs to install uv/python. Remove build-shiv and
the shiv dev dependency; build comments use podman.
2026-08-04 10:33:13 +10:00
eebb226b21 Use worker threads instead of subprocesses, bump to 2026.8.3
Convert each Worker from a subprocess to a thread running the tool in a
ThreadPoolExecutor, so eris can run free-threaded under CPython 3.14t.
Bump fill3 and lscolors deps to 2026.8.3 for the GIL-free cwcwidth chain.
2026-08-03 09:46:44 +10:00
ced2895fbc raise requires-python to >=3.14
Align the minimum Python version with .python-version, the Dockerfiles,
and the cp314 wheels the build produces, since itertools.batched
(python 3.12+) is now used in paged_list.
2026-07-31 22:20:50 +10:00
cfc6e2d176 Relax requires-python to >=3.11, set .python-version to 3.13 2026-07-30 23:31:02 +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
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
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
3da95703a1 bump version to 2026.7.28 2026-07-28 12:17:00 +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
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
a5c94a9072 Bump version to 2026.7.27 and fix push-new-version format 2026-07-27 10:05:07 +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
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
e70134f593 Revert dependency sources to HTTPS for portability 2026-07-23 06:37:02 +10:00
c588d756a5 Switch dependency sources to SSH 2026-07-23 06:25:37 +10:00
c4adf649b4 Add --window flag with textgrid support; separate fill3 into standalone repo 2026-07-21 22:15:59 +10:00
412fc6a9a5 Self hosting the git repo
- Using Tailscale
2026-03-05 11:15:29 +10:00
9e24f7cb85 Update version to v2025.07.11 2025-07-11 23:05:37 +10:00
ac7c7010df Update version to v2025.06.21 2025-06-21 14:43:57 +10:00
403e056802 Update version to v2025.06.14 2025-06-14 09:06:23 +10:00
6ec4f958ff Update version to v2025.06.09 2025-06-09 15:53:06 +10:00
5ba4f6bb81 Update version to v2025.06.07 2025-06-07 22:02:35 +10:00
03c2644ac4 packaging: Make pyproject.toml work with pip 2025-06-07 21:52:06 +10:00
5448eced5a Update version to v2025.06.04 2025-06-04 16:00:26 +10:00
0effc3da49 Specify the build-system in pyproject.toml
- Needed so that "uv tool install" can work with a git url.
- pipx seemed to work without this.
- Also need to ensure that tools.toml is installed as package-data.
2025-06-04 15:57:40 +10:00
06e9250888 Switch dependency docopt to docopt-ng
- docopt is unmaintained and giving SyntaxWarnings
2025-06-03 19:34:26 +10:00
95603d2985 Update version to v2025.06.03 2025-06-03 16:38:11 +10:00
63a2c0dfd9 Use tomllib now that toml is in the standard library 2025-06-03 16:36:58 +10:00
e9bc97fb40 Bring dependencies up to date 2025-06-03 16:34:14 +10:00
6ec0d4e1ff Fix pyinotify dependency to work with latest pythons
- pyinotify is not working anymore since it needs asyncore which has been
  removed from the standard library
- Someone created pyinotify-elephant-fork to superseed pyinotify
2025-06-03 14:00:12 +10:00
1377b36d28 sorted_collection is bundled and not special 2024-12-28 18:36:38 +10:00
fb354cba60 Update version to v2024.12.28 2024-12-28 17:33:05 +10:00
fe5389d698 packaging: Try using uv workspaces. 2024-12-28 17:29:38 +10:00
Renamed from eris/pyproject.toml (Browse further)