Skip to content

Commit

Permalink
removed deprecated setup.cfg build system. added pyproject.toml build…
Browse files Browse the repository at this point in the history
… system. inverted __version__ so that it reads from the build system rather than the other way around.
  • Loading branch information
bwpriest committed May 23, 2024
1 parent 1156bb3 commit 195f6ab
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 125 deletions.
4 changes: 3 additions & 1 deletion MuyGPyS/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@

"""Public MuyGPyS modules and functions."""

__version__ = "0.8.2"
import importlib.metadata

__version__ = importlib.metadata.version(__package__)

from MuyGPyS._src.config import (
config as config,
Expand Down
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -261,20 +261,18 @@ This repository includes several `extras_require` optional dependencies.
- `tests` - install dependencies necessary to run [tests](tests/)
- `docs` - install dependencies necessary to build the docs
- `dev` - install dependencies for maintaining code style, running performance
benchmarks, linting, and packaging (includes all of the dependencies in `tests`
and `docs`).
benchmarks, linting, and packaging

For example, follow these instructions to install from source for development
purposes with JAX support:
purposes with CPU JAX support:
```
$ git clone git@github.com:LLNL/MuyGPyS.git
$ cd MuyGPyS
$ pip install -e .[dev,jax_cpu]
```

If you would like to perform a GPU installation from source, you will need to
install the jax dependency directly instead of using the `jax_cuda` flag or
similar.
install the JAX dependency directly.

Additionally check out the develop branch to access the latest features in
between stable releases.
Expand All @@ -293,7 +291,7 @@ parallel computation
- `tests` - install dependencies necessary to run [tests](tests/)
- `docs` - install dependencies necessary to build the [docs](docs/)
- `dev` - install dependencies for maintaining code style, linting, and
packaging (includes all of the dependencies in `tests` and `docs`)
packaging

## Building Docs

Expand Down
97 changes: 97 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Copyright 2021-2024 Lawrence Livermore National Security, LLC and other
# MuyGPyS Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: MIT

build-backend = "setuptools.build_meta"
[build-system]
requires = ["setuptools >= 68.0.0"]

[project]
name = "muygpys"
version = "0.9.0"
authors = [
{name = "Min W. Priest" },
]
description = "Scalable Approximate Gaussian Process using Sparse Kriging"
readme = "README.md"
license = { file = "LICENSE-MIT" }
requires-python = ">=3.10"
classifiers = [
"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",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Topic :: Software Development",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Mathematics",
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Development Status :: 3 - Alpha",
]
dependencies = [
"numpy>=1.18.5",
"scipy>=1.9.0",
"scikit-learn>=0.23.2",
"bayesian-optimization>=1.4.2",
]

[project.urls]
homepage = "https://github.com/LLNL/MuyGPyS"
source = "https://github.com/LLNL/MuyGPyS"
download = "https://pypi.org/project/muygpys"
documentation = "https://muygpys.readthedocs.io"
tracker = "https://github.com/LLNL/MuyGPyS/issues"

[project.optional-dependencies]
test = [
"absl-py>=0.13.0",
"matplotlib>=3.2.1",
"pandas==1.5.2",
]
dev = [
"black>=21.1.0",
"build>=0.7.0",
"mypy>=0.910",
"twine>=3.7.1",
"h5py>=3.7.0",
]
docs = [
"sphinx==6.2.1",
"sphinx-rtd-theme==1.2.2",
"sphinx-autodoc-typehints==1.22",
"matplotlib>=3.2.1",
"nbsphinx==0.9.2",
"pandas==1.5.2",
"pandoc==2.3.0",
"pandocfilters==1.5.0",
"ipython==7.30.1",
"ipykernel==6.6.0",
"torchvision>=0.14.1",
"cblind>=2.3.1",
]
hnswlib = [
"pybind11>=2.5.0",
"hnswlib>=0.6.0",
]
jax_cpu = [
"jax[cpu]>=0.2.26",
"tensorflow-probability[jax]>=0.16.0",
]
mpi = [
"mpi4py==3.1.3",
]
torch = [
"torch>=1.13.0",
"torchvision>=0.14.1",
]

[tool.setuptools]
packages = ["MuyGPyS"]
47 changes: 0 additions & 47 deletions setup.cfg

This file was deleted.

71 changes: 0 additions & 71 deletions setup.py

This file was deleted.

0 comments on commit 195f6ab

Please sign in to comment.