mkorman90 / regipy

Regipy is an os independent python library for parsing offline registry hives
MIT License
244 stars 53 forks source link

Relax libfwsi-python==20220123 requirement and other requirements #239

Closed pombredanne closed 2 years ago

pombredanne commented 2 years ago

At this stage, libfwsi-python is not available as prebuilt wheels for Linux or macOS and this makes it difficult to install in a few cases. I offered to help there but there is no reply yet at https://github.com/libyal/libfwsi/issues/19

In addition your requirement is pinned to an exact version which is problematic when using regipy as a library if there is an upgrade in the future. See this excellent article on the topic https://iscinumpy.dev/post/bound-version-constraints/

It would be great if you could relax the setup.py bounded requirements this way in https://github.com/mkorman90/regipy/blob/16fdf3ff0b5b60d068b0fdafad6f753b3d9c9a64/setup.py#L35

libfwsi-python >= 20220123
inflection >= 0.5.1

And wrt. libfwsi-python, it would be even better to make it an extra requires such that the plugin(s) that need it would only import it privately if used?

I can submit a patch alright if you think that can work for you.

FWIW, we are using regipy in https://github.com/nexB/scancode-toolkit/blob/develop/src/packagedcode/win_reg.py and this helps us extract installed package information from registry hives of Windows VM and Docker containers while running this on Linux... so thank you ++ as this is the only Python registry library that can actually parse correctly these data! (This is also used in https://scancodeio.readthedocs.io indirectly)

mkorman90 commented 2 years ago

@pombredanne does my PR fix your issue? Can I merge?

pombredanne commented 2 years ago

@mkorman90 Thank you ++ fort this... I commented in the PR... this looks awesome... I just reported a minor nit picking.

mkorman90 commented 2 years ago

Fixed in 3.1.0