df-derive 0.3.0

Derive fast conversions from Rust structs into Polars DataFrames.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.90"
name = "df-derive"
version = "0.3.0"
authors = ["Giovanni Ramistella <letter.brigade_7s@icloud.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Derive fast conversions from Rust structs into Polars DataFrames."
homepage = "https://github.com/gramistella/df-derive"
documentation = "https://docs.rs/df-derive"
readme = "README.md"
keywords = [
    "polars",
    "dataframe",
    "derive",
    "finance",
]
categories = [
    "data-structures",
    "finance",
]
license = "MIT"
repository = "https://github.com/gramistella/df-derive"

[features]
bench-instruction-counts = []
default = ["rust_decimal"]
rust_decimal = ["df-derive-core/rust_decimal"]

[lib]
name = "df_derive"
path = "src/lib.rs"

[[example]]
name = "as_string"
path = "examples/as_string.rs"

[[example]]
name = "datetime_decimal"
path = "examples/datetime_decimal.rs"

[[example]]
name = "deep_vec"
path = "examples/deep_vec.rs"

[[example]]
name = "generics"
path = "examples/generics.rs"

[[example]]
name = "multi_option_vec"
path = "examples/multi_option_vec.rs"

[[example]]
name = "nested"
path = "examples/nested.rs"

[[example]]
name = "nested_generics"
path = "examples/nested_generics.rs"

[[example]]
name = "nested_options"
path = "examples/nested_options.rs"

[[example]]
name = "quickstart"
path = "examples/quickstart.rs"

[[example]]
name = "tuple"
path = "examples/tuple.rs"

[[example]]
name = "vec_custom"
path = "examples/vec_custom.rs"

[[test]]
name = "architecture"
path = "tests/architecture.rs"

[[test]]
name = "clippy_unsafe_derive_deserialize"
path = "tests/clippy_unsafe_derive_deserialize.rs"

[[test]]
name = "codegen_path_centralization"
path = "tests/codegen_path_centralization.rs"

[[test]]
name = "common"
path = "tests/common.rs"

[[test]]
name = "generated_lint_hygiene"
path = "tests/generated_lint_hygiene.rs"

[[test]]
name = "idents_centralization"
path = "tests/idents_centralization.rs"

[[test]]
name = "local_runtime"
path = "tests/local_runtime.rs"

[[test]]
name = "progress"
path = "tests/progress.rs"

[[test]]
name = "runtime_semantics"
path = "tests/runtime_semantics.rs"

[[bench]]
name = "01_top_level_vec"
path = "benches/01_top_level_vec.rs"
harness = false

[[bench]]
name = "02_empty_nested_vec"
path = "benches/02_empty_nested_vec.rs"
harness = false

[[bench]]
name = "03_nested_option"
path = "benches/03_nested_option.rs"
harness = false

[[bench]]
name = "04_vec_custom_struct"
path = "benches/04_vec_custom_struct.rs"
harness = false

[[bench]]
name = "05_wide_top_level_options"
path = "benches/05_wide_top_level_options.rs"
harness = false

[[bench]]
name = "06_optional_vec_custom_struct"
path = "benches/06_optional_vec_custom_struct.rs"
harness = false

[[bench]]
name = "07_deep_nesting_vec"
path = "benches/07_deep_nesting_vec.rs"
harness = false

[[bench]]
name = "08_complex_wrappers"
path = "benches/08_complex_wrappers.rs"
harness = false

[[bench]]
name = "09_generics"
path = "benches/09_generics.rs"
harness = false

[[bench]]
name = "10_string_columns"
path = "benches/10_string_columns.rs"
harness = false

[[bench]]
name = "11_slow_path_shapes"
path = "benches/11_slow_path_shapes.rs"
harness = false

[[bench]]
name = "12_tuple_structs"
path = "benches/12_tuple_structs.rs"
harness = false

[[bench]]
name = "13_datetime_decimal_columns"
path = "benches/13_datetime_decimal_columns.rs"
harness = false

[[bench]]
name = "14_as_string_enum"
path = "benches/14_as_string_enum.rs"
harness = false

[[bench]]
name = "15_as_str_enum"
path = "benches/15_as_str_enum.rs"
harness = false

[[bench]]
name = "16_option_vec_option_struct"
path = "benches/16_option_vec_option_struct.rs"
harness = false

[[bench]]
name = "17_vec_vec_struct"
path = "benches/17_vec_vec_struct.rs"
harness = false

[[bench]]
name = "18_as_binary"
path = "benches/18_as_binary.rs"
harness = false

[[bench]]
name = "19_naive_and_duration"
path = "benches/19_naive_and_duration.rs"
harness = false

[[bench]]
name = "20_smart_pointers"
path = "benches/20_smart_pointers.rs"
harness = false

[[bench]]
name = "21_tuple_fields"
path = "benches/21_tuple_fields.rs"
harness = false

[[bench]]
name = "22_cost_model_passes"
path = "benches/22_cost_model_passes.rs"
harness = false

[[bench]]
name = "instruction_counts"
path = "benches/instruction_counts.rs"
harness = false
required-features = ["bench-instruction-counts"]

[dependencies.df-derive-core]
version = "0.3"
default-features = false

[dependencies.df-derive-macros]
version = "0.3"

[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]

[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]

[dev-dependencies.gungraun]
version = "0.19"

[dev-dependencies.polars]
version = "0.53"
features = [
    "fmt",
    "timezones",
    "dtype-decimal",
    "dtype-date",
    "dtype-datetime",
    "dtype-time",
    "dtype-duration",
    "dtype-i8",
    "dtype-i16",
    "dtype-i128",
    "dtype-u8",
    "dtype-u16",
    "dtype-u128",
]
default-features = false

[dev-dependencies.polars-arrow]
version = "0.53"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.rust_decimal]
version = "1.42"
features = [
    "serde",
    "std",
]
default-features = false

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.trybuild]
version = "1.0"