$npx skillfedfor your agent

sdnotify

A pure Python implementation of systemd's service notification protocol (sd_notify)

With conditionsPyPI Python ModulesReleased Aug 2017191.1K downloads / mopermissive licenseSource build

Decision gist · record as of 2026-08-14

sdist only — sdnotify-0.3.2.tar.gz · builds from source
v0.3.2 · released 2017-08-02

Yes, if you are writing a Python systemd service on a modern Linux system and need basic sd_notify support. The code is simple and stable for its narrow purpose. However, be aware that the package is abandoned—no updates since 2017—so if systemd's protocol or your Python version diverges significantly, you may need to fork or patch it yourself. For new projects, verify that it still works with your target Python and systemd versions before committing to it.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires a systemd-based Linux system with the systemd notification socket available; will silently fail on non-systemd systems unless debug=True is set.
  • High install friction due to source distribution.
  • Maintenance is abandoned—last release was 2017-08-02, with no commits since 2022-02-28.

License · maintenance · safety

permissive license (permissive) — Licensed under MIT (permissive), so you can use, modify, and distribute freely without significant legal restrictions.

last release 2017-08-02 (3299 days) · last repo commit 2022-02-28 · 123 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 191,134 downloads/mo, #9,888 on PyPI

Verify before relying

pip install sdnotify

import sdnotify
n = sdnotify.SystemdNotifier()
n.notify("READY=1")
n.notify("STATUS=Running")
  • Whether the package works reliably with modern Python 3 versions (last tested/released in 2017).
  • Current compatibility with recent systemd versions and their sd_notify protocol changes.
Same gist for agents: .md · .json

What it is and what it does

sdnotify is a pure Python implementation of systemd's sd_notify protocol, allowing Python services to communicate their state to systemd. It lets you signal when your service has finished startup, send periodic status updates, and report watchdog events—all of which systemd can monitor and act upon. The package is designed to be silent by default on non-systemd systems, so it won't break applications running elsewhere.

The library provides a single main class, SystemdNotifier, with a notify() method that sends protocol messages to systemd's notification socket. It has no runtime dependencies and works by directly writing to the socket that systemd creates for each service. However, the project is no longer maintained: the last release was in 2017, and there have been no commits since early 2022.

Use it for

  • Inform systemd when a Python daemon has completed its startup sequence, allowing systemd to mark the service as ready.
  • Send periodic status messages to systemd that appear in systemctl status output for operational visibility.
  • Implement watchdog heartbeat notifications to tell systemd the service is still alive and responsive.
  • Build Python-based system services that integrate cleanly with systemd's service lifecycle and monitoring.

Worth the install?

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

With conditions

Yes, if you are writing a Python systemd service on a modern Linux system and need basic sd_notify support.

The code is simple and stable for its narrow purpose. However, be aware that the package is abandoned—no updates since 2017—so if systemd's protocol or your Python version diverges significantly, you may need to fork or patch it yourself. For new projects, verify that it still works with your target Python and systemd versions before committing to it.

Install

sdnotify on PyPI

Before you install

High install friction due to source distribution. Maintenance is abandoned—last release was 2017-08-02, with no commits since 2022-02-28. The package is stable for its narrow use case but receives no active support or updates.

Requires a systemd-based Linux system with the systemd notification socket available; will silently fail on non-systemd systems unless debug=True is set.

License in practice

Licensed under MIT (permissive), so you can use, modify, and distribute freely without significant legal restrictions.

Quickstart

pip install sdnotify

import sdnotify
n = sdnotify.SystemdNotifier()
n.notify("READY=1")
n.notify("STATUS=Running")

Verify before relying

  • Whether the package works reliably with modern Python 3 versions (last tested/released in 2017).
  • Current compatibility with recent systemd versions and their sd_notify protocol changes.

Package facts

Licensepermissive license permissive
Python supportNot specified
Install frictionHigh. Source build required
Runtime dependenciesNone
MaintenanceAbandoned 3,299 days since the last release
Last repo commit
First released
Downloads191,134 / month, #9,888 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules

Evidence: sdnotify-0.3.2.tar.gz

Tags

Capabilities
systemd service notificationsd_notify protocol pythonsystemd ready signalservice status updates systemdpython systemd integrationwatchdog notification systemd
Topics
systemd-integrationservice-lifecycle
PyPI keywords
systemd

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 › “systemd service notification”

  • sdnotifySends systemd service notifications (startup completion, status…
  • cysystemdCython-based wrapper for systemd's libsystemd library, enabling…
  • oslo.serviceoslo.service provides a framework for building and running…

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

More Python Modules packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
PyYAML Worth it
PyPI · Python Modules · released Sep 2025

PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.

MITcompiled wheel · 3.8+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
annotated-types Worth it
PyPI · Python Modules · released Jul 2026

Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.

Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…

MITpure Python · 3.10+
871.3Mdownloads / mo
typing-inspection Worth it
PyPI · Python Modules · released Aug 2026

Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.

MITpure Python · 3.10+
783.0Mdownloads / mo

See also cysystemd · notify_py · sdbus · systemd-python · watchdog · notifications-python-client · aws-cdk.aws-codestarnotifications · notifiers · apprise · desktop-notifier