High-performance SNMP toolkit with Rust core - AgentX subagent and SNMP manager
Project description
High-performance SNMP toolkit with Rust core and Python uvloop
Features
- AgentX subagent (RFC 2741) - Extend SNMP agents with custom data
- SNMP manager (planned) - Query SNMP devices (GET, SET, WALK)
- Async-first - Built on asyncio + uvloop
- Fast - Rust core for PDU encoding and OID operations
- Type-safe - Full type hints throughout
Tech Stack
| Component | Technology |
|---|---|
| Core | Rust 2024 |
| Python | 3.14+ (GIL-free) |
| Docs | TypeScript / Nextra |
| Build | maturin + uv |
| Task runner | kyle |
Installation
uv add snmpkit
Quick Start
from snmpkit.agent import Agent, Updater
class MyUpdater(Updater):
async def update(self):
self.set_INTEGER("1.0", 42)
self.set_OCTETSTRING("2.0", "hello")
agent = Agent(agent_id="MyAgent")
agent.register("1.3.6.1.4.1.12345", MyUpdater(), freq=10)
agent.start_sync() # or: await agent.start()
Documentation
snmpkit.dev - Full documentation, guides, and API reference
Development
Requires kyle task runner. Linux/macOS/Unix only.
# First time setup (installs Rust, uv, bun, maturin)
kyle setup
# Or if you have the tools already
kyle setup:deps # Just install project dependencies
kyle dev # Build and install in dev mode
kyle test # Run all tests (Python + Rust)
kyle format # Format all code (Python + Rust + TS)
kyle lint # Lint all code
kyle docs:dev # Start docs dev server
kyle check # Type check and lint
License
Check out the License for more information!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file snmpkit-1.0.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: snmpkit-1.0.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 214.0 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
faf792c2b0862e31485bf2c21db937c38ec84e5c06a3294a98ae0a8c25fdc123
|
|
| MD5 |
81938fc65ce32b472c086bc99739fac6
|
|
| BLAKE2b-256 |
45880de906727f383d27d5865d40e8cd7a403bbe6d48aa22a17ea7dc4c245e7c
|
Provenance
The following attestation bundles were made for snmpkit-1.0.0-cp314-cp314-win_amd64.whl:
Publisher:
release.yml on darhebkf/snmpkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snmpkit-1.0.0-cp314-cp314-win_amd64.whl -
Subject digest:
faf792c2b0862e31485bf2c21db937c38ec84e5c06a3294a98ae0a8c25fdc123 - Sigstore transparency entry: 844034470
- Sigstore integration time:
-
Permalink:
darhebkf/snmpkit@39d804be9bac676498a1b934d4e962165fbf5840 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/darhebkf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@39d804be9bac676498a1b934d4e962165fbf5840 -
Trigger Event:
release
-
Statement type:
File details
Details for the file snmpkit-1.0.0-cp314-cp314-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: snmpkit-1.0.0-cp314-cp314-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 372.6 kB
- Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a4b0e38161e19de5f8ebbd21b24429c38d39b10bc7b19db72753e6fe99c7194
|
|
| MD5 |
d46e2bc4adefb2f5d1e56452ec141649
|
|
| BLAKE2b-256 |
a1b08ff21637507d12a41cc6c613492cbf8dd00c19140325013643a3bcd17f41
|
Provenance
The following attestation bundles were made for snmpkit-1.0.0-cp314-cp314-manylinux_2_34_x86_64.whl:
Publisher:
release.yml on darhebkf/snmpkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snmpkit-1.0.0-cp314-cp314-manylinux_2_34_x86_64.whl -
Subject digest:
9a4b0e38161e19de5f8ebbd21b24429c38d39b10bc7b19db72753e6fe99c7194 - Sigstore transparency entry: 844034469
- Sigstore integration time:
-
Permalink:
darhebkf/snmpkit@39d804be9bac676498a1b934d4e962165fbf5840 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/darhebkf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@39d804be9bac676498a1b934d4e962165fbf5840 -
Trigger Event:
release
-
Statement type:
File details
Details for the file snmpkit-1.0.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: snmpkit-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 336.3 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06b78865a92521eac385f8b55021b47101436e594c5c00ff4358269138be5dd8
|
|
| MD5 |
fd66b95404ce2366b462ecd1a1db611e
|
|
| BLAKE2b-256 |
0e83ce969b48fab619e0709cae41e9162ee549929fefd48684eec816dd09c246
|
Provenance
The following attestation bundles were made for snmpkit-1.0.0-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
release.yml on darhebkf/snmpkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
snmpkit-1.0.0-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
06b78865a92521eac385f8b55021b47101436e594c5c00ff4358269138be5dd8 - Sigstore transparency entry: 844034467
- Sigstore integration time:
-
Permalink:
darhebkf/snmpkit@39d804be9bac676498a1b934d4e962165fbf5840 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/darhebkf
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@39d804be9bac676498a1b934d4e962165fbf5840 -
Trigger Event:
release
-
Statement type: