$npx skillfedfor your agent

cysystemd

systemd wrapper in Cython

With conditionsPyPI LibrariesReleased Mar 202677.8K downloads / moApache 2.0Platform wheel

Decision gist · record as of 2026-08-14

platform wheels — cysystemd-2.0.5-cp310-cp310-manylinux_2_34_aarch64.whl · cysystemd-2.0.5-cp310-cp310-manylinux_2_34_x86_64.whl · cysystemd-2.0.5-cp311-cp311-manylinux_2_34_aarch64.whl
v2.0.5 · released 2026-03-04 · Python <4,>=3.8

Yes, if you are building Python services on Linux and want native systemd integration. The package is production-stable, actively maintained, and has no security vulnerabilities. Install friction is moderate (requires system headers), but wheels are available for common configurations. Not suitable for non-Linux platforms or applications that do not need systemd interaction.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires libsystemd development headers installed on the system (libsystemd-dev on Debian/Ubuntu, systemd-devel on CentOS/RHEL).
  • Source installation will fail without these headers.
  • Medium install friction due to compiled C extension requiring libsystemd development headers.

License · maintenance · safety

Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. No copyleft obligations.

last release 2026-03-04 (163 days) · last repo commit 2026-03-04 · 113 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 77,786 downloads/mo, #14,495 on PyPI

Verify before relying

# Install
pip install cysystemd

# Write to journal
from cysystemd import journal
journal.write("Hello Lennart")
journal.send(message="Structured entry", priority=journal.Priority.INFO)

# Read from journal
from cysystemd.reader import JournalReader, JournalOpenMode
reader = JournalReader()
reader.open(JournalOpenMode.SYSTEM)
reader.seek_head()
for record in reader:
    print(record.data['MESSAGE'])
  • Actual compatibility across different systemd versions and Linux distributions beyond manylinux_2_34 baseline
  • Performance characteristics when reading large journal volumes or under high write load
  • Whether AsyncJournalReader v2.0.0 breaking changes affect existing production deployments
Same gist for agents: .md · .json

What it is and what it does

cysystemd is a Cython wrapper around systemd's libsystemd C library, providing Python bindings for journald (the systemd journal) and systemd daemon features. It allows Python applications to write structured log entries to the system journal, read journal records with filtering and seeking, and send service notifications (READY, STOPPING, STATUS) to systemd. The package includes a logging handler for Python's standard logging module, making it easy to integrate journald into existing logging pipelines.

Version 2.0.5 is actively maintained and supports Python 3.8 through 3.14. It uses precompiled wheels for Linux x86_64 and aarch64 architectures, though source installation is recommended if you encounter compatibility issues. The package requires libsystemd development headers at build time and has no runtime Python dependencies, making it lightweight once installed.

Use it for

  • Integrate Python application logs directly into systemd journal for centralized system logging and journalctl querying
  • Send daemon readiness and status notifications to systemd for proper service lifecycle management and watchdog integration
  • Query and filter systemd journal entries programmatically to build monitoring, alerting, or log aggregation tools
  • Implement async journal polling to stream new log entries as they arrive for real-time log processing
  • Write structured metadata alongside log messages for better searchability and filtering in systemd journal

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are building Python services on Linux and want native systemd integration.

The package is production-stable, actively maintained, and has no security vulnerabilities. Install friction is moderate (requires system headers), but wheels are available for common configurations. Not suitable for non-Linux platforms or applications that do not need systemd interaction.

Install

cysystemd on PyPI

Before you install

Medium install friction due to compiled C extension requiring libsystemd development headers. Wheels are provided for multiple Python versions (3.8–3.14) and architectures (x86_64, aarch64) using manylinux_2_34 format, but source installation requires system dependencies. Package is actively maintained with recent commits.

Requires libsystemd development headers installed on the system (libsystemd-dev on Debian/Ubuntu, systemd-devel on CentOS/RHEL). Source installation will fail without these headers.

License in practice

Licensed under Apache 2.0 (permissive), allowing commercial and private use with minimal restrictions. No copyleft obligations.

Quickstart

# Install
pip install cysystemd

# Write to journal
from cysystemd import journal
journal.write("Hello Lennart")
journal.send(message="Structured entry", priority=journal.Priority.INFO)

# Read from journal
from cysystemd.reader import JournalReader, JournalOpenMode
reader = JournalReader()
reader.open(JournalOpenMode.SYSTEM)
reader.seek_head()
for record in reader:
    print(record.data['MESSAGE'])

Verify before relying

  • Actual compatibility across different systemd versions and Linux distributions beyond manylinux_2_34 baseline
  • Performance characteristics when reading large journal volumes or under high write load
  • Whether AsyncJournalReader v2.0.0 breaking changes affect existing production deployments

Package facts

LicenseApache 2.0 permissive
Python supportSupports the current Python release <4,>=3.8
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceActively maintained 163 days since the last release
Last repo commit
First released
Downloads77,786 / month, #14,495 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableEnvironment :: No Input/Output (Daemon)Intended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: POSIX :: LinuxProgramming Language :: CythonProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: SystemTopic :: System :: LoggingTopic :: System :: Operating SystemTopic :: System :: Systems AdministrationTyping :: Typed

Evidence: cysystemd-2.0.5-cp310-cp310-manylinux_2_34_aarch64.whl; cysystemd-2.0.5-cp310-cp310-manylinux_2_34_x86_64.whl; cysystemd-2.0.5-cp311-cp311-manylinux_2_34_aarch64.whl; cysystemd-2.0.5-cp311-cp311-manylinux_2_34_x86_64.whl; cysystemd-2.0.5-cp312-cp312-manylinux_2_34_aarch64.whl; cysystemd-2.0.5-cp312-cp312-manylinux_2_34_x86_64.whl; cysystemd-2.0.5-cp313-cp313-manylinux_2_34_aarch64.whl; cysystemd-2.0.5-cp313-cp313-manylinux_2_34_x86_64.whl; cysystemd-2.0.5-cp314-cp314-manylinux_2_34_aarch64.whl; cysystemd-2.0.5-cp314-cp314-manylinux_2_34_x86_64.whl; cysystemd-2.0.5-cp38-cp38-manylinux_2_34_aarch64.whl; cysystemd-2.0.5-cp38-cp38-manylinux_2_34_x86_64.whl; cysystemd-2.0.5-cp39-cp39-manylinux_2_34_aarch64.whl; cysystemd-2.0.5-cp39-cp39-manylinux_2_34_x86_64.whl

Tags

Capabilities
systemd journal logging pythonjournald reader writersystemd daemon notificationlibsystemd python wrappersystemd integration pythonjournald async readersd_notify python
Topics
systemd-integrationjournald-logginglinux-only
PyPI keywords
systemdcythondaemonsd_notifysd_watchdogjournaldjournallogginglinuxasynciolibsystemdsyslogservicenotify

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “journald reader writer”

  • cysystemdCython-based wrapper for systemd's libsystemd library, enabling…
  • readerwriterlockProvides reader-writer lock implementations for Python that solve the…
  • ndjsonProvides a familiar JSON Lines (ndjson) parser and writer with an API…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also sdnotify · systemd-python · sdbus · notify_py · daemonize · auditwheel · cibuildwheel · pyvips-binary · stdeb