Metadata-Version: 2.5
Name: stilo-cli
Version: 0.2.0
Summary: Stilo: edit and render a folder of linked Texl documents
Project-URL: Documentation, https://www.onlabs.org/manual/
Project-URL: Source, https://github.com/onlabsorg/stilo
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: fastapi>=0.115
Requires-Dist: pytexl>=0.6.0
Requires-Dist: uvicorn>=0.30
Description-Content-Type: text/markdown

# Stilo

Stilo is the editor for [Texl](https://github.com/onlabsorg/texl) documents:
living documents that compute their content and link to each other. It
edits a folder of `.texl` files in the browser, as a stack of cells that
feels familiar to Word and Excel users, and renders them from the command
line.

Stilo is single-user and open source (MIT). Use it on your own folder,
locally or on a server of your own; collaboration between people and
organisations (accounts, permissions, release and accept) is the job of a
platform built on top of it.

> This repository used to hold the olojs version of Stilo, a CLI for
> olo-docs. That code is kept under the tag `olojs-v0.19.4`.

## Getting started

Requires Python 3.11 or later. Install the `stilo` command from PyPI, with
[uv](https://docs.astral.sh/uv/) or pip:

```bash
uv tool install stilo-cli    # or: pip install stilo-cli
stilo serve my-folder        # http://127.0.0.1:8000
stilo render my-folder/report.texl
```

To try the sample documents, or to work on Stilo itself, use a checkout
(Node.js 22+ builds the web app):

```bash
git clone https://github.com/onlabsorg/stilo.git && cd stilo
cd web && npm install && npm run build && cd ..
uv run stilo serve examples
```

Open <http://127.0.0.1:8000/projects/beam/beam-check.texl>.

## Parts

| Folder    | What                                                          |
|-----------|---------------------------------------------------------------|
| `web/`    | The web app's source (Lit, Vite): navigation, side panes and the editor (`web/src/editor/`, the `<texl-editor>` component) |
| `src/stilo/` | The Python package `stilo`: `server/` (FastAPI, one folder of documents), `cli/` (the `stilo` command, `render` and `serve`), `web/` (the built web app) |
| `tests/`  | The Python tests                                              |
| `pyproject.toml` | The package `stilo`, the only one published (on PyPI: `stilo-cli`) |
| `docs/`   | The developer documentation (plain Markdown)                  |
| `examples/` | Sample documents                                            |

## Documentation

- **Using Stilo:** the [OnLabs.org user manual](https://www.onlabs.org/manual/)
  covers getting started, the web editor, the `stilo` command and the
  document format.
- **Working on Stilo:** the [developer documentation](https://github.com/onlabsorg/stilo/tree/main/docs)
  covers the architecture, the protocol, the editor component and its API,
  and the development setup. See also
  [CONTRIBUTING.md](https://github.com/onlabsorg/stilo/blob/main/CONTRIBUTING.md)
  and [CHANGELOG.md](https://github.com/onlabsorg/stilo/blob/main/CHANGELOG.md).

## License

[MIT](https://github.com/onlabsorg/stilo/blob/main/LICENSE)
