Skip to content

Commit 210eae7

Browse files
committed
Add Puffin FileMetadata
1 parent 3b71074 commit 210eae7

File tree

8 files changed

+983
-1
lines changed

8 files changed

+983
-1
lines changed

crates/puffin/Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,13 @@ license = { workspace = true }
2929
keywords = ["iceberg", "puffin"]
3030

3131
[dependencies]
32+
bytes = { workspace = true }
3233
iceberg = { workspace = true }
34+
once_cell = { workspace = true }
35+
serde = { workspace = true }
36+
serde_json = { workspace = true }
3337
zstd = { workspace = true }
3438

3539
[dev-dependencies]
40+
tempfile = { workspace = true }
3641
tokio = { workspace = true }

crates/puffin/src/compression.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@
1616
// under the License.
1717

1818
use iceberg::{Error, ErrorKind, Result};
19+
use serde::{Deserialize, Serialize};
1920

20-
#[derive(Debug, PartialEq, Eq, Clone, Copy, Default)]
21+
#[derive(Debug, PartialEq, Eq, Serialize, Deserialize, Clone, Copy)]
22+
#[serde(rename_all = "lowercase")]
23+
#[derive(Default)]
2124
/// Data compression formats
2225
pub enum CompressionCodec {
2326
#[default]

crates/puffin/src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,9 @@
2323

2424
mod compression;
2525
pub use compression::CompressionCodec;
26+
27+
mod metadata;
28+
pub use metadata::{BlobMetadata, FileMetadata, CREATED_BY_PROPERTY};
29+
30+
#[cfg(test)]
31+
mod test_utils;

0 commit comments

Comments
 (0)