Mentions légales du service

Skip to content
Snippets Groups Projects
pyproject.toml 1.79 KiB
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "querybuilder"
dynamic = ["version"]
description = "An SQL query builder written in Python."
readme = "README.md"
license = "BSD-3-Clause"
authors = [
    { name = "Bruno Guillon", email = "bruno.guillon@uca.fr" },
    { name = "Charles Paperman", email = "charles.paperman@univ-lille.fr" },
]
keywords = [
    "database",
]
classifiers = [
    "Development Status :: 4 - Beta",
    "License :: OSI Approved :: BSD License",
    "Topic :: Utilities",
]
dependencies = [
    "termcolor",
    "pygments",
    "IPython",
]

[project.optional-dependencies]
test = [
    "pytest",
    "pytest-cov",
    "pytest-mock",
    "mock"
]
doc = [
    "numpydoc",
    "matplotlib",
    "sphinx",
    "sphinx_rtd_theme",
    "sphinx_autorun",
    "sphinx_copybutton",
]
dev = [
    "ruff",
    "mypy",
]
postgres = [
    "psycopg",
]
all = [
    "querybuilder[dev]",
    "querybuilder[doc]",
    "querybuilder[test]",
    "querybuilder[postgres]",
]

#[project.urls]
#Homepage = "https://networkdisk.inria.fr"
#documentation = "https://networkdisk.inria.fr/documentation"
#repository = "https://gitlab.inria.fr/guillonb/networkdisk"

[tool.setuptools.package-data]
"querybuilder" = ["py.typed"]

[tool.hatch.version]
path = "querybuilder/__init__.py"

[tool.hatch.build.targets.sdist]
include = [
    "/querybuilder",
]

[tool.ruff.lint.per-file-ignores]
#I001 (sort import)
#F401 (drop unused imports)
"__init__.py" = ["I001", "F401"]
"post_init.py" = ["F401"]
"querybuilder/formatting/token.py" = ["F401"]
#E501 (long lines)
"doctest/*.py" = ["E501"]


[tool.mypy]
exclude = "test_.*\\.py"

## Allow redefinition with distinct types (singledispatch)
#[[tool.mypy.overrides]]
#module = 'querybuilder.drivers.*.tokenizer'
#allow_redefinition = "True"