clan-core/pkgs/clan-cli
clan-bot 018590d30b
All checks were successful
checks-impure / test (push) Successful in 18s
checks / test (push) Successful in 1m27s
assets1 / test (push) Successful in 6s
Merge pull request 'improve task manager to report exceptions better' (#402) from Mic92-main into main
2023-10-04 14:51:41 +00:00
..
.vscode Updated to main 2023-10-03 13:12:44 +02:00
bin generate openapi 2023-08-25 11:39:46 +02:00
clan_cli Merge pull request 'improve task manager to report exceptions better' (#402) from Mic92-main into main 2023-10-04 14:51:41 +00:00
tests improve task manager to report exceptions better 2023-10-04 16:49:58 +02:00
.envrc clan-cli/direnv: also watch default.nix 2023-08-30 11:27:43 +02:00
default.nix clan-cli: stop propagating build inputs, remove wrapper 2023-10-04 10:36:39 +02:00
deps-flake.nix clan-cli: use dependency flake instead of registry 2023-09-06 14:47:28 +02:00
flake-module.nix clan-cli: stop propagating build inputs, remove wrapper 2023-10-04 10:36:39 +02:00
pyproject.toml tests: increase timeout to 60 2023-09-28 15:24:06 +02:00
README.md Added threaded create_vm endpoint 2023-09-27 09:47:50 +00:00
shell.nix clan-cli devShell: add editable install 2023-10-04 11:39:31 +02:00

clan-cli

The clan-cli contains the command line interface as well as the graphical webui through the clan webui command.

Hacking on the cli

We recommend setting up direnv to load the developement with nix. If you do not have it set up you can also use nix develop directly like this:

use flake .#clan-cli --builders ''

After you can use the local bin wrapper to test things in the cli:

./bin/clan

Hacking on the webui

By default the webui is build from a tarball available https://git.clan.lol/clan/-/packages/generic/ui/. To start a local developement environment instead, use the --dev flag:

./bin/clan webui --dev

This will spawn two webserver, a python one to for the api and a nodejs one that rebuilds the ui on the fly.

Run webui directly

Useful for vscode run and debug option

python -m clan_cli.webui --reload --no-open

Add this launch.json to your .vscode directory to have working breakpoints in your vscode editor.

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Clan Webui",
      "type": "python",
      "request": "launch",
      "module": "clan_cli.webui",
      "justMyCode": true,
      "args": ["--reload", "--no-open", "--log-level", "debug"]
    }
  ]
}

Run locally single-threaded for debugging

By default tests run in parallel using pytest-parallel. pytest-parallel however breaks breakpoint(). To disable it, use this:

pytest --workers "" -s

You can also run a single test like this:

pytest --workers "" -s tests/test_secrets_cli.py::test_users