aboutsummaryrefslogtreecommitdiffstats
path: root/pyproject.toml
blob: 0f376ee2b1000294e180da6fc0746ac924f3a002 (plain) (blame)
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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "energyscripts"
version = "0.0.1"
description = "Some pythonscripts to query different energy-APIs"
readme = "README.md"
requires-python = ">=3.9"

dependencies = [
    "DateTime~=5.5",
    "litequeue~=0.9",
    "paho-mqtt~=1.6",
    "psycopg~=3.2",
    "python-dateutil~=2.9",
    "requests~=2.32",
    "tzlocal~=5.2",
    "urllib3~=2.2", # urllib3 >v2 warns about not using openssl. See https://github.com/urllib3/urllib3/issues/3020
    "xmltodict~=0.14",
]

[project.optional-dependencies]
dev = [
    "ruff~=0.6",
]
esphome = [ # aioesphome requires "cryptography"
    "aioesphomeapi~=18.2",
    "zeroconf~=0.120",
]
neohub = [
    "neohubapi~=1.1",
]

[project.urls]
"Homepage" = "https://git.dnns.no/energyscripts/"

[tool.hatch.build.targets.sdist]
ignore-vcs = true

[tool.hatch.build.targets.wheel]
ignore-vcs = true
only-include = [""]

[tool.ruff]
# https://docs.astral.sh/ruff/rules/
# Enable:
#   Pyflakes (`F`)
#   Pycodestyle (`E`)
#   Whitespace-warnings (`W`)
#   isort (`I`)
select = ["E", "F", "W", "I"]

# E501 too long lines
# F403 star-imports
# F405 undefined functions as a result of star-imports
# W191 tab indents - `ruff format` recommends this be ignored
ignore = ["E501", "F403", "F405", "W191"]

# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []

# Exclude a variety of commonly ignored directories.
exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".git-rewrite",
    ".hg",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".pytype",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "venv",
]
per-file-ignores = {}

# Same as Black.
line-length = 88

# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

# Assume Python 3.10
target-version = "py310"

[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"

# Like Black, indent with spaces, rather than tabs.
indent-style = "space"

# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false

# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"