ANNOUNCE.rst 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. ======================
  2. Announcing bcolz 1.2.1
  3. ======================
  4. What's new
  5. ==========
  6. This is a maintenance release where C-Blosc internal sources has been updated
  7. to 1.14.3, in which Zstd codec should exhibit improved performance. Also,
  8. `np.datetime64` and other scalar objects that have `__getitem__()` are now
  9. supported in _eval_blocks() (thanks to apalepu23). Finally, there is improved
  10. support for ARM (specially for aarch64) and PowerPC architectures
  11. (only little-endian).
  12. For a more detailed change log, see:
  13. https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst
  14. For some comparison between bcolz and other compressed data containers,
  15. see:
  16. https://github.com/FrancescAlted/DataContainersTutorials
  17. specially chapters 3 (in-memory containers) and 4 (on-disk containers).
  18. What it is
  19. ==========
  20. *bcolz* provides **columnar and compressed** data containers that can
  21. live either on-disk or in-memory. The compression is carried out
  22. transparently by Blosc, an ultra fast meta-compressor that is optimized
  23. for binary data. Compression is active by default.
  24. Column storage allows for efficiently querying tables with a large
  25. number of columns. It also allows for cheap addition and removal of
  26. columns. Lastly, high-performance iterators (like ``iter()``,
  27. ``where()``) for querying the objects are provided.
  28. bcolz can use diffent backends internally (currently numexpr,
  29. Python/NumPy or dask) so as to accelerate many vector and query
  30. operations (although it can use pure NumPy for doing so too). Moreover,
  31. since the carray/ctable containers can be disk-based, it is possible to
  32. use them for seamlessly performing out-of-memory computations.
  33. While NumPy is used as the standard way to feed and retrieve data from
  34. bcolz internal containers, but it also comes with support for
  35. high-performance import/export facilities to/from `HDF5/PyTables tables
  36. <http://www.pytables.org>`_ and `pandas dataframes
  37. <http://pandas.pydata.org>`_.
  38. Have a look at how bcolz and the Blosc compressor, are making a better
  39. use of the memory without an important overhead, at least for some real
  40. scenarios:
  41. http://nbviewer.ipython.org/github/Blosc/movielens-bench/blob/master/querying-ep14.ipynb#Plots
  42. bcolz has minimal dependencies (NumPy is the only strict requisite),
  43. comes with an exhaustive test suite, and it is meant to be used in
  44. production. Example users of bcolz are Visualfabriq
  45. (http://www.visualfabriq.com/), Quantopian (https://www.quantopian.com/)
  46. and scikit-allel:
  47. * Visualfabriq:
  48. * *bquery*, A query and aggregation framework for Bcolz:
  49. * https://github.com/visualfabriq/bquery
  50. * Quantopian:
  51. * Using compressed data containers for faster backtesting at scale:
  52. * https://quantopian.github.io/talks/NeedForSpeed/slides.html
  53. * scikit-allel:
  54. * Exploratory analysis of large scale genetic variation data.
  55. * https://github.com/cggh/scikit-allel
  56. Resources
  57. =========
  58. Visit the main bcolz site repository at:
  59. http://github.com/Blosc/bcolz
  60. Manual:
  61. http://bcolz.blosc.org
  62. Home of Blosc compressor:
  63. http://blosc.org
  64. User's mail list:
  65. bcolz@googlegroups.com
  66. http://groups.google.com/group/bcolz
  67. License is the new BSD:
  68. https://github.com/Blosc/bcolz/blob/master/LICENSES/BCOLZ.txt
  69. Release notes can be found in the Git repository:
  70. https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst
  71. ----
  72. **Enjoy data!**
  73. .. Local Variables:
  74. .. mode: rst
  75. .. coding: utf-8
  76. .. fill-column: 72
  77. .. End:
  78. .. vim: set textwidth=72: