8000 Single `pip install` command including URL-based requirements · Issue #1571 · cclib/cclib · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Single pip install command including URL-based requirements #1571

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
berquist opened this issue Apr 13, 2025 · 1 comment
Open

Single pip install command including URL-based requirements #1571

berquist opened this issue Apr 13, 2025 · 1 comment
Assignees
Milestone

Comments

@berquist
Copy link
Member

The proper fix to #1382 and #1570.

@berquist berquist added this to the v1.8.2 milestone Apr 13, 2025
@berquist berquist self-assigned this Apr 13, 2025
@berquist
Copy link
Member Author

It looks like it isn't possible to do this, since each entry under tool.setuptools.dynamic.optional-dependencies is expected to be an object with a file key. At best that means having a separate requirements*.txt for each group, maybe restricted to dev and bridges. No idea if this would pass submitting to PyPI though...will try and do a revert if it fails.

Here is a starter:

diff --git pyproject.toml pyproject.toml
index 4128d260..d99d8678 100644
--- pyproject.toml
+++ pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "cclib"
-dynamic = ["version"]
+dynamic = ["version", "optional-dependencies"]
 description = "parsers and algorithms for computational chemistry"
 readme = "README.md"
 authors = [
@@ -42,31 +42,6 @@ ccget = "cclib.scripts.ccget:ccget"
 ccwrite = "cclib.scripts.ccwrite:main"
 cda = "cclib.scripts.cda:main"
 
-[project.optional-dependencies]
-bridges = [
-    "ase>=3.21",
-    "biopython",
-    "pandas",
-    "pyscf",
-    "pyscf-properties @ git+https://github.com/pyscf/properties",
-    "pyberny",
-    "geometric",
-    "qc-iodata>=1.0.0a2",
-]
-docs = [
-    "sphinx",
-    "sphinx_rtd_theme",
-]
-test-infrastructure = [
-    "pytest",
-    "coverage",
-    "pytest-cov",
-    "pyyaml",
-]
-test = ["cclib[bridges,docs,test-infrastructure]"]
-dev = ["cclib[bridges,docs,test-infrastructure]"]
-all = ["cclib[bridges]"]
-
 [build-system]
 requires = [
     "setuptools>=61.0",
@@ -77,6 +52,22 @@ build-backend = "setuptools.build_meta"
 [tool.setuptools]
 zip-safe = false
 

745A
+[tool.setuptools.dynamic.optional-dependencies]
+bridges = { file = ["requirements-dev.txt"] }
+# docs = [
+#     "sphinx",
+#     "sphinx_rtd_theme",
+# ]
+# test-infrastructure = [
+#     "pytest",
+#     "coverage",
+#     "pytest-cov",
+#     "pyyaml",
+# ]
+# test = ["cclib[bridges,docs,test-infrastructure]"]
+# dev = ["cclib[bridges,docs,test-infrastructure]"]
+all = ["cclib[bridges]"]
+
 [tool.setuptools.package-dir]
 cclib = "cclib"
 
diff --git requirements-dev.txt requirements-dev.txt
index 8d4cf62f..5f254021 100644
--- requirements-dev.txt
+++ requirements-dev.txt
@@ -1 +1,9 @@
+ase>=3.21
+biopython
+geometric
+pandas
+pyberny
 pyquante2 @ git+https://github.com/cclib/pyquante2.git@cythonize-becke
+pyscf
+pyscf-properties @ git+https://github.com/pyscf/properties
+qc-iodata>=1.0.0a2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant
0