diff --git a/.github/workflows/core_tests.yml b/.github/workflows/core_tests.yml index 3eb4095b3..3e6a93ade 100644 --- a/.github/workflows/core_tests.yml +++ b/.github/workflows/core_tests.yml @@ -46,7 +46,7 @@ jobs: - name: Install All QCArchive packages shell: bash -l {0} run: | - pip install -e ./qcportal -e ./qcfractalcompute -e ./qcfractal[services,geoip] -e ./qcarchivetesting + pip install -e ./qcportal -e ./qcfractalcompute -e ./qcfractal[services,geoip,snowflake] -e ./qcarchivetesting - name: Run tests shell: bash -l {0} diff --git a/conda-build/qcfractal/meta.yaml b/conda-build/qcfractal/meta.yaml index e6e2ce328..b692e205a 100644 --- a/conda-build/qcfractal/meta.yaml +++ b/conda-build/qcfractal/meta.yaml @@ -20,7 +20,6 @@ requirements: - versioningit run: - - qcfractalcompute ={{ version }} - flask - flask-jwt-extended - gunicorn @@ -32,6 +31,7 @@ requirements: # Optional in pyproject.toml - geoip2 - torsiondrive + - qcfractalcompute ={{ version }} test: imports: diff --git a/qcarchivetesting/conda-envs/fulltest_server.yaml b/qcarchivetesting/conda-envs/fulltest_server.yaml index 44518e2e4..e121ba32b 100644 --- a/qcarchivetesting/conda-envs/fulltest_server.yaml +++ b/qcarchivetesting/conda-envs/fulltest_server.yaml @@ -21,9 +21,6 @@ dependencies: - pandas - pyjwt - # QCFractalCompute dependencies - - parsl - # QCFractal dependencies - flask - flask-jwt-extended diff --git a/qcfractal/pyproject.toml b/qcfractal/pyproject.toml index 2ed873ee2..b44d92ffd 100644 --- a/qcfractal/pyproject.toml +++ b/qcfractal/pyproject.toml @@ -21,7 +21,6 @@ classifiers = [ "Operating System :: MacOS", ] dependencies = [ - "qcfractalcompute", "flask", "flask-jwt-extended", "gunicorn", @@ -41,6 +40,9 @@ services = [ geoip = [ "geoip2" ] +snowflake = [ + "qcfractalcompute" +] [project.urls] diff --git a/qcfractal/qcfractal/snowflake.py b/qcfractal/qcfractal/snowflake.py index 84462b9da..b8ceec521 100644 --- a/qcfractal/qcfractal/snowflake.py +++ b/qcfractal/qcfractal/snowflake.py @@ -14,8 +14,6 @@ import requests -from qcfractalcompute.compute_manager import ComputeManager -from qcfractalcompute.config import FractalComputeConfig, FractalServerSettings, LocalExecutorConfig from qcportal import PortalClient from qcportal.record_models import RecordStatusEnum from .config import FractalConfig, DatabaseConfig, update_nested_dict @@ -24,6 +22,12 @@ from .port_util import find_open_port from .postgres_harness import create_snowflake_postgres +try: + from qcfractalcompute.compute_manager import ComputeManager + from qcfractalcompute.config import FractalComputeConfig, FractalServerSettings, LocalExecutorConfig +except ImportError: + raise RuntimeError("qcfractalcompute is not installed. Snowflake is useless without it") + if TYPE_CHECKING: from typing import Dict, Any, Sequence, Optional, Set