PriDatabase¶
- class vallenae.io.PriDatabase(filename, mode='ro')[source]¶
IO wrapper for pridb database file.
Methods
__init__(filename[, mode])Open pridb database file.
channel()Get list of channels.
close()Close database connection.
columns()Columns of data table.
Get SQLite connection object.
create(filename)Create empty pridb.
Read fieldinfo table.
Read globalinfo table.
iread_hits(*[, channel, time_start, ...])Stream hits with returned iterable.
iread_markers(*[, time_start, time_stop, ...])Stream markers with returned iterable.
iread_parametric(*[, time_start, time_stop, ...])Stream parametric data with returned iterable.
iread_status(*[, channel, time_start, ...])Stream status data with returned iterable.
listen([existing, wait, query_filter])Listen to database changes and return new records.
read(**kwargs)Read all data set types (hits, markers, parametric data, status data) from pridb to Pandas DataFrame.
read_hits(**kwargs)Read hits to Pandas DataFrame.
read_markers(**kwargs)Read marker to Pandas DataFrame.
read_parametric(**kwargs)Read parametric data to Pandas DataFrame.
read_status(**kwargs)Read status data to Pandas DataFrame.
rows()Number of rows in data table.
tables()Get table names.
to_datetime(time)Convert a relative time to an absolute
datetimeobject.write_fieldinfo(field, info)Write to fieldinfo table.
write_hit(hit)Write hit to pridb.
write_marker(marker)Write marker to pridb.
write_parametric(parametric)Write parametric data to pridb.
write_status(status)Write status data to pridb.
Attributes
- static create(filename)[source]¶
Create empty pridb.
- Parameters:
filename (
str) – Path to new pridb database file
- to_datetime(time)[source]¶
Convert a relative time to an absolute
datetimeobject.- Parameters:
timestamp – Relative time in seconds
- Return type:
- read_hits(**kwargs)[source]¶
Read hits to Pandas DataFrame.
- Parameters:
**kwargs – Arguments passed to
iread_hits- Return type:
- Returns:
Pandas DataFrame with hit data
- read_markers(**kwargs)[source]¶
Read marker to Pandas DataFrame.
- Parameters:
**kwargs – Arguments passed to
iread_markers- Return type:
- Returns:
Pandas DataFrame with marker data
- read_parametric(**kwargs)[source]¶
Read parametric data to Pandas DataFrame.
- Parameters:
**kwargs – Arguments passed to
iread_parametric- Return type:
- Returns:
Pandas DataFrame with parametric data
- read_status(**kwargs)[source]¶
Read status data to Pandas DataFrame.
- Parameters:
**kwargs – Arguments passed to
iread_status- Return type:
- Returns:
Pandas DataFrame with status data
- read(**kwargs)[source]¶
Read all data set types (hits, markers, parametric data, status data) from pridb to Pandas DataFrame.
- Parameters:
**kwargs – Arguments passed to
iread_hits,iread_markers,iread_parametricandiread_status- Return type:
- Returns:
Pandas DataFrame with all pridb data set types
- iread_hits(*, channel=None, time_start=None, time_stop=None, set_id=None, query_filter=None)[source]¶
Stream hits with returned iterable.
- Parameters:
channel (
Union[int,Sequence[int],None]) – None if all channels should be read. Otherwise specify the channel number or a list of channel numberstime_start (
float|None) – Start reading at relative time (in seconds). Start at beginning if Nonetime_stop (
float|None) – Stop reading at relative time (in seconds). Read until end if Nonequery_filter (
str|None) – Optional query filter provided as SQL clause, e.g. “Amp > 5000 AND RiseT < 1000”
- Return type:
SizedIterable[HitRecord]- Returns:
Sized iterable to sequential read hits
- iread_markers(*, time_start=None, time_stop=None, set_id=None, query_filter=None)[source]¶
Stream markers with returned iterable.
- Parameters:
time_start (
float|None) – Start reading at relative time (in seconds). Start at beginning if Nonetime_stop (
float|None) – Stop reading at relative time (in seconds). Read until end if Nonequery_filter (
str|None) – Optional query filter provided as SQL clause, e.g. “Number > 11 AND Data LIKE ‘%TimeZone%’”
- Return type:
SizedIterable[MarkerRecord]- Returns:
Sized iterable to sequential read markers
- iread_parametric(*, time_start=None, time_stop=None, set_id=None, query_filter=None)[source]¶
Stream parametric data with returned iterable.
- Parameters:
time_start (
float|None) – Start reading at relative time (in seconds). Start at beginning if Nonetime_stop (
float|None) – Stop reading at relative time (in seconds). Read until end if Nonequery_filter (
str|None) – Optional query filter provided as SQL clause, e.g. “PA0 >= -5000 AND PA0 < 5000”
- Return type:
SizedIterable[ParametricRecord]- Returns:
Sized iterable to sequential read parametric data
- iread_status(*, channel=None, time_start=None, time_stop=None, set_id=None, query_filter=None)[source]¶
Stream status data with returned iterable.
- Parameters:
channel (
Union[int,Sequence[int],None]) – None if all channels should be read. Otherwise specify the channel number or a list of channel numberstime_start (
float|None) – Start reading at relative time (in seconds). Start at beginning if Nonetime_stop (
float|None) – Stop reading at relative time (in seconds). Read until end if Nonequery_filter (
str|None) – Optional query filter provided as SQL clause, e.g. “RMS < 300 OR RMS > 500”
- Return type:
SizedIterable[StatusRecord]- Returns:
Sized iterable to sequential read status data
- listen(existing=False, wait=False, query_filter=None)[source]¶
Listen to database changes and return new records.
- Parameters:
- Yields:
New hit/marker/parametric/status data records
- Return type:
Iterable[HitRecord|MarkerRecord|ParametricRecord|StatusRecord]
- write_hit(hit)[source]¶
Write hit to pridb.
Caution:
HitRecord.set_idis ignored and automatically incremented.- Parameters:
hit (
HitRecord) – Hit data set- Returns:
Index (SetID) of inserted row
- write_marker(marker)[source]¶
Write marker to pridb.
Caution:
MarkerRecord.set_idis ignored and automatically incremented.- Parameters:
marker (
MarkerRecord) – Marker data set- Returns:
Index (SetID) of inserted row
- write_status(status)[source]¶
Write status data to pridb.
Caution:
StatusRecord.set_idis ignored and automatically incremented.- Parameters:
status (
StatusRecord) – Status data set- Returns:
Index (SetID) of inserted row
- write_parametric(parametric)[source]¶
Write parametric data to pridb.
Caution:
ParametricRecord.set_idis ignored and automatically incremented.- Parameters:
parametric (
ParametricRecord) – Parametric data set- Returns:
Index (SetID) of inserted row
- close()¶
Close database connection.
- connection()¶
Get SQLite connection object.
- Raises:
RuntimeError – If connection is closed
- Return type:
- fieldinfo()¶
Read fieldinfo table.
The fieldinfo table stores informations about columns of the data table (like units).