diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..21f82f8 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,26 @@ +[project] +name = "kupferbootstrap" +dependencies = [ + "click>=8.0.1", + "appdirs>=1.4.4", + "joblib>=1.0.1", + "toml", + "typing_extensions", + "coloredlogs", + "munch", + "requests", + "python-dateutil", + "enlighten", + "PyYAML", +] +dynamic = ["version"] + +[project.scripts] +kupferbootstrap = "kupferbootstrap.main:main" + +[build-system] +requires = [ "setuptools>=41", "wheel", "setuptools-git-versioning<2", ] +build-backend = "setuptools.build_meta" + +[tool.setuptools-git-versioning] +enabled = true diff --git a/pytest.sh b/pytest.sh index d305774..544b319 100755 --- a/pytest.sh +++ b/pytest.sh @@ -1,4 +1,4 @@ #!/bin/bash sudo -v -python -m pytest -v --cov=. --cov-branch --cov-report=term "$@" ./*/test_*.py +python -m pytest -v --cov=. --cov-branch --cov-report=term "$@" src/kupferbootstrap diff --git a/requirements.txt b/requirements.txt index df53ed4..d6e1198 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,12 +1 @@ -click>=8.0.1 -appdirs>=1.4.4 -joblib>=1.0.1 -toml -typing_extensions -coloredlogs -munch -setuptools # required by munch -requests -python-dateutil -enlighten -PyYAML +-e . diff --git a/main.py b/src/kupferbootstrap/main.py similarity index 81% rename from main.py rename to src/kupferbootstrap/main.py index f212197..c3dbdb9 100755 --- a/main.py +++ b/src/kupferbootstrap/main.py @@ -7,19 +7,19 @@ from os import isatty from traceback import format_exc, format_exception_only, format_tb from typing import Optional -from logger import color_option, logging, quiet_option, setup_logging, verbose_option -from wrapper import get_wrapper_type, enforce_wrap, nowrapper_option -from progressbar import progress_bars_option +from .logger import color_option, logging, quiet_option, setup_logging, verbose_option +from .wrapper import get_wrapper_type, enforce_wrap, nowrapper_option +from .progressbar import progress_bars_option -from binfmt.cli import cmd_binfmt -from config.cli import config, config_option, cmd_config -from packages.cli import cmd_packages -from flavours.cli import cmd_flavours -from devices.cli import cmd_devices -from net.cli import cmd_net -from chroot.cli import cmd_chroot -from cache.cli import cmd_cache -from image.cli import cmd_image +from .binfmt.cli import cmd_binfmt +from .config.cli import config, config_option, cmd_config +from .packages.cli import cmd_packages +from .flavours.cli import cmd_flavours +from .devices.cli import cmd_devices +from .net.cli import cmd_net +from .chroot.cli import cmd_chroot +from .cache.cli import cmd_cache +from .image.cli import cmd_image @click.group()