diff --git a/codecs/numcodecs.adler32/README.md b/codecs/numcodecs.adler32/README.md new file mode 100644 index 0000000..4f7aa82 --- /dev/null +++ b/codecs/numcodecs.adler32/README.md @@ -0,0 +1,44 @@ +# Adler32 codec + +Defines a `bytes -> bytes` codec that adds a Adler32 checksum to the data. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.adler32`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#adler32 for details about the configuration parameters. + +- `location` + +## Example + +For example, the array metadata below specifies that the array contains chunks with appended checksum: + +```json +{ + "codecs": [{ + "name": "bytes", + "configuration": { "endian": "little" } + }, { + "name": "numcodecs.adler32", + "configuration": { + "location": "end" + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#adler32 for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.adler32/schema.json b/codecs/numcodecs.adler32/schema.json new file mode 100644 index 0000000..5f5f6fd --- /dev/null +++ b/codecs/numcodecs.adler32/schema.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.adler32" + }, + "configuration": { + "type": "object", + "properties": { + "location": { + "type": "string", + "enum": ["start", "end"] + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.adler32" } + ] +} diff --git a/codecs/numcodecs.astype/README.md b/codecs/numcodecs.astype/README.md new file mode 100644 index 0000000..3e97b25 --- /dev/null +++ b/codecs/numcodecs.astype/README.md @@ -0,0 +1,42 @@ +# AsType codec + +Defines a `array -> array` codec that converts data between different types. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.astype`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/filter/astype.html for details about the configuration parameters. + +- `encode_dtype` +- `decode_dtype` (optional) + +## Example + +For example, the array metadata below specifies that the array contains converted chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.astype", + "configuration": { + "encode_dtype": "float32" + } + }, { "name": "bytes", "configuration": { "endian": "little" } }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/filter/astype.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.astype/schema.json b/codecs/numcodecs.astype/schema.json new file mode 100644 index 0000000..a7c9861 --- /dev/null +++ b/codecs/numcodecs.astype/schema.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "name": { + "const": "numcodecs.astype" + }, + "configuration": { + "type": "object", + "properties": { + "encode_dtype": { + "type": "string" + }, + "decode_dtype": { + "type": "string" + } + }, + "required": ["encode_dtype"], + "additionalProperties": false + } + }, + "required": ["name", "configuration"], + "additionalProperties": false +} diff --git a/codecs/numcodecs.bitround/README.md b/codecs/numcodecs.bitround/README.md new file mode 100644 index 0000000..ca033db --- /dev/null +++ b/codecs/numcodecs.bitround/README.md @@ -0,0 +1,41 @@ +# BitRound codec + +Defines a `array -> array` codec to bit-round floating-point numbers. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.bitround`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/filter/bitround.html for details about the configuration parameters. + +- `keepbits` + +## Example + +For example, the array metadata below specifies that the array contains bitrounded chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.bitround", + "configuration": { + "keepbits": 5 + } + }, { "name": "bytes", "configuration": { "endian": "little" } }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/filter/bitround.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.bitround/schema.json b/codecs/numcodecs.bitround/schema.json new file mode 100644 index 0000000..44896e3 --- /dev/null +++ b/codecs/numcodecs.bitround/schema.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "name": { + "const": "numcodecs.bitround" + }, + "configuration": { + "type": "object", + "properties": { + "keepbits": { + "type": "integer" + } + }, + "required": ["keepbits"], + "additionalProperties": false + } + }, + "required": ["name", "configuration"], + "additionalProperties": false +} diff --git a/codecs/numcodecs.blosc/README.md b/codecs/numcodecs.blosc/README.md new file mode 100644 index 0000000..58fef37 --- /dev/null +++ b/codecs/numcodecs.blosc/README.md @@ -0,0 +1,47 @@ +# Blosc codec + +Defines a `bytes -> bytes` codec that compresses chunks using the blosc (version 1) algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.blosc`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/blosc.html for details about the configuration parameters. + +- `cname` (optional) +- `clevel` (optional) +- `shuffle` (optional) +- `blocksize` + +## Example + +For example, the array metadata below specifies that the array contains blosc compressed chunks: + +```json +{ + "codecs": [{ "name": "bytes" }, { + "name": "numcodecs.blosc", + "configuration": { + "cname": "zstd", + "clevel": 5, + "shuffle": 1, + "blocksize": 0 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/blosc.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.blosc/schema.json b/codecs/numcodecs.blosc/schema.json new file mode 100644 index 0000000..b3f8077 --- /dev/null +++ b/codecs/numcodecs.blosc/schema.json @@ -0,0 +1,39 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.blosc" + }, + "configuration": { + "type": "object", + "properties": { + "cname": { + "type": "string", + "enum": ["zstd", "blosclz", "lz4", "lz4hc", "zlib", "snappy"] + }, + "clevel": { + "type": "integer", + "minimum": 0, + "maximum": 12 + }, + "shuffle": { + "type": "integer", + "minimum": -1, + "maximum": 2 + }, + "blocksize": { + "type": "integer" + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.blosc" } + ] +} diff --git a/codecs/numcodecs.bz2/README.md b/codecs/numcodecs.bz2/README.md new file mode 100644 index 0000000..0c250fd --- /dev/null +++ b/codecs/numcodecs.bz2/README.md @@ -0,0 +1,41 @@ +# BZ2 codec + +Defines a `bytes -> bytes` codec that compresses chunks using the bzip2 algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.bz2`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/bz2.html for details about the configuration parameters. + +- `level` + +## Example + +For example, the array metadata below specifies that the array contains bzip2 compressed chunks: + +```json +{ + "codecs": [{ "name": "bytes" }, { + "name": "numcodecs.bz2", + "configuration": { + "level": 1 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/bz2.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.bz2/schema.json b/codecs/numcodecs.bz2/schema.json new file mode 100644 index 0000000..beea4db --- /dev/null +++ b/codecs/numcodecs.bz2/schema.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.bz2" + }, + "configuration": { + "type": "object", + "properties": { + "level": { + "type": "integer", + "minimum": 1, + "maximum": 9 + } + }, + "required": ["level"], + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.bz2" } + ] +} diff --git a/codecs/numcodecs.crc32/README.md b/codecs/numcodecs.crc32/README.md new file mode 100644 index 0000000..e18945f --- /dev/null +++ b/codecs/numcodecs.crc32/README.md @@ -0,0 +1,44 @@ +# CRC32 codec + +Defines a `bytes -> bytes` codec that adds a CRC32 checksum to the data. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.crc32`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#crc32 for details about the configuration parameters. + +- `location` + +## Example + +For example, the array metadata below specifies that the array contains chunks with appended checksum: + +```json +{ + "codecs": [{ + "name": "bytes", + "configuration": { "endian": "little" } + }, { + "name": "numcodecs.crc32", + "configuration": { + "location": "end" + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#crc32 for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.crc32/schema.json b/codecs/numcodecs.crc32/schema.json new file mode 100644 index 0000000..8e6a74b --- /dev/null +++ b/codecs/numcodecs.crc32/schema.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.crc32" + }, + "configuration": { + "type": "object", + "properties": { + "location": { + "type": "string", + "enum": ["start", "end"] + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.crc32" } + ] +} diff --git a/codecs/numcodecs.crc32c/README.md b/codecs/numcodecs.crc32c/README.md new file mode 100644 index 0000000..b5b4783 --- /dev/null +++ b/codecs/numcodecs.crc32c/README.md @@ -0,0 +1,44 @@ +# CRC32C codec + +Defines a `bytes -> bytes` codec that adds a CRC32C checksum to the data. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.crc32c`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#crc32c for details about the configuration parameters. + +- `location` + +## Example + +For example, the array metadata below specifies that the array contains chunks with appended checksum: + +```json +{ + "codecs": [{ + "name": "bytes", + "configuration": { "endian": "little" } + }, { + "name": "numcodecs.crc32c", + "configuration": { + "location": "end" + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#crc32c for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.crc32c/schema.json b/codecs/numcodecs.crc32c/schema.json new file mode 100644 index 0000000..9641509 --- /dev/null +++ b/codecs/numcodecs.crc32c/schema.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.crc32c" + }, + "configuration": { + "type": "object", + "properties": { + "location": { + "type": "string", + "enum": ["start", "end"] + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.crc32c" } + ] +} diff --git a/codecs/numcodecs.delta/README.md b/codecs/numcodecs.delta/README.md new file mode 100644 index 0000000..dbefcd6 --- /dev/null +++ b/codecs/numcodecs.delta/README.md @@ -0,0 +1,42 @@ +# Delta codec + +Defines a `array -> array` codec that performs delta encoding. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.delta`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/filter/delta.html for details about the configuration parameters. + +- `dtype` +- `astype` (optional) + +## Example + +For example, the array metadata below specifies that the array contains delta-encoded chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.delta", + "configuration": { + "dtype": "uint8" + } + }, { "name": "bytes" }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/filter/delta.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.delta/schema.json b/codecs/numcodecs.delta/schema.json new file mode 100644 index 0000000..118af1c --- /dev/null +++ b/codecs/numcodecs.delta/schema.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.delta" + }, + "configuration": { + "type": "object", + "properties": { + "dtype": { + "type": "string" + }, + "astype": { + "type": "string" + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.delta" } + ] +} diff --git a/codecs/numcodecs.fixedscaleoffset/README.md b/codecs/numcodecs.fixedscaleoffset/README.md new file mode 100644 index 0000000..99e05e4 --- /dev/null +++ b/codecs/numcodecs.fixedscaleoffset/README.md @@ -0,0 +1,46 @@ +# FixedScaleOffset codec + +Defines a `array -> array` codec that performs a numeric transformation. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.fixedscaleoffset`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/filter/fixedscaleoffset.html for details about the configuration parameters. + +- `offset` +- `scale` +- `dtype` +- `astype` (optional) + +## Example + +For example, the array metadata below specifies that the array contains scale-offset transformed chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.fixedscaleoffset", + "configuration": { + "offset": 5, + "scale": 10, + "dtype": "int32" + } + }, { "name": "bytes", "configuration": { "endian": "little" } }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/filter/fixedscaleoffset.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.fixedscaleoffset/schema.json b/codecs/numcodecs.fixedscaleoffset/schema.json new file mode 100644 index 0000000..5cb1976 --- /dev/null +++ b/codecs/numcodecs.fixedscaleoffset/schema.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "name": { + "const": "numcodecs.fixedscaleoffset" + }, + "configuration": { + "type": "object", + "properties": { + "offset": { + "type": "number" + }, + "scale": { + "type": "number" + }, + "dtype": { + "type": "string" + }, + "astype": { + "type": "string" + } + }, + "required": ["offset", "scale", "dtype"], + "additionalProperties": false + } + }, + "required": ["name", "configuration"], + "additionalProperties": false +} diff --git a/codecs/numcodecs.fletcher32/README.md b/codecs/numcodecs.fletcher32/README.md new file mode 100644 index 0000000..c0e6622 --- /dev/null +++ b/codecs/numcodecs.fletcher32/README.md @@ -0,0 +1,41 @@ +# Fletcher32 codec + +Defines a `bytes -> bytes` codec that adds a Fletcher32 checksum to the data. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.fletcher32`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#fletcher32 for details about the configuration parameters. + + + +## Example + +For example, the array metadata below specifies that the array contains chunks with added checksum: + +```json +{ + "codecs": [{ + "name": "bytes", + "configuration": { "endian": "little" } + }, { + "name": "numcodecs.fletcher32" + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#fletcher32 for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.fletcher32/schema.json b/codecs/numcodecs.fletcher32/schema.json new file mode 100644 index 0000000..e028898 --- /dev/null +++ b/codecs/numcodecs.fletcher32/schema.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.fletcher32" + }, + "configuration": { + "type": "object", + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.fletcher32" } + ] +} diff --git a/codecs/numcodecs.gzip/README.md b/codecs/numcodecs.gzip/README.md new file mode 100644 index 0000000..29961d5 --- /dev/null +++ b/codecs/numcodecs.gzip/README.md @@ -0,0 +1,41 @@ +# Gzip codec + +Defines a `bytes -> bytes` codec that compresses chunks using the gzip algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.gzip`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/gzip.html for details about the configuration parameters. + +- `level` + +## Example + +For example, the array metadata below specifies that the array contains gzip compressed chunks: + +```json +{ + "codecs": [{ "name": "bytes" }, { + "name": "numcodecs.gzip", + "configuration": { + "level": 1 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/gzip.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.gzip/schema.json b/codecs/numcodecs.gzip/schema.json new file mode 100644 index 0000000..48dfbce --- /dev/null +++ b/codecs/numcodecs.gzip/schema.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.gzip" + }, + "configuration": { + "type": "object", + "properties": { + "level": { + "type": "integer", + "minimum": -1, + "maximum": 9 + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.gzip" } + ] +} diff --git a/codecs/numcodecs.jenkins_lookup3/README.md b/codecs/numcodecs.jenkins_lookup3/README.md new file mode 100644 index 0000000..9d93fd2 --- /dev/null +++ b/codecs/numcodecs.jenkins_lookup3/README.md @@ -0,0 +1,43 @@ +# JenkinsLookup3 codec + +Defines a `bytes -> bytes` codec that adds a JenkinsLookup3 checksum to the data. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.jenkins_lookup3`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#jenkinslookup3 for details about the configuration parameters. + +- `initval` +- `prefix` (optional) + +## Example + +For example, the array metadata below specifies that the array contains chunks with appended checksum: + +```json +{ + "codecs": [{ + "name": "bytes", + "configuration": { "endian": "little" } + }, { + "name": "numcodecs.jenkins_lookup3", + "configuration": { "initval": 0 } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/checksum32.html#jenkinslookup3 for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.jenkins_lookup3/schema.json b/codecs/numcodecs.jenkins_lookup3/schema.json new file mode 100644 index 0000000..ff41873 --- /dev/null +++ b/codecs/numcodecs.jenkins_lookup3/schema.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.jenkins_lookup3" + }, + "configuration": { + "type": "object", + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.jenkins_lookup3" } + ] +} diff --git a/codecs/numcodecs.lz4/README.md b/codecs/numcodecs.lz4/README.md new file mode 100644 index 0000000..dacb305 --- /dev/null +++ b/codecs/numcodecs.lz4/README.md @@ -0,0 +1,41 @@ +# LZ4 codec + +Defines a `bytes -> bytes` codec that compresses chunks using the lz4 algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.lz4`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/lz4.html for details about the configuration parameters. + +- `acceleration` + +## Example + +For example, the array metadata below specifies that the array contains lz4 compressed chunks: + +```json +{ + "codecs": [{ "name": "bytes" }, { + "name": "numcodecs.lz4", + "configuration": { + "acceleration": 1 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/lz4.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.lz4/schema.json b/codecs/numcodecs.lz4/schema.json new file mode 100644 index 0000000..5e5cd65 --- /dev/null +++ b/codecs/numcodecs.lz4/schema.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.lz4" + }, + "configuration": { + "type": "object", + "properties": { + "acceleration": { + "type": "integer" + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.lz4" } + ] +} diff --git a/codecs/numcodecs.lzma/README.md b/codecs/numcodecs.lzma/README.md new file mode 100644 index 0000000..772128c --- /dev/null +++ b/codecs/numcodecs.lzma/README.md @@ -0,0 +1,44 @@ +# LZMA codec + +Defines a `bytes -> bytes` codec that compresses chunks using the lzma algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.lzma`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/lzma.html for details about the configuration parameters. + +- `format` (optional) +- `check` (optional) +- `preset` (optional) +- `filters` (optional) + +## Example + +For example, the array metadata below specifies that the array contains lzma compressed chunks: + +```json +{ + "codecs": [{ "name": "bytes" }, { + "name": "numcodecs.lzma", + "configuration": { + "preset": 5 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/lzma.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.lzma/schema.json b/codecs/numcodecs.lzma/schema.json new file mode 100644 index 0000000..84fc2b8 --- /dev/null +++ b/codecs/numcodecs.lzma/schema.json @@ -0,0 +1,53 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.lzma" + }, + "configuration": { + "type": "object", + "properties": { + "format": { + "type": "integer" + }, + "check": { + "type": "integer" + }, + "preset": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 9 + }, + { + "type": "null" + } + ] + }, + "filters": { + "oneOf": [ + { + "type": "array", + "items": { + "type": "object" + } + }, + { + "type": "null" + } + ] + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.lzma" } + ] +} diff --git a/codecs/numcodecs.packbits/README.md b/codecs/numcodecs.packbits/README.md new file mode 100644 index 0000000..08b1579 --- /dev/null +++ b/codecs/numcodecs.packbits/README.md @@ -0,0 +1,41 @@ +# PackBits codec + +Defines a `array -> array` to pack elements of a boolean array into bits in a uint8 array. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.packbits`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/filter/packbits.html for details about the configuration parameters. + + + +## Example + +For example, the array metadata below specifies that the array contains bit-packed chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.packbits", + "configuration": { + "keepbits": 5 + } + }, { "name": "bytes" }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/filter/packbits.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.packbits/schema.json b/codecs/numcodecs.packbits/schema.json new file mode 100644 index 0000000..56a7bbf --- /dev/null +++ b/codecs/numcodecs.packbits/schema.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.packbits" + }, + "configuration": { + "type": "object", + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.packbits" } + ] +} diff --git a/codecs/numcodecs.pcodec/README.md b/codecs/numcodecs.pcodec/README.md new file mode 100644 index 0000000..5b8092f --- /dev/null +++ b/codecs/numcodecs.pcodec/README.md @@ -0,0 +1,51 @@ +# PCodec codec + +Defines a `array -> bytes` codec that compresses chunks using the pcodec algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.pcodec`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/pcodec.html for details about the configuration parameters. + +- `level` +- `mode_spec` +- `delta_spec` +- `paging_spec` +- `delta_encoding_order` +- `equal_pages_up_to` + +## Example + +For example, the array metadata below specifies that the array contains pcodec compressed chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.pcodec", + "configuration": { + "level": 5, + "mode_spec": "auto", + "delta_spec": "auto", + "paging_spec": "equal_pages_up_to", + "delta_encoding_order": null, + "equal_pages_up_to": 262144 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/pcodec.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.pcodec/schema.json b/codecs/numcodecs.pcodec/schema.json new file mode 100644 index 0000000..e3ff60c --- /dev/null +++ b/codecs/numcodecs.pcodec/schema.json @@ -0,0 +1,53 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.pcodec" + }, + "configuration": { + "type": "object", + "properties": { + "level": { + "type": "integer", + "minimum": 0, + "maximum": 12 + }, + "mode_spec": { + "type": "string", + "enum": ["auto", "classic"] + }, + "delta_spec": { + "type": "string", + "enum": ["auto", "none", "try_consecutive", "try_lookback"] + }, + "paging_spec": { + "const": "equal_pages_up_to" + }, + "delta_encoding_order": { + "oneOf": [ + { + "type": "integer", + "minimum": 0, + "maximum": 7 + }, + { + "type": "null" + } + ] + }, + "equal_pages_up_to": { + "type": "integer" + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.pcodec" } + ] +} diff --git a/codecs/numcodecs.quantize/README.md b/codecs/numcodecs.quantize/README.md new file mode 100644 index 0000000..de3370b --- /dev/null +++ b/codecs/numcodecs.quantize/README.md @@ -0,0 +1,44 @@ +# Quantize codec + +Defines a `array -> array` codec that performs a quantize transformation. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.quantize`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/filter/quantize.html for details about the configuration parameters. + +- `digits` +- `dtype` +- `astype` (optional) + +## Example + +For example, the array metadata below specifies that the array contains quantized chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.quantize", + "configuration": { + "digits": 5, + "dtype": "float64" + } + }, { "name": "bytes", "configuration": { "endian": "little" } }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/filter/quantize.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.quantize/schema.json b/codecs/numcodecs.quantize/schema.json new file mode 100644 index 0000000..beef1ab --- /dev/null +++ b/codecs/numcodecs.quantize/schema.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "name": { + "const": "numcodecs.quantize" + }, + "configuration": { + "type": "object", + "properties": { + "digits": { + "type": "integer", + "minimum": -1 + }, + "dtype": { + "type": "string" + }, + "astype": { + "type": "string" + } + }, + "required": ["digits", "dtype"], + "additionalProperties": false + } + }, + "required": ["name", "configuration"], + "additionalProperties": false +} diff --git a/codecs/numcodecs.shuffle/README.md b/codecs/numcodecs.shuffle/README.md new file mode 100644 index 0000000..1a446d2 --- /dev/null +++ b/codecs/numcodecs.shuffle/README.md @@ -0,0 +1,41 @@ +# Shuffle codec + +Defines a `array -> array` codec that provides a shuffle filter. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.shuffle`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/filter/shuffle.html for details about the configuration parameters. + +- `elementsize` + +## Example + +For example, the array metadata below specifies that the array contains shuffled chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.shuffle", + "configuration": { + "elementsize": 4 + } + }, { "name": "bytes", "configuration": { "endian": "little" } }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/filter/shuffle.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.shuffle/schema.json b/codecs/numcodecs.shuffle/schema.json new file mode 100644 index 0000000..90b886e --- /dev/null +++ b/codecs/numcodecs.shuffle/schema.json @@ -0,0 +1,25 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.shuffle" + }, + "configuration": { + "type": "object", + "properties": { + "elementsize": { + "type": "integer" + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.shuffle" } + ] +} diff --git a/codecs/numcodecs.zfpy/README.md b/codecs/numcodecs.zfpy/README.md new file mode 100644 index 0000000..ab03cfb --- /dev/null +++ b/codecs/numcodecs.zfpy/README.md @@ -0,0 +1,44 @@ +# ZFPY codec + +Defines a `array -> bytes` codec that compresses chunks using the zfpy algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.zfpy`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/zfpy.html for details about the configuration parameters. + +- `mode` +- `tolerance` (optional) +- `rate` (optional) +- `precision` (optional) + +## Example + +For example, the array metadata below specifies that the array contains zfpy compressed chunks: + +```json +{ + "codecs": [{ + "name": "numcodecs.zfpy", + "configuration": { + "mode": 4 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/zfpy.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.zfpy/schema.json b/codecs/numcodecs.zfpy/schema.json new file mode 100644 index 0000000..1b8227e --- /dev/null +++ b/codecs/numcodecs.zfpy/schema.json @@ -0,0 +1,37 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.zfpy" + }, + "configuration": { + "type": "object", + "properties": { + "mode": { + "type": "integer" + }, + "tolerance": { + "type": "number" + }, + "rate": { + "type": "number" + }, + "precision": { + "type": "integer" + }, + "compression_kwargs": { + "type": "object" + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.zfpy" } + ] +} diff --git a/codecs/numcodecs.zlib/README.md b/codecs/numcodecs.zlib/README.md new file mode 100644 index 0000000..7cf0f94 --- /dev/null +++ b/codecs/numcodecs.zlib/README.md @@ -0,0 +1,41 @@ +# Zlib codec + +Defines a `bytes -> bytes` codec that compresses chunks using the zlib algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.zlib`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/zlib.html for details about the configuration parameters. + +- `level` + +## Example + +For example, the array metadata below specifies that the array contains zlib compressed chunks: + +```json +{ + "codecs": [{ "name": "bytes" }, { + "name": "numcodecs.zlib", + "configuration": { + "level": 5 + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/zlib.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.zlib/schema.json b/codecs/numcodecs.zlib/schema.json new file mode 100644 index 0000000..ed72ea3 --- /dev/null +++ b/codecs/numcodecs.zlib/schema.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.zlib" + }, + "configuration": { + "type": "object", + "properties": { + "level": { + "type": "integer", + "minimum": -1, + "maximum": 9 + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.zlib" } + ] +} diff --git a/codecs/numcodecs.zstd/README.md b/codecs/numcodecs.zstd/README.md new file mode 100644 index 0000000..af28e65 --- /dev/null +++ b/codecs/numcodecs.zstd/README.md @@ -0,0 +1,43 @@ +# Zstd codec + +Defines a `bytes -> bytes` codec that compresses chunks using the zstd algorithm. + +## Codec name + +The value of the `name` member in the codec object MUST be `numcodecs.zstd`. + +## Configuration parameters + +See https://numcodecs.readthedocs.io/en/stable/compression/zstd.html for details about the configuration parameters. + +- `level` +- `checksum` (optional) + +## Example + +For example, the array metadata below specifies that the array contains zstd compressed chunks: + +```json +{ + "codecs": [{ "name": "bytes" }, { + "name": "numcodecs.zstd", + "configuration": { + "level": 5, + "checksum": true + } + }], +} +``` + + +## Format and algorithm + +See https://numcodecs.readthedocs.io/en/stable/compression/zstd.html for details about the encoding. + +## Change log + +No changes yet. + +## Current maintainers + +* [zarr-python core development team](https://github.com/orgs/zarr-developers/teams/python-core-devs) diff --git a/codecs/numcodecs.zstd/schema.json b/codecs/numcodecs.zstd/schema.json new file mode 100644 index 0000000..152cbc2 --- /dev/null +++ b/codecs/numcodecs.zstd/schema.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "oneOf": [ + { + "type": "object", + "properties": { + "name": { + "const": "numcodecs.zstd" + }, + "configuration": { + "type": "object", + "properties": { + "level": { + "type": "integer" + }, + "checksum": { + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "required": ["name"], + "additionalProperties": false + }, + { "const": "numcodecs.zstd" } + ] +}