One installation per project, and no login to reach it

Two things a local install should not have asked for.

`fluksio serve` now signs you in. Logging in to your own machine was a
formality — the password was printed by the same process that would have
checked it, and the database it authenticates against sits in the directory
the token goes into — so `serve` mints the token itself and says where it put
it. `fluksio login` is left for an engine somewhere else.

And an installation is `.fluksio` beside the code, found the way `.git` is,
rather than one `~/.fluksio` for the machine. A repository with its own venv
was already getting its own engine; it now gets its own flows, run history and
token too, instead of three repositories sharing one database and fighting
over one port. `--global` asks for the shared one, `--data-dir` still names
any directory, and when both exist the banner says which you are looking at
and how to reach the other.

The directory ignores itself from within — a `.gitignore` of `*`, the way uv
writes one into `.venv` — because it holds a credential and a database, and
neither belongs in anybody's history. The token is written mode 600. A login
an older version wrote to ~/.config/fluksio is still read, so nothing that
worked stops working.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012ue1tkFWB1bcGy3aWhCKpU
This commit is contained in:
2026-08-24 16:13:35 +02:00
co-authored by Claude Fable 5
parent e2b25c9d5a
commit 99f6530698
9 changed files with 405 additions and 57 deletions
+11 -3
View File
@@ -9,8 +9,17 @@ pip install fluksio
fluksio serve
```
Then login once (the token is stored on your device) with the credentials shown after the previous command
```sh
fluksio login --url http://127.0.0.1:8000
```
and you're ready to go!
Fluksio keeps a SQLite database, a git repository of your flows and an artifact store under `~/.fluksio`, and prints an admin password once upon start.
Fluksio keeps a SQLite database, a git repository of your flows and an artifact
store in a `.fluksio` beside your code — one installation per project, found
the way `.git` is. It prints an admin password once, and signs you in itself.
## For data science
@@ -45,10 +54,9 @@ train = Flow("train", nodes=[prepare, fit, evaluate],
```
Fluksio will automatically infer the order of nodes based on the inputs and outputs you defined.
When everything is set, you can access a dashboard as follows:
When everything is set, you can launch your first run as follows:
```sh
fluksio login --url http://127.0.0.1:8000
fluksio sync myresearch
fluksio run train --lr 0.05 --wait
```