Skip to content

PDFCLOUD-5592 Publish to PyPI - fill out metadata#34

Merged
datalogics-cgreen merged 2 commits intopdfrest:mainfrom
datalogics-kam:pdfcloud-5592-publish-to-pypi
Feb 20, 2026
Merged

PDFCLOUD-5592 Publish to PyPI - fill out metadata#34
datalogics-cgreen merged 2 commits intopdfrest:mainfrom
datalogics-kam:pdfcloud-5592-publish-to-pypi

Conversation

@datalogics-kam
Copy link
Copy Markdown
Contributor

@datalogics-kam datalogics-kam commented Feb 20, 2026

PDFCLOUD-5592

Why this change

Publishing this SDK to PyPI required complete package metadata and a local/release build setup that works consistently. Before this change, key metadata fields were missing from pyproject.toml, and local uv build was blocked by a global UV setting. That increased release friction and reduced package discoverability/quality signals on PyPI.

What changed (high level)

The project metadata in pyproject.toml was expanded to align with modern Python packaging guidance: explicit Markdown readme content type, maintainer metadata, keywords, Python-version classifiers, and project URLs (homepage, docs, source).

The UV config was also adjusted to remove the global no-build behavior from [tool.uv], so package builds are not disabled for contributors running uv build locally. This keeps dev ergonomics aligned with the release workflow instead of forcing local overrides.

Behavior changes

At runtime, SDK API behavior is unchanged.

Packaging behavior changed in two concrete ways:

  • Built distributions now publish richer metadata to PyPI (classifiers, keywords, maintainer, project URLs, markdown readme content type).
  • Local uv build succeeds without --no-config, since build blocking is no longer globally configured in project UV settings.

No public SDK interfaces or payload semantics changed.

Validation

Validation focused on packaging/build behavior:

  • Confirmed uv build --python 3.11 succeeds and produces both sdist and wheel.
  • Confirmed generated wheel metadata includes the new fields (keywords, project URLs, markdown content type, classifiers, maintainer).

Limitations:

  • No runtime SDK behavior changes were introduced, so no API-specific functional test expansion was needed for this PR.

Risks and follow-ups

Risk is low and scoped to packaging metadata/config.

Notable consideration:

  • GitHub Issues URL is intentionally not advertised in metadata while Issues are disabled; this should be re-enabled when repository issue tracking is turned back on.

Breaking changes: none.

- Updated `readme` entry to include content type.
- Added `maintainers`, `keywords`, and `classifiers` fields.
- Defined support for Python 3.10 to 3.14 using `requires-python` and
  `classifiers`.
- Added project URLs for homepage, documentation, and source repository.

Assisted-by: Codex
- Dropped the `no-build` configuration from `[tool.uv]` in `pyproject.toml`.
- Ensures compatibility with updated UV tool requirements.

Assisted-by: Codex
@netlify
Copy link
Copy Markdown

netlify Bot commented Feb 20, 2026

Deploy Preview for pdfrest-python ready!

Name Link
🔨 Latest commit 4858f14
🔍 Latest deploy log https://app.netlify.com/projects/pdfrest-python/deploys/6998df43ff3dc400083ffd14
😎 Deploy Preview https://deploy-preview-34--pdfrest-python.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@datalogics-cgreen datalogics-cgreen merged commit 284f4d7 into pdfrest:main Feb 20, 2026
20 checks passed
@datalogics-kam datalogics-kam deleted the pdfcloud-5592-publish-to-pypi branch February 20, 2026 22:39
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