Files
pmsco-public/pyproject.toml

93 lines
1.8 KiB
TOML

[build-system]
build-backend = "uv_build"
requires = [
"uv_build>=0.9.0,<0.10.0",
]
[project]
name = "pmsco"
version = "4.2.0"
description = "PSI Multiple Scattering Cluster Optimization"
classifiers = ["Private :: Do Not Upload"]
authors = [
{ name = "Matthias Muntwiler", email = "matthias.muntwiler@psi.ch" },
{ name = "Frederik Schirdewahn", email = "frederik.schirdewahn@psi.ch" },
]
maintainers = [
{ name = "Matthias Muntwiler", email = "matthias.muntwiler@psi.ch" },
]
license = "Apache-2.0"
license-files = ["LICEN[CS]E*", "NOTICE*"]
requires-python = ">=3.10, <3.14"
dependencies = [
"ase",
"fasteners",
"future",
"h5py",
"ipython",
"ipykernel",
"jsonschema",
"matplotlib",
"mpi4py",
"networkx",
"numpy >= 1.22, < 2",
"periodictable",
"scikit-learn",
"scipy",
"sqlalchemy == 1.4",
"statsmodels",
"edac",
"loess",
"phagen",
]
readme = "README.md"
[project.optional-dependencies]
boss = [
"aalto-boss",
]
[project.scripts]
pmsco = "pmsco.pmsco:main"
[dependency-groups]
dev = [
"gitpython",
"mock",
"pynose",
"ruff>=0.14.10",
]
[tool.uv]
required-version = ">=0.9.0"
[tool.uv.sources]
edac = { workspace = true, editable = false }
loess = { workspace = true, editable = false }
phagen = { workspace = true, editable = false }
[tool.uv.workspace]
members = [
"subprojects/edac",
"subprojects/loess",
"subprojects/phagen",
]
[tool.uv.build-backend]
module-name = "pmsco"
module-root = ""
namespace = true
[tool.ruff.lint]
# ignore the following violations:
# E26 - block comment
# E4 - import not at top
# E5 - long lines
# E741 - l variables
# F401 - unused import
# F841 - unused local variable
# W2 - trailing whitespace
# https://docs.astral.sh/ruff/rules/
select = ["E", "F", "W"]
ignore = ["E26","E4","E5","E741","F401","F841","W2"]