python-systemd icon indicating copy to clipboard operation
python-systemd copied to clipboard

Steps to improve somewhat confusing ecosystem of Python systemd packages

Open gene1wood opened this issue 6 months ago • 0 comments

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 https://github.com/mosquito/cysystemd/issues/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/
  • 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 of systemd.
    • This is a proxy package which only contains a dependency on cysystemd and then imports all of cysystemd's methods under the old package name of systemd
    • This has no specific Git repo sitting behind it because it's just a proxy package
  • 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 a long_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 as python-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 https://github.com/systemd/python-systemd/pull/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
  • 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 that cysystemd exists as another python interface to systemd, and maybe identifies the reasons a user would use systemd-python vs cysystemd

By the cysystemd project

  • Dmitry Orlov adds a short section to the README for cysystemd which acknowledges that systemd-python exists as another python interface to systemd, and maybe identifies the reasons a user would use cysystemd vs systemd-python

gene1wood avatar Jul 06 '25 19:07 gene1wood