pycdc icon indicating copy to clipboard operation
pycdc copied to clipboard

PyPi distribution

Open percevalw opened this issue 1 year ago • 0 comments

Hi,

This PR follows #349 and adds GitHub actions to build, test and upload pre-built binaries & source package to PyPI (under the name pycdc) for most platforms. This allows end users to simply run:

pip install pycdc

to install the library, without having to clone or build anything in most cases (with the exception of arm based macs and other exotic platforms that need to have pre-installed build environments to run the above command).

There are two new workflow files triggered by hand or by the following events:

  • on push to branch vx.y.z (version bump branches): build and test python binaries against major platforms
  • on releases: build, test and upload binaries & source to PyPI. This one requires manually uploading a first package (usually empty or source dist) to pypi to acquire the pycdc name and enabling the Trusted Publisher feature

I've restricted python versions to 3.7 to 3.10, since I was not able to build the lib for python < 3.7 and python 3.11 doesn't seem well supported atm (in particular, tests/test_bindings.py fails with in 3.11). In theory, python 3.11 could be used to run decompile code, but only of lower versions of python at the moment, which might be confusing ? Let me know what you think.

I also took the liberty of adding some shields to the readme to reflect the state of the project (tests / pypi version / installable python versions).

percevalw avatar Jun 07 '23 00:06 percevalw