Metadata-Version: 2.4
Name: dissyslab
Version: 1.3.5
Summary: DisSysLab — build continuous offices of AI agents in plain English.
Author-email: "K. Mani Chandy" <kmchandy@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/kmchandy/DisSysLab
Project-URL: Source, https://github.com/kmchandy/DisSysLab
Project-URL: Documentation, https://github.com/kmchandy/DisSysLab#readme
Project-URL: Issues, https://github.com/kmchandy/DisSysLab/issues
Keywords: distributed-systems,agents,ai,education,claude,anthropic,llm,dataflow
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Education
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Distributed Computing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: anthropic>=0.39.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: feedparser>=6.0.11
Requires-Dist: requests>=2.31.0
Requires-Dist: websocket-client>=1.6.0
Requires-Dist: beautifulsoup4>=4.12.0
Requires-Dist: Pillow>=10.0.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: scipy>=1.11.0
Requires-Dist: rich>=13.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.1.0; extra == "dev"
Requires-Dist: ruff>=0.6.9; extra == "dev"
Requires-Dist: black>=24.8.0; extra == "dev"
Requires-Dist: build>=1.2.1; extra == "dev"
Requires-Dist: twine>=5.1.1; extra == "dev"
Dynamic: license-file

# DisSysLab — Build Your Own Office of AI Agents

AI chatbots answer when you ask. **DisSysLab runs an office of AI agents
that works for you continuously** — monitoring sources, filtering, analyzing,
and delivering results all the time, until you tell it to stop.

You describe the office in plain English. DisSysLab builds it.

![A DisSysLab office running](https://raw.githubusercontent.com/kmchandy/DisSysLab/main/dissyslab/gallery/org_situation_room/screenshot.png)

## Three steps to a running office

**1. Install:**

```bash
pip install dissyslab
```

**2. Get an Anthropic API key** at https://console.anthropic.com and
save it in a `.env` file. Full setup and troubleshooting in
[`API_KEY_SETUP.md`](https://github.com/kmchandy/DisSysLab/blob/main/API_KEY_SETUP.md)
— takes about 3 minutes.

**3. Run your first office:**

```bash
dsl init weather_monitor my_weather
cd my_weather
dsl run .
```

Within a few seconds you'll see a one-sentence weather briefing
streaming to the console. Press `Ctrl+C` to stop.

`dsl list` shows every office that ships with DisSysLab. `dsl init`
copies one of them into a folder you own. From there, edit prompts,
swap sources, rewire agents — the office is yours.

## What is an office?

An office is a team of AI agents with roles, connected by an org chart.
You write each role in plain English — the same way you'd describe a job
to a new hire — and you write the org chart in plain English too.

A single role file looks like this:

```
# Role: analyst

You are a news analyst who reviews articles and forwards items of
political or economic significance to an editor. Exclude celebrity
gossip, sports, and personal opinions.

If the item is relevant, send to editor.
Otherwise send to discard.
```

That's an agent. Combine a handful of them with sources and sinks in an
org chart, and you have an office that runs continuously.

**Offices can contain offices.** Each office is a black box — the
organization around it only sees what goes in and what comes out. You
build organizations of arbitrary complexity one office at a time,
reusing offices across different networks.

## Learn more

- Full documentation, source, and contributing guide on [GitHub](https://github.com/kmchandy/DisSysLab)
- Visual walk-through in the [micro-course](https://kmchandy.github.io/DisSysLab/office_microcourse.html)
- Every shipped office with `dsl list`

## Requirements

- Python 3.9 or newer
- An Anthropic API key

## License

MIT — see [LICENSE](https://github.com/kmchandy/DisSysLab/blob/main/LICENSE) on GitHub.
