ty/pyproject.toml

130 lines
3.4 KiB
TOML

[project]
name = "ty"
version = "0.0.8"
requires-python = ">=3.8"
dependencies = []
description = "An extremely fast Python type checker, written in Rust."
readme = "README.md"
authors = [{ name = "Astral Software Inc.", email = "hey@astral.sh" }]
keywords = ["ty", "typing", "analysis", "check"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"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",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Rust",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
]
[project.urls]
Repository = "https://github.com/astral-sh/ty"
Changelog = "https://github.com/astral-sh/ty/blob/main/CHANGELOG.md"
Releases = "https://github.com/astral-sh/ty/releases"
Discord = "https://discord.gg/astral-sh"
[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"
[dependency-groups]
release = ["rooster"]
[tool.uv]
cache-keys = [
{ file = "pyproject.toml" },
{ file = "dist-workspace.toml" },
{ file = "ruff/Cargo.toml" },
{ file = "ruff/Cargo.lock" },
{ file = "**/*.rs" },
]
[tool.uv.dependency-groups]
release = {requires-python = ">=3.12"}
[tool.ruff]
extend-exclude = ["ruff"]
per-file-target-version = { "scripts/**" = "py313" }
[tool.ruff.lint]
select = [
"E", # pycodestyle (error)
"F", # pyflakes
"B", # bugbear
"B9",
"C4", # flake8-comprehensions
"SIM", # flake8-simplify
"I", # isort
"UP", # pyupgrade
"PIE", # flake8-pie
"PGH", # pygrep-hooks
"PYI", # flake8-pyi
"RUF",
]
ignore = [
# only relevant if you run a script with `python -0`,
# which seems unlikely for any of the scripts in this repo
"B011",
# Leave it to the formatter to split long lines and
# the judgement of all of us.
"E501",
]
[tool.ruff.lint.isort]
required-imports = ["from __future__ import annotations"]
[tool.maturin]
bindings = "bin"
manifest-path = "ruff/crates/ty/Cargo.toml"
module-name = "ty"
python-source = "python"
strip = true
include = [
{ path = "dist-workspace.toml", format = [
"sdist",
] },
{ path = "LICENSE", format = "sdist" },
]
[tool.rooster]
version-files = [
"pyproject.toml",
{ path = "dist-workspace.toml", field = "workspace.version", format = "cargo" },
"docs/installation.md",
]
submodules = ["ruff"]
require-labels = [{ submodule = "ruff", labels = ["ty"] }]
ignore-labels = [
"internal",
"testing",
"ci",
"playground",
"documentation",
"release",
]
changelog-ignore-authors = ["github-actions"]
major-labels = [] # We do not use the major version number yet
minor-labels = [] # We do not use the minor version number yet
version-format = "cargo"
trim-title-prefixes = ["[ty]"]
[tool.rooster.section-labels]
"Breaking changes" = ["breaking"]
"Preview features" = ["preview"]
"Bug fixes" = ["bug"]
"LSP server" = ["server"]
"CLI" = ["cli"]
"Configuration" = ["configuration"]