Skip to content

Cross-project review cleanups#4

Merged
lnagel merged 12 commits into
mainfrom
lenno/cleanups
Feb 17, 2026
Merged

Cross-project review cleanups#4
lnagel merged 12 commits into
mainfrom
lenno/cleanups

Conversation

@lnagel
Copy link
Copy Markdown
Member

@lnagel lnagel commented Feb 17, 2026

Summary

Cross-project review cleanups. 8 files changed.

pyproject.toml

  • Removed unused wheel.exclude — build never produces lib/ or include/ dirs since upstream install() rules are suppressed
  • Added Changelog URL pointing to GitHub releases

CI (.github/workflows/build.yml)

  • Moved source gcc-toolset-13/enable before all builds so GCC 13 is explicitly active for both OpenSSL and xmlsec1 compilation

SWIG interface

  • Added %$not %$isconstructor, %$not %$isdestructor to %rename rules, matching pycdoc's pattern to prevent potential constructor naming issues

Documentation

  • Updated README build-from-source to use uv build --wheel
  • Updated CLAUDE.md wording ("installable wheels" instead of "pip-installable")

Tests

  • Added lib pytest fixture in conftest.py to replace manual try/finally init/terminate boilerplate
  • Added tests for app_info(), user_agent(), and initialize_lib() with custom schema path
  • 19 → 22 tests, all passing

Housekeeping

  • Added TODO.md to .gitignore (local working file)

Deferred

Test plan

  • uv run pytest tests/ -v — 22 tests passing
  • uv build --wheel — wheel builds successfully
  • Verify CI workflow passes

🤖 Generated with Claude Code

lnagel and others added 12 commits February 17, 2026 09:31
The wheel.exclude for lib/** and include/** is unnecessary since upstream
install() rules are suppressed — the build never produces those directories.
Add Changelog URL pointing to GitHub releases for PyPI metadata.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Match upload-artifact@v7 with download-artifact@v7 for consistency.
Move `source gcc-toolset-13/enable` before both OpenSSL and xmlsec1
builds so the GCC 13 compiler is explicitly active for all compilations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add %$not %$isconstructor and %$not %$isdestructor to both %rename
directives, matching pycdoc's pattern. Prevents potential issues with
constructor naming being converted to snake_case.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace `pip install .` with `uv build --wheel && pip install dist/*.whl`
for consistency with CLAUDE.md and the actual dev workflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add conftest.py with lib fixture to reduce initialize/terminate
boilerplate in integration tests. Add tests for app_info(), user_agent(),
and initialize_lib() with custom schema path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The initialize() and initialize_lib() parameter `user_agent` shadowed
the imported `user_agent` function from the SWIG module. Rename to
`user_agent_str` to avoid confusion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Mark 10 items as done with explanations. 4 items remain deferred:
OpenSSL upgrade, PR build gating, RELINKING.md pip instructions,
director test assertion, and upstream version tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace `pip install build && python -m build --wheel` with
`uv build --wheel` for consistency with the rest of the project.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use `uv add` for installation, `uv tool install` for CI build tools,
and `uv run --with` for ad-hoc test dependencies. No pip references
remain in the project.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Keep as a local working file, not committed to the repository.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Revert CIBW_BEFORE_BUILD from `uv tool install` back to
  `uv pip install --system` — uv tool install puts binaries in
  isolated envs where CMake's find_package cannot find them
- Revert test step to multi-line uv venv/pip install approach
- Restore `pip install pydigidoc` in README (universal for end users)
- Restore pip-based build instructions in RELINKING.md (LGPL
  compliance users may not have uv)
- Revert user_agent parameter rename to avoid public API break

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
upload-artifact@v7 does not exist — v6 is the latest. The original v6
was correct; download-artifact@v7 is compatible with upload-artifact v4+.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@lnagel lnagel merged commit 613f166 into main Feb 17, 2026
6 checks passed
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.

1 participant