pysam-developers / pysam

Pysam is a Python package for reading, manipulating, and writing genomics data such as SAM/BAM/CRAM and VCF/BCF files. It's a lightweight wrapper of the HTSlib API, the same one that powers samtools, bcftools, and tabix.
https://pysam.readthedocs.io/en/latest/
MIT License
774 stars 274 forks source link

Prepare for Python 3.12 by avoiding distutils in setup.py #1213

Closed jmarshall closed 1 year ago

jmarshall commented 1 year ago

Python 3.12 has removed distutils, so — even though setuptools will provide an interim distutils shim — it's best to avoid it.

Incorporate _cybuild.py directly into setup.py, which facilitates moving check_ext_symbol_conflicts() to our build_ext subclass and avoid subclassing build at all (as this is only supported in very recent setuptools).

Import various items from setuptools instead of distutils.

jmarshall commented 1 year ago

Thanks for reviewing this.

The _cybuild.py code that was still being used is still there, but I'm planning to re-examine it after the upcoming release. 😄