Managing Datastores¶

A DataStore is a collection of DataFile objects that can be read together, providing a unified interface for managing multiple data sources.

Create a DataStore¶

Use DataStore to instantiate an empty data store:

>>> from r2x_core import DataStore
>>> store = DataStore()
>>> type(store).__name__
'DataStore'

Add Files to a DataStore¶

Use the add_data() method to register data files:

>>> from pathlib import Path
>>> from r2x_core import DataFile, DataStore
>>>
>>> # Single file
>>> store = DataStore()
>>> store.add_data([DataFile(name="generators", relative_fpath="gen.csv")])
>>>
>>> # Multiple files at once
>>> files = [
...     DataFile(name="generators", relative_fpath="gen.csv"),
...     DataFile(name="loads", relative_fpath="load.csv")
... ]
>>> store = DataStore()
>>> store.add_data(files)
>>> len(store.list_data())
2

List Available Data Files¶

Check which data files are registered in the store:

>>> from pathlib import Path
>>> from r2x_core import DataFile, DataStore
>>>
>>> # Create datastore with files
>>> store = DataStore()
>>> store.add_data([DataFile(name="generators", relative_fpath="gen.csv")])
>>> store.add_data([DataFile(name="loads", relative_fpath="load.csv")])
>>>
>>> # Check registered data
>>> "generators" in store.list_data()
True
>>> sorted(store.list_data())
['generators', 'loads']

See Also¶