-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
131 lines (113 loc) · 3.01 KB
/
pyproject.toml
File metadata and controls
131 lines (113 loc) · 3.01 KB
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
[tool.poetry]
name = "activelearning"
version = "0.0.1"
description = "Query strategies for active learning"
authors = [
"Nicola Pesaresi",
]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.10"
numpy = "^2.1.2"
pandas = "^2.2.3"
scikit-learn = "^1.5.2"
modal-python = "^0.4.2.1"
torch = "^2.4.1"
matplotlib = "^3.9.2"
torchvision = "^0.19.1"
skorch = "0.9.0"
ucimlrepo = "^0.0.7"
natsort = "^8.4.0"
seaborn = "^0.13.2"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
pre-commit = "^3.7.0"
# Align with VSCode extension's version
ruff = "^0.4.5"
# Test dependencies
[tool.poetry.group.test]
optional = true
[tool.poetry.group.test.dependencies]
pytest = "^8"
pytest_cov = "~5.0"
# Depending on usage, you might want to add more pytest libraries
# For example: poetry add --group dev pytest_lazy_fixture, pytest_mock, pytest_env
# Notebook dependencies
[tool.poetry.group.notebook]
optional = true
[tool.poetry.group.notebook.dependencies]
notebook = "^7.2.0"
ipywidgets = "^8.1.2"
[tool.poetry_bumpversion.file."al_representative/__init__.py"]
search = '__version__ = "{current_version}"'
replace = '__version__ = "{new_version}"'
[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = "test_*.py"
addopts = "--strict-markers"
# Pytest coverage
[tool.coverage.run]
omit = []
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
# ruff already excludes many settings by default
# exclude = [
# "..."
# ]
extend-include = ["*.ipynb"]
# Target version refers to minimum python version supported
target-version = "py310"
# Orobix guidelines
line-length = 120
indent-width = 4
[tool.ruff.lint]
select = [
# pycodestyle
"E",
# pycodestyle
"W",
# Pyflakes
"F",
# pyupgrade
"UP",
# flake8-bugbear
"B",
# flake8-simplify
"SIM",
# isort
"I",
# flake8-comprehensions
"C4",
# docstrings
"D",
# Pylint
"PL",
]
ignore = [
"D100", # Missing docstring in public module
"D104", # Missing docstring in public package
"D105", # Missing docstring for magic method (def __*__)
"D107", # Missing docstring in __init__
"D205", # no blank line after summary line. Usually we violate this rule
"E731", # Do not assign a lambda expression, use a def
"E741", # Checks for the use of the characters 'l', 'O', or 'I' as variable names.
"E402", # Module level import not at top of file
"SIM108", # https://github.com/astral-sh/ruff/issues/5528
"SIM117", # Single with statement instead of multiple with statements
# Pylint specific ignores
"PLR0912", # too-many-branches
"PLR0913", # too-many-arguments
"PLR0914", # too-many-locals
"PLR0915", # too-many-statements
"PLR1702", # too-many-nested-blocks
"PLW1514", # unspecified-encoding
"PLR2004", # magic-value-comparison
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
# We don't want to enforce line length on notebooks
"*.ipynb" = ["E501"]