Skip to main content

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.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-awesome-idea).
  3. Make your changes.
  4. 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 regrets Some 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)

Source distribution for contextwire 0.0.1
File Size Uploaded
contextwire-0.0.1.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for contextwire 0.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

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