[build-system] requires = [ "hatchling==1.33.0", "hatch-vcs==0.5.0", "cloudpickle==3.1.2", "pyzmq==27.2.0", ] build-backend = "hatchling.build" [project] name = "executorlib" description = "Up-scale python functions for high performance computing (HPC) with executorlib." authors = [ { name = "Jan Janssen", email = "janssen@lanl.gov" }, ] readme = "README.md" license = { file = "LICENSE" } keywords = ["high performance computing", "hpc", "task scheduler", "slurm", "flux-framework", "executor", "python", "parallel computing", "distributed computing", "scientific computing", "concurrent.futures", "mpi4py", "gpu"] requires-python = ">3.10, <3.16" classifiers = [ "Development Status :: 5 - Production/Stable", "Topic :: Scientific/Engineering :: Physics", "License :: OSI Approved :: BSD License", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3.15", ] dependencies = [ "cloudpickle==3.1.2", "pyzmq==27.2.0", ] dynamic = ["version"] [project.urls] Homepage = "https://github.com/pyiron/executorlib" Documentation = "https://executorlib.readthedocs.io" Repository = "https://github.com/pyiron/executorlib" [project.optional-dependencies] cache = ["h5py==3.16.0"] graph = [ "pygraphviz==2.0.4", "networkx==3.7", ] graphnotebook = [ "pygraphviz==2.0.4", "networkx==3.7", "ipython==9.17.1", ] mpi = ["mpi4py==4.1.2"] cluster = [ "pysqa==1.1.1", "h5py==3.16.0", ] validation = [ "pydantic==2.14.2", ] all = [ "mpi4py==4.1.2", "pysqa==1.1.1", "h5py==3.16.0", "pydantic==2.14.2", "pygraphviz==2.0.4", "networkx==3.7", "ipython==9.17.1", ] [tool.ruff] exclude = [".ci_support", "docs", "notebooks", "tests", "setup.py", "_version.py"] [tool.ruff.lint] select = [ # pycodestyle "E", # Pyflakes "F", # pyupgrade "UP", # flake8-bugbear "B", # flake8-simplify "SIM", # isort "I", # flake8-comprehensions "C4", # eradicate "ERA", # pylint "PL", ] ignore = [ # ignore line-length violations "E501", # ignore imports which are not at the top of a module "PLC0415", # Too many branches "PLR0912", # Too many arguments in function definition "PLR0913", # Too many statements "PLR0915", # Too many not-keyword-only arguments, "PLR0917", # Magic value used in comparison "PLR2004", ] [tool.hatch.build] include = [ "src/executorlib" ] [tool.hatch.build.hooks.vcs] version-file = "src/executorlib/_version.py" [tool.hatch.build.targets.sdist] include = [ "src/executorlib" ] [tool.hatch.build.targets.wheel] packages = [ "src/executorlib" ] [tool.hatch.version] source = "vcs" path = "src/executorlib/_version.py" [tool.coverage.run] source = ["executorlib"] command_line = "-m unittest discover tests"