Skip to content

Commit

Permalink
Csse layout setuptools (#469)
Browse files Browse the repository at this point in the history
* fixup PR numbers in changelog

* pyproject.toml

* qcel address

* unduplicate cov directive

* adjust address

* fully right address

* avoid new geometric

* more geometric
  • Loading branch information
loriab authored Feb 4, 2025
1 parent 5577d35 commit 7decb78
Show file tree
Hide file tree
Showing 16 changed files with 130 additions and 2,482 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ jobs:
#if: false
run: |
conda remove qcelemental --force
python -m pip install 'git+https://github.com/loriab/QCElemental.git@csse_layout_536f_rb2025_take2' --no-deps
python -m pip install 'git+https://github.com/MolSSI/QCElemental.git@next2025' --no-deps
# note: conda remove --force, not mamba remove --force b/c https://github.com/mamba-org/mamba/issues/412
# alt. is micromamba but not yet ready for setup-miniconda https://github.com/conda-incubator/setup-miniconda/issues/75
Expand Down Expand Up @@ -269,7 +269,7 @@ jobs:
#if: false
run: |
conda remove qcelemental --force
python -m pip install 'git+https://github.com/loriab/QCElemental.git@csse_layout_536f_rb2025_take2' --no-deps
python -m pip install 'git+https://github.com/MolSSI/QCElemental.git@next2025' --no-deps
- name: Environment Information
run: |
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion devtools/conda-envs/disp-win.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ channels:
dependencies:
- dftd3-python =1.2.0
- gcp-correction
- geometric
- geometric=1.0
- optking
- pymdi

Expand Down
2 changes: 1 addition & 1 deletion devtools/conda-envs/mrchem.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ channels:
- conda-forge
dependencies:
- mrchem >=1.1=*openmpi*
- geometric
- geometric=1.0
- optking

# Core
Expand Down
2 changes: 1 addition & 1 deletion devtools/conda-envs/openmm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ dependencies:
- openff-toolkit
- openff-forcefields
- openmmforcefields
- geometric
- geometric=1.0
- torsiondrive

# Core
Expand Down
2 changes: 1 addition & 1 deletion devtools/conda-envs/opt-disp-cf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ dependencies:
- dftd3-python
- dftd4-python
- gcp-correction
- geometric
- geometric=1.0
- optking
- pymdi
- qcmanybody
Expand Down
2 changes: 1 addition & 1 deletion devtools/conda-envs/opt-disp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ dependencies:
- dftd4-python=3.3.0
- mp2d >=1.1
- gcp
- geometric
- geometric=1.0
- optking
- pymdi

Expand Down
2 changes: 1 addition & 1 deletion devtools/conda-envs/psi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ dependencies:
- psi4=1.5
- libint2=*=hc9558a2_9
- dftd3
- geometric
- geometric=1.0
- intel-openmp!=2019.5
- pymdi

Expand Down
13 changes: 7 additions & 6 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,13 @@ Misc.

MUST (Unmerged)
+++++++++++++++
- (:pr:`462`)
- (:pr:`462`) adapt harnesses for TD.initial_molecules -> TD.initial_molecule and TD.optimization_history -> TD.scan_results
- (:pr:`462`) rdkit, store ``AtomicResult.properties.return_gradient`` and ``calcinfo_natom``. mrchem, store ``AtomicResult.properties.return_gradient``.
- (:pr:`462`) lightly Adapt harnesses for Mol v3
- (:pr:`462`) Use packaging instead of setuptools to provide version parsing
- (:pr:`462`) torsiondrive now accepts protocols. use ``protocols={"scan_results": "all"}`` if going to be converted to v1.
- (:pr:`469`) setup.py replaced by pyproject.toml with setuptools backend and replaced versioneer with setuptools-scm
- (:pr:`469`) remove __git_revision__ and get_information("git_revision") removed with versioneer
- (:pr:`468`) adapt harnesses for TD.initial_molecules -> TD.initial_molecule and TD.optimization_history -> TD.scan_results
- (:pr:`468`) rdkit, store ``AtomicResult.properties.return_gradient`` and ``calcinfo_natom``. mrchem, store ``AtomicResult.properties.return_gradient``.
- (:pr:`468`) lightly Adapt harnesses for Mol v3
- (:pr:`468`) Use packaging instead of setuptools to provide version parsing
- (:pr:`468`) torsiondrive now accepts protocols. use ``protocols={"scan_results": "all"}`` if going to be converted to v1.
- (:pr:`461`) torsiondrive rewritten in v2.
- (:pr:`461`) berny harness rewritten in v2. optking and geometric natively speak v1, so adapted as well as can be.
- (:pr:`461`) allow nwchemdriver w/o driver=energy. provenance now nwchemdriver not nwchemrelax
Expand Down
107 changes: 106 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,108 @@
[build-system]
requires = ["setuptools>=61.0", "setuptools-scm>=8.0"]
build-backend = "setuptools.build_meta"

[project.urls]
homepage = "https://github.com/MolSSI/QCEngine"
changelog = "https://github.com/MolSSI/QCEngine/blob/master/docs/source/changelog.rst"
documentation = "https://molssi.github.io/QCEngine/"
issues = "https://github.com/MolSSI/QCEngine/issues"

[project]
name = "qcengine"
#version = "0.31.0"
dynamic = ["version"]
requires-python = ">=3.8"
description = "A compute wrapper for Quantum Chemistry, ingesting and producing QCSchema for a variety of QC programs."
authors = [
{ name="The QCArchive Development Team", email="[email protected]" },
]
license = { file="LICENSE" }
readme = "README.md"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3",
"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",
"Programming Language :: Python :: 3.13",
"Framework :: Pydantic",
"Framework :: Pydantic :: 2",
]

dependencies = [
"pyyaml",
"py-cpuinfo",
"psutil",
"qcelemental>=0.50a1,<0.70.0",
"pydantic >=2.1",
"pydantic-settings",
# "typing_extensions; python_version<'3.9'",
]

[project.optional-dependencies]
test = [
"pytest",
"pytest-cov",
"codecov",
"packaging",
]
lint = [
"pre-commit",
"black >=22.1.0,<23.0a0", # if running outside of pre-commit
"isort >=5.13.2", # if running outside of pre-commit
# "mypy",
# "autoflake",
# "flake8",
]
docs = [ # probably >=py39
"numpydoc",
# "docutils",
"sphinx >=7.0.0",
"sphinxcontrib-napoleon",
"sphinx-rtd-theme",
"autodoc-pydantic>=2.0",
# "sphinx-automodapi",
# "sphinx-autodoc-typehints",
# "pydantic ==2.5.0", # for now
# "pydantic-settings ==2.2.0", # for now
]

[project.scripts]
qcengine = "qcengine.cli:main"

[tool.black]
line-length = 120
target-version = ['py37', 'py38']
target-version = ['py38']

[tool.isort]
profile = "black"
line_length = 120

[tool.setuptools]
packages = ["qcengine"]

[aliases]
test="pytest"

[tool.setuptools.package-data]

[tool.setuptools_scm]

[tool.versioningit.vcs]
default-tag = "0.0.99" # useful for CI/shallow clones

[tool.pytest.ini_options]
#filterwarnings = [
# "ignore::DeprecationWarning",
# "ignore::PendingDeprecationWarning",
#]
markers = [
"long",
"""slow: marks tests as slow (deselect with '-m "not slow"')""",
"smoke",
]
11 changes: 7 additions & 4 deletions qcengine/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
"""
Base file for the dqm_compute module.
"""
from importlib.metadata import version

__version__ = version("qcengine")
__git_revision__ = "(no longer provided)"
del version

# isort: off
from . import config, exceptions
from .compute import compute, compute_procedure
from .config import get_config
Expand All @@ -11,7 +17,4 @@
from .programs import get_program, list_all_programs, list_available_programs, register_program, unregister_program
from .stock_mols import get_molecule

# Handle versioneer
__version__ = get_information("version")
__git_revision__ = get_information("git_revision")
del get_information
# isort: on
Loading

0 comments on commit 7decb78

Please sign in to comment.