-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpyproject.toml
152 lines (134 loc) · 3.66 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
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
[tool.black]
line-length = 79
[tool.pycln]
all = true
[tool.isort]
profile = "black"
line_length = 79
known_first_party = ["torchfl"]
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
disable_error_code = ["attr-defined"]
[[tool.mypy.overrides]]
# Add all the modules with missing type stubs here.
module = [
"torchvision.*",
"yaml"
]
ignore_missing_imports = true
[tool.doc8]
max-line-length = 79
sphinx = true
[tool.ruff]
# Enable Pyflakes `E` and `F` codes by default.
select = [
"B",
"C4",
"E7", "E9",
"EXE",
"I",
"ICN",
"W",
"F",
"PT",
"RUF",
# uncomment below line when new ruff is bundled in vscode extension
# "SIM",
"UP",
]
ignore = ["EXE001", "I001", "B008"]
# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["A", "B", "C", "D", "E", "F", "UP", "PT"]
unfixable = []
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".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 = 79
# 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.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10
[tool.pytest.ini_options]
minversion = "7.2"
testpaths = ["tests"]
addopts = "-ra -q"
markers = [
"datamodules_cifar10: mark test as a datamodules_cifar10 test.",
"datamodules_cifar100: mark test as a datamodules_cifar100 test.",
"datamodules_emnist_balanced: mark test as a datamodules_emnist_balanced test.",
"datamodules_emnist_byclass: mark test as a datamodules_emnist_byclass test.",
"datamodules_emnist_bymerge: mark test as a datamodules_emnist_bymerge test.",
"datamodules_emnist_digits: mark test as a datamodules_emnist_digits test.",
"datamodules_emnist_letters: mark test as a datamodules_emnist_letters test.",
"datamodules_emnist_mnist: mark test as a datamodules_emnist_mnist test.",
"datamodules_fashionmnist: mark test as a datamodules_fashionmnist test.",
]
[tool.poetry]
name = "torchfl"
version = "0.1.9"
description = "A Python library for rapid prototyping, experimenting, and logging of federated learning using state-of-the-art models and datasets. Built using PyTorch and PyTorch Lightning."
authors = ["vivekkhimani <[email protected]>"]
license = "GNU General Public License v3"
readme = "README.md"
homepage = "https://torchfl.readthedocs.io/en/latest/"
repository = "https://github.com/torchfl-org/torchfl"
documentation = "https://torchfl.readthedocs.io/en/latest/"
keywords = ["federated-learning", "pytorch", "pytorch-lightning", "torchfl"]
classifiers=[
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
]
include=[
"LICENSE",
"README.md",
"AUTHORS.rst",
"CONTRIBUTING.rst",
"HISTORY.rst",
]
[tool.poetry.dependencies]
python = "^3.10"
numpy = "^1.24.2"
rich = "^13.3.1"
torch = "~2.0"
torchvision = "*"
pytorch-lightning = "~2.0"
pytest = "^7.2.1"
pyyaml = "^6.0"
types-pyyaml = "^6.0.12.9"
[tool.poetry.urls]
"Issue Tracker" = "https://github.com/torchfl-org/torchfl/issues"
[tool.poetry.scripts]
torchfl = "torchfl.cli:main"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"