Skip to content

chore: fix package metadata and CFFI builder layout - #10

Merged
bright2227 merged 1 commit into
mainfrom
chore/package-metadata
Jul 28, 2026
Merged

chore: fix package metadata and CFFI builder layout#10
bright2227 merged 1 commit into
mainfrom
chore/package-metadata

Conversation

@bright2227

Copy link
Copy Markdown
Owner

Summary

  • rename the CFFI build script to _ffi_build.py and stop installing it as a top-level module
  • correct project metadata, classifiers, and dependency declarations
  • tighten the source manifest to include source inputs while excluding generated artifacts
  • refresh the lockfile for the corrected project configuration

Why

The previous setup exposed the build-only ffi.py as an installable top-level module and did not accurately describe the package or its distribution contents.

Impact

Installed wheels contain only the uringloop package, while source distributions retain the CFFI build input needed to compile cleanly.

Validation

  • uv run pytest -q — 17 passed
  • uv run ruff check uringloop tests _ffi_build.py
  • uv lock --check
  • built and inspected the wheel and source distribution
  • twine check passed for both artifacts
  • git diff --check main...HEAD

- Rename ffi.py to _ffi_build.py and drop it from py_modules: it is a
  build-time script, but it was being installed into site-packages as a
  top-level module named 'ffi', colliding with any other package that
  ships one. The sdist still includes it via MANIFEST.in.
- Drop the __name__ == '__cffi__' compile trick; the setuptools
  cffi_modules integration only needs the ffibuilder attribute and
  compiles the extension itself.
- pyproject: remove setuptools from runtime dependencies (build-only),
  remove the invalid package-dir key under [build-system], drop the
  redundant wheel build requirement, and fill in description, SPDX
  license, keywords and classifiers for the PyPI page.
- README: note that installing the sdist compiles the extension and
  needs liburing headers plus a C compiler.
- Regenerate uv.lock (setuptools removed as a project dependency).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bright2227
bright2227 marked this pull request as ready for review July 28, 2026 15:21
@bright2227
bright2227 merged commit a66d029 into main Jul 28, 2026
1 check 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