Skip to content

Commit

Permalink
Add the BitRound codec
Browse files Browse the repository at this point in the history
  • Loading branch information
juntyr committed Aug 6, 2024
1 parent d838840 commit e857541
Show file tree
Hide file tree
Showing 6 changed files with 438 additions and 3 deletions.
10 changes: 8 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ resolver = "2"
members = [
"crates/numcodecs",
"crates/numcodecs-python",

"codecs/bit-round",
]

[workspace.package]
Expand All @@ -13,19 +15,23 @@ license = "MPL-2.0"
rust-version = "1.64"

[workspace.dependencies]
# workspace-internal crates
# workspace-internal numcodecs crates
numcodecs = { path = "crates/numcodecs", default-features = false }
numcodecs-python = { path = "crates/numcodecs-python", default-features = false }

# workspace-internal codecs crates
numcodecs-bit-round = { path = "codecs/bit-round", default-features = false }

# crates.io third-party dependencies
convert_case = { version = "0.6", default-features = false }
numpy = { version = "0.21", default-features = false }
ndarray = { version = "0.15", default-features = false }
ndarray = { version = "0.15", default-features = false } # keep in sync with numpy
pyo3 = { version = "0.21", default-features = false }
pythonize = { version = "0.21", default-features = false }
serde = { version = "1.0", default-features = false }
serde-transcode = { version = "1.1", default-features = false }
serde_json = { version = "1.0", default-features = false }
thiserror = { version = "1.0", default-features = false }

[workspace.lints.rust]
unsafe_code = "deny"
Expand Down
24 changes: 24 additions & 0 deletions codecs/bit-round/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[package]
name = "numcodecs-bit-round"
version = "0.1.0"
edition = { workspace = true }
authors = { workspace = true }
repository = { workspace = true }
license = { workspace = true }
rust-version = { workspace = true }

description = "Bit rounding codec implementation for the numcodecs API"
readme = "README.md"
categories = ["compression", "encoding"]
keywords = ["bit-rounding", "numcodecs", "compression", "encoding"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
ndarray = { workspace = true }
numcodecs = { workspace = true }
serde = { workspace = true, features = ["std", "derive"] }
thiserror = { workspace = true }

[lints]
workspace = true
1 change: 1 addition & 0 deletions codecs/bit-round/LICENSE
32 changes: 32 additions & 0 deletions codecs/bit-round/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[![CI Status]][workflow] [![MSRV]][repo] [![Latest Version]][crates.io] [![Rust Doc Crate]][docs.rs] [![Rust Doc Main]][docs]

[CI Status]: https://img.shields.io/github/actions/workflow/status/juntyr/numcodecs-rs/ci.yml?branch=main
[workflow]: https://github.com/juntyr/numcodecs-rs/actions/workflows/ci.yml?query=branch%3Amain

[MSRV]: https://img.shields.io/badge/MSRV-1.64.0-blue
[repo]: https://github.com/juntyr/numcodecs-rs

[Latest Version]: https://img.shields.io/crates/v/numcodecs-bit-round
[crates.io]: https://crates.io/crates/numcodecs-bit-round

[Rust Doc Crate]: https://img.shields.io/docsrs/numcodecs-bit-round
[docs.rs]: https://docs.rs/numcodecs-bit-round/

[Rust Doc Main]: https://img.shields.io/badge/docs-main-blue
[docs]: https://juntyr.github.io/numcodecs-rs/numcodecs-bit-round

# numcodecs-bit-round

Bit rounding codec implementation for the [`numcodecs`] API.

[`numcodecs`]: https://docs.rs/numcodecs/0.1/numcodecs/

## License

Licensed under the Mozilla Public License, Version 2.0 ([LICENSE](LICENSE) or https://www.mozilla.org/en-US/MPL/2.0/).

## Funding

The `numcodecs-bit-round` crate has been developed as part of [ESiWACE3](https://www.esiwace.eu), the third phase of the Centre of Excellence in Simulation of Weather and Climate in Europe.

Funded by the European Union. This work has received funding from the European High Performance Computing Joint Undertaking (JU) under grant agreement No 101093054.
Loading

0 comments on commit e857541

Please sign in to comment.