Skip to content

Commit

Permalink
Merge zarr-developers/master into jakirkham/ensure_text_use_bytes
Browse files Browse the repository at this point in the history
  • Loading branch information
jakirkham committed Dec 2, 2020
2 parents 7f5e32d + 2c1aff9 commit 7541ef5
Show file tree
Hide file tree
Showing 143 changed files with 7,586 additions and 15,251 deletions.
1 change: 0 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Expand Up @@ -3,7 +3,6 @@
TODO:
* [ ] Unit tests and/or doctests in docstrings
* [ ] ``tox -e py38`` passes locally
* [ ] ``tox -e py27`` passes locally
* [ ] Docstrings and API docs for any new/modified user-facing classes and functions
* [ ] Changes documented in docs/release.rst
* [ ] ``tox -e docs`` passes locally
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/ci-osx.yaml
@@ -0,0 +1,33 @@
name: OSX CI

on: [push, pull_request]

jobs:
build:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.5", "3.6", "3.7", "3.8"]

steps:
- name: Checkout source
uses: actions/checkout@v2
with:
submodules: recursive

- name: Set up Python
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}

- name: Install numcodecs
run: |
python -m pip install -U pip setuptools wheel pytest
python -m pip install -v -e .
- name: List installed packages
run: python -m pip list

- name: Run tests
run: pytest -v --pyargs numcodecs
101 changes: 101 additions & 0 deletions .github/workflows/wheel.yaml
@@ -0,0 +1,101 @@
name: Wheels

on: [push, pull_request]

jobs:
build_wheels:
name: Build wheel on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-18.04, windows-latest, macos-latest]
env:
CIBW_TEST_COMMAND: pytest --pyargs numcodecs
CIBW_TEST_REQUIRES: pytest
CIBW_SKIP: "*27* pp*"
CIBW_ENVIRONMENT: "DISABLE_NUMCODECS_AVX2=1"
CIBW_ENVIRONMENT_MACOS: "MACOSX_DEPLOYMENT_TARGET=10.9 DISABLE_NUMCODECS_AVX2=1"

steps:
- uses: actions/checkout@v1
with:
submodules: true

- uses: actions/setup-python@v1
name: Install Python
with:
python-version: '3.7'

- name: Install cibuildwheel
run: |
python -m pip install cibuildwheel==1.3.0
- name: Build wheel
run: |
python -m cibuildwheel --output-dir wheelhouse
- uses: actions/upload-artifact@v1
with:
name: wheels
path: ./wheelhouse

build_sdist:
name: Build source distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true

- uses: actions/setup-python@v2
name: Install Python
with:
python-version: '3.7'

- name: Build sdist
run: python setup.py sdist

- name: test install
run: pip install dist/numcodecs*.tar.gz

- uses: actions/upload-artifact@v2
with:
path: dist/*.tar.gz

test_dist_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v1
with:
name: artifact
path: dist
- uses: actions/download-artifact@v1
with:
name: wheels
path: dist

- name: test
run: |
ls
ls dist
upload_pypi:
needs: [build_wheels, build_sdist]
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/v')
steps:
- uses: actions/download-artifact@v1
with:
name: artifact
path: dist
- uses: actions/download-artifact@v1
with:
name: wheels
path: dist

- uses: pypa/gh-action-pypi-publish@master
with:
user: __token__
password: ${{ secrets.pypi_password }}
# To test: repository_url: https://test.pypi.org/legacy/
10 changes: 2 additions & 8 deletions .travis.yml
Expand Up @@ -12,9 +12,6 @@ addons:

matrix:
include:
- os: linux
language: python
python: 2.7
- os: linux
language: python
python: 3.5
Expand All @@ -30,17 +27,14 @@ matrix:
python: 3.8
dist: xenial
sudo: true
- os: osx
language: generic

install:
- pip install -U tox-travis coveralls pip setuptools wheel pytest
- pip install -v -e .

script:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then tox; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then pytest -v --pyargs numcodecs; fi
- tox

after_success:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then coveralls --service=travis-pro; fi
- coveralls --service=travis-pro

4 changes: 0 additions & 4 deletions appveyor.yml
Expand Up @@ -12,10 +12,6 @@ environment:

matrix:

- PYTHON: "C:\\Python27-x64"
PYTHON_VERSION: "2.7"
DISTUTILS_USE_SDK: "1"

- PYTHON: "C:\\Python35-x64"
PYTHON_VERSION: "3.5"

Expand Down
2 changes: 1 addition & 1 deletion c-blosc
Submodule c-blosc updated 109 files
2 changes: 2 additions & 0 deletions docs/blosc.rst
Expand Up @@ -13,6 +13,7 @@ Blosc
.. automethod:: decode
.. automethod:: get_config
.. automethod:: from_config
.. automethod:: decode_partial

Helper functions
----------------
Expand All @@ -28,3 +29,4 @@ Helper functions
.. autofunction:: cbuffer_metainfo
.. autofunction:: compress
.. autofunction:: decompress
.. autofunction:: decompress_partial
15 changes: 1 addition & 14 deletions docs/conf.py
Expand Up @@ -16,16 +16,7 @@

import sys
import os


PY2 = sys.version_info[0] == 2


if PY2: # pragma: py3 no cover
from mock import Mock as MagicMock
else: # pragma: py2 no cover
from unittest.mock import Mock as MagicMock

from unittest.mock import Mock as MagicMock

class Mock(MagicMock):
@classmethod
Expand All @@ -34,10 +25,6 @@ def __getattr__(cls, name):


MOCK_MODULES = ['msgpack']
if PY2:
MOCK_MODULES.append('lzma')


sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES)


Expand Down
10 changes: 4 additions & 6 deletions docs/contributing.rst
Expand Up @@ -145,9 +145,9 @@ To also run the doctests within docstrings, run::
Tests can be run under different Python versions using tox. E.g. (assuming you have the
corresponding Python interpreters installed on your system)::

$ tox -e py27,py35,py36,py37,py38
$ tox -e py35,py36,py37,py38

NumCodecs currently supports Python 2.7 and Python 3.5-3.8, so the above command must
NumCodecs currently supports Python 3.5-3.8, so the above command must
succeed before code can be accepted into the main code base. Note that only the py38
tox environment runs the doctests, i.e., doctests only need to succeed under Python 3.8.

Expand Down Expand Up @@ -305,10 +305,8 @@ Tag the version (where "X.X.X" stands for the version number, e.g., "2.2.0")::
$ git tag -a v$version -m v$version
$ git push --tags

Release source code to PyPI::

$ python setup.py register sdist
$ twine upload dist/numcodecs-${version}.tar.gz
This will trigger a GitHub Action which will build the source
distribution as well as wheels for all major platforms.

Obtain checksum for release to conda-forge::

Expand Down
9 changes: 7 additions & 2 deletions docs/index.rst
Expand Up @@ -24,7 +24,9 @@ Alternatively, install via conda::
$ conda install -c conda-forge numcodecs

Numcodecs includes a C extension providing integration with the Blosc_
library. Installing via conda will install a pre-compiled binary distribution.
library. Wheels are available for most platforms.

Installing a wheel or via conda will install a pre-compiled binary distribution.
However, if you have a newer CPU that supports the AVX2 instruction set (e.g.,
Intel Haswell, Broadwell or Skylake) then installing via pip is preferable,
because this will compile the Blosc library from source with optimisations
Expand All @@ -36,7 +38,7 @@ To disable compilation with AVX2 support regardless of the machine
architecture::

$ export DISABLE_NUMCODECS_AVX2=
$ pip install -v --no-cache-dir numcodecs
$ pip install -v --no-cache-dir --no-binary numcodecs numcodecs

To work with Numcodecs source code in development, install from GitHub::

Expand Down Expand Up @@ -91,6 +93,9 @@ documentation, code reviews, comments and/or ideas:
* :user:`John Kirkham <jakirkham>`
* :user:`Alistair Miles <alimanfoo>`
* :user:`Jeff Reback <jreback>`
* :user:`Trevor Manz <manzt>`
* :user:`Grzegorz Bokota <Czaki>`
* :user:`Josh Moore <joshmoore>`

Numcodecs bundles the `c-blosc <https://github.com/Blosc/c-blosc>`_ library.

Expand Down
48 changes: 48 additions & 0 deletions docs/release.rst
@@ -1,6 +1,54 @@
Release notes
=============

.. _release_0.7.2:

0.7.2
-----

* Disable avx2 for wheel.
By :user:`Grzegorz Bokota <Czaki>`, :issue:`253`.

* Add Base64 fixtures.
By :user:`John Kirkham <jakirkham>`, :issue:`251`.

* Update docs regarding wheels.
By :user:`Josh Moore <joshmoore>`, :issue:`250`.

.. _release_0.7.1:

0.7.1
-----

* Fix build of wheels.
By :user:`Grzegorz Bokota <Czaki>`, :issue:`244`.

.. _release_0.7.0:

0.7.0
-----

* Automatically release to PyPI.
By :user:`Josh Moore <joshmoore>`, :issue:`241`.

* Build wheels on github actions.
By :user:`Grzegorz Bokota <Czaki>`, :issue:`224`.

* Add Base64 codec.
By :user:`Trevor Manz <manzt>`, :issue:`176`.

* Add partial decompression of Blosc compressed arrays.
By :user:`Andrew Fulton <andrewfulton9>`, :issue:`235`.

* Remove LegacyJSON codec.
By :user:`James Bourbeau <jrbourbeau>`, :issue:`226`.

* Remove LegacyMsgPack codec.
By :user:`James Bourbeau <jrbourbeau>`, :issue:`218`.

* Drop support for Python 2.
By :user:`James Bourbeau <jrbourbeau>`, :issue:`220`.


.. _release_0.6.4:

Expand Down
Binary file not shown.
Binary file added fixture/base64/array.01.npy
Binary file not shown.
Binary file added fixture/base64/array.02.npy
Binary file not shown.
Binary file added fixture/base64/array.03.npy
Binary file not shown.
Binary file added fixture/base64/array.04.npy
Binary file not shown.
Binary file added fixture/base64/array.05.npy
Binary file not shown.
Binary file added fixture/base64/array.06.npy
Binary file not shown.
Binary file added fixture/base64/array.07.npy
Binary file not shown.
Binary file added fixture/base64/array.08.npy
Binary file not shown.
Binary file added fixture/base64/array.09.npy
Binary file not shown.
Binary file added fixture/base64/array.10.npy
Binary file not shown.
Binary file added fixture/base64/array.11.npy
Binary file not shown.
Binary file added fixture/base64/array.12.npy
Binary file not shown.
3 changes: 3 additions & 0 deletions fixture/base64/codec.00/config.json
@@ -0,0 +1,3 @@
{
"id": "base64"
}
1 change: 1 addition & 0 deletions fixture/base64/codec.00/encoded.00.dat
@@ -0,0 +1 @@
AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAvQAAAL4AAAC/AAAAwAAAAMEAAADCAAAAwwAAAMQAAADFAAAAxgAAAMcAAADIAAAAyQAAAMoAAADLAAAAzAAAAM0AAADOAAAAzwAAANAAAADRAAAA0gAAANMAAADUAAAA1QAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAAIwEAACQBAAAlAQAAJgEAACcBAAAoAQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAADABAAAxAQAAMgEAADMBAAA0AQAANQEAADYBAAA3AQAAOAEAADkBAAA6AQAAOwEAADwBAAA9AQAAPgEAAD8BAABAAQAAQQEAAEIBAABDAQAARAEAAEUBAABGAQAARwEAAEgBAABJAQAASgEAAEsBAABMAQAATQEAAE4BAABPAQAAUAEAAFEBAABSAQAAUwEAAFQBAABVAQAAVgEAAFcBAABYAQAAWQEAAFoBAABbAQAAXAEAAF0BAABeAQAAXwEAAGABAABhAQAAYgEAAGMBAABkAQAAZQEAAGYBAABnAQAAaAEAAGkBAABqAQAAawEAAGwBAABtAQAAbgEAAG8BAABwAQAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAdwEAAHgBAAB5AQAAegEAAHsBAAB8AQAAfQEAAH4BAAB/AQAAgAEAAIEBAACCAQAAgwEAAIQBAACFAQAAhgEAAIcBAACIAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAACmAQAApwEAAKgBAACpAQAAqgEAAKsBAACsAQAArQEAAK4BAACvAQAAsAEAALEBAACyAQAAswEAALQBAAC1AQAAtgEAALcBAAC4AQAAuQEAALoBAAC7AQAAvAEAAL0BAAC+AQAAvwEAAMABAADBAQAAwgEAAMMBAADEAQAAxQEAAMYBAADHAQAAyAEAAMkBAADKAQAAywEAAMwBAADNAQAAzgEAAM8BAADQAQAA0QEAANIBAADTAQAA1AEAANUBAADWAQAA1wEAANgBAADZAQAA2gEAANsBAADcAQAA3QEAAN4BAADfAQAA4AEAAOEBAADiAQAA4wEAAOQBAADlAQAA5gEAAOcBAADoAQAA6QEAAOoBAADrAQAA7AEAAO0BAADuAQAA7wEAAPABAADxAQAA8gEAAPMBAAD0AQAA9QEAAPYBAAD3AQAA+AEAAPkBAAD6AQAA+wEAAPwBAAD9AQAA/gEAAP8BAAAAAgAAAQIAAAICAAADAgAABAIAAAUCAAAGAgAABwIAAAgCAAAJAgAACgIAAAsCAAAMAgAADQIAAA4CAAAPAgAAEAIAABECAAASAgAAEwIAABQCAAAVAgAAFgIAABcCAAAYAgAAGQIAABoCAAAbAgAAHAIAAB0CAAAeAgAAHwIAACACAAAhAgAAIgIAACMCAAAkAgAAJQIAACYCAAAnAgAAKAIAACkCAAAqAgAAKwIAACwCAAAtAgAALgIAAC8CAAAwAgAAMQIAADICAAAzAgAANAIAADUCAAA2AgAANwIAADgCAAA5AgAAOgIAADsCAAA8AgAAPQIAAD4CAAA/AgAAQAIAAEECAABCAgAAQwIAAEQCAABFAgAARgIAAEcCAABIAgAASQIAAEoCAABLAgAATAIAAE0CAABOAgAATwIAAFACAABRAgAAUgIAAFMCAABUAgAAVQIAAFYCAABXAgAAWAIAAFkCAABaAgAAWwIAAFwCAABdAgAAXgIAAF8CAABgAgAAYQIAAGICAABjAgAAZAIAAGUCAABmAgAAZwIAAGgCAABpAgAAagIAAGsCAABsAgAAbQIAAG4CAABvAgAAcAIAAHECAAByAgAAcwIAAHQCAAB1AgAAdgIAAHcCAAB4AgAAeQIAAHoCAAB7AgAAfAIAAH0CAAB+AgAAfwIAAIACAACBAgAAggIAAIMCAACEAgAAhQIAAIYCAACHAgAAiAIAAIkCAACKAgAAiwIAAIwCAACNAgAAjgIAAI8CAACQAgAAkQIAAJICAACTAgAAlAIAAJUCAACWAgAAlwIAAJgCAACZAgAAmgIAAJsCAACcAgAAnQIAAJ4CAACfAgAAoAIAAKECAACiAgAAowIAAKQCAAClAgAApgIAAKcCAACoAgAAqQIAAKoCAACrAgAArAIAAK0CAACuAgAArwIAALACAACxAgAAsgIAALMCAAC0AgAAtQIAALYCAAC3AgAAuAIAALkCAAC6AgAAuwIAALwCAAC9AgAAvgIAAL8CAADAAgAAwQIAAMICAADDAgAAxAIAAMUCAADGAgAAxwIAAMgCAADJAgAAygIAAMsCAADMAgAAzQIAAM4CAADPAgAA0AIAANECAADSAgAA0wIAANQCAADVAgAA1gIAANcCAADYAgAA2QIAANoCAADbAgAA3AIAAN0CAADeAgAA3wIAAOACAADhAgAA4gIAAOMCAADkAgAA5QIAAOYCAADnAgAA6AIAAOkCAADqAgAA6wIAAOwCAADtAgAA7gIAAO8CAADwAgAA8QIAAPICAADzAgAA9AIAAPUCAAD2AgAA9wIAAPgCAAD5AgAA+gIAAPsCAAD8AgAA/QIAAP4CAAD/AgAAAAMAAAEDAAACAwAAAwMAAAQDAAAFAwAABgMAAAcDAAAIAwAACQMAAAoDAAALAwAADAMAAA0DAAAOAwAADwMAABADAAARAwAAEgMAABMDAAAUAwAAFQMAABYDAAAXAwAAGAMAABkDAAAaAwAAGwMAABwDAAAdAwAAHgMAAB8DAAAgAwAAIQMAACIDAAAjAwAAJAMAACUDAAAmAwAAJwMAACgDAAApAwAAKgMAACsDAAAsAwAALQMAAC4DAAAvAwAAMAMAADEDAAAyAwAAMwMAADQDAAA1AwAANgMAADcDAAA4AwAAOQMAADoDAAA7AwAAPAMAAD0DAAA+AwAAPwMAAEADAABBAwAAQgMAAEMDAABEAwAARQMAAEYDAABHAwAASAMAAEkDAABKAwAASwMAAEwDAABNAwAATgMAAE8DAABQAwAAUQMAAFIDAABTAwAAVAMAAFUDAABWAwAAVwMAAFgDAABZAwAAWgMAAFsDAABcAwAAXQMAAF4DAABfAwAAYAMAAGEDAABiAwAAYwMAAGQDAABlAwAAZgMAAGcDAABoAwAAaQMAAGoDAABrAwAAbAMAAG0DAABuAwAAbwMAAHADAABxAwAAcgMAAHMDAAB0AwAAdQMAAHYDAAB3AwAAeAMAAHkDAAB6AwAAewMAAHwDAAB9AwAAfgMAAH8DAACAAwAAgQMAAIIDAACDAwAAhAMAAIUDAACGAwAAhwMAAIgDAACJAwAAigMAAIsDAACMAwAAjQMAAI4DAACPAwAAkAMAAJEDAACSAwAAkwMAAJQDAACVAwAAlgMAAJcDAACYAwAAmQMAAJoDAACbAwAAnAMAAJ0DAACeAwAAnwMAAKADAAChAwAAogMAAKMDAACkAwAApQMAAKYDAACnAwAAqAMAAKkDAACqAwAAqwMAAKwDAACtAwAArgMAAK8DAACwAwAAsQMAALIDAACzAwAAtAMAALUDAAC2AwAAtwMAALgDAAC5AwAAugMAALsDAAC8AwAAvQMAAL4DAAC/AwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxgMAAMcDAADIAwAAyQMAAMoDAADLAwAAzAMAAM0DAADOAwAAzwMAANADAADRAwAA0gMAANMDAADUAwAA1QMAANYDAADXAwAA2AMAANkDAADaAwAA2wMAANwDAADdAwAA3gMAAN8DAADgAwAA4QMAAOIDAADjAwAA5AMAAOUDAADmAwAA5wMAAA==

0 comments on commit 7541ef5

Please sign in to comment.