halig/pyproject.toml
2024-08-04 10:34:35 +02:00

129 lines
3 KiB
TOML

[project]
name = "halig"
authors = [
{ name = "cătălin", email = "catalin@roboces.dev" }
]
dependencies = [
"typer>=0.12",
"rich>=13.3.3",
"pydantic>=2.7",
"pyyaml>=6.0",
"pyrage>=1.1",
"pendulum>=3.0",
"httpx>=0.27",
"platformdirs>=4.2",
"pydantic-settings>=2.0",
"hishel>=0.0.26",
]
requires-python = ">= 3.10"
dynamic = ["version"]
description = "age-encrypted, file-based, note-taking CLI app"
readme = "README.md"
keywords = ["cli", "notes", "age", "rage", "encryption", "notebook"]
license = { text = "GPL-3.0-or-later" }
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Natural Language :: English",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Terminals",
"Topic :: Utilities",
"Typing :: Typed"
]
[project.urls]
Homepage = "https://git.roboces.dev/catalin/halig"
Repository = "https://git.roboces.dev/catalin/halig"
Documentation = "https://git.roboces.dev/catalin/halig"
Changelog = "https://git.roboces.dev/catalin/halig"
[project.optional-dependencies]
testing = [
"pytest>=7.2.2",
"pytest-cov>=4.0.0",
"pyfakefs>=5.1.0",
"pytest-clarity>=1.0.1",
"pytest-reportlog>=0.2.1",
"pytest-duration-insights>=0.1.1",
"pytest-pretty>=1.1.1",
"pytest-mock>=3.10.0",
"mock>=5.0.1",
]
linting = [
"black>=23.3.0",
"ruff>=0.1.0",
"pyright>=1.1.301",
"mypy>=1.1.1",
"types-PyYAML>=6.0.12.9",
]
docs = [
"mkdocs-material>=9.1.5",
"mkdocstrings[python]>=0.20.0",
]
dev = [
"bump-pydantic>=0.6.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.rye]
managed = true
dev-dependencies = []
[tool.hatch.build]
skip-excluded-dirs = true
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.version]
path = "src/halig/__version__.py"
[tool.hatch.build.targets.sdist]
exclude = [
"**/.pytest_cache/**",
"tests/**",
"noxfile.py",
"sample.env",
"Makefile",
".pre-commit-config.yaml",
".gitignore",
]
[tool.hatch.build.targets.wheel]
packages = ["src/halig"]
only-packages = true
[project.scripts]
halig = "halig.main:app"
[tool.pytest]
mock_use_standalone_module = true
[tool.pyright]
reportMissingImports = false
reportMissingTypeStubs = false
reportAttributeAccessIssue = false
[tool.ruff.lint]
extend-select = ["W", "C90", "I", "N", "UP", "S", "BLE", "B", "A", "COM", "C4", "DTZ", "T10", "EM", "ISC", "T20", "PT", "RSE", "RET", "SIM", "PTH", "ERA", "PGH", "PL", "TRY", "RUF"]
extend-ignore = ["S101", "ISC002", "COM812", "ISC001"]
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
[[tool.mypy.overrides]]
module = [
"pyrage",
"pyrage.ssh",
"pyrage.x25519",
"attr",
"httpx_cache"
]
ignore_missing_imports = true