Skip to content

Pypi publishing - #34

Merged
NCCU-Schultz-Lab merged 2 commits into
mainfrom
pypi-publishing
Jul 31, 2026
Merged

Pypi publishing#34
NCCU-Schultz-Lab merged 2 commits into
mainfrom
pypi-publishing

Conversation

@NCCU-Schultz-Lab

Copy link
Copy Markdown
Collaborator

No description provided.

NCCU-Schultz-Lab and others added 2 commits July 31, 2026 10:05
M-PYPI PYPI.2 + PYPI.3. No runtime code changes.

pyproject:
  - Add [project.urls] so the PyPI sidebar has Homepage/Source/Docs/
    Changelog/Issues links.
  - Add the MIT licence classifier (PyPI reads the sidebar licence from the
    classifier, not the [project] license table), plus OS/Framework/
    Environment classifiers. PySCF is Linux/macOS only, so saying that in
    metadata means pip users learn it before an install failure.
  - Drop setuptools_scm from build-system requires. It was never configured
    — no [tool.setuptools_scm] table and a static version — so nothing
    consumed it. Shipping a build dependency that does nothing would just
    confuse a downstream packager.

README:
  - Rewrite 18 repo-relative links to absolute GitHub URLs. PyPI renders the
    README standalone with no repo context, so every one of them would have
    404'd on the project page.
  - Add the PyPI version badge.

MANIFEST.in (new) — sdist was shipping tests/ and omitting CHANGELOG.md.
Policy documented in the file: include what a user or downstream packager
needs to understand what they installed; exclude anything only useful from a
git clone (tests need dev extras + PySCF and aren't importable from an
installed copy; container recipes, launchers, notebooks and the docs site are
all clone-time material).

Verified: `python -m build` produces both artifacts, `twine check` passes on
each, the sdist now carries CHANGELOG.md and no tests/, and the wheel still
contains all six bundled data files (3Dmol.js, library.sqlite, manifests) so
offline structure lookup and 3D rendering work from a pip install.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Version 0.5.0 across pyproject, quantui/__init__ and the Apptainer def. A
minor bump rather than a patch: [Unreleased] had accumulated a new
calculation type (reorganization energy) plus GPU diagnostics and toggle, the
live-log rewrite, the silent-phase heartbeat, and geo-opt seed geometry.

Dependency caps at the MAJOR boundary. QuantUI is installed by students as an
application rather than consumed as a library, so the usual "never cap in a
library" advice does not apply — and the motivating problem is concrete:
Voila 0.5.x declares no upper bound on jupyterlab, so a fresh install already
resolves a Lab newer than Voila was built against and logs federated-extension
errors in the browser console. Harmless today, but shipping an unbounded stack
to students means the next major can break them with no error we control.
Minor and patch updates still flow.

Caps were verified against the working environment rather than assumed, which
caught one error before it shipped: ipykernel<7 would have excluded the
installed and working 7.3.0. Corrected to <8 in both extras that declare it.

CHANGELOG: cut the 0.5.0 section and completed it — the entries for PRs #32
and #33 had never been written, so the release notes would have omitted the
log-scroll fix, the monospace fix, basis-notation clarity, the heartbeat, the
launcher banner, pre-opt suppression and geo-opt seed geometry. Also merged
the duplicate ### Added headings that had accumulated across sessions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@NCCU-Schultz-Lab
NCCU-Schultz-Lab merged commit 10ebabc into main Jul 31, 2026
5 checks passed
@NCCU-Schultz-Lab
NCCU-Schultz-Lab deleted the pypi-publishing branch July 31, 2026 18:01
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