[build-system] requires = ["setuptools>=45", "wheel"] build-backend = "setuptools.build_meta" [project] name = "particle-os" version = "0.1.0" description = "A Debian-based build system for OS images" readme = "README.md" license = {text = "Apache-2.0"} authors = [ {name = "particle-os contributors", email = "contributors@particle-os.org"} ] maintainers = [ {name = "particle-os contributors", email = "contributors@particle-os.org"} ] keywords = ["osbuild", "debian", "image", "builder", "ostree", "bootc"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Build Tools", "Topic :: System :: Operating System", ] requires-python = ">=3.8" dependencies = [ "jsonschema>=4.0.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-cov>=4.0.0", "pytest-mock>=3.10.0", "black>=23.0.0", "flake8>=6.0.0", "mypy>=1.0.0", ] [project.scripts] particle-os = "osbuild.main_cli:osbuild_cli" [project.urls] Homepage = "https://github.com/particle-os/particle-os" Documentation = "https://github.com/particle-os/particle-os#readme" Repository = "https://github.com/particle-os/particle-os" Issues = "https://github.com/particle-os/particle-os/issues" [tool.setuptools.packages.find] where = ["src"] [tool.black] line-length = 88 target-version = ['py38'] include = '\.pyi?$' extend-exclude = ''' /( # directories \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | build | dist )/ ''' [tool.flake8] max-line-length = 88 extend-ignore = ["E203", "W503"] exclude = [ ".git", "__pycache__", "build", "dist", ".venv", "venv", ] [tool.mypy] python_version = "3.8" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true disallow_untyped_decorators = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true strict_equality = true [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py", "*_test.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = [ "--strict-markers", "--strict-config", "--cov=osbuild", "--cov-report=term-missing", "--cov-report=html", ] markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", "integration: marks tests as integration tests", ]