DataFrame / Series data processing in Rust

Overview

black-jack

While PRs are welcome, the approach taken only allows for concrete types (String, f64, i64, ...) I'm not sure this is the way to go. I want to think that using anything which implements serde::{Serialize, Deserialize} and better use of traits may have more flexibility, just not sure how to do that yet. The project is not abandoned, just in limbo. :-)

crates.io Build Status Coverage Status Dependabot Status

Rust API Documentation


BlackJack strives to be a full featured crate for general data processing.

Long term goal is to create a lightweight Pandas equivalent by and for the Rust community, but with slight differences in focus...

The project strives for a few key principles. When any implementation decisions are to be made, they are made with these principles in mind, and in this order:

  1. Memory efficiency
    • Minimize memory use at every opportunity.
  2. Usability
    • Strive for ergonomics; often done by modeling the Pandas API where possible.
  3. Speedy
    • It comes naturally most times with Rust. :)

Eventually we'll have a Python wrapper: Lumber-Jack associated with this crate, but that time will come.

Example use:

// We have a dataframe, of course...
let mut df = DataFrame::new();

// Make some series, of different types
let series_i32: Series<i32> = Series::arange(0, 5);
let mut series_f64: Series<f64> = Series::from_vec(vec![1.0, 2.0, 3.0, 4.0, 5.0]);

// You can set a series name!
series_f64.set_name("my-series");

// Or not... 
assert_eq!(series_i32.name(), None);

// And add them to the dataframe
df.add_column(series_f64).unwrap();
df.add_column(series_i32).unwrap();

// And then get a reference to a Series
let series_f64_ref: &Series<f64> = df.get_column("my-series").unwrap();

Read a CSV file:

Also supports reading .gz files

// Define the path to file
let path: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/data/medium_csv.csv");

// Use the `Reader` to read the dataframe
let df = Reader::new(&path).read().expect("Failed to read file");

// Get a refrence to a specific column and assert the sum of that series
let series2: &Series<i32> = df.get_column("col2").unwrap();

assert_eq!(series2.sum(), 3000);

Query/filter a dataframe

let mut s1 = Series::from(0..5);
s1.set_name("col1");

let mut s2 = Series::from(10..15);
s2.set_name("col2");

let mut s3 = Series::from_vec(vec![
    "foo".to_string(),
    "bar".to_string(),
    "foo".to_string(),
    "bar".to_string(),
    "foo".to_string(),
]);
s3.set_name("col3");

let mut df = DataFrame::new();
assert!(df.add_column(s1).is_ok());
assert!(df.add_column(s2).is_ok());
assert!(df.add_column(s3).is_ok());

// Before filtering, we're len 5 and first element of 'col1' is 0
assert_eq!(df.len(), 5);

df.filter_by_row(|row| row["col1"] == Datum::I32(&0));

// After filtering, we're len 4 and first element of 'col1' is now 1
assert_eq!(df.len(), 4);

// Filter by string foo,
df.filter_by_row(|row| row["col3"] != Datum::STR(&"foo".to_string()));
assert_eq!(df.len(), 2);

and a whole lot more..


Development


Contributing

All contributions are welcome. Contributors of this project are expected to treat all others with respect and dignity; acknowledging there will be differences of opinion and strive to provide a welcoming environment for others, regardless of skill level.

Additionally, all contributions, unless otherwise stated, will be given under the Unlicense and/or MIT licenses.

Comments
  • Update derive_more requirement from ^0.13 to ^0.14

    Update derive_more requirement from ^0.13 to ^0.14

    Updates the requirements on derive_more to permit the latest version.

    Changelog

    Sourced from derive_more's changelog.

    0.14.0 - 2019-02-02

    • Added no_std support
    • Suppress unused_variables warnings in derives

    0.13.0 - 2018-10-19

    • Updated to syn v0.15
    • Extended Display-like derives to support custom formats

    0.12.0 - 2018-09-19

    Changed

    • Updated to syn v0.14, quote v0.6 and proc-macro2 v0.4

    0.11.0 - 2018-05-12

    Changed

    • Updated to latest version of syn and quote

    Fixed

    • Changed some URLs in the docs so they were correct on crates.io and docs.rs
    • The Result type is now referenced in the derives using its absolute path (::std::result::Result) to make sure that the derives don't accidentally use another Result type that is in scope.

    0.10.0 - 2018-03-29

    Added

    • Allow deriving of TryInto
    • Allow deriving of Deref
    • Allow deriving of DerefMut

    0.9.0 - 2018-03-18

    Added

    • Allow deriving of Display, Binary, Octal, LowerHex, UpperHex, LowerExp, UpperExp, Pointer
    • Allow deriving of Index
    • Allow deriving of IndexMut

    Fixed

    • Allow cross crate inlining of derived methods

    Internal changes

    • Fix most clippy warnings

    0.8.0 - 2018-03-10

    Added

    • Allow deriving of FromStr

    Changed

    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Note: This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

    You can always request more updates by clicking Bump now in your Dependabot dashboard.

    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot ignore this [patch|minor|major] version will close this PR and stop Dependabot creating any more for this minor/major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)

    Finally, you can contact us by mentioning @dependabot.

    dependencies 
    opened by dependabot-preview[bot] 3
  • Update prettytable-rs requirement from ^0.8 to ^0.9

    Update prettytable-rs requirement from ^0.8 to ^0.9

    Updates the requirements on prettytable-rs to permit the latest version.

    Release notes

    Sourced from prettytable-rs's releases.

    v0.9.0

    This release has been updated with latest dependencies versions.

    This crate has been abandonned without notice for quite a while due to some personnal reasons. My apologies for that. I'll try to do my best to continue to maintain it, at least for security updates. If I can't the find time to do it, I'll have no other option than deprecating it, or find new contributors to handover the maintenance to. Feel free to raise your hand if you're interrested. In the meantime, please expect a low update rate, and again please accept my apologies.

    I'll do a pass on opened PRs after summer vacations.

    Commits
    • e159600 Added note about low maintenance in readme
    • 4df4adf Merge branch 'master' of github.com:phsym/prettytable-rs
    • b5f64a3 Removed dependabot badge from readme
    • 1caa91e Merge pull request #135 from phsym/dependabot/add-v2-config-file
    • 11ff1c2 Update dependencies
    • ee49ea8 Upgrade to GitHub-native Dependabot
    • cf7dca3 Privatize deprecated functions functions for #87
    • 6bb234c Merge pull request #114 from phsym/printstd-nopanic
    • bdfb150 Merge pull request #101 from jonasbb/html-and-evcxr-integration
    • 1980557 Add description about the Evcxr support to the readme
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Update float-cmp requirement from 0.6 to 0.7

    Update float-cmp requirement from 0.6 to 0.7

    Updates the requirements on float-cmp to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Upgrade to GitHub-native Dependabot

    Upgrade to GitHub-native Dependabot

    Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then.

    Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the new syntax. When merged, we'll swap out dependabot-preview (me) for a new dependabot app, and you'll be all set!

    With this change, you'll now use the Dependabot page in GitHub, rather than the Dependabot dashboard, to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI.

    If you've got any questions or feedback for us, please let us know by creating an issue in the dependabot/dependabot-core repository.

    Learn more about migrating to GitHub-native Dependabot

    Please note that regular @dependabot commands do not work on this pull request.

    dependencies 
    opened by dependabot-preview[bot] 0
  • Update ndarray requirement from ^0.13 to ^0.14

    Update ndarray requirement from ^0.13 to ^0.14

    Updates the requirements on ndarray to permit the latest version.

    Changelog

    Sourced from ndarray's changelog.

    Version 0.14.0 (2020-11-28)

    New features

    Enhancements

    • Handle inhomogenous shape inputs better in Zip, in practice, guess better whether to prefer c- or f-order for the inner loop by [@bluss] rust-ndarray/ndarray#809

    API changes

    • The old function stack has been renamed to concatenate. A new function stack with numpy-like semantics have taken its place. Old usages of stack should change to use concatenate.

      concatenate produces an array with the same number of axes as the inputs.
      stack produces an array that has one more axis than the inputs.

      This change was unfortunately done without a deprecation period, due to the long period between releases.

    • Enum ErrorKind is now properly non-exhaustive and has lost its old placeholder invalid variant. By [@Zuse64] rust-ndarray/ndarray#848

    • Remove deprecated items:

      • RcArray (deprecated alias for ArcArray)
      • Removed subview_inplace use collapse_axis
      • Removed subview_mut use index_axis_mut
      • Removed into_subview use index_axis_move
      • Removed subview use index_axis
      • Removed slice_inplace use slice_collapse
      • Undeprecate remove_axis because its replacement is hard to find out on your own.
    • Update public external dependencies to new versions by [@Eijebong] and [@bluss]

      • num-complex 0.3
      • approx 0.4 (optional)
      • blas-src 0.6.1 and openblas-src 0.9.0 (optional)

      rust-ndarray/ndarray#810

    Commits
    • fec35f7 0.14.0
    • f51f3e4 API: Remove deprecated subview and indexing methods
    • 8fec0eb API: Remove RcArray (deprecated alias of ArcArray)
    • dd06116 Merge pull request #851 from rust-ndarray/further-dep-bumps
    • 84eeb11 MAINT: Write license spec in Cargo.toml in the more spec-correct way
    • a9b4ab8 API: Bump approx to 0.4
    • 5cf7572 API: Bump num-complex to version 0.3
    • 76c8a95 Merge pull request #810 from Eijebong/deps
    • 716221c Merge pull request #850 from andrei-papou/stack-concatenate-renaming
    • 2bae4cc Merge pull request #834 from acj/patch-1
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update num requirement from ^0.2 to ^0.3

    Update num requirement from ^0.2 to ^0.3

    Updates the requirements on num to permit the latest version.

    Changelog

    Sourced from num's changelog.

    Release 0.3.0 (2020-06-13)

    All items exported from num-integer, num-iter, and num-traits are still semver-compatible with those exported by num 0.1 and 0.2. If you have these as public dependencies in your own crates, it is not a breaking change to move to num 0.3. However, this is not true of num-bigint, num-complex, or num-rational, as those exported items are distinct in this release.

    Enhancements

    • Updates to num-integer, num-iter, and num-traits are still compatible with num 0.1 and 0.2.
    • The "alloc" feature enables bigint without std on Rust 1.36+.
    • The "libm" feature enables Float without std in traits and complex.
    • Please see the release notes of the individual sub-crates for details.

    Breaking Changes

    • num now requires rustc 1.31 or greater.
      • The "i128" opt-in feature was removed, now always available.
    • rand support has been updated to 0.7, requiring Rust 1.32.

    Contributors: @cuviper

    Release 0.2.1 (2019-01-09)

    • Updated all sub-crates to their latest versions.

    Contributors: @cuviper, @ignatenkobrain, @jimbo1qaz

    Release 0.2.0 (2018-06-29)

    All items exported from num-integer, num-iter, and num-traits are still semver-compatible with those exported by num 0.1. If you have these as public dependencies in your own crates, it is not a breaking change to move to num 0.2. However, this is not true of num-bigint, num-complex, or num-rational, as those exported items are distinct in this release.

    A few common changes are listed below, but most of the development happens in the individual sub-crates. Please consult their release notes for more details about recent changes: num-bigint, num-complex, num-integer, num-iter, num-rational, and num-traits.

    Enhancements

    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update float-cmp requirement from 0.6 to 0.8

    Update float-cmp requirement from 0.6 to 0.8

    Updates the requirements on float-cmp to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update itertools requirement from ^0.8 to ^0.9

    Update itertools requirement from ^0.8 to ^0.9

    Updates the requirements on itertools to permit the latest version.

    Changelog

    Sourced from itertools's changelog.

    0.9.0

    • Fix potential overflow in MergeJoinBy::size_hint (#385)
    • Add derive(Clone) where possible (#382)
    • Add try_collect method (#394)
    • Add HomogeneousTuple trait (#389)
    • Fix combinations(0) and combinations_with_replacement(0) (#383)
    • Don't require ParitalEq to the Item of DedupBy (#397)
    • Implement missing specializations on the PutBack adaptor and on the MergeJoinBy iterator (#372)
    • Add position_* methods (#412)
    • Derive Hash for EitherOrBoth (#417)
    • Increase minimum supported Rust version to 1.32.0

    0.8.2

    0.8.1

    • Added a .exactly_one() iterator method that, on success, extracts the single value of an iterator ; by @Xaeroxe
    • Added combinatory iterator adaptors:
    ... (truncated)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update snap requirement from ^0.2 to ^1.0

    Update snap requirement from ^0.2 to ^1.0

    Updates the requirements on snap to permit the latest version.

    Commits
    • cd27055 ci: hopefully fix release flow, part 1
    • 9dc5853 ci: debugging release workflow, sigh
    • fcfa629 ci: fix release workflow
    • 4bc048b release: 1.0 of snap and szip
    • 6339ad7 doc: prepare for 1.0 release
    • a0a5e58 ci: add infrastructure for szip binary releases
    • fc8fca6 doc: establish MSRV policy
    • 4977afe api: add get_mut to all streamers
    • de59ac7 doc: update docs in a few places
    • cdd6702 readme: re-run benchmarks
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update float-cmp requirement from 0.5 to 0.6

    Update float-cmp requirement from 0.5 to 0.6

    Updates the requirements on float-cmp to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update derive_more requirement from ^0.15 to ^0.99

    Update derive_more requirement from ^0.15 to ^0.99

    Updates the requirements on derive_more to permit the latest version.

    Changelog

    Sourced from derive_more's changelog.

    0.99.0 - 2019-11-11

    This release is a huge milestone for this library. Lot's of new derives are implemented and a ton of attributes are added for configuration purposes. These attributes will allow future releases to add features/options without breaking backwards compatibility. This is why the next release with breaking changes is planned to be 1.0.0.

    Breaking changes

    • Requires Rust 1.36+
    • When using in a Rust 2015 crate, you should add extern crate core to your code.
    • no_std feature is removed, the library now supports no_std without having to configure any features.
    • Deref derives now dereference to the type in the newtype. So if you have MyBox(Box<i32>), dereferencing it will result in a Box<i32> not an i32. To get the old behaviour of forwarding the dereference you can add the #[deref(forward)] attribute on the struct or field.

    New features

    • Derives for AsRef, AsMut, Sum, Product, IntoIterator.
    • Choosing the field of a struct for which to derive the newtype derive.
    • Ignoring variants of enums when deriving From, by using #[from(ignore)].
    • Add #[from(forward)] attribute for From derives. This forwards the from calls to the fields themselves. So if your field is an i64 you can call from on an i32 and it will work.
    • Add #[mul(forward)] and #[mul_assign(forward)], which implement Mul and MulAssign with the semantics as if they were Add/AddAssign.
    • You can use features to cut down compile time of the crate by only compiling the code needed for the derives that you use. (see Cargo.toml for the features, by default they are all on)
    • Add #[into(owned, ref, ref_mut)] and #[try_into(owned, ref, ref_mut)] attributes. These cause the Into and TryInto derives to also implement derives that return references to the inner fields.
    • Make no_std work out of the box
    • Allow #[display(fmt="some shared display text for all enum variants {}")] attribute on enum.

    Other things

    • Remove dependency on regex to cut down compile time.
    • Use syn 1.0

    0.15.0 - 2019-06-08

    • Automatic detection of traits needed for Display format strings
    ... (truncated)
    Commits
    • 9a8d50c (cargo-release) version 0.99.0
    • bd4b2b4 Temporarily add Cargo.lock to git
    • 7465104 Update prerelease version in Cargo.toml
    • 249f587 Update badges
    • 972d723 Update README and docs for 0.99.0 release
    • a0e2f05 Update CHANGELOG
    • cfd710a Fix title of IntoIterator docs
    • d685a2b Remove code for deriving iterator it is unfinished
    • 62e7993 Add 1.36 as minimum rust version to docs
    • 4c7c94b Test on rust 1.36.0
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
  • Update prettytable-rs requirement from ^0.8 to ^0.10

    Update prettytable-rs requirement from ^0.8 to ^0.10

    Updates the requirements on prettytable-rs to permit the latest version.

    Release notes

    Sourced from prettytable-rs's releases.

    v0.10.0

    Fixed

    • Fix panic due to incorrect ANSI escape handling #137
    • Fix display of empty tables #127

    Changed

    • Remove the unsafe code in Table::as_ref #146
    • Switch atty to is-terminal #151
    • Minimal Supported Rust Version bumped to 1.56

    Thanks

    Changelog

    Sourced from prettytable-rs's changelog.

    0.10.0 (2022-12-27)

    Fixed

    • Fix panic due to incorrect ANSI escape handling (#137)
    • Fix display of empty tables (#127)

    Changed

    • Remove the unsafe code in Table::as_ref (#146)
    • Switch atty to is-terminal (#151)
    • Minimal Supported Rust Version bumped to 1.56

    Thanks

    #127: phsym/prettytable-rs#127 #137: phsym/prettytable-rs#137 #145: phsym/prettytable-rs#145 #146: phsym/prettytable-rs#146 #151: phsym/prettytable-rs#151

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update GSL requirement from ^1.0 to ^6.0

    Update GSL requirement from ^1.0 to ^6.0

    Updates the requirements on GSL to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update criterion requirement from 0.3.0 to 0.4.0

    Update criterion requirement from 0.3.0 to 0.4.0

    Updates the requirements on criterion to permit the latest version.

    Changelog

    Sourced from criterion's changelog.

    [0.4.0] - 2022-09-10

    Removed

    • The Criterion::can_plot function has been removed.
    • The Criterion::bench_function_over_inputs function has been removed.
    • The Criterion::bench_functions function has been removed.
    • The Criterion::bench function has been removed.

    Changed

    • HTML report hidden behind non-default feature flag: 'html_reports'
    • Standalone support (ie without cargo-criterion) feature flag: 'cargo_bench_support'
    • MSRV bumped to 1.57
    • rayon and plotters are optional (and default) dependencies.
    • Status messages ('warming up', 'analyzing', etc) are printed to stderr, benchmark results are printed to stdout.
    • Accept subsecond durations for --warm-up-time, --measurement-time and --profile-time.
    • Replaced serde_cbor with ciborium because the former is no longer maintained.
    • Upgrade clap to v3 and regex to v1.5.

    Added

    • A --discard-baseline flag for discarding rather than saving benchmark results.
    • Formal support for benchmarking code compiled to web-assembly.
    • A --quiet flag for printing just a single line per benchmark.
    • A Throughput::BytesDecimal option for measuring throughput in bytes but printing them using decimal units like kilobytes instead of binary units like kibibytes.

    Fixed

    • When using bench_with_input, the input parameter will now be passed through black_box before passing it to the benchmark.

    [0.3.6] - 2022-07-06

    Changed

    • MSRV bumped to 1.49
    • Symbol for microseconds changed from ASCII 'us' to unicode 'µs'
    • Documentation fixes
    • Clippy fixes

    [0.3.5] - 2021-07-26

    Fixed

    • Corrected Criterion.toml in the book.
    • Corrected configuration typo in the book.

    Changed

    • Bump plotters dependency to always include a bug-fix.
    • MSRV bumped to 1.46.

    ... (truncated)

    Commits
    • 5e27b69 Merge branch 'version-0.4'
    • 4d6d69a Increment version numbers.
    • 935c632 Add Throughput::BytesDecimal. Fixes #581.
    • f82ce59 Remove critcmp code (it belongs in cargo-criterion) (#610)
    • a18d080 Merge branch 'master' into version-0.4
    • f9c6b8d Merge pull request #608 from Cryptex-github/patch-1
    • 8d0224e Fix html report path
    • 2934163 Add missing black_box for bench_with_input parameters. Fixes 566.
    • dfd7b65 Add duplicated benchmark ID to assertion message.
    • ce8259e Bump criterion-plot version number.
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update float-cmp requirement from 0.8 to 0.9

    Update float-cmp requirement from 0.8 to 0.9

    Updates the requirements on float-cmp to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update GSL requirement from ^1.0 to ^4.0

    Update GSL requirement from ^1.0 to ^4.0

    Updates the requirements on GSL to permit the latest version.

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Update ndarray requirement from ^0.14 to ^0.15

    Update ndarray requirement from ^0.14 to ^0.15

    ⚠️ Dependabot Preview has been deactivated ⚠️

    This pull request was created by Dependabot Preview, and you've upgraded to Dependabot. This means it won't respond to dependabot commands nor will it be automatically closed if a new version is found.

    If you close this pull request, Dependabot will re-create it the next time it checks for updates and everything will work as expected.


    Updates the requirements on ndarray to permit the latest version.

    Changelog

    Sourced from ndarray's changelog.

    Version 0.15.0 (2021-03-25)

    New features

    • Support inserting new axes while slicing by [@jturner314]. This is an example:

      let view = arr.slice(s![.., -1, 2..;-1, NewAxis]);
      

      rust-ndarray/ndarray#570

    • Support two-sided broadcasting in arithmetic operations with arrays by [@SparrowLii]

      This now allows, for example, addition of a 3 x 1 with a 1 x 3 array; the operands are in this case broadcast to 3 x 3 which is the shape of the result.

      Note that this means that a new trait bound is required in some places when mixing dimensionality types of arrays in arithmetic operations.

      rust-ndarray/ndarray#898

    • Support for compiling ndarray as no_std (using core and alloc) by [@xd009642] and [@bluss]

      rust-ndarray/ndarray#861 rust-ndarray/ndarray#889

    • New methods .cell_view() and ArrayViewMut::into_cell_view that enable new ways of working with array elements as if they were in Cells - setting elements through shared views and broadcast views, by [@bluss].

      rust-ndarray/ndarray#877

    • New methods slice_each_axis/_mut/_inplace that make it easier to slice a dynamic number of axes in some situations, by [@jturner314]

      rust-ndarray/ndarray#913

    • New method a.assign_to(b) with the inverse argument order compared to the existing b.assign(a) and some extra features like assigning into uninitialized arrays, By [@bluss].

      rust-ndarray/ndarray#947

    Enhancements

    ... (truncated)

    Commits
    • c7ae4eb 0.15.0
    • 3e48234 Merge pull request #952 from rust-ndarray/update-complex
    • 383ac0e TEST: Update dev-dependency itertools to 0.10
    • 888c160 API: Update num-complex to 0.4
    • 175b8f8 Merge pull request #951 from rust-ndarray/disconnect-blas-dependency
    • 5b96f1d TEST: Remove ndarray build.rs and test-blas-openblas-sys feature flag
    • f98e5c0 API: Drop direct blas-src dependency, update docs for blas integration
    • fdbc884 Merge pull request #948 from rust-ndarray/neg-stride-constructors
    • 67397ac Merge pull request #949 from rust-ndarray/rename-directories
    • 5c6ff77 MAINT: Rename directories for misc and tests in the root
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Automerge options (never/patch/minor, and dev/runtime dependencies)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 0
Releases(v0.1.0)
  • v0.1.0(Apr 28, 2019)

    • Supporting a decent amount of Series ops as well as some more DataFrame level ops.
    • Major work is still needed, but the foundation API is settling into place.
    Source code(tar.gz)
    Source code(zip)
  • v0.0.15(Sep 16, 2018)

    This release contains many of the desired functionality for Series structs, along with adding series to DataFrame structs and reading very basic csv files with various delimiters.

    Source code(tar.gz)
    Source code(zip)
Owner
Miles Granger
Just a happy engineer.
Miles Granger
Dataframe structure and operations in Rust

Utah Utah is a Rust crate backed by ndarray for type-conscious, tabular data manipulation with an expressive, functional interface. Note: This crate w

Suchin 139 Sep 26, 2022
Rust DataFrame library

Polars Blazingly fast DataFrames in Rust & Python Polars is a blazingly fast DataFrames library implemented in Rust. Its memory model uses Apache Arro

Ritchie Vink 11.9k Jan 8, 2023
A Rust DataFrame implementation, built on Apache Arrow

Rust DataFrame A dataframe implementation in Rust, powered by Apache Arrow. What is a dataframe? A dataframe is a 2-dimensional tabular data structure

Wakahisa 287 Nov 11, 2022
DataFrame & its adaptors

Fabrix Fabrix is a lib crate, who uses Polars Series and DataFrame as fundamental data structures, and is capable to communicate among different data

Jacob Xie 18 Dec 12, 2022
Provides multiple-dtype columner storage, known as DataFrame in pandas/R

brassfibre Provides multiple-dtype columner storage, known as DataFrame in pandas/R. Series Single-dtype 1-dimentional vector with label (index). Crea

Sinhrks 21 Nov 28, 2022
A dataframe manipulation tool inspired by dplyr and powered by polars.

dply is a command line tool for viewing, querying, and writing csv and parquet files, inspired by dplyr and powered by polars. Usage overview A dply p

null 14 May 29, 2023
A Modern Real-Time Data Processing & Analytics DBMS with Cloud-Native Architecture, written in Rust

Datafuse Modern Real-Time Data Processing & Analytics DBMS with Cloud-Native Architecture Datafuse is a Real-Time Data Processing & Analytics DBMS wit

Datafuse Labs 5k Jan 4, 2023
Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing

Apache Arrow Powering In-Memory Analytics Apache Arrow is a development platform for in-memory analytics. It contains a set of technologies that enabl

The Apache Software Foundation 10.9k Jan 6, 2023
Dataflow is a data processing library, primarily for machine learning

Dataflow Dataflow is a data processing library, primarily for machine learning. It provides efficient pipeline primitives to build a directed acyclic

Sidekick AI 9 Dec 19, 2022
A rust library built to support building time-series based projection models

TimeSeries TimeSeries is a framework for building analytical models in Rust that have a time dimension. Inspiration The inspiration for writing this i

James MacAdie 12 Dec 7, 2022
New generation decentralized data warehouse and streaming data pipeline

World's first decentralized real-time data warehouse, on your laptop Docs | Demo | Tutorials | Examples | FAQ | Chat Get Started Watch this introducto

kamu 184 Dec 22, 2022
This library provides a data view for reading and writing data in a byte array.

Docs This library provides a data view for reading and writing data in a byte array. This library requires feature(generic_const_exprs) to be enabled.

null 2 Nov 2, 2022
Rayon: A data parallelism library for Rust

Rayon Rayon is a data-parallelism library for Rust. It is extremely lightweight and makes it easy to convert a sequential computation into a parallel

null 7.8k Jan 8, 2023
ConnectorX - Fastest library to load data from DB to DataFrames in Rust and Python

ConnectorX enables you to load data from databases into Python in the fastest and most memory efficient way.

SFU Database Group 939 Jan 5, 2023
Fill Apache Arrow record batches from an ODBC data source in Rust.

arrow-odbc Fill Apache Arrow arrays from ODBC data sources. This crate is build on top of the arrow and odbc-api crate and enables you to read the dat

Markus Klein 21 Dec 27, 2022
A fast, powerful, flexible and easy to use open source data analysis and manipulation tool written in Rust

fisher-rs fisher-rs is a Rust library that brings powerful data manipulation and analysis capabilities to Rust developers, inspired by the popular pan

Syed Vilayat Ali Rizvi 5 Aug 31, 2023
A fast, powerful, flexible and easy to use open source data analysis and manipulation tool written in Rust

fisher-rs fisher-rs is a Rust library that brings powerful data manipulation and analysis capabilities to Rust developers, inspired by the popular pan

null 5 Sep 6, 2023
High-performance runtime for data analytics applications

Weld Documentation Weld is a language and runtime for improving the performance of data-intensive applications. It optimizes across libraries and func

Weld 2.9k Dec 28, 2022
A high-performance, high-reliability observability data pipeline.

Quickstart • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabilit

Timber 12.1k Jan 2, 2023