-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpyproject.toml
More file actions
76 lines (68 loc) · 2.46 KB
/
pyproject.toml
File metadata and controls
76 lines (68 loc) · 2.46 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
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "OpenMagneticsVirtualBuilder"
version = "0.6.12"
description = 'This project hold all the Python scripts needed to produce Freecad related files from any magnetic defined following MAL schemas. This files include 2D and 3D models, meshes, and technical drawings.'
readme = "README.md"
requires-python = ">=3.8"
license = "MIT"
keywords = []
authors = [
{ name="Alfonso Martinez", email="Alfonso_VII@hotmail.com" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"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 :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
"cadquery",
"numpy",
"PyMKF",
"ezdxf",
]
[tool.hatch.build.targets.wheel]
packages = ["src/OpenMagneticsVirtualBuilder"]
[project.urls]
Homepage = "https://openmagnetics.com"
Repository = "https://github.com/OpenMagnetics/MVB"
Contact = "https://www.linkedin.com/in/alfonso-martinez-de-la-torre/"
[tool.ruff]
target-version = "py38"
line-length = 200
[tool.ruff.lint]
select = [
"F", # Pyflakes: unused imports, undefined names, unused variables
"E", # pycodestyle errors
"W", # pycodestyle warnings
"B", # flake8-bugbear: common bugs and design problems
"SIM", # flake8-simplify: simplifiable code
"UP", # pyupgrade: deprecated syntax
]
ignore = [
"E501", # line too long (handled by line-length setting)
"E722", # bare except (used intentionally in builder code)
"F841", # local variable assigned but never used (caught by vulture)
"B007", # unused loop variable
"B008", # function call in argument defaults (intentional for output_path defaults)
"SIM108", # ternary operator (readability preference)
"UP015", # unnecessary open mode
]
[tool.ruff.lint.per-file-ignores]
"tests/*.py" = ["E402"] # module-level import not at top (context.py path setup)
"src/OpenMagneticsVirtualBuilder/freecad_builder.py" = ["E402"] # conditional FreeCAD imports
[tool.pytest.ini_options]
markers = [
"slow: marks tests as slow (full pipeline, deselect with '-m \"not slow\"')",
]
[tool.vulture]
min_confidence = 80
paths = ["src/OpenMagneticsVirtualBuilder/", "tests/"]