ContextWire
UWAGA: this README.md is a placeholder and meant (for now) as a rough draft
A Gloriously Over-Engineered Hardware Automation Framework
Probably a huge mistake. But like, a powerful, scripted, glorious mistake.
ContextWire is your new hardware automation overlord. It aims to talk to Saleae, Bus Pirate, Simplicity Commander, and even your dusty LXI o-scope, all from one place. No more juggling 17 terminals and making ritual sacrifices to the demo gods — just a single, unified interface to script, control, and automate your lab gear.
⚠️ Current Status: Alpha AF
This project is in the very early stages of development. Expect bugs, breaking changes, and moments of existential dread. If it works, it's a miracle. If it breaks, you get to keep both pieces.
✨ Core Features
- 💬 Unified Control: Access all your tools through a REST API, WebSockets, or the Model Context Protocol (MCP) for agentic AI interactions.
- 🔌 Modular Drivers: A plug-and-play architecture makes it easy to add new hardware. If it has a port, we can probably talk to it. Eventually.
- 🧪 Built for Embedded Devs: Perfect for anyone who is sick of vendor-specific GUIs and wants to script their hardware interactions.
- 🔧 Built with Python: Because I hate myself just enough.
🚀 Getting Started
(This section is a placeholder for when things actually work.)
1. Installation (Theoretically):
git clone https://github.com/skakri/contextwire.git
cd contextwire
# ???
cd ..
rm -rf contextwire
2. Configuration:
Copy the example environment file and pretend to fill it out.
cp .env.example .env
3. Run It:
Launch the server and pray (we use Python 3.x as default here, don't be a caveman).
python -m contextwire.main --run-api --run-ws
🚦 Run Modes
ContextWire can be launched in several modes, simultaneously if you're feeling brave:
- Stateful MCP Server: A server implementing the Model Context Protocol, allowing agentic AI systems to maintain and interact with hardware state and context.
- REST API Server: For stateless, command-based control. Perfect for integration with scripts and CI/CD pipelines.
- WebSocket Server: For real-time, bidirectional communication. Stream live data or build interactive remote shells.
📦 Planned Device Support
| Device / Interface | Status | Notes |
|---|---|---|
| Saleae Logic Analyzer | 🔜 WIP |
logic2-automation library |
| Simplicity Commander | ➡️ Up Next |
Wrapping the commander CLI |
| Bus Pirate | ❓ Planned |
Binary bitbang mode |
| LXI Instruments | 🤯 Maybe |
via lxi-tools or similar |
| Sigrok-Supported Devices | 🤯 Maybe |
The holy grail of driver support |
🤝 How to Contribute
Found a bug? Have a brilliant idea? Want to add support for a new device? Excellent.
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-awesome-idea). - Make your changes.
- Submit a pull request and tell me what you broke.
📜 License
Licensed under the Apache 2.0 License.
Made with poor life choices. Also yes, I wrote parts of this README by wasting tokens because I couldn't be bothered to write it myself.
No regretsSome regrets.
Metadata
Release files for contextwire 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| contextwire-0.0.1.tar.gz | 11.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| contextwire-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.5 kB
Release files / contextwire-0.0.1.tar.gz
| Download URL | contextwire-0.0.1.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f8030e1b258f0389efb76c0d2a927d5d4581b5d65f77a11547aeb3aae4bfbddb
|
|
BLAKE2b-256 checksum How to use checksums |
2f562e52ca36d8c630bb606a8d53cf1765421565a85e69152ce97e8ff0df73b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / contextwire-0.0.1-py3-none-any.whl
| Download URL | contextwire-0.0.1-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b301dc705f0ad2e2ae7ce86b4303fdb2f57691380c9004cea66351260809235c
|
|
BLAKE2b-256 checksum How to use checksums |
eee17b5524c29894f7431ea4582e367833730ed2f350ecb0a2df5ba5b5b7a85c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|