1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
[build-system]
build-backend = "flit_core.buildapi"
requires = ["flit_core>=3,<4"]
[project]
authors = [{ name = "Delgan", email = "delgan.py@gmail.com" }]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Topic :: System :: Logging",
"Intended Audience :: Developers",
"Natural Language :: English",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"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 :: Python :: Implementation :: PyPy",
"Programming Language :: Python :: Implementation :: CPython",
]
dependencies = [
"colorama>=0.3.4 ; sys_platform=='win32'",
"aiocontextvars>=0.2.0 ; python_version<'3.7'",
"win32-setctime>=1.0.0 ; sys_platform=='win32'",
]
description = "Python logging made (stupidly) simple"
dynamic = ['version']
keywords = ["loguru", "logging", "logger", "log"]
license = { text = "MIT" }
name = "loguru"
readme = 'README.md'
requires-python = ">=3.5,<4.0"
[project.optional-dependencies]
dev = [
# Setup.
"pre-commit==4.0.1 ; python_version>='3.9'",
"tox==3.27.1 ; python_version<'3.8'",
"tox==4.23.2 ; python_version>='3.8'",
# Testing framework.
"pytest==6.1.2 ; python_version<'3.8'",
"pytest==8.3.2 ; python_version>='3.8'",
"pytest-cov==2.12.1 ; python_version<'3.8'",
"pytest-cov==5.0.0 ; python_version>='3.8' and python_version<'3.9'",
"pytest-cov==6.0.0 ; python_version>='3.9'",
"pytest-mypy-plugins==1.9.3 ; python_version>='3.6' and python_version<'3.8'",
"pytest-mypy-plugins==3.1.0 ; python_version>='3.8' and python_version<'3.9'",
"pytest-mypy-plugins==3.2.0 ; python_version>='3.9'",
# Testing utils.
"colorama==0.4.5 ; python_version<'3.8'",
"colorama==0.4.6 ; python_version>='3.8'",
"freezegun==1.1.0 ; python_version<'3.8'",
"freezegun==1.5.0 ; python_version>='3.8'",
"exceptiongroup==1.1.3 ; python_version>='3.7' and python_version<'3.11'",
# Type checking.
"mypy==v0.910 ; python_version<'3.6'",
"mypy==v0.971 ; python_version>='3.6' and python_version<'3.7'",
"mypy==v1.4.1 ; python_version>='3.7' and python_version<'3.8'",
"mypy==v1.14.1 ; python_version>='3.8' and python_version<'3.9'",
"mypy==v1.17.1 ; python_version>='3.9'",
# Docs.
"Sphinx==8.1.3 ; python_version>='3.11'",
"sphinx-rtd-theme==3.0.2 ; python_version>='3.11'",
"myst-parser==4.0.0 ; python_version>='3.11'",
# Packaging.
"build==1.2.2 ; python_version>='3.11'",
"twine==6.0.1 ; python_version>='3.11'",
]
[project.urls]
Changelog = "https://github.com/Delgan/loguru/blob/master/CHANGELOG.rst"
Documentation = "https://loguru.readthedocs.io/en/stable/index.html"
Homepage = "https://github.com/Delgan/loguru"
[tool.black]
force-exclude = "tests/exceptions/source/modern/*"
line-length = 100
target-version = ["py35"]
[tool.pyright]
# Types are defined in a stub file. Unfortunately, type checkers such as Pyright and Mypy are
# unable to "merge" them with the file containing the actual Python implementation. This causes
# many false positives, therefore type checking is disabled to avoid noisy errors in the editor.
typeCheckingMode = "off"
[tool.flit.module]
name = "loguru"
[tool.pytest.ini_options]
addopts = "-l"
filterwarnings = [
# By default all warnings are treated as errors.
'error',
# Mixing threads and "fork()" is deprecated, but we need to test it anyway.
'ignore:.*use of fork\(\) may lead to deadlocks in the child.*:DeprecationWarning',
]
testpaths = ["tests"]
[tool.ruff]
exclude = ["tests/exceptions/source/*"]
line-length = 100
# Actually, we should target Python 3.5, but Ruff does not support it.
target-version = "py37"
[tool.ruff.lint]
# See list of rules at: https://docs.astral.sh/ruff/rules/
select = ["F", "E", "W", "I", "B", "N", "D", "PT", "PYI", "RET", "RUF"]
[tool.ruff.lint.per-file-ignores]
"tests/**" = [
"D1", # Do not require documentation for tests.
]
"loguru/__init__.pyi" = [
"PYI026", # TypeAlias is not supported by Mypy 0.910 (Python 3.5).
]
[tool.ruff.lint.pycodestyle]
max-doc-length = 100
[tool.ruff.lint.pydocstyle]
convention = "numpy"
[tool.typos.default]
extend-ignore-re = ["(?Rm)^.*# spellchecker: disable-line$"]
[tool.typos.files]
extend-exclude = [
"tests/exceptions/output/**", # False positive due to ansi sequences.
]
|