From 78a073e6dc5fa2e0b631979613ec5af919aa065a Mon Sep 17 00:00:00 2001 From: Ryan Roelke Date: Tue, 19 Mar 2024 14:05:05 -0400 Subject: [PATCH] Change to virtual workspace with tiledb-api crate, and add tiledb-arrow crate (#8) * Virtual workspace with tiledb-api, tiledb-sys crates * Add tiledb-arrow crate * arrow_type_physical with proptest * Proper directory structure, all crates in 'tiledb' --- Cargo.toml | 18 +- tiledb-sys/Cargo.toml | 4 - tiledb/api/Cargo.toml | 14 ++ .../api/examples}/quickstart_dense.rs | 0 {src => tiledb/api/src}/array/attribute.rs | 0 {src => tiledb/api/src}/array/dimension.rs | 0 {src => tiledb/api/src}/array/domain.rs | 0 {src => tiledb/api/src}/array/mod.rs | 0 {src => tiledb/api/src}/array/schema.rs | 0 {src => tiledb/api/src}/config.rs | 0 {src => tiledb/api/src}/context.rs | 0 {src => tiledb/api/src}/convert.rs | 0 {src => tiledb/api/src}/error.rs | 0 {src => tiledb/api/src}/filter.rs | 0 {src => tiledb/api/src}/filter_list.rs | 0 {src => tiledb/api/src}/lib.rs | 0 {src => tiledb/api/src}/query/mod.rs | 0 {src => tiledb/api/src}/query/subarray.rs | 0 {src => tiledb/api/src}/string.rs | 0 .../api/tests}/enum_conversion_tests.rs | 0 tiledb/arrow/Cargo.toml | 12 ++ tiledb/arrow/src/datatype.rs | 168 ++++++++++++++++++ tiledb/arrow/src/lib.rs | 8 + {tiledb-sys => tiledb/sys}/.gitignore | 0 tiledb/sys/Cargo.toml | 4 + {tiledb-sys => tiledb/sys}/Makefile | 0 {tiledb-sys => tiledb/sys}/build.rs | 0 {tiledb-sys => tiledb/sys}/src/array.rs | 0 {tiledb-sys => tiledb/sys}/src/attribute.rs | 0 {tiledb-sys => tiledb/sys}/src/capi_enum.rs | 0 {tiledb-sys => tiledb/sys}/src/config.rs | 0 {tiledb-sys => tiledb/sys}/src/constants.rs | 0 {tiledb-sys => tiledb/sys}/src/context.rs | 0 {tiledb-sys => tiledb/sys}/src/datatype.rs | 0 {tiledb-sys => tiledb/sys}/src/dimension.rs | 0 {tiledb-sys => tiledb/sys}/src/domain.rs | 0 {tiledb-sys => tiledb/sys}/src/error.rs | 0 {tiledb-sys => tiledb/sys}/src/filesystem.rs | 0 {tiledb-sys => tiledb/sys}/src/filter.rs | 0 {tiledb-sys => tiledb/sys}/src/filter_list.rs | 0 .../sys}/src/filter_option.rs | 0 {tiledb-sys => tiledb/sys}/src/filter_type.rs | 0 {tiledb-sys => tiledb/sys}/src/lib.rs | 0 {tiledb-sys => tiledb/sys}/src/object.rs | 0 {tiledb-sys => tiledb/sys}/src/query.rs | 0 {tiledb-sys => tiledb/sys}/src/schema.rs | 0 {tiledb-sys => tiledb/sys}/src/string.rs | 0 {tiledb-sys => tiledb/sys}/src/subarray.rs | 0 {tiledb-sys => tiledb/sys}/src/types.rs | 0 {tiledb-sys => tiledb/sys}/wrapper.h | 0 50 files changed, 216 insertions(+), 12 deletions(-) delete mode 100644 tiledb-sys/Cargo.toml create mode 100644 tiledb/api/Cargo.toml rename {examples => tiledb/api/examples}/quickstart_dense.rs (100%) rename {src => tiledb/api/src}/array/attribute.rs (100%) rename {src => tiledb/api/src}/array/dimension.rs (100%) rename {src => tiledb/api/src}/array/domain.rs (100%) rename {src => tiledb/api/src}/array/mod.rs (100%) rename {src => tiledb/api/src}/array/schema.rs (100%) rename {src => tiledb/api/src}/config.rs (100%) rename {src => tiledb/api/src}/context.rs (100%) rename {src => tiledb/api/src}/convert.rs (100%) rename {src => tiledb/api/src}/error.rs (100%) rename {src => tiledb/api/src}/filter.rs (100%) rename {src => tiledb/api/src}/filter_list.rs (100%) rename {src => tiledb/api/src}/lib.rs (100%) rename {src => tiledb/api/src}/query/mod.rs (100%) rename {src => tiledb/api/src}/query/subarray.rs (100%) rename {src => tiledb/api/src}/string.rs (100%) rename {tests => tiledb/api/tests}/enum_conversion_tests.rs (100%) create mode 100644 tiledb/arrow/Cargo.toml create mode 100644 tiledb/arrow/src/datatype.rs create mode 100644 tiledb/arrow/src/lib.rs rename {tiledb-sys => tiledb/sys}/.gitignore (100%) create mode 100644 tiledb/sys/Cargo.toml rename {tiledb-sys => tiledb/sys}/Makefile (100%) rename {tiledb-sys => tiledb/sys}/build.rs (100%) rename {tiledb-sys => tiledb/sys}/src/array.rs (100%) rename {tiledb-sys => tiledb/sys}/src/attribute.rs (100%) rename {tiledb-sys => tiledb/sys}/src/capi_enum.rs (100%) rename {tiledb-sys => tiledb/sys}/src/config.rs (100%) rename {tiledb-sys => tiledb/sys}/src/constants.rs (100%) rename {tiledb-sys => tiledb/sys}/src/context.rs (100%) rename {tiledb-sys => tiledb/sys}/src/datatype.rs (100%) rename {tiledb-sys => tiledb/sys}/src/dimension.rs (100%) rename {tiledb-sys => tiledb/sys}/src/domain.rs (100%) rename {tiledb-sys => tiledb/sys}/src/error.rs (100%) rename {tiledb-sys => tiledb/sys}/src/filesystem.rs (100%) rename {tiledb-sys => tiledb/sys}/src/filter.rs (100%) rename {tiledb-sys => tiledb/sys}/src/filter_list.rs (100%) rename {tiledb-sys => tiledb/sys}/src/filter_option.rs (100%) rename {tiledb-sys => tiledb/sys}/src/filter_type.rs (100%) rename {tiledb-sys => tiledb/sys}/src/lib.rs (100%) rename {tiledb-sys => tiledb/sys}/src/object.rs (100%) rename {tiledb-sys => tiledb/sys}/src/query.rs (100%) rename {tiledb-sys => tiledb/sys}/src/schema.rs (100%) rename {tiledb-sys => tiledb/sys}/src/string.rs (100%) rename {tiledb-sys => tiledb/sys}/src/subarray.rs (100%) rename {tiledb-sys => tiledb/sys}/src/types.rs (100%) rename {tiledb-sys => tiledb/sys}/wrapper.h (100%) diff --git a/Cargo.toml b/Cargo.toml index 1ac87aff..3b0948e5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,12 @@ -[package] -name = "tiledb" -version = "0.1.0" -edition = "2021" +[workspace] +members = [ "tiledb/api", "tiledb/arrow", "tiledb/sys" ] +resolver = "2" -[dependencies] -tiledb-sys = {version = "0.1.0", path = "tiledb-sys" } +[workspace.package] +edition = "2021" +rust-version = "1.72" +version = "0.1.0" -[dev-dependencies] -tempdir = "0.3.7" +[workspace.dependencies] +tiledb = { path = "tiledb/api", version = "0.1.0" } +tiledb-sys = { path = "tiledb/sys", version = "0.1.0" } diff --git a/tiledb-sys/Cargo.toml b/tiledb-sys/Cargo.toml deleted file mode 100644 index f771d862..00000000 --- a/tiledb-sys/Cargo.toml +++ /dev/null @@ -1,4 +0,0 @@ -[package] -name = "tiledb-sys" -version = "0.1.0" -edition = "2021" diff --git a/tiledb/api/Cargo.toml b/tiledb/api/Cargo.toml new file mode 100644 index 00000000..4ec7d97f --- /dev/null +++ b/tiledb/api/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "tiledb" +version = { workspace = true } +edition = { workspace = true } + +[lib] +name = "tiledb" +path = "src/lib.rs" + +[dependencies] +tiledb-sys = { workspace = true } + +[dev-dependencies] +tempdir = "0.3.7" diff --git a/examples/quickstart_dense.rs b/tiledb/api/examples/quickstart_dense.rs similarity index 100% rename from examples/quickstart_dense.rs rename to tiledb/api/examples/quickstart_dense.rs diff --git a/src/array/attribute.rs b/tiledb/api/src/array/attribute.rs similarity index 100% rename from src/array/attribute.rs rename to tiledb/api/src/array/attribute.rs diff --git a/src/array/dimension.rs b/tiledb/api/src/array/dimension.rs similarity index 100% rename from src/array/dimension.rs rename to tiledb/api/src/array/dimension.rs diff --git a/src/array/domain.rs b/tiledb/api/src/array/domain.rs similarity index 100% rename from src/array/domain.rs rename to tiledb/api/src/array/domain.rs diff --git a/src/array/mod.rs b/tiledb/api/src/array/mod.rs similarity index 100% rename from src/array/mod.rs rename to tiledb/api/src/array/mod.rs diff --git a/src/array/schema.rs b/tiledb/api/src/array/schema.rs similarity index 100% rename from src/array/schema.rs rename to tiledb/api/src/array/schema.rs diff --git a/src/config.rs b/tiledb/api/src/config.rs similarity index 100% rename from src/config.rs rename to tiledb/api/src/config.rs diff --git a/src/context.rs b/tiledb/api/src/context.rs similarity index 100% rename from src/context.rs rename to tiledb/api/src/context.rs diff --git a/src/convert.rs b/tiledb/api/src/convert.rs similarity index 100% rename from src/convert.rs rename to tiledb/api/src/convert.rs diff --git a/src/error.rs b/tiledb/api/src/error.rs similarity index 100% rename from src/error.rs rename to tiledb/api/src/error.rs diff --git a/src/filter.rs b/tiledb/api/src/filter.rs similarity index 100% rename from src/filter.rs rename to tiledb/api/src/filter.rs diff --git a/src/filter_list.rs b/tiledb/api/src/filter_list.rs similarity index 100% rename from src/filter_list.rs rename to tiledb/api/src/filter_list.rs diff --git a/src/lib.rs b/tiledb/api/src/lib.rs similarity index 100% rename from src/lib.rs rename to tiledb/api/src/lib.rs diff --git a/src/query/mod.rs b/tiledb/api/src/query/mod.rs similarity index 100% rename from src/query/mod.rs rename to tiledb/api/src/query/mod.rs diff --git a/src/query/subarray.rs b/tiledb/api/src/query/subarray.rs similarity index 100% rename from src/query/subarray.rs rename to tiledb/api/src/query/subarray.rs diff --git a/src/string.rs b/tiledb/api/src/string.rs similarity index 100% rename from src/string.rs rename to tiledb/api/src/string.rs diff --git a/tests/enum_conversion_tests.rs b/tiledb/api/tests/enum_conversion_tests.rs similarity index 100% rename from tests/enum_conversion_tests.rs rename to tiledb/api/tests/enum_conversion_tests.rs diff --git a/tiledb/arrow/Cargo.toml b/tiledb/arrow/Cargo.toml new file mode 100644 index 00000000..7e318bbf --- /dev/null +++ b/tiledb/arrow/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "tiledb-arrow" +version = { workspace = true } +edition = { workspace = true } + +[dependencies] +arrow = { version = "50.0.0", features = ["prettyprint"] } +arrow-schema = { version = "50.0.0", default-features = false } +tiledb = { workspace = true } + +[dev-dependencies] +proptest = "1.0.0" diff --git a/tiledb/arrow/src/datatype.rs b/tiledb/arrow/src/datatype.rs new file mode 100644 index 00000000..8e06640e --- /dev/null +++ b/tiledb/arrow/src/datatype.rs @@ -0,0 +1,168 @@ +/// For a TileDB type, returns an Arrow type if the bits of the canonical input type match. +/// If this returns Some(arrow_dt), then values of arrow_dt can be used in functions which expect tdb_dt, and vice verse. +pub fn arrow_type_physical( + tdb_dt: &tiledb::Datatype, +) -> Option { + match *tdb_dt { + tiledb::Datatype::Int8 => Some(arrow_schema::DataType::Int8), + tiledb::Datatype::Int16 => Some(arrow_schema::DataType::Int16), + tiledb::Datatype::Int32 => Some(arrow_schema::DataType::Int32), + tiledb::Datatype::Int64 => Some(arrow_schema::DataType::Int64), + tiledb::Datatype::UInt8 => Some(arrow_schema::DataType::UInt8), + tiledb::Datatype::UInt16 => Some(arrow_schema::DataType::UInt16), + tiledb::Datatype::UInt32 => Some(arrow_schema::DataType::UInt32), + tiledb::Datatype::UInt64 => Some(arrow_schema::DataType::UInt64), + tiledb::Datatype::Float32 => Some(arrow_schema::DataType::Float32), + tiledb::Datatype::Float64 => Some(arrow_schema::DataType::Float64), + tiledb::Datatype::Char => None, + tiledb::Datatype::StringAscii => None, + tiledb::Datatype::StringUtf8 => None, + tiledb::Datatype::StringUtf16 => None, + tiledb::Datatype::StringUtf32 => None, + tiledb::Datatype::StringUcs2 => None, + tiledb::Datatype::StringUcs4 => None, + tiledb::Datatype::Any => None, + tiledb::Datatype::DateTimeYear => None, + tiledb::Datatype::DateTimeMonth => None, + tiledb::Datatype::DateTimeWeek => None, + tiledb::Datatype::DateTimeDay => None, + tiledb::Datatype::DateTimeHour => None, + tiledb::Datatype::DateTimeMinute => None, + tiledb::Datatype::DateTimeSecond => { + Some(arrow_schema::DataType::Timestamp( + arrow_schema::TimeUnit::Second, + None, + )) + } + tiledb::Datatype::DateTimeMillisecond => { + Some(arrow_schema::DataType::Timestamp( + arrow_schema::TimeUnit::Millisecond, + None, + )) + } + tiledb::Datatype::DateTimeMicrosecond => { + Some(arrow_schema::DataType::Timestamp( + arrow_schema::TimeUnit::Microsecond, + None, + )) + } + tiledb::Datatype::DateTimeNanosecond => { + Some(arrow_schema::DataType::Timestamp( + arrow_schema::TimeUnit::Microsecond, + None, + )) + } + tiledb::Datatype::DateTimePicosecond => None, + tiledb::Datatype::DateTimeFemtosecond => None, + tiledb::Datatype::DateTimeAttosecond => None, + tiledb::Datatype::TimeHour => None, + tiledb::Datatype::TimeMinute => None, + tiledb::Datatype::TimeSecond => None, // TODO: arrow type is 32 bits, is tiledb type? + tiledb::Datatype::TimeMillisecond => None, + tiledb::Datatype::TimeMicrosecond => Some( + arrow_schema::DataType::Time64(arrow_schema::TimeUnit::Microsecond), + ), + tiledb::Datatype::TimeNanosecond => Some( + arrow_schema::DataType::Time64(arrow_schema::TimeUnit::Nanosecond), + ), + tiledb::Datatype::TimePicosecond => None, + tiledb::Datatype::TimeFemtosecond => None, + tiledb::Datatype::TimeAttosecond => None, + tiledb::Datatype::Blob => None, + tiledb::Datatype::Boolean => None, + tiledb::Datatype::GeometryWkb => None, + tiledb::Datatype::GeometryWkt => None, + } +} + +/// For an Arrow type, returns a TileDB type if the bits of the canonical input type match. +/// If this returns Some(tdb_t), then values for tdb_t can be used in functions which expect +/// arrow_dt and vice verse. +pub fn tiledb_type_physical( + arrow_dt: &arrow_schema::DataType, +) -> Option { + match *arrow_dt { + arrow_schema::DataType::Int8 => Some(tiledb::Datatype::Int8), + arrow_schema::DataType::Int16 => Some(tiledb::Datatype::Int16), + arrow_schema::DataType::Int32 => Some(tiledb::Datatype::Int32), + arrow_schema::DataType::Int64 => Some(tiledb::Datatype::Int64), + arrow_schema::DataType::UInt8 => Some(tiledb::Datatype::UInt8), + arrow_schema::DataType::UInt16 => Some(tiledb::Datatype::UInt16), + arrow_schema::DataType::UInt32 => Some(tiledb::Datatype::UInt32), + arrow_schema::DataType::UInt64 => Some(tiledb::Datatype::UInt64), + arrow_schema::DataType::Float32 => Some(tiledb::Datatype::Float32), + arrow_schema::DataType::Float64 => Some(tiledb::Datatype::Float64), + _ => None, // TODO + } +} + +#[cfg(test)] +mod tests { + use super::*; + use proptest::prelude::*; + + fn datatype_strategy() -> impl Strategy { + prop_oneof![ + Just(tiledb::Datatype::Int8), + Just(tiledb::Datatype::Int16), + Just(tiledb::Datatype::Int32), + Just(tiledb::Datatype::Int64), + Just(tiledb::Datatype::UInt8), + Just(tiledb::Datatype::UInt16), + Just(tiledb::Datatype::UInt32), + Just(tiledb::Datatype::UInt64), + Just(tiledb::Datatype::Float32), + Just(tiledb::Datatype::Float64), + Just(tiledb::Datatype::Char), + Just(tiledb::Datatype::StringAscii), + Just(tiledb::Datatype::StringUtf8), + Just(tiledb::Datatype::StringUtf16), + Just(tiledb::Datatype::StringUtf32), + Just(tiledb::Datatype::StringUcs2), + Just(tiledb::Datatype::StringUcs4), + Just(tiledb::Datatype::Any), + Just(tiledb::Datatype::DateTimeYear), + Just(tiledb::Datatype::DateTimeMonth), + Just(tiledb::Datatype::DateTimeWeek), + Just(tiledb::Datatype::DateTimeDay), + Just(tiledb::Datatype::DateTimeHour), + Just(tiledb::Datatype::DateTimeMinute), + Just(tiledb::Datatype::DateTimeSecond), + Just(tiledb::Datatype::DateTimeMillisecond), + Just(tiledb::Datatype::DateTimeMicrosecond), + Just(tiledb::Datatype::DateTimeNanosecond), + Just(tiledb::Datatype::DateTimePicosecond), + Just(tiledb::Datatype::DateTimeFemtosecond), + Just(tiledb::Datatype::DateTimeAttosecond), + Just(tiledb::Datatype::TimeHour), + Just(tiledb::Datatype::TimeMinute), + Just(tiledb::Datatype::TimeSecond), + Just(tiledb::Datatype::TimeMillisecond), + Just(tiledb::Datatype::TimeMicrosecond), + Just(tiledb::Datatype::TimeNanosecond), + Just(tiledb::Datatype::TimePicosecond), + Just(tiledb::Datatype::TimeFemtosecond), + Just(tiledb::Datatype::TimeAttosecond), + Just(tiledb::Datatype::Blob), + Just(tiledb::Datatype::Boolean), + Just(tiledb::Datatype::GeometryWkb), + Just(tiledb::Datatype::GeometryWkt), + ] + } + + proptest! { + #[test] + fn test_physical(tdb_dt in datatype_strategy()) { + if let Some(arrow_dt) = arrow_type_physical(&tdb_dt) { + if let Some(adt_width) = arrow_dt.primitive_width() { + let tdb_width : usize = tdb_dt.size().try_into().unwrap(); + assert_eq!(adt_width, tdb_width); + } else { + // TODO: assert that `tdb_dt` is variable-length + } + + // TODO: invertibility + } + } + } +} diff --git a/tiledb/arrow/src/lib.rs b/tiledb/arrow/src/lib.rs new file mode 100644 index 00000000..677431f9 --- /dev/null +++ b/tiledb/arrow/src/lib.rs @@ -0,0 +1,8 @@ +extern crate arrow; +extern crate arrow_schema; +extern crate tiledb; + +#[cfg(test)] +extern crate proptest; + +pub mod datatype; diff --git a/tiledb-sys/.gitignore b/tiledb/sys/.gitignore similarity index 100% rename from tiledb-sys/.gitignore rename to tiledb/sys/.gitignore diff --git a/tiledb/sys/Cargo.toml b/tiledb/sys/Cargo.toml new file mode 100644 index 00000000..bc84e8e2 --- /dev/null +++ b/tiledb/sys/Cargo.toml @@ -0,0 +1,4 @@ +[package] +name = "tiledb-sys" +version = { workspace = true } +edition = { workspace = true } diff --git a/tiledb-sys/Makefile b/tiledb/sys/Makefile similarity index 100% rename from tiledb-sys/Makefile rename to tiledb/sys/Makefile diff --git a/tiledb-sys/build.rs b/tiledb/sys/build.rs similarity index 100% rename from tiledb-sys/build.rs rename to tiledb/sys/build.rs diff --git a/tiledb-sys/src/array.rs b/tiledb/sys/src/array.rs similarity index 100% rename from tiledb-sys/src/array.rs rename to tiledb/sys/src/array.rs diff --git a/tiledb-sys/src/attribute.rs b/tiledb/sys/src/attribute.rs similarity index 100% rename from tiledb-sys/src/attribute.rs rename to tiledb/sys/src/attribute.rs diff --git a/tiledb-sys/src/capi_enum.rs b/tiledb/sys/src/capi_enum.rs similarity index 100% rename from tiledb-sys/src/capi_enum.rs rename to tiledb/sys/src/capi_enum.rs diff --git a/tiledb-sys/src/config.rs b/tiledb/sys/src/config.rs similarity index 100% rename from tiledb-sys/src/config.rs rename to tiledb/sys/src/config.rs diff --git a/tiledb-sys/src/constants.rs b/tiledb/sys/src/constants.rs similarity index 100% rename from tiledb-sys/src/constants.rs rename to tiledb/sys/src/constants.rs diff --git a/tiledb-sys/src/context.rs b/tiledb/sys/src/context.rs similarity index 100% rename from tiledb-sys/src/context.rs rename to tiledb/sys/src/context.rs diff --git a/tiledb-sys/src/datatype.rs b/tiledb/sys/src/datatype.rs similarity index 100% rename from tiledb-sys/src/datatype.rs rename to tiledb/sys/src/datatype.rs diff --git a/tiledb-sys/src/dimension.rs b/tiledb/sys/src/dimension.rs similarity index 100% rename from tiledb-sys/src/dimension.rs rename to tiledb/sys/src/dimension.rs diff --git a/tiledb-sys/src/domain.rs b/tiledb/sys/src/domain.rs similarity index 100% rename from tiledb-sys/src/domain.rs rename to tiledb/sys/src/domain.rs diff --git a/tiledb-sys/src/error.rs b/tiledb/sys/src/error.rs similarity index 100% rename from tiledb-sys/src/error.rs rename to tiledb/sys/src/error.rs diff --git a/tiledb-sys/src/filesystem.rs b/tiledb/sys/src/filesystem.rs similarity index 100% rename from tiledb-sys/src/filesystem.rs rename to tiledb/sys/src/filesystem.rs diff --git a/tiledb-sys/src/filter.rs b/tiledb/sys/src/filter.rs similarity index 100% rename from tiledb-sys/src/filter.rs rename to tiledb/sys/src/filter.rs diff --git a/tiledb-sys/src/filter_list.rs b/tiledb/sys/src/filter_list.rs similarity index 100% rename from tiledb-sys/src/filter_list.rs rename to tiledb/sys/src/filter_list.rs diff --git a/tiledb-sys/src/filter_option.rs b/tiledb/sys/src/filter_option.rs similarity index 100% rename from tiledb-sys/src/filter_option.rs rename to tiledb/sys/src/filter_option.rs diff --git a/tiledb-sys/src/filter_type.rs b/tiledb/sys/src/filter_type.rs similarity index 100% rename from tiledb-sys/src/filter_type.rs rename to tiledb/sys/src/filter_type.rs diff --git a/tiledb-sys/src/lib.rs b/tiledb/sys/src/lib.rs similarity index 100% rename from tiledb-sys/src/lib.rs rename to tiledb/sys/src/lib.rs diff --git a/tiledb-sys/src/object.rs b/tiledb/sys/src/object.rs similarity index 100% rename from tiledb-sys/src/object.rs rename to tiledb/sys/src/object.rs diff --git a/tiledb-sys/src/query.rs b/tiledb/sys/src/query.rs similarity index 100% rename from tiledb-sys/src/query.rs rename to tiledb/sys/src/query.rs diff --git a/tiledb-sys/src/schema.rs b/tiledb/sys/src/schema.rs similarity index 100% rename from tiledb-sys/src/schema.rs rename to tiledb/sys/src/schema.rs diff --git a/tiledb-sys/src/string.rs b/tiledb/sys/src/string.rs similarity index 100% rename from tiledb-sys/src/string.rs rename to tiledb/sys/src/string.rs diff --git a/tiledb-sys/src/subarray.rs b/tiledb/sys/src/subarray.rs similarity index 100% rename from tiledb-sys/src/subarray.rs rename to tiledb/sys/src/subarray.rs diff --git a/tiledb-sys/src/types.rs b/tiledb/sys/src/types.rs similarity index 100% rename from tiledb-sys/src/types.rs rename to tiledb/sys/src/types.rs diff --git a/tiledb-sys/wrapper.h b/tiledb/sys/wrapper.h similarity index 100% rename from tiledb-sys/wrapper.h rename to tiledb/sys/wrapper.h