Skip to main content

Bamboost

Bamboost is a Python library built for datamanagement using the HDF5 file format. bamboost stands for a lightweight shelf which will boost your efficiency and which will totally break if you load it heavily. Just kidding, bamboo can fully carry pandas. 🐼🐼🐼🐼

News

Release 0.4.2

Fixes for paralell writing. Writing is sped up significantly.

Flavio Lorez

Fixes for paralell writing. Writing is sped up significantly.

Test for writing speed

out_directory is where a database will be created. Make sure it is an empty directory.

  • Write 1000 steps with 1, 2, 4 and 8 threads. Timing is printed to stdout.
    ./tests/paralellization/test_steps/run.sh out_directory
    
  • Write single big array (20'000x20'000) with 1, 2, 4 and 8 threads. Timing is printed to stdout.
    ./tests/paralellization/test_big_array/run.sh out_directory
    

Release 0.4.1

Added functionality for userdata. To show the content of it, display the object sim.userdata.

Flavio Lorez

Added functionality for userdata. To show the content of it, display the object sim.userdata.

Simple way to store non field data

  • Scalar, string, etc will are stored as attributes: sim.userdata['some_name'] = value
  • Arrays are stored as datasets: sim.userdata['array_name'] = arr

Access is natural: sim.userdata['some_name'] -> returns the stored value

Release 0.4.0

Introduced globally unique identifiers for each database. They are stored as a file in the database directory.

Flavio Lorez

Introduced globally unique identifiers for each database. They are stored as a file in the database directory. This allows to safely link different simulations together, e.g. meshes from a mesh database that are used in many places. Also, it allows to access any database from any path without remembering where it is stored. To do so, an index is maintained at ~.config/bamboost which contains all previously accessed databases.

Also introduced nice reprs for a database and for a simulation inside jupyter notebooks πŸ˜„

In addition, some internal things were optimized (don't remember what exactly). Hopefully, nothing was broken. Testing is still to do.

Initial post

Initial post

Flavio Lorez

Initial post

This is the initial post of the blog. It is a test to see if the blog is working properly.