Skip to content

feat: PyPI Package Publishing (fn-40)#108

Merged
bordumb merged 7 commits intomainfrom
feat/fn-40-pypi-publishing
Jan 31, 2026
Merged

feat: PyPI Package Publishing (fn-40)#108
bordumb merged 7 commits intomainfrom
feat/fn-40-pypi-publishing

Conversation

@bordumb
Copy link
Owner

@bordumb bordumb commented Jan 31, 2026

Summary

  • Set up PyPI publishing infrastructure for dataing-cli, dataing-sdk, dataing-notebook, and dataing meta-package
  • Standardize all packages to Apache-2.0 license (except dataing-ee which is Proprietary)
  • Add Python 3.10-3.13 support for client packages

Changes

Package Publishing (fn-40.1 - fn-40.5)

  • Sync all package versions to 0.1.0 with scripts/sync_versions.py
  • Add CHANGELOG.md to each package (Keep a Changelog format)
  • Create reusable publish-pypi.yml workflow with OIDC trusted publishing
  • Create test-publish.yml for PR build validation
  • Create dataing meta-package with extras (cli, sdk, notebook, all)
  • Add publish job to release.yml that runs after semantic-release

License Standardization

  • All packages now Apache-2.0 (except dataing-ee: Proprietary)
  • Simplified LICENSE.md header

bordumb and others added 7 commits January 31, 2026 18:11
- Set all 6 pyproject.toml files to version 0.1.0
- Create scripts/sync_versions.py for atomic version updates
- Add CHANGELOG.md to each package directory (Keep a Changelog format)
- Configure semantic-release to run version sync on prepare step

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create reusable publish-pypi.yml workflow with OIDC trusted publishing
- Create test-publish.yml for PR build checks with twine validation
- Only client packages (cli, sdk, notebook) are published to PyPI

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Create python-packages/dataing-meta/ for PyPI distribution
- Add extras: cli, sdk, notebook, all
- Python 3.10+ support for broader compatibility
- Include in test-publish workflow and version sync script

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update requires-python to >=3.10 for all client packages
- Add Python version classifiers (3.10-3.13) to pyproject.toml
- Add tomli fallback for Python 3.10 in CLI config module
- Backend remains at >=3.11 (uses 3.11+ features)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add publish job that runs after semantic-release creates a new version
- Build and publish all 4 packages (cli, sdk, notebook, meta) to PyPI
- Use OIDC trusted publishing via pypa/gh-action-pypi-publish
- Docker and publish jobs run in parallel after release

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Update all packages to Apache-2.0 (except dataing-ee which is Proprietary)
- Add Apache 2.0 LICENSE files to cli, sdk, notebook packages
- Update license classifiers in pyproject.toml files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Default license is Apache-2.0
- Exceptions: docs/ (CC BY-SA 4.0), dataing-ee/ (Proprietary)
- Remove redundant entries for paths that share the default license

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@bordumb bordumb self-assigned this Jan 31, 2026
@vercel
Copy link

vercel bot commented Jan 31, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dataing Ready Ready Preview, Comment Jan 31, 2026 9:44pm
dataing-app Ready Ready Preview, Comment Jan 31, 2026 9:44pm
dataing-docs Ready Ready Preview, Comment Jan 31, 2026 9:44pm

@bordumb bordumb merged commit d972eb7 into main Jan 31, 2026
9 checks passed
@bordumb bordumb deleted the feat/fn-40-pypi-publishing branch January 31, 2026 21:52
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