Skip to content

Make finnpower-counter an installable package (0.2.0) - #5

Open
malinkin-s wants to merge 1 commit into
mainfrom
claude/package-2026-10-03-0548
Open

malinkin-s wants to merge 1 commit into
mainfrom
claude/package-2026-10-03-0548

Conversation

@malinkin-s

Copy link
Copy Markdown
Owner

Tasks P-01 and P-02: Nestrack will reuse this parser as a pinned package instead of copying it.

Changes

  • pyproject.toml — setuptools build, no runtime dependencies, version read from finnpower_counter.__version__, commands finnpower-counter and finnpower-counter-gui. The license stays in the table form: the SPDX string needs setuptools ≥ 77, which no longer runs on Python 3.8.
  • Version 0.2.0 and CHANGELOG.md — the first release meant to be tagged; it covers the audit fixes from Исправления по аудиту: обезличивание отчёта, нечитаемые файлы, CI #2.
  • tests/test_packaging.py — core and presentation must import nothing from tkinter, socket, ssl, http, urllib; checked in a separate process. Verified that it fails when import socket is added to presentation.py.
  • CI — builds the wheel, installs it into a clean venv and runs it from outside the source tree, on Windows / Python 3.8 x86 and Linux / Python 3.13.
  • README (EN/RU) — installing as a package.
  • FINDINGS / TASKS — FND-19 / M-12: piping CLI output into head raises BrokenPipeError, which is treated as a crash and writes an error report. Found while testing the package; not fixed here.

Verified locally

  • 234 passed, 6 skipped.
  • Wheel installed into clean Python 3.8 and 3.13 environments; finnpower_counter.core imports without Tk; the CLI runs on the shift_ok fixture.
  • The new CI step was run locally with the same script.

After merge

P-01 is complete once v0.2.0 is tagged on main; the install command in the README points at that tag.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CW3WfPRekjK4x6M8VNRckz


Generated by Claude Code

Nestrack will reuse the parser instead of copying it, so the utility now
installs with pip and its parser imports without a GUI (tasks P-01, P-02).

- pyproject.toml: setuptools build, no runtime dependencies, version read
  from finnpower_counter.__version__, `finnpower-counter` and
  `finnpower-counter-gui` commands.
- Version 0.2.0 and CHANGELOG.md: the first release meant to be tagged,
  covering the audit fixes from #2.
- tests/test_packaging.py: core and presentation must import nothing from
  tkinter, socket, ssl, http or urllib (checked in a separate process).
- CI: build the wheel, install it into a clean venv and run it from outside
  the source tree, on Windows/Python 3.8 x86 and Linux/Python 3.13.
- README: installing as a package.
- FINDINGS/TASKS: BrokenPipeError in the CLI treated as a crash (FND-19,
  M-12), found while testing the package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CW3WfPRekjK4x6M8VNRckz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants