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.
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.
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 ourbuild_ext
subclass and avoid subclassingbuild
at all (as this is only supported in very recent setuptools).Import various items from setuptools instead of distutils.