-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
108 lines (94 loc) · 2.56 KB
/
pyproject.toml
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
# SPDX-FileCopyrightText: 2025 Aindo SpA
#
# SPDX-License-Identifier: MIT
[project]
name = "aindo-anonymize"
description = "A lightweight Python library for anonymizing and pseudonymizing tabular data."
license = { file = "LICENSES/MIT.txt" }
dynamic = ["version"]
readme = "README.md"
requires-python = ">=3.10, <3.13"
dependencies = [
"numpy>=1.23",
"pandas>=2.1.1, <3",
"scikit-learn>=1.5, <2",
"faker>=17.0.0"
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Scientific/Engineering :: Information Analysis",
"Typing :: Typed",
]
[project.urls]
Repository = "https://github.com/aindo-com/aindo-anonymize"
Documentation = "https://docs.anonymize.aindo.com"
[project.optional-dependencies]
test = [
"pytest~=8.3.3",
"scipy~=1.14.1",
"coverage",
]
dev = [
"pre-commit",
"pyright",
"pandas-stubs",
# The following are also installed by pre-commit
# Note: ensure these versions match those specified in the pre-commit configuration.
"ruff==0.11.5",
"gitlint==0.19.1",
"reuse==5.0.2",
]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.dynamic]
version = { attr = "aindo.anonymize.version.__version__" }
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = [
'I', # isort
'D', # pydocstyle
"TID252", # flake8-tidy-imports
]
ignore = ["D105", "D107"]
pydocstyle.convention = "google"
pycodestyle.max-doc-length = 120
pycodestyle.max-line-length = 120
extend-safe-fixes = ["TID252"]
flake8-tidy-imports.ban-relative-imports = "all"
[tool.ruff.lint.per-file-ignores]
"docs/*" = ["D"]
"tests/*" = ["D"]
[tool.pyright]
include = ["src/*"]
[tool.pytest.ini_options]
addopts = "-p no:pastebin -p no:nose -p no:doctest -p no:junitxml -p no:faker"
[tool.coverage.run]
source = ["src"]
sigterm = true
[tool.coverage.report]
exclude_also = [
"raise NotImplementedError",
"if TYPE_CHECKING:",
"def __repr__",
"def __str__",
"@(abc\\.)?abstractmethod",
]
fail_under = 85
show_missing = true
skip_covered = true
sort = "Miss"