deeptools / pyBigWig

A python extension for quick access to bigWig and bigBed files
MIT License
212 stars 48 forks source link

Updated build and wheel distribution for pyBigWig #135

Closed EricR86 closed 1 year ago

EricR86 commented 1 year ago

This pull request addresses Issue #133.

The changes do the following:

The github actions have been slightly modified to include artifacts being built and uploaded for verification from a pull request. See the bottom of this action on my fork for an example.

I have not yet tested but since the changes to the code (in setup.py) are minimal, it is very likely that a source distribution would still work on Python 2.7. I'm not certain if you would still like to support this version and it was excluded from the package metadata.

The numpy tests seem to be currently failing due to API deprecation issues. Other than that I cannot detect any regressions from this pull request.

Let me know if there's anything specifically you would like tuned or changed.

dpryan79 commented 1 year ago

@EricR86 Thanks, I've approved the CI tests to run. You know far more about this bit of packaging than me, so if it passes CI testing I'll merge and tag a release :)

dpryan79 commented 1 year ago

For some reason sdist is tagging this as version 0.0.0 on pypi. I'll look into fixing that later today.

EricR86 commented 1 year ago

For some reason sdist is tagging this as version 0.0.0 on pypi. I'll look into fixing that later today.

Currently the very likely reason for this is due to a lack of tags being checked out by the github checkout action.

Only a single commit is fetched by default, for the ref/SHA that triggered the workflow. Set fetch-depth: 0 to fetch all history for all branches and tags. Refer [here](https://help.github.com/en/articles/events-that-trigger-workflows) to learn which commit $GITHUB_SHA points to for different events.

The setuptools_scm will tag the build appropriately by commit ID, and just plain tag if it's on that particular commit that has a git tag. If you don't want to use this system at all for versioning, remove dynamic = ["version"] from pyproject.toml.

dpryan79 commented 1 year ago

Thanks, that fixed it :)