diff --git a/packages/amuse-hermite-grx/MANIFEST.in b/packages/amuse-hermite-grx/MANIFEST.in
new file mode 100644
index 0000000000..ab64602564
--- /dev/null
+++ b/packages/amuse-hermite-grx/MANIFEST.in
@@ -0,0 +1,9 @@
+include support/__init__.py
+include support/setup_codes.py
+include support/version.py
+include support/classifiers.py
+include pyproject.toml
+
+recursive-include src *
+recursive-exclude src *.pyc *.o *~ .pc ccache *.a
+
diff --git a/packages/amuse-hermite-grx/README.md b/packages/amuse-hermite-grx/README.md
new file mode 100644
index 0000000000..cf8f7fb5cf
--- /dev/null
+++ b/packages/amuse-hermite-grx/README.md
@@ -0,0 +1 @@
+This package installs the Hermite-GRX community code for AMUSE.
diff --git a/packages/amuse-hermite-grx/pyproject.toml b/packages/amuse-hermite-grx/pyproject.toml
new file mode 100644
index 0000000000..ce072292f5
--- /dev/null
+++ b/packages/amuse-hermite-grx/pyproject.toml
@@ -0,0 +1,2 @@
+[build-system]
+requires = ["setuptools>=65.0.0", "wheel>=0.30", "amuse-framework>=2024.3.0"]
diff --git a/packages/amuse-hermite-grx/setup.py b/packages/amuse-hermite-grx/setup.py
new file mode 100644
index 0000000000..f3a71a7d49
--- /dev/null
+++ b/packages/amuse-hermite-grx/setup.py
@@ -0,0 +1,65 @@
+#!/usr/bin/env python3
+from support.classifiers import classifiers
+
+from setuptools import setup
+
+import support
+support.use("system")
+from support.setup_codes import setup_commands
+
+name = 'amuse-hermite-grx'
+author = 'The AMUSE team'
+author_email = 'info@amusecode.org'
+license_ = "Apache License 2.0"
+url = 'http://www.amusecode.org/'
+install_requires = [
+    'amuse-framework',
+]
+description = 'The Astrophysical Multipurpose Software Environment - Hermite-GRX'
+with open("README.md", "r") as fh:
+    long_description = fh.read()
+long_description_content_type = "text/markdown"
+
+extensions = []
+
+all_data_files = []
+
+packages = [
+    'amuse.community.hermite_grx',
+]
+
+package_data = {
+}
+
+mapping_from_command_name_to_command_class = setup_commands()
+
+setup_requires = ['setuptools_scm']
+use_scm_version = {
+    "root": "../..",
+    "relative_to": __file__,
+    "version_file": "src/amuse/community/hermite_grx/_version.py",
+}
+
+setup(
+    name=name,
+    use_scm_version=use_scm_version,
+    setup_requires=setup_requires,
+    classifiers=classifiers,
+    url=url,
+    author_email=author_email,
+    author=author,
+    license=license_,
+    description=description,
+    long_description=long_description,
+    long_description_content_type=long_description_content_type,
+    install_requires=install_requires,
+    python_requires=">=3.7",
+    cmdclass=mapping_from_command_name_to_command_class,
+    ext_modules=extensions,
+    package_dir={
+        'amuse.community.hermite_grx': 'src/amuse/community/hermite_grx',
+    },
+    packages=packages,
+    package_data=package_data,
+    data_files=all_data_files,
+)
diff --git a/packages/amuse-hermite-grx/src/amuse/community/hermite_grx b/packages/amuse-hermite-grx/src/amuse/community/hermite_grx
new file mode 120000
index 0000000000..92d789ba48
--- /dev/null
+++ b/packages/amuse-hermite-grx/src/amuse/community/hermite_grx
@@ -0,0 +1 @@
+../../../../../src/amuse/community/hermite_grx
\ No newline at end of file
diff --git a/packages/amuse-hermite-grx/support b/packages/amuse-hermite-grx/support
new file mode 120000
index 0000000000..321fcb594c
--- /dev/null
+++ b/packages/amuse-hermite-grx/support
@@ -0,0 +1 @@
+../../support
\ No newline at end of file