| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Hi, what more I need to do to get this PR merged? |
Sorry, something went wrong.
Just for somebody to find the time to review it again. |
Sorry, something went wrong.
|
Please allocate some time for this PR. |
Sorry, something went wrong.
|
@hongquan Thanks for your contribution (and patience). |
Sorry, something went wrong.
|
This looks great! Hopefully there'll be a new release cut and deployed to PyPi with this PR now merged so the PyPi project has a project description (readme) |
Sorry, something went wrong.
|
A new release is planned after the current PR are addressed. |
Sorry, something went wrong.
|
@behrmann Any planned release upcoming? I'm hitting the same issue trying to install this package using UV on non-linux dev machines. I think the next release that includes this merged PR will solve the problem |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Motivation
I have a Django web project, which targets Linux server but some team members use MacOS for development. We use uv as Python package manager. In the "dependency resolution" phase, uv tried to find systemd-python metadata but couldn't get what it wanted from the setup.py file. It had to build systemd-python wheel to get the metadata, then failed on MacOS machines.
What this PR does
Adopt new pyproject.toml file, in place of setup.py. For building C code, I adopt Meson, which has meson-python as a build backend so that pip or any other modern Python package manager can know how to build the C-based extensions.
Because this new build process is done in an isolated environment and leave no *.so files, the Makefile is also updated to work with this new build method.
This is the rework of #147, but split to smaller steps.
At this step, I only make these 4 jobs work:
I don't move the other jobs from Makefile to Meson.
I also move the "systemd" folder (containing C & Py sources) to src folder, to prevent importing by accident when standing at the top-level folder. This is also a common practice for many other Python projects.