simdb.database package¶
Database module.
The database module contains the code for creating and interacting with the database. Using SQLAlchemy the code can be used with various types of databases including SQLite and PostgreSQL.
- class simdb.database.Database(db_type: DBMS, scopefunc=None, **kwargs)[source]¶
Bases:
objectClass to wrap the database access.
- delete_simulation(sim_ref: str) Simulation[source]¶
Delete the specified simulation from the database.
- Parameters:
sim_ref – The simulation UUID or alias.
- Returns:
None
- engine: sqlalchemy.engine.Engine¶
- get_file(file_uuid_str: str) File[source]¶
Get the specified file from the database.
- Parameters:
file_uuid_str – The string representation of the file UUID.
- Returns:
The File.
- get_metadata(sim_ref: str, name: str) List[str][source]¶
Get all the metadata for the given simulation with the given key.
- Parameters:
sim_ref – the simulation identifier
name – the metadata key
- Returns:
The matching MetaData.
- get_simulation(sim_ref: str) Simulation[source]¶
Get the specified simulation from the database.
- Parameters:
sim_ref – The simulation UUID or alias.
- Returns:
The Simulation.
- get_simulation_children(simulation: Simulation) List[dict][source]¶
- get_simulation_parents(simulation: Simulation) List[dict][source]¶
- insert_simulation(simulation: Simulation) None[source]¶
Insert the given simulation into the database.
- Parameters:
simulation – The Simulation to insert.
- Returns:
None
- list_files() List[File][source]¶
Return a list of all the files stored in the database.
- Returns:
A list of Files.
- list_simulation_data(meta_keys: List[str] = None, limit: int = 0, page: int = 1, sort_by: str = '', sort_asc: bool = False) Tuple[int, List[dict]][source]¶
Return a list of all the simulations stored in the database.
- Returns:
A list of Simulations.
- list_simulations(meta_keys: List[str] = None, limit: int = 0) List[Simulation][source]¶
Return a list of all the simulations stored in the database.
- Returns:
A list of Simulations.
- query_meta(constraints: List[Tuple[str, str, QueryType]]) List[Simulation][source]¶
Query the metadata and return matching simulations.
- Returns:
Subpackages¶
- simdb.database.models package
BaseFileMetaDataSimulationSimulation.StatusSimulation.aliasSimulation.data()Simulation.datetimeSimulation.file_paths()Simulation.find_meta()Simulation.from_data()Simulation.idSimulation.inputsSimulation.metaSimulation.meta_dict()Simulation.outputsSimulation.remove_meta()Simulation.set_meta()Simulation.statusSimulation.uuidSimulation.validate_meta()Simulation.watchers
Watcher- Submodules
Submodules¶
- simdb.database.database module
DatabaseDatabase.DBMSDatabase.add_watcher()Database.close()Database.delete_simulation()Database.engineDatabase.get_aliases()Database.get_file()Database.get_metadata()Database.get_simulation()Database.get_simulation_children()Database.get_simulation_data()Database.get_simulation_parents()Database.insert_simulation()Database.list_files()Database.list_metadata_keys()Database.list_metadata_values()Database.list_simulation_data()Database.list_simulations()Database.list_watchers()Database.query_meta()Database.query_meta_data()Database.remove()Database.remove_watcher()Database.reset()Database.session
DatabaseErrorSessionget_local_db()