[build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" [project] name = "clan" description = "clan cli tool" dynamic = ["version"] license = { text = "MIT" } [project.scripts] clan = "clan_cli.cli:main" clan-generate-test-vars = "clan_cli.generate_test_vars.cli:main" [project.urls] Homepage = "https://clan.lol/" Documentation = "https://docs.clan.lol/" Repository = "https://git.clan.lol/clan/clan-core" [tool.setuptools.packages.find] include = ["clan_lib*", "clan_cli*"] exclude = ["clan_lib.nixpkgs*", "result"] [tool.setuptools.package-data] clan_cli = [ "py.typed", "vms/mimetypes/**/*", "webui/assets/**/*", "flash/*.sh", ] clan_lib = [ "clan_core_templates/**/*", "**/allowed-packages.json", "ssh/*.sh", "flash/*.sh", ] [tool.pytest.ini_options] testpaths = ["tests", "clan_cli", "clan_lib"] faulthandler_timeout = 240 log_cli = true log_cli_level = "DEBUG" log_cli_format = "%(message)s" addopts = "--durations 5 --color=yes --new-first -W error -n auto" # Add --pdb for debugging norecursedirs = ["clan_cli/tests/helpers", "clan_lib/nixpkgs"] # All tests which evaluate any nix library code from clan-core need to use the # `with_core` marker, so basically all tests which evaluate a flake with # machines. In the CI pipeline we run these tests in a separate derivation # depending on clan-core. All other tests do not need to depend on clan-core # and can be cached more effectively. markers = ["impure", "with_core", "service_runner"] filterwarnings = "default::ResourceWarning" python_files = ["test_*.py", "*_test.py"] [tool.mypy] python_version = "3.13" warn_redundant_casts = true disallow_untyped_calls = true disallow_untyped_defs = true no_implicit_optional = true exclude = "clan_lib.nixpkgs"