104 lines
2.4 KiB
TOML
104 lines
2.4 KiB
TOML
# MARK: Project info
|
|
[project]
|
|
name = "corelibs"
|
|
version = "0.44.2"
|
|
description = "Collection of utils for Python scripts"
|
|
readme = "README.md"
|
|
requires-python = ">=3.13"
|
|
dependencies = [
|
|
"corelibs-datetime>=1.0.1",
|
|
"corelibs-enum-base>=1.0.0",
|
|
"corelibs-text-colors>=1.0.0",
|
|
"corelibs-var>=1.0.0",
|
|
"cryptography>=46.0.3",
|
|
"jmespath>=1.0.1",
|
|
"jsonpath-ng>=1.7.0",
|
|
"psutil>=7.0.0",
|
|
"requests[socks]>=2.32.5",
|
|
]
|
|
|
|
# MARK: build system
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
# set this to disable publish to pypi (pip)
|
|
# classifiers = ["Private :: Do Not Upload"]
|
|
|
|
# MARK: build target
|
|
[[tool.uv.index]]
|
|
name = "opj-pypi"
|
|
url = "https://git.egplusww.jp/api/packages/PyPI/pypi/simple/"
|
|
publish-url = "https://git.egplusww.jp/api/packages/PyPI/pypi"
|
|
|
|
[tool.uv.sources]
|
|
corelibs-enum-base = { index = "opj-pypi" }
|
|
corelibs-datetime = { index = "opj-pypi" }
|
|
corelibs-var = { index = "opj-pypi" }
|
|
corelibs-text-colors = { index = "opj-pypi" }
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"deepdiff>=8.6.1",
|
|
"pytest>=8.4.1",
|
|
"pytest-cov>=6.2.1",
|
|
"typing-extensions>=4.15.0",
|
|
]
|
|
|
|
# MARK: Python linting
|
|
[tool.pyright]
|
|
typeCheckingMode = "strict"
|
|
reportMissingImports = "information"
|
|
reportMissingTypeStubs = "information"
|
|
reportUnknownMemberType = "information"
|
|
[tool.ruff]
|
|
line-length = 120
|
|
[tool.black]
|
|
# set 10 short for better formatting
|
|
line-length = 110
|
|
# to avoid " ... " " ... " string sets
|
|
# experimental-string-processing = true
|
|
preview = true
|
|
enable-unstable-feature = ["string_processing"]
|
|
[tool.pylint.format]
|
|
max-line-length = 120
|
|
[tool.pylint.miscellaneous]
|
|
notes = ["FIXME", "TODO"]
|
|
notes-rgx = '(FIXME|TODO)(\((TTD-|#)\[0-9]+\))'
|
|
[tool.flake8]
|
|
max-line-length = 120
|
|
ignore = [
|
|
"E741", # ignore ambigious variable name
|
|
"W504" # Line break occurred after a binary operator [wrong triggered by "or" in if]
|
|
]
|
|
[tool.pylint.MASTER]
|
|
# this is for the tests/etc folders
|
|
init-hook='import sys; sys.path.append("src/")'
|
|
|
|
# MARK: Testing
|
|
[tool.pytest.ini_options]
|
|
testpaths = [
|
|
"tests",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
omit = [
|
|
"*/tests/*",
|
|
"*/test_*.py",
|
|
"*/__init__.py"
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"def __str__",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if __name__ == .__main__.:"
|
|
]
|
|
exclude_also = [
|
|
"def __.*__\\(",
|
|
"def __.*\\(",
|
|
"def _.*\\(",
|
|
]
|