Skip to main content

pyiron_database - Database support for pyiron_workflow.

Project description

Database extension for pyiron_workflow

Instance Database Interface

def store_node_outputs(node: Node) -> str:
    """
    Store a node's outputs into an HDF5 file.

    Args:
        node (Node): The node whose outputs should be stored.

    Returns:
        str: The file path where the node's outputs are stored.

    Raises:
        ValueError: If any output of the node is NOT_DATA.
    """

def restore_node_outputs(node: Node) -> bool:
    """
    Restore a node's outputs from a stored HDF5 file, given by node.hash.

    Args:
        node (Node): the node whose outputs should be restored.

    Returns:
        bool: True if the outputs were restored, False if not.
    """

def store_node_in_database(
    db: InstanceDatabase,
    node: Node,
    store_outputs: bool = False,
    store_input_nodes_recursively: bool = False,
) -> str:
    """
    Store a node in a database.

    This function stores all the information that is required to restore a node from the
    database. This includes the node's class, its inputs, its connected inputs and its
    outputs.

    Args:
        db (InstanceDatabase): The database to store the node in.
        node (Node): The node to store.
        store_outputs (bool): Whether to store the outputs of the node as well.
        store_input_nodes_recursively (bool): Whether to store all the nodes that are
            connected to the inputs of the node recursively.

    Returns:
        str: The hash of the stored node.
    """

def restore_node_from_database(
    db: InstanceDatabase, node_hash: str, parent: Workflow | None = None
) -> Node:
    """
    Restore a node from the database.

    The node is reconstructed from the database by calling recreate_node and
    adding it to the given parent workflow. The node's inputs are then restored
    either by connecting them to other nodes in the workflow or by setting their
    values directly.

    Args:
        db (InstanceDatabase): The InstanceDatabase instance to read from.
        node_hash (str): The hash of the node to restore.
        parent (Workflow | None): The workflow to add the restored node to.

    Returns:
        Node: The restored node.

    Raises:
        RuntimeError: If the node with the given hash is not found in the database.
    """

def get_hash(obj_to_be_hashed: Node | JSONGroup) -> str:
    """
    Calculate the hash of a given node or JSONGroup.

    Args:
        obj_to_be_hashed (Node | JSONGroup): the object whose hash should be calculated.

    Returns:
        str: the SHA-256 hash of the object.
    """

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyiron_database-0.0.8.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyiron_database-0.0.8-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file pyiron_database-0.0.8.tar.gz.

File metadata

  • Download URL: pyiron_database-0.0.8.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyiron_database-0.0.8.tar.gz
Algorithm Hash digest
SHA256 7577eada2ba9b8b7846f0336386060e1f8c5c99f6e632101608766ac8ea8b3ad
MD5 82fa822240d3accec0eea46e700c0e4d
BLAKE2b-256 ebee0746f81f2dbcae210b703c2fdbe4f30358db91873de984bb22e790ba7828

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiron_database-0.0.8.tar.gz:

Publisher: deploy.yml on pyiron/pyiron_database

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyiron_database-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for pyiron_database-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 4031845a281b2b2af0dddae80e9dabb18e747489d70b6ab6b0ecdf89807f3faf
MD5 0bd55adffcc039ddb9f1311d50f38123
BLAKE2b-256 1354f64a54384389329e43d465f0aa6b5096d1eb0b2e20f5350a60776395cb4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyiron_database-0.0.8-py3-none-any.whl:

Publisher: deploy.yml on pyiron/pyiron_database

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page