openff.bespokefit.utilities.Settings

settings openff.bespokefit.utilities.Settings[source]

Bases: BaseSettings

Show JSON schema
{
   "title": "Settings",
   "description": "Base class for settings, allowing values to be overridden by environment variables.\n\nThis is useful in production for secrets you do not wish to save in code, it plays nicely with docker(-compose),\nHeroku and any 12 factor app design.",
   "type": "object",
   "properties": {
      "BEFLOW_API_V1_STR": {
         "title": "Beflow Api V1 Str",
         "default": "/api/v1",
         "env_names": "{'beflow_api_v1_str'}",
         "type": "string"
      },
      "BEFLOW_GATEWAY_PORT": {
         "title": "Beflow Gateway Port",
         "default": 8000,
         "env_names": "{'beflow_gateway_port'}",
         "type": "integer"
      },
      "BEFLOW_GATEWAY_LOG_LEVEL": {
         "title": "Beflow Gateway Log Level",
         "default": "error",
         "env_names": "{'beflow_gateway_log_level'}",
         "type": "string"
      },
      "BEFLOW_REDIS_ADDRESS": {
         "title": "Beflow Redis Address",
         "default": "localhost",
         "env_names": "{'beflow_redis_address'}",
         "type": "string"
      },
      "BEFLOW_REDIS_PORT": {
         "title": "Beflow Redis Port",
         "default": 6363,
         "env_names": "{'beflow_redis_port'}",
         "type": "integer"
      },
      "BEFLOW_REDIS_DB": {
         "title": "Beflow Redis Db",
         "default": 0,
         "env_names": "{'beflow_redis_db'}",
         "type": "integer"
      },
      "BEFLOW_REDIS_PASSWORD": {
         "title": "Beflow Redis Password",
         "default": "bespokefit-server-1",
         "env_names": "{'beflow_redis_password'}",
         "type": "string"
      },
      "BEFLOW_COORDINATOR_MAX_UPDATE_INTERVAL": {
         "title": "Beflow Coordinator Max Update Interval",
         "default": 5.0,
         "env_names": "{'beflow_coordinator_max_update_interval'}",
         "type": "number"
      },
      "BEFLOW_COORDINATOR_MAX_RUNNING_TASKS": {
         "title": "Beflow Coordinator Max Running Tasks",
         "default": 1000,
         "env_names": "{'beflow_coordinator_max_running_tasks'}",
         "type": "integer"
      },
      "BEFLOW_FRAGMENTER_WORKER_N_CORES": {
         "title": "Beflow Fragmenter Worker N Cores",
         "default": "auto",
         "env_names": "{'beflow_fragmenter_worker_n_cores'}",
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "enum": [
                  "auto"
               ],
               "type": "string"
            }
         ]
      },
      "BEFLOW_FRAGMENTER_WORKER_MAX_MEM": {
         "title": "Beflow Fragmenter Worker Max Mem",
         "default": "auto",
         "env_names": "{'beflow_fragmenter_worker_max_mem'}",
         "anyOf": [
            {
               "type": "number"
            },
            {
               "enum": [
                  "auto"
               ],
               "type": "string"
            }
         ]
      },
      "BEFLOW_QC_COMPUTE_WORKER_N_CORES": {
         "title": "Beflow Qc Compute Worker N Cores",
         "default": "auto",
         "env_names": "{'beflow_qc_compute_worker_n_cores'}",
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "enum": [
                  "auto"
               ],
               "type": "string"
            }
         ]
      },
      "BEFLOW_QC_COMPUTE_WORKER_MAX_MEM": {
         "title": "Beflow Qc Compute Worker Max Mem",
         "default": "auto",
         "env_names": "{'beflow_qc_compute_worker_max_mem'}",
         "anyOf": [
            {
               "type": "number"
            },
            {
               "enum": [
                  "auto"
               ],
               "type": "string"
            }
         ]
      },
      "BEFLOW_QC_COMPUTE_WORKER_N_TASKS": {
         "title": "Beflow Qc Compute Worker N Tasks",
         "default": "auto",
         "env_names": "{'beflow_qc_compute_worker_n_tasks'}",
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "enum": [
                  "auto"
               ],
               "type": "string"
            }
         ]
      },
      "BEFLOW_OPTIMIZER_WORKER_N_CORES": {
         "title": "Beflow Optimizer Worker N Cores",
         "default": "auto",
         "env_names": "{'beflow_optimizer_worker_n_cores'}",
         "anyOf": [
            {
               "type": "integer"
            },
            {
               "enum": [
                  "auto"
               ],
               "type": "string"
            }
         ]
      },
      "BEFLOW_OPTIMIZER_WORKER_MAX_MEM": {
         "title": "Beflow Optimizer Worker Max Mem",
         "default": "auto",
         "env_names": "{'beflow_optimizer_worker_max_mem'}",
         "anyOf": [
            {
               "type": "number"
            },
            {
               "enum": [
                  "auto"
               ],
               "type": "string"
            }
         ]
      },
      "BEFLOW_OPTIMIZER_KEEP_FILES": {
         "title": "Beflow Optimizer Keep Files",
         "default": false,
         "env_names": "{'beflow_optimizer_keep_files'}",
         "type": "boolean"
      },
      "BEFLOW_KEEP_TMP_FILES": {
         "title": "Beflow Keep Tmp Files",
         "default": false,
         "env_names": "{'beflow_keep_tmp_files'}",
         "type": "boolean"
      },
      "BEFLOW_COORDINATOR_PREFIX": {
         "title": "Beflow Coordinator Prefix",
         "default": "tasks",
         "env_names": "{'beflow_coordinator_prefix'}",
         "type": "string"
      },
      "BEFLOW_COORDINATOR_ROUTER": {
         "title": "Beflow Coordinator Router",
         "default": "openff.bespokefit.executor.services.coordinator.app:router",
         "env_names": "{'beflow_coordinator_router'}",
         "type": "string"
      },
      "BEFLOW_COORDINATOR_WORKER": {
         "title": "Beflow Coordinator Worker",
         "default": "openff.bespokefit.executor.services.coordinator.worker:",
         "env_names": "{'beflow_coordinator_worker'}",
         "type": "string"
      },
      "BEFLOW_FRAGMENTER_PREFIX": {
         "title": "Beflow Fragmenter Prefix",
         "default": "fragmentations",
         "env_names": "{'beflow_fragmenter_prefix'}",
         "type": "string"
      },
      "BEFLOW_FRAGMENTER_ROUTER": {
         "title": "Beflow Fragmenter Router",
         "default": "openff.bespokefit.executor.services.fragmenter.app:router",
         "env_names": "{'beflow_fragmenter_router'}",
         "type": "string"
      },
      "BEFLOW_FRAGMENTER_WORKER": {
         "title": "Beflow Fragmenter Worker",
         "default": "openff.bespokefit.executor.services.fragmenter.worker",
         "env_names": "{'beflow_fragmenter_worker'}",
         "type": "string"
      },
      "BEFLOW_QC_COMPUTE_PREFIX": {
         "title": "Beflow Qc Compute Prefix",
         "default": "qc-calcs",
         "env_names": "{'beflow_qc_compute_prefix'}",
         "type": "string"
      },
      "BEFLOW_QC_COMPUTE_ROUTER": {
         "title": "Beflow Qc Compute Router",
         "default": "openff.bespokefit.executor.services.qcgenerator.app:router",
         "env_names": "{'beflow_qc_compute_router'}",
         "type": "string"
      },
      "BEFLOW_QC_COMPUTE_WORKER": {
         "title": "Beflow Qc Compute Worker",
         "default": "openff.bespokefit.executor.services.qcgenerator.worker",
         "env_names": "{'beflow_qc_compute_worker'}",
         "type": "string"
      },
      "BEFLOW_OPTIMIZER_PREFIX": {
         "title": "Beflow Optimizer Prefix",
         "default": "optimizations",
         "env_names": "{'beflow_optimizer_prefix'}",
         "type": "string"
      },
      "BEFLOW_OPTIMIZER_ROUTER": {
         "title": "Beflow Optimizer Router",
         "default": "openff.bespokefit.executor.services.optimizer.app:router",
         "env_names": "{'beflow_optimizer_router'}",
         "type": "string"
      },
      "BEFLOW_OPTIMIZER_WORKER": {
         "title": "Beflow Optimizer Worker",
         "default": "openff.bespokefit.executor.services.optimizer.worker",
         "env_names": "{'beflow_optimizer_worker'}",
         "type": "string"
      }
   },
   "additionalProperties": false
}

Fields
  • BEFLOW_API_V1_STR (str)

  • BEFLOW_COORDINATOR_MAX_RUNNING_TASKS (int)

  • BEFLOW_COORDINATOR_MAX_UPDATE_INTERVAL (float)

  • BEFLOW_FRAGMENTER_WORKER_MAX_MEM (Union[float, Literal['auto']])

  • BEFLOW_FRAGMENTER_WORKER_N_CORES (Union[int, Literal['auto']])

  • BEFLOW_GATEWAY_LOG_LEVEL (str)

  • BEFLOW_GATEWAY_PORT (int)

  • BEFLOW_KEEP_TMP_FILES (bool)

  • BEFLOW_OPTIMIZER_KEEP_FILES (bool)

  • BEFLOW_OPTIMIZER_WORKER_MAX_MEM (Union[float, Literal['auto']])

  • BEFLOW_OPTIMIZER_WORKER_N_CORES (Union[int, Literal['auto']])

  • BEFLOW_QC_COMPUTE_WORKER_MAX_MEM (Union[float, Literal['auto']])

  • BEFLOW_QC_COMPUTE_WORKER_N_CORES (Union[int, Literal['auto']])

  • BEFLOW_QC_COMPUTE_WORKER_N_TASKS (Union[int, Literal['auto']])

  • BEFLOW_REDIS_ADDRESS (str)

  • BEFLOW_REDIS_DB (int)

  • BEFLOW_REDIS_PASSWORD (str)

  • BEFLOW_REDIS_PORT (int)

field BEFLOW_API_V1_STR: str = '/api/v1'
field BEFLOW_GATEWAY_PORT: int = 8000
field BEFLOW_GATEWAY_LOG_LEVEL: str = 'error'
field BEFLOW_REDIS_ADDRESS: str = 'localhost'
field BEFLOW_REDIS_PORT: int = 6363
field BEFLOW_REDIS_DB: int = 0
field BEFLOW_REDIS_PASSWORD: str = 'bespokefit-server-1'
field BEFLOW_COORDINATOR_MAX_UPDATE_INTERVAL: float = 5.0
field BEFLOW_COORDINATOR_MAX_RUNNING_TASKS: int = 1000
field BEFLOW_FRAGMENTER_WORKER_N_CORES: Union[int, Literal['auto']] = 'auto'
field BEFLOW_FRAGMENTER_WORKER_MAX_MEM: Union[float, Literal['auto']] = 'auto'
field BEFLOW_QC_COMPUTE_WORKER_N_CORES: Union[int, Literal['auto']] = 'auto'
field BEFLOW_QC_COMPUTE_WORKER_MAX_MEM: Union[float, Literal['auto']] = 'auto'
field BEFLOW_QC_COMPUTE_WORKER_N_TASKS: Union[int, Literal['auto']] = 'auto'
field BEFLOW_OPTIMIZER_WORKER_N_CORES: Union[int, Literal['auto']] = 'auto'
field BEFLOW_OPTIMIZER_WORKER_MAX_MEM: Union[float, Literal['auto']] = 'auto'
field BEFLOW_OPTIMIZER_KEEP_FILES: bool = False

Deprecated since version 0.2.1: use BEFLOW_KEEP_TMP_FILES instead

Keep the optimizer’s temporary files.

field BEFLOW_KEEP_TMP_FILES: bool = False

Keep all temporary files.

Temporary files are written to the scratch directory, which can be configured with the --directory CLI argument. By default, a temporary directory is chosen for scratch, so both this environment variable and that CLI argument must be set to preserve temporary files.

property fragmenter_settings: openff.bespokefit.utilities._settings.WorkerSettings
property qc_compute_settings: openff.bespokefit.utilities._settings.WorkerSettings
property optimizer_settings: openff.bespokefit.utilities._settings.WorkerSettings
apply_env()[source]

Applies a context manager that will temporarily update the global environmental variables to match the settings in this object.