Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Service Manager

A cross-platform library for installing and managing services on Windows, macOS, and Linux.

Overview

The Service Manager library provides a unified interface for managing system services across different operating systems. It follows standard service management conventions, allowing you to:

  • Install/uninstall services
  • Enable/disable services at boot time
  • Start/stop running services
  • Query service status

It creates user-level services (not system-wide root services), which means:

  • Linux: User systemd services (systemctl --user)
  • macOS: LaunchAgents (~/Library/LaunchAgents)
  • Windows: Scheduled Tasks (running on user login)

Installation

pip install etiket-service-manager

Pre-configured Services

This library includes pre-configured service definitions for the QHarbor application suite. These helper functions automatically set up the correct paths, executable locations, and naming conventions for QHarbor's sync components.

from etiket_service_manager.services import sync_agent, sync_api
from packaging.version import Version

# Get the manager for the Sync Agent
agent_manager = sync_agent.get_service()
agent_manager.status  # Check status

# Install — no need to pass program_arguments, the config carries them
agent_manager.install(version=Version("1.0.0"))

# Get the manager for the Sync API
api_manager = sync_api.get_service()
api_manager.install(version=Version("1.0.0"))

The pre-configured services resolve their executable via default_runner_install_location(), which knows the canonical location of the runner on each OS:

Platform Data directory (app_dir) Runner executable
macOS ~/Library/Application Support/quantum_machines/services ~/Applications/quantum_machines/eTiKeT Service.app/Contents/MacOS/etiket_service_runner
Linux ~/.local/share/quantum_machines/services (or $XDG_DATA_HOME/quantum_machines/services) <app_dir>/etiket_service_runner
Windows %LOCALAPPDATA%\quantum_machines\services <app_dir>\etiket_service_runner.exe

On macOS the runner ships as a code-signed .app bundle so it's identifiable to Gatekeeper, TCC, and System Settings (Privacy & Security → Full Disk Access). On Linux and Windows the bare binary lives in the per-user data directory.

Actions and Behaviors

The following table describes each action, its expected behavior, possible errors, and resulting service states:

Action Description Possible Errors Expected Status After Action
install Installs, enables, and starts the service ServiceAlreadyInstalled, ServiceOperationError installed=True, enabled=True, running=True
enable Enables the service to start automatically at boot ServiceAlreadyEnabled, ServiceOperationError installed=True, enabled=True, running=unchanged
start Starts the service ServiceAlreadyStarted, ServiceOperationError installed=True, enabled=unchanged, running=True
stop Stops the service ServiceAlreadyStopped, ServiceOperationError installed=True, enabled=unchanged, running=False
disable Disables the service (prevents starting at boot) ServiceAlreadyDisabled, ServiceOperationError installed=True, enabled=False, running=False
uninstall Uninstalls the service ServiceAlreadyUnInstalled, ServiceOperationError installed=False, enabled=False, running=False

Configuring the Service Manager

To use the Service Manager for your own applications, you need to create a ServiceConfig object. exe_install_location is required and uses a PlatformPath so the same config works across OSes — the entry matching the running OS is selected at install time.

from pathlib import Path
from etiket_service_manager import PlatformPath, ServiceConfig, ServiceManager

config = ServiceConfig(
    service_name="my_service",
    app_dir=Path.home() / ".my_service",        # Runtime data: logs, state
    exe_install_location=PlatformPath(
        darwin=Path("/Applications/MyService.app/Contents/MacOS/my_service"),
        linux=Path.home() / ".local/bin/my_service",
        windows=Path.home() / "AppData/Local/MyService/my_service.exe",
    ),
    default_args=["--serve"],                   # Optional: appended to the executable
)

manager = ServiceManager(config)

ServiceConfig fields

Field Type Required Purpose
service_name str yes Service identifier (used in plist label, systemd unit name, scheduled task name).
app_dir Path yes Per-service runtime directory for logs and state. Created if missing.
exe_install_location PlatformPath yes Per-OS absolute path to the installed executable. Resolved to a single path at install time.
default_args list[str] | None no Arguments appended after the resolved executable when manager.install() is called without program_arguments.

PlatformPath

A dataclass that holds one path per OS and resolves to the correct one based on platform.system():

from etiket_service_manager import PlatformPath

p = PlatformPath(
    darwin=Path("/usr/local/bin/foo"),
    linux=Path("/usr/bin/foo"),
    windows=Path(r"C:\Program Files\foo\foo.exe"),
)
p.resolve()  # → the path matching the running OS

Example Usage

from pathlib import Path

from packaging.version import Version

from etiket_service_manager import PlatformPath, ServiceConfig, ServiceManager


def main():
    # 1. Configure: declare where the executable lives on each OS and the
    #    default invocation. The same config works across all three OSes.
    config = ServiceConfig(
        service_name="my_service",
        app_dir=Path.home() / ".my_service",
        exe_install_location=PlatformPath(
            darwin=Path("/Applications/MyService.app/Contents/MacOS/my_service"),
            linux=Path.home() / ".local/bin/my_service",
            windows=Path.home() / "AppData/Local/MyService/my_service.exe",
        ),
        default_args=["--serve"],
    )
    manager = ServiceManager(config)

    # 2. Install. With exe_install_location + default_args set on the config,
    #    program_arguments is inferred — no need to pass it.
    manager.install(
        version=Version("1.0.0"),
        raise_if_already_installed=True,
    )

    # If you need a one-off override, pass program_arguments explicitly:
    # manager.install(version=Version("1.0.0"),
    #                 program_arguments=["/custom/path", "--debug"])

    # 3. Check status
    print(f"Service status: {manager.status}")

    # 4. Stop / disable / uninstall as needed
    manager.stop()
    manager.disable()
    manager.uninstall()


if __name__ == "__main__":
    main()

Platform Specific Details

Windows Services

This application is implemented as a Scheduled Task rather than a Windows service. A scheduled task can run without administrator permissions, unlike Windows services.

The scheduled task:

  • Runs as a background process with wscript (hidden window).
  • Starts automatically when the user logs in.
  • Provides support for process recovery when it terminates unexpectedly.

Requirements

  • The service name is used as the Task Name.
  • Tasks are created with "LeastPrivilege" run level, so no UAC prompt is needed.

Logging

  • Behavior: Unlike Linux/macOS, Windows Task Scheduler does not capture or redirect Standard Output (stdout) or Error (stderr). Any output printed to the console is lost.
  • Requirement: Your application must internally handle logging to files.
    • Do not rely on print().
    • Use a logging library (e.g., Python's logging module) to write directly to a file.
  • Suggested Location: {app_dir}/logs/ to match other platforms.

macOS Services

This document outlines the process for creating and managing macOS services using launchctl. These services run in the GUI session of the logged-in user (LaunchAgents).

Installation Locations

  • Service configuration file: ~/Library/LaunchAgents/com.quantum-machines.{service_name}.plist
  • Executable: ship as a code-signed .app bundle in ~/Applications/{company}/{app_name}.app (per-user, no admin required, Finder-discoverable for Privacy & Security grants) or /Applications/{app_name}.app (system-wide). For QHarbor's etiket_service_runner the canonical path is ~/Applications/quantum_machines/eTiKeT Service.app/Contents/MacOS/etiket_service_runner.
  • Runtime data (app_dir): kept separate from the executable, in ~/Library/Application Support/{company}/.
  • Logs: {app_dir}/{service_name}_logs/

[!IMPORTANT] Ship the executable as a .app bundle (with CFBundleIdentifier, CFBundleExecutable, LSUIElement=true for background services, and any NSXxxUsageDescription keys the agent needs). Bare Mach-O binaries cannot be cleanly granted permissions in System Settings → Privacy & Security and don't trigger TCC prompts with usable descriptions. The bundle ID + signing identity are what TCC keys grants on, so keep them stable across releases.

[!IMPORTANT] The service is configured with WorkingDirectory set to the app_dir. If your application uses relative paths for resources or imports, the executable still belongs in the .app bundle — app_dir is for runtime data only.

The service definition (plist) includes:

  • KeepAlive: True (system attempts to restart it if it crashes)
  • RunAtLoad: True (starts immediately upon load/login)
  • ThrottleInterval: 60 seconds

Linux Services

Service in Linux are implemented using systemd user services. This is a robust system that works very well for user-level background processes.

Locations

  • Configuration: The systemd user unit file ({service_name}.service) is created in ~/.config/systemd/user/.
  • Logs: Managed by systemd. View logs using:
    journalctl --user -u {service_name}
    
    • Use -f to follow logs in real-time.
    • Use -e to jump to the end.
  • Application Binary: The application executable should be in a stable, user-accessible location.
    • Recommended: ~/.local/bin/ for standalone binaries.
    • Note: Self-contained application directories often reside in ~/.local/share/.
    • Important: Always provide the absolute path to the executable when installing the service.

Behavior

  • Uses systemctl --user commands to manage the service.
  • defined as Type=simple.
  • Configured with Restart=always and a 5-second delay to ensure reliability.

Release files for etiket-service-manager 0.3.0b8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for etiket-service-manager 0.3.0b8
File
etiket_service_manager-0.3.0b8-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
etiket_service_manager-0.3.0b8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
etiket_service_manager-0.3.0b8-cp314-cp314-macosx_11_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 11.0+ x86-64 Details
etiket_service_manager-0.3.0b8-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
etiket_service_manager-0.3.0b8-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
etiket_service_manager-0.3.0b8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
etiket_service_manager-0.3.0b8-cp313-cp313-macosx_11_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 11.0+ x86-64 Details
etiket_service_manager-0.3.0b8-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
etiket_service_manager-0.3.0b8-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
etiket_service_manager-0.3.0b8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
etiket_service_manager-0.3.0b8-cp312-cp312-macosx_11_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 11.0+ x86-64 Details
etiket_service_manager-0.3.0b8-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
etiket_service_manager-0.3.0b8-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
etiket_service_manager-0.3.0b8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
etiket_service_manager-0.3.0b8-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
etiket_service_manager-0.3.0b8-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
etiket_service_manager-0.3.0b8-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
etiket_service_manager-0.3.0b8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
etiket_service_manager-0.3.0b8-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
etiket_service_manager-0.3.0b8-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 35.5 MB

Release files / etiket_service_manager-0.3.0b8-cp314-cp314-win_amd64.whl

Download URL etiket_service_manager-0.3.0b8-cp314-cp314-win_amd64.whl
Size 709.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
7157c887515de911eea972eb007ae0f264d30b0e6a4d4a4bd5152b1e0f629f61
BLAKE2b-256 checksum
How to use checksums
6b0721805f9c507c757c9de40e14ae63dc72797ca9d6404ac69c4239c770bbb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.7 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a169fa05f557305452b888fc79917286eef613e00a3a797ecdfe8dc9956fea5
BLAKE2b-256 checksum
How to use checksums
352526c3063caa4dbdeaa462ef4858dd43611faa6dbc65de3f109ed80bb39f49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp314-cp314-macosx_11_0_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp314-cp314-macosx_11_0_x86_64.whl
Size 801.2 kB
Tags CPython 3.14 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
401299812c73c6374831a2637a5dc93f40a6eb69e2e4249cc4d3b5da9137164d
BLAKE2b-256 checksum
How to use checksums
0b2dbf0ca0424a8f9fb2e68f6d58655ca768bd0e38d703779085dada740ddad1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp314-cp314-macosx_11_0_arm64.whl

Download URL etiket_service_manager-0.3.0b8-cp314-cp314-macosx_11_0_arm64.whl
Size 741.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f7c17dfcbdcd21dcaa551417f5ed1cd0cea369d9e84b86021fb42e7ba8bb3b3a
BLAKE2b-256 checksum
How to use checksums
bc86ac65e2202795dfb9b18ab3f38b29c2a171a6f167cb4e3f7497c5190eab8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp313-cp313-win_amd64.whl

Download URL etiket_service_manager-0.3.0b8-cp313-cp313-win_amd64.whl
Size 692.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
499e1866127a170f6a4d7ce75c6f68e71651a4c636671c87e5d1d0ab2aab0f86
BLAKE2b-256 checksum
How to use checksums
c3356305b58f19067b99b420273fdedd25d96247404a355aa83fa5f214b7e187
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.8 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6d64298f457465bb8144409b25b2e420fa20479b21662511264cfdf4bb9493fb
BLAKE2b-256 checksum
How to use checksums
1538a58ce8f8019ebeb7e4ebb262a5bde8b803f422cd6e7b4c2b3c80dd191665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp313-cp313-macosx_11_0_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp313-cp313-macosx_11_0_x86_64.whl
Size 802.0 kB
Tags CPython 3.13 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
86a07fbfc7755418c2fd4851a925e91ef604653056865d3b98eb33db77ca634b
BLAKE2b-256 checksum
How to use checksums
59914701b5516b16a2f4b38d47cf742e56f3507934fc03e71ed4bf695e5576cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp313-cp313-macosx_11_0_arm64.whl

Download URL etiket_service_manager-0.3.0b8-cp313-cp313-macosx_11_0_arm64.whl
Size 736.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7f5b336fdc9cd1aa4ead25d62e4b11f0827774e19e95cde555f0983ab4c256f9
BLAKE2b-256 checksum
How to use checksums
3eb22b3c83eb052f65f91a4f82a1963b64ee6d8afeef94e789c0da0ec8a0fe71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp312-cp312-win_amd64.whl

Download URL etiket_service_manager-0.3.0b8-cp312-cp312-win_amd64.whl
Size 705.9 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0c04fd9369952ad72246d9b561ea2f83419b80af43b4e9ab995871276cfb9948
BLAKE2b-256 checksum
How to use checksums
d6cf80e2b64ee588c86c745128005da847f08c6b9c9b7ab4f83e87bd6320fe8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c516e32f7b7e3680f600d4b9116976a83954458a3f88ac298b36e9d7f724da7b
BLAKE2b-256 checksum
How to use checksums
d7d74547f01524018e6120e86bd5155e4c95e6c550853be3bfdb95411779179c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp312-cp312-macosx_11_0_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp312-cp312-macosx_11_0_x86_64.whl
Size 810.2 kB
Tags CPython 3.12 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
4a02b6cd8f35f81d3f6dd5e5e11bc3dbfaf21c3a8c94f3d6a1d03554b9d7d2c0
BLAKE2b-256 checksum
How to use checksums
e0b46a6dd50b20c58890692e5939750b69faf79857f64947585f559d266b8781
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp312-cp312-macosx_11_0_arm64.whl

Download URL etiket_service_manager-0.3.0b8-cp312-cp312-macosx_11_0_arm64.whl
Size 746.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
347c6bdaa453a95a5527864334460ca4adf02fdd9a1b60acc8c9046c7063dc87
BLAKE2b-256 checksum
How to use checksums
5ac9c8bb7e87a1ccb7d38740649bf0eac122aba1639afaf5a6c40130211fd670
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp311-cp311-win_amd64.whl

Download URL etiket_service_manager-0.3.0b8-cp311-cp311-win_amd64.whl
Size 727.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a34eaacddeac8965cc61f0a0816ac2a32ddb00638577fc39c6959e9440da0915
BLAKE2b-256 checksum
How to use checksums
96e2c49136a6a689887e4207d4e35803238e3ec6cc36a96fc11983a33fd78b28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
208f237b0b332573aab21d04e3a0acfcdc819c8e2da3eb005edfee2343453932
BLAKE2b-256 checksum
How to use checksums
e471f6c62bda8a90b68cfdc8888fe0a24f7ed76b0bee99f3b0697c0dbb079332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp311-cp311-macosx_11_0_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp311-cp311-macosx_11_0_x86_64.whl
Size 803.8 kB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
2d38cc7511de1ff6346c18a2c9d5cca045a2ea6c1b65311009f471a4eab0c7a8
BLAKE2b-256 checksum
How to use checksums
121b1c19d5958a75412af6892c34502c401fff3e4820c7ca49b6d1c832fa39c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp311-cp311-macosx_11_0_arm64.whl

Download URL etiket_service_manager-0.3.0b8-cp311-cp311-macosx_11_0_arm64.whl
Size 748.9 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a5a365ebed7c93f1fe48aecff4b0d22c736b8e5512c4429ca166a41d64a3f163
BLAKE2b-256 checksum
How to use checksums
8a527532e324c11b39b16d9fb7fb7dc73d6cb0d1eaf9101b7033e40f15e2b23b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp310-cp310-win_amd64.whl

Download URL etiket_service_manager-0.3.0b8-cp310-cp310-win_amd64.whl
Size 733.0 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
bb9430d9011dbd99b55b2a99417f3bbef3a1beba15beab38793c1ab5f949c831
BLAKE2b-256 checksum
How to use checksums
bb2d4a3a0d8459913248292399907ede01de4d1d6f5dca38db02c377916eb007
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 4.7 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7516dffddf73e612a04f6dea4f24235765791c8fd07a5376c31978450d1dbae2
BLAKE2b-256 checksum
How to use checksums
65b379b61a141e0e86306126f6ad02e593efa4dd7d29803453f2ec9a59418f11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp310-cp310-macosx_11_0_x86_64.whl

Download URL etiket_service_manager-0.3.0b8-cp310-cp310-macosx_11_0_x86_64.whl
Size 818.2 kB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
52eb9c9522547335ce13a88fae5cbd864ecf13af645b7d83006642ec3e51168e
BLAKE2b-256 checksum
How to use checksums
86f351523e016bfd3ff74a05eb3842abaf28b6fe94c8a32cd2c6ca9662c18d7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / etiket_service_manager-0.3.0b8-cp310-cp310-macosx_11_0_arm64.whl

Download URL etiket_service_manager-0.3.0b8-cp310-cp310-macosx_11_0_arm64.whl
Size 763.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
59d30ff34558f35e43865dc3baf35993a1de7b6dce04b609a02e9941194d8901
BLAKE2b-256 checksum
How to use checksums
e127fa4a803b983620d761ae4effd38322b6e140e43db959deab1096c5b20a64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page