Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Francesc Alted Newsgroups: comp.lang.python.announce Subject: bcolz, a column store for Python, 1.1.2 released Date: Fri, 10 Feb 2017 09:51:06 +0100 Lines: 123 Approved: python-announce-list@python.org Message-ID: References: Reply-To: faltet@gmail.com Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: news.uni-berlin.de HMyYxDlcokaCEhuekHrNuACZZkgEHp3WPBelJlLZE2xQ== Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'subject:Python': 0.05; 'binary': 0.05; 'context': 0.05; 'repository': 0.05; 'url:github': 0.05; '<>`_': 0.07; 'defaults': 0.07; 'fixes': 0.07; 'git': 0.07; 'subject:released': 0.07; '(currently': 0.09; 'cc:addr:googlegroups.com': 0.09; 'compression': 0.09; 'default.': 0.09; 'internally': 0.09; 'moreover,': 0.09; 'skip:` 30': 0.09; 'specified.': 0.09; 'url:rst': 0.09; 'cheap': 0.15; 'packages.': 0.15; '0")': 0.16; '==========': 0.16; 'alted': 0.16; 'backends': 0.16; 'behaviour.': 0.16; 'codec': 0.16; 'containers': 0.16; 'diffent': 0.16; 'error).': 0.16; 'francesc': 0.16; 'from:addr:faltet': 0.16; 'from:name:francesc alted': 0.16; 'iterators': 0.16; 'now.\xc2\xa0': 0.16; 'numpy': 0.16; 'recipe': 0.16; 'too).': 0.16; 'url:licenses': 0.16; 'url:pydata': 0.16; 'url:talks': 0.16; 'url:)': 0.17; '<': 0.18; 'see:': 0.18; 'skip:` 20': 0.18; 'memory': 0.18; 'cc:addr:python.org': 0.21; 'cc:2**1': 0.22; 'meant': 0.22; 'column': 0.22; 'skip:` 10': 0.22; 'strict': 0.22; "user's": 0.22; 'specially': 0.23; 'tables': 0.23; 'url:io': 0.23; 'scale': 0.24; 'message-id:@mail.gmail.com': 0.25; 'least': 0.26; 'install': 0.26; 'select': 0.26; 'skip:b 40': 0.27; '(like': 0.27; 'performing': 0.27; 'operations': 0.28; 'example': 0.29; '(although': 0.29; 'comparison': 0.29; 'cc:no real name:2**1': 0.29; 'objects': 0.29; 'supported': 0.29; '----': 0.30; 'minimal': 0.30; 'query': 0.30; 'at:': 0.31; 'allows': 0.32; 'received:google.com': 0.32; 'possible': 0.32; 'fixed': 0.33; 'skip:= 20': 0.33; 'skip:b 30': 0.34; 'quite': 0.34; 'but': 0.34; 'feed': 0.35; 'list:': 0.35; 'to:addr:googlegroups.com': 0.35; 'unicode': 0.35; 'release': 0.35; 'url:org': 0.36; 'data.': 0.36; 'faster': 0.36; 'framework': 0.36; 'version': 0.37; 'thanks': 0.37; 'changing': 0.38; 'data': 0.38; 'some': 0.39; 'large': 0.39; '8bit%:14': 0.39; 'easily': 0.39; 'resources': 0.39; 'proto:https': 0.40; 'standard': 0.40; 'test': 0.40; 'received:io': 0.40; 'received:psf.io': 0.40; 'making': 0.60; 'maintenance': 0.60; 'more': 0.62; 'carried': 0.63; 'skip:n 10': 0.63; 'visit': 0.63; 'url:group': 0.63; 'real': 0.65; 'license': 0.65; 'here': 0.66; 'chapters': 0.66; 'production.': 0.66; 'skip:= 30': 0.67; 'header:Reply-To:1': 0.67; 'home': 0.68; 'reply-to:no real name:2**0': 0.71; 'analysis': 0.72; 'facilities': 0.72; 'reply-to:addr:gmail.com': 0.78; 'removal': 0.79; 'highlights:': 0.84; 'lastly,': 0.84; 'miles.': 0.84; 'overhead,': 0.84; 'to/from': 0.84; 'url:master': 0.84; 'variation': 0.84; 'announcing': 0.91; 'ultra': 0.93; 'email addr:googlegroups.com': 0.95 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:reply-to:from:date:message-id:subject:to:cc; bh=XPAZY0L3p7z+RBtmzq3VyByP+rZiWk3uY0WSOlFT2oM=; b=AVtgxoMlgYyqJxxO3qaVA6q/6d9k8Mf0k9UC6QSL1tP8dt2N701N42Qo6mwvDD2mU9 z3q8maBkjS1kISdIkzaWmeY1A6Tv11yzFpoDn2GPl1V9DEPM3PyOptS7oIMF0VgMX/Qk Kx+bCDSGZNDJFBYgK209DwoQwtnLKNbfcu0ythcmEAkGKAt+vYn9p884qap28kYjAvRa l0uqnJpZLW6MWEA+OAOGfsYM670Q1FaOqA8YEWvN2XzwM97O/dJ7MOrPVFEC7QkQSK4G DpsPGkNb4zBSgvarKDRDUvatz82DkjR3HzNEGtoge4nunha78pm7xrmmNgWeS0aQ6Uj0 UG8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:from:date:message-id :subject:to:cc; bh=XPAZY0L3p7z+RBtmzq3VyByP+rZiWk3uY0WSOlFT2oM=; b=MiSAK9jl8/oOhf4bTBbbH43HI2XG/CIjqsPdymvxnRvxY7E8TRxOH7z1W98j4Sm5LP 3z+UJFspsshcP4qPphR5d6dInIiOPSH0vChfxQQNDVTFsOh5y5VHiVwprp7p9hyhaJ2R S0k+GhA+2dozERURIiaIbRIkj8ztX4vJW9lvA3cTaR2+1ESurj94y+WlO3+7OuIj6nOi 4mnwdImzWJ44S5/pRcDVG+CuqKeLylDflFoaQ7i4YllMZzog4Dvs147lbUekiLfC2LWw kduOyz8n2/6SDBCagjVFaQ1J17QnGeVazHgBjuQGWaFulfgK8d54ihEMbxuP9sMkVXS1 fOhg== X-Gm-Message-State: AMke39lNU9vcQV2mreywfbiDkULfRlYnoyLOpRlU4XLE5C/WQniho99pupFOnV+/s2kzrhnEpvvPcrcvSCnesQ== X-Received: by 10.31.203.135 with SMTP id b129mr3642157vkg.153.1486716666280; Fri, 10 Feb 2017 00:51:06 -0800 (PST) X-Mailman-Approved-At: Fri, 10 Feb 2017 04:33:59 -0500 X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: Xref: csiph.com comp.lang.python.announce:2400 ====================== Announcing bcolz 1.1.2 ====================== What's new ========== This is a maintenance release that brings quite a lot of improvements. Here are the highlights: - Zstd is a supported codec now. Fixes #331. - C-Blosc updated to 1.11.2. - Added a new `defaults_ctx` context so that users can select defaults easily without changing global behaviour. For example:: with bcolz.defaults_ctx(vm="python", cparams=bcolz.cparams(clevel=0)): cout = bcolz.eval("(x + 1) < 0") - Fixed a crash occurring in `ctable.todataframe()` when both `columns` and `orient='columns'` were specified. PR #311. Thanks to Peter Quackenbush. - Use `pkg_resources.parse_version()` to test for version of packages. Fixes #322 (PY27 bcolz with dask unicode error). - New package recipe for conda-forge. Now you can install bcolz with: `conda install -c conda-forge bcolz`. Thanks to Alistair Miles. For a more detailed change log, see: https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst For some comparison between bcolz and other compressed data containers, see: https://github.com/FrancescAlted/DataContainersTutorials specially chapters 3 (in-memory containers) and 4 (on-disk containers). What it is ========== *bcolz* provides **columnar and compressed** data containers that can live either on-disk or in-memory. The compression is carried out transparently by Blosc, an ultra fast meta-compressor that is optimized for binary data. Compression is active by default. Column storage allows for efficiently querying tables with a large number of columns. It also allows for cheap addition and removal of columns. Lastly, high-performance iterators (like ``iter()``, ``where()``) for querying the objects are provided. bcolz can use diffent backends internally (currently numexpr, Python/NumPy or dask) so as to accelerate many vector and query operations (although it can use pure NumPy for doing so too). Moreover, since the carray/ctable containers can be disk-based, it is possible to use them for seamlessly performing out-of-memory computations. While NumPy is used as the standard way to feed and retrieve data from bcolz internal containers, but it also comes with support for high-performance import/export facilities to/from `HDF5/PyTables tables `_ and `pandas dataframes `_. Have a look at how bcolz and the Blosc compressor, are making a better use of the memory without an important overhead, at least for some real scenarios: http://nbviewer.ipython.org/github/Blosc/movielens-bench/blob/master/querying-ep14.ipynb#Plots bcolz has minimal dependencies (NumPy is the only strict requisite), comes with an exhaustive test suite, and it is meant to be used in production. Example users of bcolz are Visualfabriq (http://www.visualfabriq.com/), Quantopian (https://www.quantopian.com/) and scikit-allel: * Visualfabriq: * *bquery*, A query and aggregation framework for Bcolz: * https://github.com/visualfabriq/bquery * Quantopian: * Using compressed data containers for faster backtesting at scale: * https://quantopian.github.io/talks/NeedForSpeed/slides.html * scikit-allel: * Exploratory analysis of large scale genetic variation data. * https://github.com/cggh/scikit-allel Resources ========= Visit the main bcolz site repository at: http://github.com/Blosc/bcolz Manual: http://bcolz.blosc.org Home of Blosc compressor: http://blosc.org User's mail list: bcolz@googlegroups.com http://groups.google.com/group/bcolz License is the new BSD: https://github.com/Blosc/bcolz/blob/master/LICENSES/BCOLZ.txt Release notes can be found in the Git repository: https://github.com/Blosc/bcolz/blob/master/RELEASE_NOTES.rst ---- **Enjoy data!** -- Francesc Alted