-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
110 lines (92 loc) · 2.56 KB
/
pyproject.toml
File metadata and controls
110 lines (92 loc) · 2.56 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
[project]
name = "nova-dashboard"
version = "0.21.1"
description = ""
authors = [
{ name = "Yakubov, Sergey", email = "yakubovs@ornl.gov" },
{ name = "Cage, Gregory", email = "cagege@ornl.gov" },
{ name = "Duggan, John", email = "dugganjw@ornl.gov" }
]
readme = "README.md"
license = "MIT"
keywords = ["Galaxy", "NOVA", "Python", "Dashboard"]
requires-python = ">=3.10,<3.14"
[tool.pixi.workspace]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-64"]
[tool.pixi.environments]
default = {features = ["dev"], solve-group = "default"}
production = {features = [], solve-group = "default"}
[tool.pixi.dependencies]
[tool.pixi.pypi-dependencies]
nova-dashboard = { path = ".", editable = true }
beautifulsoup4 = ">=4.12.3,<5"
bioblend = ">=1.3.0"
cryptography = ">=43.0.0"
django = "<6"
django-dotenv = ">=1.4.2"
django-extensions = ">=3.2.3"
pyjwt = ">=2.9.0"
requests = ">=2.32.3"
requests-oauthlib = ">=2.0.0"
django-stubs = ">=5.0.4"
nova-trame = ">=0.22.0"
nova-galaxy = ">=0.11.1"
[tool.pixi.feature.dev.pypi-dependencies]
mypy = ">=1.10.0"
pre-commit = ">=2.20.0"
coverage = ">=6.4.3"
pytest = "*"
ruff = ">=0.6.2"
types-requests = "*"
Werkzeug = ">=3.0.4"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/launcher_app"]
[tool.pytest.ini_options]
pythonpath = [
".", "src", "launcher_app"
]
testpaths = ["tests"]
python_files = ["test*.py"]
norecursedirs = [".git", "tmp*", "_tmp*", "__pycache__"]
[tool.ruff]
line-length = 120
exclude = ["src/launcher_app/migrations", "src/vue", ".pixi"]
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"N", # PEP8 naming convetions
"D" # pydocstyle
]
ignore = [
"C901", # too complex
"D102", # Missing docstring in public function
"D103", # Missing docstring in public method
"D401" # imperative mood
]
[tool.ruff.lint.extend-per-file-ignores]
'__init__.py' = ['D104'] # Missing docstring in public package
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.mypy]
ignore_missing_imports = false
check_untyped_defs = true
disallow_untyped_defs = true
ignore_errors = false
disable_error_code = ["import-untyped"]
exclude = ["src/launcher_app/migrations", "src/vue"]
[tool.coverage.report]
omit = [
'*__init__*', # __init__ files should just re-export other classes and functions
]
[tool.coverage.run]
command_line = "-m pytest --junit-xml=reports/junit.xml"
data_file = "reports/.coverage"