In-memory Backend (cyclus.memback)

An in-memory Python backend for Cyclus.

class cyclus.memback.MemBack

An in-memory Python backend database.

Note that even though the underlying C++ class is a RecBackend, the Python wrapper inherits from FullBackend and the QueryableBackend interface in implemented in Cython.

Parameters:

registry : set, bool, or None, optional

The initial registry to start the backend with. Defaults is True, which stores all of the tables.

fallback : QueryableBackend-like, optional

A backend, which implements query(), that this backend can use to look up values if the table is not in the current cache.

close()

Closes the backend, flushing it in the process.

flush()

No-op since in-memory.

name

The name of the database.

query(table, conds=None)

Queries a database table.

Parameters:

table : str

The table name.

conds : iterable, optional

A list of conditions.

Returns:

results : pd.DataFrame

Pandas DataFrame the represents the table. If None is returned, the table could not be found.

registry

A set of table names to store when store_all_tables is true. Setting this to True will store all tables. Setting this to None or False will clear all currently registered table names. Otherwise, Setting this to a set of strings will restrict the storage to just the specified tables. Setting the registry will also clear old cache values.

schema(table)
store_all_tables

Whether or not the backend will store all tables or only those in the registry.

tables

Retrieves the set of tables present in the database.