Glinx
The Universal Hardware to Agent Middleware
Glinx is a high-performance middleware framework that connects physical hardware to AI agents. It ingests sensor data from any protocol, enriches it with semantic meaning, and exposes clean MCP-compatible tools that any agent can reason over. Built for the era of physical AI and robotics with a hybrid C++/Python architecture for real-time IoT.
Wire once. Think forever.
Why Glinx?
IoT devices generate thousands of events per second. Python hits performance limits:
- Accelerometers: 100-1000 Hz
- IMUs: 400-1000 Hz
- Force sensors: 100+ Hz
- GIL bottleneck at high frequencies
Glinx solves this with a hybrid architecture:
- C++ core: Real-time sensor ingestion (<1ms latency, 10k+ msgs/sec)
- Python layer: Semantic enrichment, AI integration, MCP tools
- Zero-copy IPC: Shared memory between layers
Result: 1000x faster than pure Python, while maintaining Python's simplicity for AI/LLM work.
Quickstart
from glinx import Glinx
app = Glinx()
@app.sensor("room_temp", protocol="mqtt", broker="localhost", topics=["home/temp"])
def room_temp(raw):
return {"temperature_c": raw["t"], "humidity_pct": raw["h"]}
@app.rule("room_temp", when="temperature_c > 40", priority="HIGH")
def overheat(event):
return "Room temperature critically high"
app.serve() # MCP server is live — any agent can call get_room_temp_status()
That's it. Your sensor is now an MCP tool.
Install
pip install glinx # core only
pip install glinx[mqtt] # + MQTT driver (ESP32, IoT)
pip install glinx[serial] # + Serial/UART driver (Arduino, Pi)
pip install glinx[mcp] # + MCP server support
pip install glinx[all] # everything
For development:
uv sync --extra dev
uv run pytest
How It Works
Hardware (MQTT / Serial / BLE / CAN / Camera / ...)
│
▼
Glinx Ingestion Layer ─── protocol drivers normalize data
│
▼
Schema + Semantic Layer ── auto-infer types, enrich with meaning
│
▼
Event Filter Layer ─────── rules, anomaly detection, summaries
│
▼
Agent Bridge ───────────── MCP tools exposed to any LLM agent
│
▼
AI Agent (LangGraph / LangChain / AutoGen / custom)
Raw sensor data like {"p": 58.4, "temp": 31.5} becomes:
{
"sensor": "left_fingertip",
"sensor_type": "force_sensor",
"location": "robot.hand.left.fingertip",
"contact_pressure_kPa": 58.4,
"surface_temperature_kPa": 31.5,
"semantic_summary": "left_fingertip at robot.hand.left.fingertip: contact_pressure=58.4, surface_temperature=31.5"
}
The agent sees meaning, not bytes.
Examples
MQTT Sensor (ESP32, IoT devices)
from glinx import Glinx
app = Glinx()
@app.sensor(
"ultrasonic",
protocol="mqtt",
broker="192.168.1.100",
topics=["robot/distance"],
fields={"dist_cm": "distance"},
sensor_type="proximity",
location="robot.front",
unit="cm",
)
def ultrasonic(raw):
return raw
@app.rule("ultrasonic", when="distance_cm < 30", priority="HIGH")
def collision_warning(event):
return "Obstacle within collision range"
app.serve()
Serial Sensor (Arduino, Raspberry Pi)
from glinx import Glinx
app = Glinx()
@app.sensor(
"imu",
protocol="serial",
port="COM3", # or /dev/ttyUSB0 on Linux
baudrate=115200,
fields={"ax": "accel_x", "ay": "accel_y", "az": "accel_z"},
sensor_type="imu",
location="robot.base",
)
def imu(raw):
return raw
@app.rule("imu", when="abs(accel_z) > 15", priority="HIGH")
def fall_detected(event):
return "Fall detected based on Z-axis acceleration"
app.serve()
Mock Sensor (testing without hardware)
from glinx import Glinx
app = Glinx()
@app.sensor(
"finger",
protocol="mock",
payloads=[{"p": 23.4, "temp": 31.1}, {"p": 58.4, "temp": 31.5}],
fields={"p": "contact_pressure", "temp": "surface_temperature"},
sensor_type="force_sensor",
location="robot.hand.left.fingertip",
unit="kPa",
)
def finger(raw):
return raw
@app.rule("finger", when="contact_pressure_kPa > 50", priority="HIGH")
def grip_overload(event):
return "Grip pressure exceeded safe threshold"
app.serve()
Event Callbacks (headless mode)
from glinx import Glinx
app = Glinx()
@app.sensor("temp", protocol="mock", payloads=[{"t": 55}])
def temp(raw):
return {"temperature": raw["t"]}
@app.rule("temp", when="temperature > 50", priority="HIGH", label="hot")
def hot_rule(event):
return "Too hot"
@app.on_event("hot")
def handle_hot(event):
print(f"🔥 Alert: {event.description}")
app.run(interval=1.0) # no MCP, just poll + fire callbacks
CLI
Run a Python app
glinx run demo:app # like uvicorn main:app
YAML config mode (power users)
glinx inspect-config --config glinx.yaml # show detected sources/sensors
glinx print-tools --config glinx.yaml # show generated MCP tool specs
glinx start --config glinx.yaml --serve-mcp # start MCP server
YAML Configuration (Advanced)
For complex setups with many sensors, use glinx.yaml instead of decorators:
glinx:
name: demo_robot
agent_bridge: mcp
ingestion:
sources:
- id: base_imu
protocol: mqtt
broker: localhost
topics: [robot/imu]
- id: left_fingertip
protocol: serial
port: /dev/ttyUSB0
baudrate: 115200
sensors:
- id: base_imu
type: imu
location: robot.base
fields:
ax: accel_x
ay: accel_y
az: accel_z
- id: left_fingertip
type: force_sensor
location: robot.hand.left.fingertip
unit: kPa
fields:
p: contact_pressure
temp: surface_temperature
event_rules:
- sensor: left_fingertip
condition: contact_pressure_kPa > 50
priority: HIGH
label: grip_overload
summary_windows:
- sensors: [base_imu, left_fingertip]
interval_seconds: 5
label: periodic_status
glinx start --config glinx.yaml --serve-mcp
Supported Protocols
| Protocol | Status | Platform |
|---|---|---|
| Mock (testing) | ✅ Built-in | pip install glinx |
| MQTT | ✅ Implemented | pip install glinx[mqtt] |
| Serial / UART | ✅ C++ Driver | pip install glinx[serial] |
| I2C | ✅ C++ Driver | Linux (Raspberry Pi, etc.) |
| SPI | ✅ C++ Driver | Linux (Raspberry Pi, etc.) |
| CAN Bus | ✅ C++ Driver | Linux (SocketCAN) |
| WebSocket | 🔜 Planned | — |
| BLE | 🔜 Planned | — |
| ROS2 | 🔜 Planned | — |
| Camera (OpenCV) | 🔜 Planned | — |
Key Features
- Decorator API —
@app.sensor(),@app.rule(), like FastAPI for hardware - Auto MCP tool generation — sensors become agent-callable tools automatically
- Semantic enrichment — raw fields get human-readable names, units, and summaries
- Event filtering — threshold rules, z-score anomaly detection, summary windows
- Config-driven or code-driven — decorators for simplicity, YAML for complex setups
- Protocol drivers — pluggable, community-extensible driver registry
- Async-native — built on
asynciofor concurrent hardware ingestion
Architecture
src/glinx/
app.py Decorator-based Glinx API (primary interface)
runtime.py Orchestration layer
config.py YAML configuration models (Pydantic)
models.py Core message, event, and snapshot models
schema.py Schema inference engine
semantic.py Semantic enrichment logic
events.py Rule engine, anomaly detection, summary windows
bus.py Internal async pub/sub bus
cli.py CLI entrypoint (Typer)
drivers/
base.py BaseDriver ABC + DriverRegistry
mock.py Mock driver for testing
mqtt.py MQTT driver (aiomqtt)
serial.py Serial/UART driver (pyserial-asyncio-fast)
bridges/
mcp.py MCP bridge (FastMCP)
tests/
test_app.py Decorator API tests
test_runtime.py Runtime integration tests
test_events.py Event filter tests
test_drivers.py Driver tests
test_bridge.py MCP bridge tests
Architecture: Hybrid C++/Python
Glinx uses a hybrid architecture for maximum performance:
Hardware → C++ Core (real-time) → Python Bridge (AI/semantics) → AI Agents
↓ <1ms latency ↓ Enrichment ↓ MCP Tools
Lock-free buffers Schema inference LangGraph/etc
10k+ msgs/sec Event filtering
Why C++? Python hits GIL limits at high sensor frequencies:
- Accelerometers: 100-1000 Hz
- IMUs: 400-1000 Hz
- Multiple sensors: 1000s of events/second
The C++ core provides:
- ✅ < 1µs latency sensor-to-buffer
- ✅ 10,000+ msgs/sec sustained throughput
- ✅ Zero GIL contention - lock-free buffers
- ✅ Direct hardware access (I2C, SPI, Serial/UART)
See README_CPP.md for C++ core details and examples/benchmark_comparison.py for performance benchmarks.
Roadmap
v0.1 (current)
- ✅ Decorator-based API
- ✅ Mock, MQTT, Serial drivers (Python)
- ✅ C++ core with Serial, I2C, SPI drivers
- ✅ Lock-free ring buffers and IPC
- ✅ Schema inference + semantic enrichment
- ✅ Rule-based events + anomaly detection
- ✅ MCP bridge scaffold
- ✅ CLI with
glinx run - ✅ Python bindings (nanobind)
- ✅ Benchmarks and tests
v0.2
- CAN bus driver (C++)
- WebSocket driver (Python)
- BLE driver (C++)
- Camera modality handler
v0.3
- ROS2 topic bridge
- Audio modality (Whisper integration)
- LangGraph / LangChain bridges
- Web dashboard for live sensor monitoring
v1.0
- Auto-discovery for known sensor types
- Distributed multi-node runtime
- Edge deployment (Raspberry Pi, Jetson Nano)
- RTOS integration for hard real-time
Development
uv sync --extra dev
uv run pytest -v
License
MIT
Metadata
Release files for glinx 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| glinx-0.1.0.tar.gz | 465.7 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| glinx-0.1.0-cp313-cp313-win_amd64.whl | CPython 3.13 | CPython 3.13 | Windows x86-64 | Details |
| glinx-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| glinx-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| glinx-0.1.0-cp313-cp313-macosx_11_0_arm64.whl | CPython 3.13 | CPython 3.13 | macOS 11.0+ ARM64 | Details |
| glinx-0.1.0-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| glinx-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| glinx-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| glinx-0.1.0-cp312-cp312-macosx_11_0_arm64.whl | CPython 3.12 | CPython 3.12 | macOS 11.0+ ARM64 | Details |
| glinx-0.1.0-cp311-cp311-win_amd64.whl | CPython 3.11 | CPython 3.11 | Windows x86-64 | Details |
| glinx-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| glinx-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| glinx-0.1.0-cp311-cp311-macosx_11_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 11.0+ ARM64 | Details |
Total release size: 3.6 MB
Release files / glinx-0.1.0.tar.gz
| Download URL | glinx-0.1.0.tar.gz |
|---|---|
| Size | 465.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d509e3d63868a714ebfb15d62450f562d3d5dd17e8f0643067914f0d66d9d73
|
|
BLAKE2b-256 checksum How to use checksums |
87fc89f98c1e54f603bc84abdb1694c9649c28057dc6c1f7c7b4ce1b886e510e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp313-cp313-win_amd64.whl
| Download URL | glinx-0.1.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 215.7 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
17e2aa5b1332b7b175825ec185d91ac0eed629c87adc1f07fa757629e7ebd02d
|
|
BLAKE2b-256 checksum How to use checksums |
e6aa27865a28d4e44a972508d9314c0c007e722c2bc248c7aca574bb56d2bff4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | glinx-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 303.7 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
710d8c7946b7fee94e32c7465d07bf6677988b03ec01241d024d738d9478da03
|
|
BLAKE2b-256 checksum How to use checksums |
d8ec7b7256bc700172a400c67ed146769f5d89b74d493f9388efb55826f04dbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | glinx-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 283.8 kB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
29027919e093d51f6a5d75995120d3f3e076d4a1b8fd7c96a68df5178f6c1435
|
|
BLAKE2b-256 checksum How to use checksums |
96baca46fe5d2bec07157fb5d81860ebddc437872da4c8273eb533a3430db862
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | glinx-0.1.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 237.2 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b6df5de2a735c79ed50dd84b7d977548033757358468a9f4f327ca36620f85e6
|
|
BLAKE2b-256 checksum How to use checksums |
465336f045134db2f9f55ad7bf671b8bbbc2336dab5c3d92505a8a776a0f8702
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | glinx-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 215.7 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
551ee120c5ce92d464319257532b49f85f804679a7920fc449788711a461031b
|
|
BLAKE2b-256 checksum How to use checksums |
145f5a16e41371221457de0f7221b1d56c3334791ad7adc89f2e15e4cb7faeff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | glinx-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 303.7 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
667460fa2b934e6e6172cf8cd8306036b967722747393323a6f85976bdc0ba62
|
|
BLAKE2b-256 checksum How to use checksums |
4551e0ef65cecf0dbf0dc6fc0509e64c9d64244d1d680c0fb9f042cbbe1261c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | glinx-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 283.8 kB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
a3e57160be9e8ead577a13edfda7619ddcfeef13143f361d1b9d143e220f4ce6
|
|
BLAKE2b-256 checksum How to use checksums |
48607f3063dfa6ce61caaed289ce7497a636a9c81bf68005c9538024e4826518
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | glinx-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 237.3 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d208525f2d4de511db8ff6f6ea46e380b381fd3061421e47121490c8648de954
|
|
BLAKE2b-256 checksum How to use checksums |
3c66ca459694f5e150455b26ac801e02793fbc91fa85571a75bb0482920e178e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | glinx-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 215.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
399815d98affdac6bac3ee7aed00d52dc68f320e14da4518e30441e023b40904
|
|
BLAKE2b-256 checksum How to use checksums |
06da689c3197107be19ca47f623a80b71206d8f67c199ed9a2934133528daa62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | glinx-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 305.3 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
def17c8b0bb628c4c4c03bfbb0f2343eb4ca80c1a570469843303c8ba39f4632
|
|
BLAKE2b-256 checksum How to use checksums |
f84416db8b78010c96a3484d95a270b3bc591d4e18737a63c6472550e25433fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | glinx-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 285.1 kB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d4219c7d16a020edc051a0260a4e827730187345d13eae7203b67e4d8c6e2ed9
|
|
BLAKE2b-256 checksum How to use checksums |
0e8c2e70fcb0c3469c51ceaab65a0f1a7954af831505e3ddad70f7c574283809
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / glinx-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | glinx-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 238.0 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
53918707b07143cd389c90f04b4181c0316cc06744edb3cf7aa2989e6ddf4d3b
|
|
BLAKE2b-256 checksum How to use checksums |
c959b1376b9b3e1ec78901f56733144c0ae8f6a87729fc28be89649bc630e138
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency log