Skip to content

CASSPYTHON-21 Wheels for 3.30.0 include Cython-generated .c files#1291

Open
absurdfarce wants to merge 1 commit intoapache:trunkfrom
absurdfarce:casspython21
Open

CASSPYTHON-21 Wheels for 3.30.0 include Cython-generated .c files#1291
absurdfarce wants to merge 1 commit intoapache:trunkfrom
absurdfarce:casspython21

Conversation

@absurdfarce
Copy link
Copy Markdown
Contributor

No description provided.

@absurdfarce
Copy link
Copy Markdown
Contributor Author

absurdfarce commented Apr 28, 2026

Local source dist and wheel builds indicate that the C files are now excluded:

$ gzip -dc dist/cassandra_driver-3.30.0.tar.gz | tar tf - | grep "\\.c"
cassandra_driver-3.30.0/cassandra/cmurmur3.c
cassandra_driver-3.30.0/cassandra/io/libevwrapper.c
cassandra_driver-3.30.0/setup.cfg
$ unzip -l dist/cassandra_driver-3.30.0-cp310-cp310-linux_aarch64.whl | grep "\\.c"
   309416  2026-04-27 22:29   cassandra/bytesio.cpython-310-aarch64-linux-gnu.so
 10620896  2026-04-27 22:28   cassandra/cluster.cpython-310-aarch64-linux-gnu.so
     6160  2026-02-24 16:52   cassandra/cmurmur3.c
    84888  2026-04-27 22:27   cassandra/cmurmur3.cpython-310-aarch64-linux-gnu.so
  1028712  2026-04-27 22:28   cassandra/concurrent.cpython-310-aarch64-linux-gnu.so
  4963408  2026-04-27 22:28   cassandra/connection.cpython-310-aarch64-linux-gnu.so
  4415416  2026-04-27 22:28   cassandra/cqltypes.cpython-310-aarch64-linux-gnu.so
   118640  2026-04-27 22:29   cassandra/cython_marshal.cpython-310-aarch64-linux-gnu.so
   148064  2026-04-27 22:29   cassandra/cython_utils.cpython-310-aarch64-linux-gnu.so
  3546712  2026-04-27 22:29   cassandra/deserializers.cpython-310-aarch64-linux-gnu.so
   120552  2026-04-27 22:29   cassandra/ioutils.cpython-310-aarch64-linux-gnu.so
  8128976  2026-04-27 22:28   cassandra/metadata.cpython-310-aarch64-linux-gnu.so
  1383568  2026-04-27 22:29   cassandra/numpy_parser.cpython-310-aarch64-linux-gnu.so
  1446288  2026-04-27 22:29   cassandra/obj_parser.cpython-310-aarch64-linux-gnu.so
  1326672  2026-04-27 22:29   cassandra/parsing.cpython-310-aarch64-linux-gnu.so
  2582672  2026-04-27 22:29   cassandra/pool.cpython-310-aarch64-linux-gnu.so
  4155080  2026-04-27 22:29   cassandra/protocol.cpython-310-aarch64-linux-gnu.so
  2203000  2026-04-27 22:29   cassandra/query.cpython-310-aarch64-linux-gnu.so
  1141064  2026-04-27 22:29   cassandra/row_parser.cpython-310-aarch64-linux-gnu.so
  5471952  2026-04-27 22:29   cassandra/util.cpython-310-aarch64-linux-gnu.so
    22390  2026-02-24 16:52   cassandra/io/libevwrapper.c
   105352  2026-04-27 22:27   cassandra/io/libevwrapper.cpython-310-aarch64-linux-gnu.so

libevwrapper.c and cmurmur.c are apparently still included here because they're explicitly called out in MANIFEST.in. This is actually desirable; we want those files included (at least in a source distribution) so that native libs can be recompiled if need be. The Cython C files should be regenerated in that case so they very definitely should not be in the source tarball.

This looks very different from the source dist and wheel builds uploaded for 3.30.0:

$ gzip -dc cassandra_driver-3.30.0.tar.gz | tar tf - | grep "\\.c"
cassandra_driver-3.30.0/cassandra/bytesio.c
cassandra_driver-3.30.0/cassandra/cluster.c
cassandra_driver-3.30.0/cassandra/cmurmur3.c
cassandra_driver-3.30.0/cassandra/concurrent.c
cassandra_driver-3.30.0/cassandra/connection.c
cassandra_driver-3.30.0/cassandra/cqltypes.c
cassandra_driver-3.30.0/cassandra/cython_marshal.c
cassandra_driver-3.30.0/cassandra/cython_utils.c
cassandra_driver-3.30.0/cassandra/deserializers.c
cassandra_driver-3.30.0/cassandra/io/libevwrapper.c
cassandra_driver-3.30.0/cassandra/ioutils.c
cassandra_driver-3.30.0/cassandra/metadata.c
cassandra_driver-3.30.0/cassandra/numpy_parser.c
cassandra_driver-3.30.0/cassandra/obj_parser.c
cassandra_driver-3.30.0/cassandra/parsing.c
cassandra_driver-3.30.0/cassandra/pool.c
cassandra_driver-3.30.0/cassandra/protocol.c
cassandra_driver-3.30.0/cassandra/query.c
cassandra_driver-3.30.0/cassandra/row_parser.c
cassandra_driver-3.30.0/cassandra/util.c
cassandra_driver-3.30.0/setup.cfg
$ unzip -l cassandra_driver-3.30.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl | grep "\\.c"
   406818  2026-04-02 18:26   cassandra/bytesio.c
   201904  2026-04-02 18:26   cassandra/bytesio.cpython-310-aarch64-linux-gnu.so
  6387034  2026-04-02 18:26   cassandra/cluster.c
  1601544  2026-04-02 18:26   cassandra/cluster.cpython-310-aarch64-linux-gnu.so
     6160  2026-04-02 18:26   cassandra/cmurmur3.c
   199168  2026-04-02 18:26   cassandra/cmurmur3.cpython-310-aarch64-linux-gnu.so
   785901  2026-04-02 18:26   cassandra/concurrent.c
   269480  2026-04-02 18:26   cassandra/concurrent.cpython-310-aarch64-linux-gnu.so
  3063338  2026-04-02 18:26   cassandra/connection.c
   801192  2026-04-02 18:26   cassandra/connection.cpython-310-aarch64-linux-gnu.so
  2704347  2026-04-02 18:26   cassandra/cqltypes.c
   736696  2026-04-02 18:26   cassandra/cqltypes.cpython-310-aarch64-linux-gnu.so
   248945  2026-04-02 18:26   cassandra/cython_marshal.c
   199496  2026-04-02 18:26   cassandra/cython_marshal.cpython-310-aarch64-linux-gnu.so
   293379  2026-04-02 18:26   cassandra/cython_utils.c
   199616  2026-04-02 18:26   cassandra/cython_utils.cpython-310-aarch64-linux-gnu.so
  3121519  2026-04-02 18:26   cassandra/deserializers.c
   618688  2026-04-02 18:26   cassandra/deserializers.cpython-310-aarch64-linux-gnu.so
   262295  2026-04-02 18:26   cassandra/ioutils.c
   199520  2026-04-02 18:26   cassandra/ioutils.cpython-310-aarch64-linux-gnu.so
  4996441  2026-04-02 18:26   cassandra/metadata.c
  1273800  2026-04-02 18:26   cassandra/metadata.cpython-310-aarch64-linux-gnu.so
  1260033  2026-04-02 18:26   cassandra/numpy_parser.c
   336784  2026-04-02 18:26   cassandra/numpy_parser.cpython-310-aarch64-linux-gnu.so
  1355955  2026-04-02 18:26   cassandra/obj_parser.c
   339640  2026-04-02 18:26   cassandra/obj_parser.cpython-310-aarch64-linux-gnu.so
  1240954  2026-04-02 18:26   cassandra/parsing.c
   338168  2026-04-02 18:26   cassandra/parsing.cpython-310-aarch64-linux-gnu.so
  1653971  2026-04-02 18:26   cassandra/pool.c
   466808  2026-04-02 18:26   cassandra/pool.cpython-310-aarch64-linux-gnu.so
  2581992  2026-04-02 18:26   cassandra/protocol.c
   670680  2026-04-02 18:26   cassandra/protocol.cpython-310-aarch64-linux-gnu.so
  1564843  2026-04-02 18:26   cassandra/query.c
   405520  2026-04-02 18:26   cassandra/query.cpython-310-aarch64-linux-gnu.so
  1136591  2026-04-02 18:26   cassandra/row_parser.c
   270936  2026-04-02 18:26   cassandra/row_parser.cpython-310-aarch64-linux-gnu.so
  3432488  2026-04-02 18:26   cassandra/util.c
   878520  2026-04-02 18:26   cassandra/util.cpython-310-aarch64-linux-gnu.so
    22390  2026-04-02 18:26   cassandra/io/libevwrapper.c
   329017  2026-04-02 18:26   cassandra/io/libevwrapper.cpython-310-aarch64-linux-gnu.so

@absurdfarce
Copy link
Copy Markdown
Contributor Author

For sake of completeness I installed the wheel file built from this change in a local venv and confirmed that C source files are not present. Mainly wanted to make sure they weren't sneaking in from somewhere else.

@absurdfarce absurdfarce requested a review from bschoening April 28, 2026 20:21
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