Installation Guide¶
ezsnmp_data_logger is distributed as 100% self-contained binary wheels across Linux, macOS, and Windows. Users never need to install or configure external Net-SNMP, OpenSSL, or SQLite3 system libraries—everything required to poll SNMP devices and persist telemetry is bundled directly inside the package.
All releases follow the CalSemVer versioning scheme (e.g. 2026.11.5) and require Python 3.11 or newer.
macOS Installation¶
Prerequisites¶
macOS 11.0 (Big Sur) or newer.
Apple Silicon (
arm64) or Intel (x86_64).Python 3.11, 3.12, 3.13, or 3.14.
1. Install via pip¶
Install the self-contained package from PyPI (use --pre while in alpha testing):
python3 -m pip install --upgrade pip
python3 -m pip install --pre "ezsnmp-data-logger>=2026.11.5"
Verify the installation:
ezsnmp-data-logger version
# Output: ezsnmp-data-logger 2026.11.5 (ezsnmp=yes, sqlite3=yes, psql=no)
2. Install the Native macOS Application Launcher¶
To launch the GUI from Finder, Spotlight, or Launchpad with a high-resolution Retina icon (replacing Python’s generic rocket icon):
# Installs "EzSnmp Data Logger Studio.app" into ~/Applications
ezsnmp-data-logger-gui --install-launcher
# Or specify a custom location (e.g. ~/Desktop)
ezsnmp-data-logger-gui --install-launcher --launcher-dir ~/Desktop
You can now double-click EzSnmp Data Logger Studio.app or launch it from Spotlight!
3. Launch from the Terminal¶
# Launch native Aqua Tkinter Desktop Studio
ezsnmp-data-logger-gui --config configs/example.json
# Or launch Browser Web Studio in Safari/Chrome
ezsnmp-data-logger-gui --config configs/example.json --frontend web --port 8765
Windows Installation¶
Prerequisites¶
Windows 10, Windows 11, or Windows Server 2019/2022 (64-bit AMD64 or ARM64).
Python 3.11, 3.12, 3.13, or 3.14 (from python.org or Windows Store).
1. Install via pip¶
Open PowerShell or Command Prompt and run:
py -m pip install --upgrade pip
py -m pip install --pre "ezsnmp-data-logger>=2026.11.5"
Verify the installation:
ezsnmp-data-logger version
2. Install Windows Desktop Shortcut¶
Create an executable launcher shortcut on your Desktop with the custom Windows icon:
ezsnmp-data-logger-gui --install-launcher
This creates EzSnmp Data Logger Studio.bat on your Desktop using the multi-resolution app_icon.ico.
3. Launch on Windows¶
# Launch native Win32 Tkinter Desktop Studio
ezsnmp-data-logger-gui -c configs\example.json
# Or launch Browser Web Studio in Microsoft Edge
ezsnmp-data-logger-gui -c configs\example.json --frontend web --port 8765
Linux Installation¶
Supported Distributions¶
glibc-based distributions: Ubuntu (20.04+), Debian (11+), Fedora (38+), RHEL/CentOS (8+), Arch Linux.
musl-based distributions: Alpine Linux (3.18+).
Python 3.11, 3.12, 3.13, or 3.14.
1. Install via pip¶
On glibc systems:
python3 -m pip install --upgrade pip
python3 -m pip install --pre "ezsnmp-data-logger>=2026.11.5"
On Alpine Linux:
apk add python3 py3-pip
python3 -m pip install --upgrade pip
python3 -m pip install --pre "ezsnmp-data-logger>=2026.11.5"
Verify the CLI:
ezsnmp-data-logger version
3. Headless Server & Cloud Deployment¶
On headless servers without an X11 or Wayland display server, ezsnmp-data-logger-gui automatically detects the absence of a display and starts the Browser Web Studio:
# Bind to all interfaces for remote access without popping a local browser
ezsnmp-data-logger-gui --config configs/example.json --frontend web --host 0.0.0.0 --port 8765 --no-browser
Access the studio from any browser at http://<server-ip>:8765.
4. Running as a Systemd Service¶
To run continuous SNMP polling as a background service on Linux:
Create /etc/systemd/system/ezsnmp-data-logger.service:
[Unit]
Description=EzSnmp Telemetry Data Logger Service
After=network.target
[Service]
Type=simple
User=snmplogger
ExecStart=/usr/local/bin/ezsnmp-data-logger run --config /etc/ezsnmp/logger.json
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable --now ezsnmp-data-logger.service
sudo systemctl status ezsnmp-data-logger.service
Development & Source Build¶
If you wish to build ezsnmp_data_logger from source or contribute to its development:
Prerequisites¶
A C++17 compatible compiler (GCC 9+, Clang 10+, or MSVC 2019+).
Python 3.11+ with
setuptools,wheel, andswig>=4.3.0.mesonandninja(for native C++ test suites).
Clone and Build¶
git clone https://github.com/carlkidcrypto/ezsnmp_data_logger.git
cd ezsnmp_data_logger
# Install editable package locally without build isolation
python3 -m pip install -e . --no-build-isolation
# Run Python and GUI tests
pytest -v python_tests/
# Run native C++ test suites (Meson + GoogleTest)
meson setup build
meson test -C build -v