-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
85 lines (74 loc) · 2.65 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
[build-system]
requires = ["scikit-build-core[pyproject]", "setuptools_scm", "cmake", "ninja"]
build-backend = "scikit_build_core.build"
[project]
name = "functionalizer"
dynamic = ["version"]
description = "A PySpark implementation of the Blue Brain Project Functionalizer"
documentation = "https://functionalizer.readthedocs.io/"
license = {"file" = "LICENSE.txt"}
authors = [{"name" = "BlueBrain HPC", "email" = "bbp-ou-hpc@epfl.ch"}]
maintainers = [
{"name" = "Matthias Wolf", "email" = "matthias.wolf@epfl.ch"},
{"name" = "Fernando Pereira", "email" = "fernando.pereira@epfl.ch"},
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering",
"License :: OSI Approved :: Apache Software License",
]
readme = "README.rst"
dependencies = [
"fz-td-recipe>=0.1.3.dev0",
"h5py",
"hdfs",
"jprops",
"morphio",
"mpi4py",
"libsonata<=0.1.28",
"numpy<2",
"packaging",
"pandas",
"pyarrow<15",
"pyspark>=3",
]
[project.scripts]
functionalizer = "functionalizer.commands:functionalize_parallel"
fz = "functionalizer.commands:functionalize"
parquet-compare = "functionalizer.tools.compare:run"
parquet-compare-ns = "functionalizer.tools.compare_nodesets:compare_nodesets"
parquet-coalesce = "functionalizer.tools.coalesce:run"
[project.urls]
Homepage = "https://github.com/BlueBrain/functionalizer"
Repository = "https://github.com/BlueBrain/functionalizer"
Issues = "https://github.com/BlueBrain/functionalizer/issues"
Tracker = "https://github.com/BlueBrain/functionalizer/issues"
[tool.scikit-build]
wheel.packages = ["src/sparkmanager", "src/functionalizer"]
cmake.source-dir = "src/functionalizer/filters/udfs"
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
[tool.setuptools_scm] # Section required
[tool.ruff]
line-length = 100
exclude = ["deps", "venv"]
[tool.ruff.lint]
select = ["D", "E", "F", "I", "PL"]
pydocstyle.convention = "google"
[tool.ruff.lint.per-file-ignores]
"doc/source/*" = ["D"]
"tests/*" = ["D", "PLR2004"]
[tool.ruff.lint.pylint]
max-args = 8
[tool.black]
extend-exclude = 'deps\/.*$'
line_length = 100
[tool.cibuildwheel]
skip = ["cp3{6,7,8,13}-*", "pp*", "*-win32", "*-manylinux_i686", "*-musllinux_i686", "*-musllinux_x86_64", "*-musllinux_aarch64"]
# MPI needed for testing with mpi4py
before-all = "yum install -y openmpi3-devel java-11-openjdk"
environment = { MPICC="/usr/lib64/openmpi3/bin/mpicc" }
# Remove setuptools with Spark v4 - v3 has implicit dependency on distutils
test-requires = ["pytest", "mock", "setuptools"]
test-command = "pytest --run-slow {project}/tests"