Skip to content

Prepare package for PyPI release#1

Closed
claying wants to merge 1 commit into
mainfrom
release-prep
Closed

Prepare package for PyPI release#1
claying wants to merge 1 commit into
mainfrom
release-prep

Conversation

@claying
Copy link
Copy Markdown
Collaborator

@claying claying commented May 13, 2026

Summary

  • PyPI packaging: switched to find-based package discovery so all subpackages (tedbench.*, minesm.*) are correctly installed; added setuptools>=64 / setuptools-scm>=8; populated dependencies from requirements.txt; moved fair-esm to an optional [baselines] extra so the core install has no Facebook Research dependency
  • Top-level API: new tedbench/__init__.py exposing tedbench.load_model(name) and tedbench.list_models() with a registry of all 12 HF models (TEDBench/*); __version__ via importlib.metadata
  • Richer PyPI metadata: 10 classifiers (Development Status, Intended Audience, License, OS, Python 3.9–3.11, two Topic entries)
  • PEP 561: tedbench/py.typed marker so mypy/pyright recognise the package as typed
  • CITATION.cff: machine-readable citation for GitHub's "Cite this repository" button
  • CHANGELOG.md: initial v0.1.0 entry
  • CI workflow (.github/workflows/ci.yml): runs on every push/PR to main, tests Python 3.10 and 3.11, verifies all subpackage imports succeed
  • README: documents pip install TEDBench, pip install "TEDBench[baselines]", and the new tedbench.load_model / tedbench.list_models API

To publish to PyPI after merging

  1. Configure trusted publishing on pypi.org (Account → Publishing → Add pending publisher: project TEDBench, workflow publish.yml, environment pypi)
  2. Create the pypi environment in GitHub repo Settings → Environments
  3. Tag the release:
    git tag v0.1.0
    git push origin v0.1.0

🤖 Generated with Claude Code

Packaging
- pyproject.toml: switch to find-based package discovery (tedbench*,
  minesm*) so all subpackages are correctly installed; pin
  setuptools>=64 / setuptools-scm>=8; populate dependencies from
  requirements.txt; move fair-esm to [baselines] optional extra;
  add py.typed to package-data; richer classifiers (Development Status,
  Intended Audience, License, OS, Python 3.9–3.11, two Topic entries)
- tedbench/py.typed: PEP 561 marker for type checkers

Top-level API
- tedbench/__init__.py: __version__ via importlib.metadata,
  list_models() returning metadata for all 12 TEDBench/* HF models,
  load_model(name) resolving short names via registry or passing
  through full HF repo IDs / local paths

Documentation
- README: pip install TEDBench as recommended option, baselines extra,
  tedbench.load_model / tedbench.list_models usage example
- CITATION.cff: machine-readable citation for GitHub's Cite button
- CHANGELOG.md: initial v0.1.0 entry

CI / CD
- .github/workflows/ci.yml: import-check CI on push/PR to main;
  uses --no-deps + find_spec to verify package structure without
  pulling in torch or other heavy runtime deps
- .github/workflows/publish.yml: publish to PyPI on v* tag push
  via OIDC trusted publishing (already committed on main)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@claying
Copy link
Copy Markdown
Collaborator Author

claying commented May 13, 2026

Recreating as a single squashed commit.

@claying claying closed this May 13, 2026
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