You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diagrams/pyproject.toml

59 lines
1.7 KiB

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "diagrams"
version = "0.25.1"
description = "Diagram as Code"
authors = [{ name = "mingrammer", email = "mingrammer@gmail.com" }]
requires-python = "~=3.9"
readme = "README.md"
license = "MIT"
dependencies = [
"graphviz>=0.13.2,<0.22.0",
"jinja2>=2.10,<4.0",
"typed-ast>=1.5.5,<2 ; python_version<'3.8'",
]
[project.scripts]
diagrams = "diagrams.cli:main"
[project.urls]
Homepage = "https://diagrams.mingrammer.com"
Repository = "https://github.com/mingrammer/diagrams"
[tool.poetry.group.dev.dependencies]
pytest = "^8.3"
pylint = "^3.3"
rope = "^1.13"
isort = "^6.0"
black = "^24.4"
pre-commit = "^4.0"
# The wheel ships the package and the icon tree it loads at runtime, and nothing
# else. `resources` is a top-level directory because diagrams.Node._load_icon
# resolves icons relative to the *parent* of the diagrams package.
[tool.hatch.build.targets.wheel]
only-include = ["diagrams", "resources"]
# The sdist additionally carries the test suite and the release-version check,
# so distribution packagers can verify a build without cloning the repository.
# Not the rest of scripts/ or autogen.sh: those need templates/, website/ and
# external binaries, and shipping them without their inputs advertises a script
# that cannot run. Note tests/test_packaging.py skips itself unless `import
# diagrams` resolves to an installed copy - run it from outside the unpacked
# tree so it exercises the build under test, not the source that ships with it.
[tool.hatch.build.targets.sdist]
only-include = [
"diagrams",
"resources",
"tests",
"scripts/__init__.py",
"scripts/check_release_version.py",
"CHANGELOG.md",
]
[tool.black]
line-length=120