schrodinger.application.transforms.scorers.graphdb module

Shared GraphDB web services utilities for scorers.

Provides graph status polling, login, and retry helpers used by scorers that submit calculations to GraphDB.

class schrodinger.application.transforms.scorers.graphdb.WebServicesConfig(*, project_name: str, schrodinger_path: str | None = None)

Bases: BaseModel

Web services execution settings for GraphDB scorers.

Parameters:
  • project_name – Web services project name.

  • schrodinger_path – Schrodinger installation path on the server. Auto-populated from the client release version when not specified.

project_name: str
schrodinger_path: str | None
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

validate_with_server()

Verify project name and schrodinger path against the server.

Fail-fast validation that catches configuration errors before the pipeline starts processing data. Call during pipeline expansion, not at config construction time, so that configs can be created without requiring authentication.

Raises:

ValueError – If the project name or schrodinger path is not accepted by the server.

class schrodinger.application.transforms.scorers.graphdb.GraphStatus

Bases: Enum

DONE = 1
RUNNING = 2
MISSING = 3
schrodinger.application.transforms.scorers.graphdb.login()

Log in to GraphDB web services.

schrodinger.application.transforms.scorers.graphdb.get_graph_status(graph_id: str) GraphStatus

Obtain the status of a graph on web services.

Parameters:

graph_id – The graph ID to check.

Returns:

The status of the graph.

schrodinger.application.transforms.scorers.graphdb.poll_until_done(graph_id: str, poll_interval: int = 60, poll_timeout: int = 86400) GraphStatus

Poll graph status until done or missing.

Parameters:
  • graph_id – GraphDB graph ID.

  • poll_interval – Seconds between polls.

  • poll_timeout – Maximum seconds to poll before raising.

Returns:

Final status.

Raises:

TimeoutError – If polling exceeds the timeout.