|
0ee41613
|
2016-12-12T10:27:13
|
|
Update python brotli wrapper (#479)
* Update python brotli wrapper
* release GIL on CPU intensive blocks, fixes #476
* use BrotliDecoderTakeOutput (less memory, less memcpy)
* Python: Convert bro.py tests to unittest style (#478)
* Create unittest-style tests for `bro.py` decompression and compression
* Delete old tests for `bro.py`
* Update test method generation to properly create a Cartesian product
of iterables using `itertools.product`
* Update python brotli wrapper
* release GIL on CPU intensive blocks, fixes #476
* use BrotliDecoderTakeOutput (less memory, less memcpy)
|
|
5632315d
|
2016-10-24T07:28:56
|
|
Python: Support streamed compression with the Compressor object (#448)
This adds `flush` and `finish` methods to the `Compressor`
object in the extension module, renames the `compress` method to
`process`, and updates that method to only process data. Now,
one or more `process` calls followed by a `finish` call will be
equivalent to a module-level `compress` call.
Note: To maximize the compression efficiency (and match
underlying Brotli behavior, the `Compressor` object `process`
method does not guarantee all input is immediately written to
output. To ensure immediate output, call `flush` to manually
flush the compression buffer. Extraneous flushing can increase
the size, but may be required when processing streaming data.
Progress on #191
|
|
595a5246
|
2016-09-29T15:14:16
|
|
Python: Create an extension Compressor object
- Create a `Compressor` object in the extension module
- Move the `compress` method into the native module and use
the new `Compressor` object to do the compression
Note: This does not change the module-level Python API. The
`Compressor` object will not be publicly exposed until its
methods have stabilized.
|
|
f7b5b3dc
|
2016-09-28T17:26:00
|
|
Python: Create native brotli module and move extension to _brotli
|