DEV Community

Nik Vora
Nik Vora

Posted on

I shipped OpenGates: a Python runtime for filtering inbound through conversation

I just shipped my first dev-facing release: OpenGates.

OpenGates is a source-available Python runtime for filtering inbound through conversation.

The core idea is that “inbound” is becoming its own systems problem. As outbound gets cheaper and easier to automate, the problem shifts from generating messages to judging them well. I wanted a small runtime that could take a gate definition and manage the actual thread: decline it, ask a bounded follow-up, or escalate it.

What OpenGates includes:

a file-based gate bundle
a local-first runtime
a FastAPI reference UI
a starter gate
a CLI
a PyPI package
The gate model is intentionally compact. A gate is mostly a few files:

focus.md
standards.md
voice.md
examples.md
optional gate.yaml
From that, OpenGates runs a thread with three outcomes:

decline
clarify
escalate
You can try it with:

pip install opengates
opengates serve
Repo: github.com/nvsudo/opengates
PyPI: pypi.org/project/opengates

A few things I’m especially interested in hearing from developers:

does the gate-bundle abstraction feel right?
does the local-first setup make the runtime easier to trust?
what would you want before building on top of it?
It’s source-available under ELv2, so commercial internal use is allowed, but it is not OSI open source.

Top comments (0)