diff --git a/setup.cfg b/.flake8
similarity index 68%
rename from setup.cfg
rename to .flake8
index 9ed04616..d86ebfb1 100644
--- a/setup.cfg
+++ b/.flake8
@@ -1,6 +1,3 @@
-[aliases]
-test=pytest
-
 [flake8]
 max-complexity = 15
 max-line-length = 127
diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644
index 2b9d0a13..00000000
--- a/MANIFEST.in
+++ /dev/null
@@ -1,15 +0,0 @@
-include molSimplify/Data/*
-include molSimplify/Ligands/*
-include molSimplify/Bind/*
-include molSimplify/Cores/*
-include molSimplify/python_nn/*
-include molSimplify/Docs/*
-include molSimplify/Informatics/*
-include molSimplify/icons/*
-include molSimplify/icons/geoms/*
-include molSimplify/icons/geoms_labels/*
-include molSimplify/Substrates/*
-include tests/inputs/*
-include tests/refs/*
-include tests/refs/*/*
-include tests/README.txt
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 00000000..c7de47ab
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,43 @@
+[project]
+name = "molSimplify"
+version = "v1.7.3"
+license = {file = "LICENSE"}
+readme = "README.md"
+dependencies = [
+    "numpy",
+    "scipy",
+    "scikit-learn",
+    "keras",
+    "tensorflow",
+    "pyyaml",
+]
+
+[project.optional-dependencies]
+dev = ["pre-commit"]
+
+[project.urls]
+Homepage = "https://molsimplify.mit.edu/"
+Documentation = "http://hjkgrp.mit.edu/molsimplify-tutorials/"
+Repository = "https://github.com/hjkgrp/molSimplify"
+
+[project.scripts]
+molsimplify = "molSimplify.__main__:main"
+molscontrol = "molSimplify.molscontrol.molscontrol:main"
+jobmanager = "molSimplify.job_manager.resub:main"
+
+[build-system]
+requires = ["setuptools>=61.0"]
+build-backend = "setuptools.build_meta"
+
+[tool.setuptools.packages.find]
+where = ["."]
+
+[tool.setuptools.package-data]
+"molSimplify.Data" = ["*.dat"]
+"molSimplify.Bind" = ["*.dat"]
+"molSimplify.Ligands" = ["*.dict", "*.mol", "*.xyz", "*.smi"]
+"molSimplify.icons" = ["*.png"]
+"molSimplify.python_nn" = ["*.csv"]
+"molSimplify.python_krr" = ["*.csv"]
+"molSimplify.tf_nn" = ["*/*"]
+"molSimplify.molscontrol" = ["*/*"]
diff --git a/setup.py b/setup.py
deleted file mode 100644
index ead4e3b1..00000000
--- a/setup.py
+++ /dev/null
@@ -1,24 +0,0 @@
-from setuptools import setup, find_packages
-
-setup(name='molSimplify',
-      version='v1.7.3',
-      packages=find_packages(),
-      entry_points={
-          'console_scripts': [
-              'molsimplify = molSimplify.__main__:main',
-              'molscontrol = molSimplify.molscontrol.molscontrol:main',
-              'jobmanager = molSimplify.job_manager.resub:main']
-      },
-      package_dir={'molSimplify': 'molSimplify'},
-      package_data={
-          'molSimplify': ['Data/*.dat', 'Bind/*.dat', 'Ligands/*.dict',
-                          'icons/*.png', 'python_nn/*.csv', 'python_krr/*.csv',
-                          'tf_nn/*/*', 'molscontrol/*/*']
-      },
-      data_files=[('molSimplify', ['molSimplify/Data/ML.dat'])],
-      install_requires=['numpy', 'scipy', 'scikit-learn',
-                        'keras', 'tensorflow', 'pyyaml',
-                        'pre-commit'],
-      tests_require=['pytest'],
-      include_package_data=True
-      )