21 releases (5 breaking)

0.6.2 Sep 26, 2024
0.5.9 Sep 25, 2024
0.5.2 Jul 2, 2024
0.4.5 Feb 10, 2024
0.2.0 Jul 7, 2023

#749 in Parser implementations


Used in valu3-parquet

MIT/Apache

155KB
4K SLoC

Valu3 Parquet

Apache Arrow Parquet Integration with Valu3

This library provides an integration layer between Apache Arrow's Parquet format and the valu3 library, facilitating seamless data manipulation and transformation between Parquet files and valu3's flexible Value structures. It offers convenient methods for working with tabular data, allowing for easy conversions and operations on datasets.

Docs and Notices

Use our github to stay up to date Valu3

License

This project is licensed under the Apache 2.0 or MIT License. See the LICENSE-APACHE or LICENSE-MIT file for more information.


lib.rs:

value

The Value library provides a generic value type with a wide range of classic methods for numerical and string manipulation. It was initially written to be used with the Purp language, but it can be used as a standalone library for any Rust project. The library includes types for arrays, objects, numbers, strings, and datetime. It also provides methods for converting values to and from various data formats, such as JSON, YAML, and XML.

With the Value library, you can easily manipulate different types of data in your Rust projects. You can create, modify, and query objects and arrays, perform arithmetic and bitwise operations on numbers, and convert values to and from strings. The library is easy to use and provides a consistent API for manipulating values, regardless of their type.

Whether you're working on a small Rust project or a large-scale application, the Value library can help simplify your code and make it more manageable. Its simple and intuitive API makes it easy to work with, even for beginners.

Examples

use valu3::prelude::*;

let string_value = hello".to_value();
let number_value = 42.to_value();
let boolean_value = true.to_value();
let null_value = Value::Null;
let undefined_value = Value::Undefined;
let mut datetime_value = DateTime::from("2023-04-05T00:00:00Z").to_value();

string_value.as_string();
number_value.get_i32();
assert!(boolean_value, true);
assert!(null_value, Value::Null);
assert!(undefined_value, Value::Undefined);
datetime_value.add_days(1);

Dependencies

~5–7.5MB
~135K SLoC