pyproject.toml 2.93 KB
[tool.poetry]
name = "kf_sdk"
version = "1.0.0"
description = "FastAPI"
authors = ["Kappa Group from A.I. center of NSU <ai@nsu.ru>"]
license = "BSD-3.0 License"
readme = "README.md"
repository = "https://github.com/nsu-ai/kappa.git"
keywords = ["Kappa", "Datasets Management", "FastAPI"]
include = ["kf_sdk/py.typed"]
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: BSD-3.0 License",
    "Operating System :: OS Independent",
]

[project]
name = "kf_sdk"
version = "1.0.0"
description = "FastAPI"
authors = [{name="Kappa Group from A.I. center of NSU",email="ai@nsu.ru"}]
license = {file="LICENSE.md"}
readme = "README.md"
keywords = ["Kappa", "Datasets Management", "FastAPI"]
classifiers = [
    "Programming Language :: Python :: 3",
    "Operating System :: OS Independent",
]

[tool.poetry.dependencies]
python = "^3.8"
urllib3 = ">= 1.25.3 < 3.0.0"
python-dateutil = ">= 2.8.2"
pydantic = ">= 2"
typing-extensions = ">= 4.7.1"

[tool.poetry.dev-dependencies]
pytest = ">= 7.2.1"
pytest-cov = ">= 2.8.1"
tox = ">= 3.9.0"
flake8 = ">= 4.0.0"
types-python-dateutil = ">= 2.8.19.14"
mypy = ">= 1.5"

[project.urls]
Homepage = "https://github.com/nsu-ai/kappa"
Issues = "https://github.com/nsu-ai/kappa/issues"
Repository = "https://github.com/nsu-ai/kappa.git"


[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[tool.pylint.'MESSAGES CONTROL']
extension-pkg-whitelist = "pydantic"

[tool.mypy]
files = [
  "kf_sdk",
  #"test",  # auto-generated tests
  "tests", # hand-written tests
]
# TODO: enable "strict" once all these individual checks are passing
# strict = true

# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options
warn_unused_configs = true
warn_redundant_casts = true
warn_unused_ignores = true

## Getting these passing should be easy
strict_equality = true
extra_checks = true

## Strongly recommend enabling this one as soon as you can
check_untyped_defs = true

## These shouldn't be too much additional work, but may be tricky to
## get passing if you use a lot of untyped libraries
disallow_subclassing_any = true
disallow_untyped_decorators = true
disallow_any_generics = true

### These next few are various gradations of forcing use of type annotations
#disallow_untyped_calls = true
#disallow_incomplete_defs = true
#disallow_untyped_defs = true
#
### This one isn't too hard to get passing, but return on investment is lower
#no_implicit_reexport = true
#
### This one can be tricky to get passing if you use a lot of untyped libraries
#warn_return_any = true

[[tool.mypy.overrides]]
module = [
  "kf_sdk.configuration",
]
warn_unused_ignores = true
strict_equality = true
extra_checks = true
check_untyped_defs = true
disallow_subclassing_any = true
disallow_untyped_decorators = true
disallow_any_generics = true
disallow_untyped_calls = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
no_implicit_reexport = true
warn_return_any = true