Metadata-Version: 2.4
Name: Ownbox
Version: 0.1.4
Summary: The Ownbox developer kit: write a machine for an Ownbox, and run it here against a local Ownbox.
Project-URL: Homepage, https://www.ownbox.io
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: PyYAML>=6.0

# ownbox

The developer kit for [Ownbox](https://www.ownbox.io): write a custom machine for an Ownbox, and run it on your own
computer against a local Ownbox.

```
pip install ownbox
ownbox new visit-reminder      # a starter machine, in ./visit-reminder
ownbox run visit-reminder      # run it once, and read what it would have done
ownbox preview visit-reminder  # open its page in your browser, drawn as your Ownbox draws it
ownbox example                 # two whole machines to start from: a med spa's report, a gym's check-ins
```

Nothing to sign up for and nothing to buy to start: all of it runs on your own computer.

A custom machine is a folder: `machine.yaml` says what it may touch, and `__init__.py` is its code, written against
`from core import sdk`. A new one opens as a page, a dashboard named for it with what it does, its own latest data and
Run now, and `ownbox run` draws that page as your Ownbox will. `ownbox run` starts it the way an Ownbox does, with the standard library and the SDK only, and
answers every call from a local Ownbox:

- reads of people, conversations and drafts come from invented sample data, or from your machine's own
  `fixtures/box.json`;
- sends, spends and proposals are not made, and you read what they would have been, and what each approval would
  carry out once its owner says yes;
- the AI answers one fixed sentence;
- the internet is not reached. On an Ownbox, its owner allows a host before a test reaches it.

`ownbox preview` opens its pages in your own browser, drawn by your Ownbox's own renderer in its own look, on the same
sample data: its figures and lists, its settings form (what you save, it reads), and Run now. Change its code and reload
the page: the preview starts it again with the new code, its settings kept. It listens on 127.0.0.1 only and reaches
nothing outside your computer.

Its code lives with you: in that folder on your own computer, and if you like, your own GitHub (or any git) repository.
Your Ownbox needs neither. When it does what you meant, connect your Claude to your Ownbox (its Developers page has the
one line) and ask it to send the machine there: your Claude sends the files, your Ownbox checks and dry-runs that exact
build, and its owner says yes on Approvals before anything runs. Your Ownbox keeps the installed copy and its versions,
and never pulls code from GitHub.

On a partner's Ownbox, one more yes: when the build is ready, Approve on its card sends it to Ownbox, and Ownbox reads
the code and approves it before it installs there. The card says when it is waiting for Ownbox.
