diff --git a/README.md b/README.md
index eb28fe6..465946f 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-#
AxoNN
+#
AxoNN
[](https://github.com/axonn-ai/axonn/actions/workflows/ci.yaml)
diff --git a/axonn/intra_layer/fully_connected.py b/axonn/intra_layer/fully_connected.py
index 8064e53..382a429 100644
--- a/axonn/intra_layer/fully_connected.py
+++ b/axonn/intra_layer/fully_connected.py
@@ -197,7 +197,7 @@ def __init__(
skip_bias_add=False,
init_method=None,
expert_mode=False,
- **kwargs
+ **kwargs,
):
super(Linear, self).__init__()
diff --git a/axonn/intra_layer/overlap_communication.py b/axonn/intra_layer/overlap_communication.py
index fdac7d8..078b57e 100644
--- a/axonn/intra_layer/overlap_communication.py
+++ b/axonn/intra_layer/overlap_communication.py
@@ -128,7 +128,7 @@ def optimize_communication(
overlap_all_gather=False,
model_object_for_overlapping_allgathers=None,
*args,
- **kwargs
+ **kwargs,
):
global OVERLAP_ALL_REDUCE, OVERLAP_REDUCE_SCATTER
global ALL_GATHER_ITERATOR
diff --git a/docs/requirements.txt b/docs/requirements.txt
index ac711de..4105fe8 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -4,5 +4,4 @@
sphinx
sphinxcontrib-programoutput
sphinx-rtd-theme
-# Restrict to pygments <2.13
-pygments <2.13
+pygments>=2.15.0
diff --git a/external/models/vit.py b/external/models/vit.py
index 65c14c1..8c6554c 100644
--- a/external/models/vit.py
+++ b/external/models/vit.py
@@ -135,7 +135,7 @@ def __init__(
dropout=0.0,
emb_dropout=0.0,
inter_layer_parallel_rank=0,
- G_inter=1
+ G_inter=1,
):
super().__init__()
image_height, image_width = pair(image_size)
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..20a8ebf
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,39 @@
+# Copyright 2024 Parallel Software and Systems Group, University of Maryland.
+# See the top-level LICENSE file for details.
+#
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+[build-system]
+requires = ["setuptools>=61.0"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "axonn"
+version = "0.2.0"
+authors = [
+ { name="Siddharth Singh", email="ssingh37@umd.edu" },
+ { name="Abhinav Bhatele", email="bhatele@cs.umd.edu"},
+]
+description = "A parallel library for extreme-scale deep learning"
+readme = "README.md"
+license = { name = "Apache-2.0", file = "LICENSE" }
+requires-python = ">=3.8"
+classifiers = [
+ "Programming Language :: Python :: 3",
+ "License :: OSI Approved :: Apache Software License",
+ "Operating System :: OS Independent",
+]
+dependencies = [
+ "torch"
+]
+
+[tool.setuptools.packages.find]
+include = ["axonn"]
+exclude = ["axonn/tests", "external/", "**__pycache__"]
+
+
+[project.urls]
+Homepage = "https://github.com/axonn-ai/axonn"
+Issues = "https://github.com/axonn-ai/axonn/issues"
+Docs = "https://axonn.readthedocs.io/en/latest/"
+
diff --git a/pytest.ini b/pytest.ini
index 5b8afdc..51e1d30 100644
--- a/pytest.ini
+++ b/pytest.ini
@@ -1,4 +1,4 @@
-# Copyright 2022 Parallel Software and Systems Group, University of Maryland.
+# Copyright 2022-2024 Parallel Software and Systems Group, University of Maryland.
# See the top-level LICENSE file for details.
#
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index c3dead2..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-torchvision
-einops
-tqdm
-
--e .
diff --git a/setup.py b/setup.py
deleted file mode 100644
index 4683545..0000000
--- a/setup.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2021 Parallel Software and Systems Group, University of Maryland.
-# See the top-level LICENSE file for details.
-#
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
-
-from setuptools import setup, find_packages
-
-setup(
- name="axonn",
- version="0.1.0",
- description="A parallel library for extreme-scale deep learning",
- long_description="""An asynchronous, message-driven parallel framework for
- extreme-scale deep learning""",
- url="https://github.com/hpcgroup/axonn",
- author="Siddharth Singh, Abhinav Bhatele",
- author_email="ssingh37@umd.edu, bhatele@cs.umd.edu",
- classifiers=["Development Status :: 2 - Pre-Alpha"],
- keywords="deep learning, distributed computing, parallel computing",
- packages=find_packages(),
- install_requires=["torch"],
-)