-
Piotr Maślanka authored860cb05b
README.md 5.64 KiB
tempsdb
Embedded Cython library for time series that you need to upload somewhere.
Stored time series with a 8-byte timestamp and a data, which can be of fixed length or variable.
Installation
git clone https://github.com/smok-serwis/tempsdb
cd tempsdb
pip install snakehouse tempsdb
python setup.py install
You need both snakehouse and tempsdb to compile it from the source, though binary wheels for:
- Linux [manylinux2014]:
- x86_64:
- Python 3.8
- armv7l:
- Python 3.8
- x86_64:
are available. If you need an extra wheel, compile it yourself or just drop me an issue.
If you're installing it somewhere that you don't need both snakehouse and tempsdb installed, compile your own binary wheel with
python setup.py bdist_wheel
Then copy your resulting wheel and install it via pip on the target system.
Changelog
v0.6.2
- added the context manager syntax to VarlenIterator
v0.6.1
- fixed an issue with
Iterators
v0.6
- bugfix: fixed some bugs with reading values after close
- added support for storing metadata as minijson
- this will be enabled by default is minijson is importable
- fixed minor compiler warnings
-
TimeSeries.iterate_range
will accept a parameter calleddirect_bytes
for compatibility withVarlenSeries
. It's value is ignored - more class constructors use explicit typing - faster tempsdb
-
TimeSeries.get_current_value
will correctly raiseValueError
instead of returning None
v0.5.4
- older TempsDB databases that do not support varlens will be updated upon opening
- added metadata support for databases
- a flush will be done before re-enabling mmap
- bugfix to read archive data
v0.5.3
- added
disable_mmap
,enable_mmap
andopen_chunks_mmap_size
intoVarlenSeries
v0.5.2
- added multiple properties and attributes to
VarlenSeries
v0.5.1
- added
VarlenSeries.close_chunks
-
Database.sync
will now return 0 - indexed-gzip proved to be a poor choice, dropped
-
setup.py
fixed
v0.5
- if mmap is used, the kernel will be informed after loading the chunk that we don't need it's memory right now
- deleting a
TimeSeries
will now correctly return a zero - both
Database
,TimeSeries
andChunk
destructor will close and emit a warning if the user forgot to - if page_size is default, it won't be written as part of the metadata
- added support for per-series metadata
- following additions to
Database
:delete_series
delete_varlen_series
- following additions to
TimeSeries
:- added
append_padded
- added metadata support,
metadata
property andset_metadata
call
- added
- added variable length series
- added experimental support for gzipping time series
- fixed a bug where getting a series that was already closed would TypeError
- following additions to
Chunk
:get_slice_of_piece_at
get_slice_of_piece_starting_at
get_byte_of_piece
get_timestamp_at
- fixed the behaviour of
AlternativeMMaps
when passed a single index to getitem and setitem - added
StillOpen
exception, chunk won't allow to close itself if it has any remaining references