-
Notifications
You must be signed in to change notification settings - Fork 69
Open
Description
The ecosystem of Python systemd packages seems a bit confusing. Here's what the state appears to be, what some of the confusing aspects are and some possible steps to improve it.
Also, it's possible I've misunderstood some aspects of the state of the ecosystem today, if so please call them out so I can correct the summary below.
I've opened this request with the cysystemd
project as well in mosquito/cysystemd#71 to see if they can help and add some comparison information to their README.
Summary of Python systemd PyPI packages and Git repos
- https://pypi.org/project/python-systemd
- Managed by Eugeny Pankov
- Project started in 2015 and has a single release
- Git repo at https://github.com/Eugeny/python-systemd
- This repo isn't exactly what's in PyPI but it's very similar and owned by the same person
- It's a fork of William Souza's now archived original work https://github.com/wiliamsouza/python-systemd
- Last release on PyPI : 2015
- https://pypi.org/project/systemd-python/
- Managed by Zbigniew Jędrzejewski-Szmek
- Git repo at https://github.com/systemd/python-systemd
- Project started in 2012
- Prior to 2016 this project's package name was
python-systemd
. In 2016, Zbigniew changed it tosystemd-python
- https://pypi.org/project/systemd/
- This is the old package name for what is currently named
cysystemd
. This was renamed because of its confusing name ofsystemd
. - This is a proxy package which only contains a dependency on
cysystemd
and then imports all ofcysystemd
's methods under the old package name ofsystemd
- This has no specific Git repo sitting behind it because it's just a proxy package
- This is the old package name for what is currently named
- https://pypi.org/project/cysystemd/
- Managed by Dmitry Orlov
- Git repo at https://github.com/mosquito/cysystemd
- This Git repo used to be named https://github.com/mosquito/python-systemd but was renamed. https://github.com/mosquito/python-systemd now redirects to the current repo name.
- This project is from Dmitry Orlov's original work starting in 2016
Things that are confusing
- The mature and actively developed https://pypi.org/project/systemd-python/ project has a
setup.py
that doesn't contain along_description
value and as a result is rendered without any information on PyPI, making it appear immature or not legitimate on PyPI - The PyPI package named
systemd-python
has a backing Git repo named differently aspython-systemd
- The PyPI package name
python-systemd
which matches the Git repo name of the mature and actively developed repo https://github.com/systemd/python-systemd is actually an abandoned PyPI package from 2015 that isn't related to https://github.com/systemd/python-systemd
Things that could be done to improve this confusing ecosystem
By the systemd-python
project
- Merge Add a long_description to setup.py #149 which adds the README.md contents to the PyPi project description to make the
systemd-python
project appear more legitimate and mature. - Zbigniew contacts Eugeny Pankov to ask if he would be open to retiring his PyPI project called
python-systemd
and transferring ownership of the PyPI project name to Zbigniew. The rationale to present to Eugeny would be- The PyPI project has had a single release in 2015 and nothing over the last 10 years
- It's a fork of another project which has since had commits that aren't present in this old package.
- The project from which this was a fork has since been archived.
- Zbigniew creates a stub PyPI project at https://pypi.org/project/python-systemd which directs people to use
systemd-python
- Zbigniew adds a short section to the README for
systemd-python
which acknowledges thatcysystemd
exists as another python interface to systemd, and maybe identifies the reasons a user would usesystemd-python
vscysystemd
By the cysystemd
project
- Dmitry Orlov adds a short section to the README for
cysystemd
which acknowledges thatsystemd-python
exists as another python interface to systemd, and maybe identifies the reasons a user would usecysystemd
vssystemd-python
Metadata
Metadata
Assignees
Labels
No labels