Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Commit

Permalink
Made most features not default.
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgecarleitao committed Sep 2, 2021
1 parent 37353bb commit ddc7596
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 9 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
run: |
export CARGO_HOME="/github/home/.cargo"
export CARGO_TARGET_DIR="/github/home/target"
cargo test
cargo test --features full
windows-and-macos:
name: ${{ matrix.os }}
Expand All @@ -99,7 +99,7 @@ jobs:
- name: Run
shell: bash
# no need to run the whole thing. Rust guarantees interoperability
run: ARROW2_IGNORE_PARQUET= cargo test --lib
run: ARROW2_IGNORE_PARQUET= cargo test --features full

clippy:
name: Clippy
Expand Down Expand Up @@ -134,7 +134,7 @@ jobs:
run: |
export CARGO_HOME="/github/home/.cargo"
export CARGO_TARGET_DIR="/github/home/target"
cargo clippy
cargo clippy --check --features full
miri-checks:
name: Miri
Expand Down Expand Up @@ -163,7 +163,7 @@ jobs:
run: |
cargo miri setup
cargo clean
cargo miri test -- --skip io::parquet --skip io::ipc
cargo miri test --features full -- --skip io::parquet --skip io::ipc
coverage:
name: Coverage
Expand Down Expand Up @@ -199,7 +199,7 @@ jobs:
# 2020-11-15: There is a cargo-tarpaulin regression in 0.17.0
# see https://github.com/xd009642/tarpaulin/issues/618
cargo install --version 0.16.0 cargo-tarpaulin
cargo tarpaulin --out Xml
cargo tarpaulin --features full --out Xml
- name: Report coverage
continue-on-error: true
run: bash <(curl -s https://codecov.io/bash)
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ doc-comment = "0.3"
crossbeam-channel = "0.5.1"

[features]
default = [
default = []
full = [
"io_csv",
"io_json",
"io_ipc",
Expand All @@ -82,7 +83,6 @@ default = [
"regex",
"merge_sort",
"ahash",
"benchmarks",
"compute",
]
merge_sort = ["itertools"]
Expand Down
18 changes: 16 additions & 2 deletions guide/src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,19 @@ Arrow2 is divided into three main parts:

## Cargo features

This crate has a significant number of cargo features to reduce compilation times and dependencies blowup.
There is also a feature `simd`, that requires the nightly channel, that produces more explicit SIMD instructions via [`packed_simd`](https://github.com/rust-lang/packed_simd).
This crate has a significant number of cargo features to reduce compilation
time and number of dependencies. The feature `"full"` activates most
functionality, such as:

* `io_ipc`: to interact with the IPC format
* `io_ipc_compression`: to read and write compressed IPC (v2)
* `io_csv` to read and write CSV
* `io_json` to read and write JSON
* `io_parquet` to read and write parquet
* `io_parquet_compression` to read and write compressed parquet
* `io_print` to write batches to formatted ASCII tables
* `compute` to operate on arrays (addition, sum, sort, etc.)

The feature `simd` (not part of `full`) produces more explicit SIMD instructions
via [`packed_simd`](https://github.com/rust-lang/packed_simd), but requires the
nightly channel.

0 comments on commit ddc7596

Please sign in to comment.