Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(rust, python): support timezone in csv writer #6722

Merged
merged 30 commits into from
Feb 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b8ada23
support timezones in csv writer
Feb 8, 2023
1267e8e
lint
Feb 8, 2023
3ae3f29
simplify
Feb 8, 2023
55d09a9
clippy
Feb 8, 2023
2e786d2
fix(python): respect 'None' in from_dicts (#6726)
ritchie46 Feb 8, 2023
0532e03
fix(rust, python): arrow map dtype conversion (#6732)
ritchie46 Feb 8, 2023
870a818
feat(python): don't require pyarrow for utf8 -> numpy conversion (#6733)
ritchie46 Feb 8, 2023
91f765f
feat(python): scan_ds predicate pushdown for string cmp (#6734)
ritchie46 Feb 8, 2023
44a7c5b
feat(rust, python): Support an ignore_nulls param for EWM calculation…
yuntai Feb 9, 2023
262114c
fix(rust,python): Improve error message in DataFrame constructor (#6715)
stinodego Feb 9, 2023
d43500e
feat(python): Improved assert equal messages (#6737)
stinodego Feb 9, 2023
0a1c1bc
test(python): Reorganize benchmark test folder (#6695)
stinodego Feb 9, 2023
d3633fb
feat(python): Improve numpy support: conversion of numpy arrays with …
ghuls Feb 9, 2023
80cce18
feat(rust, python): add argmin/max for utf8 data (#6746)
ritchie46 Feb 9, 2023
dd1dca7
chore(rust): update arrow to 0.16 (#6748)
ritchie46 Feb 9, 2023
aeb3a03
docs(python): redirect tz_localize (#6749)
MarcoGorelli Feb 9, 2023
b160f53
test(python): integrate `ignore_nulls` into EWM parametric tests (#6751)
alexander-beedie Feb 9, 2023
e103b34
fix(rust, python): respect skip_rows in glob parsing csv (#6754)
ritchie46 Feb 9, 2023
9de9316
feat(rust, python): formally support duration division (#6758)
ritchie46 Feb 9, 2023
7fbdb6c
chore(rust): propagate error in date_range with invalid time zone (#6…
MarcoGorelli Feb 9, 2023
11e4de2
build(python): Update `mypy` to version `1.0.0` (#6744)
stinodego Feb 9, 2023
0cf7d7f
feat(python): Add option to use PyArrow backed-extension arrays when …
ghuls Feb 10, 2023
aad4aa3
feat(rust, python): parse timezone from Datetime (#6766)
MarcoGorelli Feb 10, 2023
4607eb6
fix(rust,python): handle edge-case with string-literal replacement wh…
alexander-beedie Feb 10, 2023
2d7d728
feat(python): default to 1d interval in date_range (#6771)
MarcoGorelli Feb 10, 2023
1a45830
fix(rust, python): don't set sorted flag if we reverse sort the left …
ritchie46 Feb 10, 2023
f61fa38
fix(rust, python): use explicit drop function node (#6769)
ritchie46 Feb 10, 2023
b3a7374
feat(rust): implement series abstractions for `Int128Type` (#6679)
plaflamme Feb 10, 2023
afac817
Merge branch 'autodetect-aware' of github.com:MarcoGorelli/polars int…
ritchie46 Feb 10, 2023
7dbdc00
add timezones feature to polars-io
ritchie46 Feb 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 16 additions & 20 deletions .github/workflows/benchmark.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
paths:
- "polars/**"
- "Cargo.toml"
- "py-polars/tests/db-benchmark/**"
- "py-polars/tests/benchmark/**"
- ".github/workflows/benchmark.yaml"

concurrency:
Expand All @@ -21,9 +21,9 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: "pip"
cache-dependency-path: "py-polars/requirements-dev.txt"
python-version: '3.11'
cache: pip
cache-dependency-path: py-polars/requirements-dev.txt

- name: Create virtual environment
working-directory: py-polars
Expand All @@ -43,9 +43,9 @@ jobs:
r-version: "3.5.3"

- name: Generate data
working-directory: py-polars/tests/db-benchmark
working-directory: py-polars/tests/benchmark
run: |
Rscript -e 'install.packages("data.table",repos = "https://cloud.r-project.org")'
Rscript -e 'install.packages("data.table", repos="https://cloud.r-project.org")'
Rscript groupby-datagen.R 1e7 1e2 5 0
- name: Set up Rust
Expand All @@ -58,26 +58,22 @@ jobs:
with:
workspaces: py-polars

- name: Install Polars
- name: Install Polars release build
env:
RUSTFLAGS: -C embed-bitcode
working-directory: py-polars
run: |
source activate
maturin develop --release -- -C codegen-units=8 -C lto=thin -C target-cpu=native
- name: Run benchmark tests - lazy versus eager
working-directory: py-polars/tests/db-benchmark
run: python lazy_vs_eager.py
- name: Run H2O AI database benchmark - on strings
working-directory: py-polars/tests/benchmark
run: python run_h2oai_benchmark.py on_strings

- name: Run benchmark tests - various
working-directory: py-polars/tests/db-benchmark
run: python various.py
- name: Run H2O AI database benchmark - on categoricals
working-directory: py-polars/tests/benchmark
run: python run_h2oai_benchmark.py

- name: Run benchmark tests - on strings
working-directory: py-polars/tests/db-benchmark
run: python main.py on_strings

- name: Run benchmark tests - on categoricals
working-directory: py-polars/tests/db-benchmark
run: python main.py
- name: Run various benchmark tests
working-directory: py-polars
run: pytest -m benchmark --durations 0 -v
6 changes: 3 additions & 3 deletions .github/workflows/test-python.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ jobs:
maturin develop
- name: Run tests and report coverage
run: pytest --cov -n auto -m "slow or not slow"
run: pytest --cov -n auto -m "not benchmark"

- name: Run doctests
run: python tests/docs/run_doc_examples.py
run: python tests/docs/run_doctest.py

- name: Check import without optional dependencies
run: |
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
pip install target/wheels/polars-*.whl
- name: Run tests
run: pytest -n auto -m "slow or not slow"
run: pytest -n auto -m "not benchmark"

- name: Check import without optional dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ Create a new git branch from the `master` branch in your local repository, and s
The Rust codebase is located in the `polars` directory, while the Python codebase is located in the `py-polars` directory.
Both directories contain a `Makefile` with helpful commands. Most notably:

- `make test` to run the test suite
- `make test` to run the test suite (see the [test suite docs](/py-polars/tests/README.md) for more info)
- `make pre-commit` to run autoformatting and linting

Note that your work cannot be merged if these checks fail!
Expand Down
6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ once_cell = "1"
[workspace.dependencies.arrow]
package = "arrow2"
# git = "https://github.com/jorgecarleitao/arrow2"
git = "https://github.com/ritchie46/arrow2"
# git = "https://github.com/ritchie46/arrow2"
# rev = "218b7cf93a1fe713bd4fd4641cfc53a3c10977aa"
# path = "../arrow2"
branch = "mmap_slice2"
version = "0.15"
# branch = "mmap_slice2"
version = "0.16"
default-features = false
features = [
"compute_aggregate",
Expand Down
2 changes: 1 addition & 1 deletion polars/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ bigidx = ["polars-core/bigidx", "polars-lazy/bigidx", "polars-ops/big_idx"]
list_to_struct = ["polars-ops/list_to_struct", "polars-lazy/list_to_struct"]
list_take = ["polars-ops/list_take", "polars-lazy/list_take"]
describe = ["polars-core/describe"]
timezones = ["polars-core/timezones", "polars-lazy/timezones"]
timezones = ["polars-core/timezones", "polars-lazy/timezones", "polars-io/timezones"]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah looks like this is what I was missing - thanks for fixing it up!

looks like this needs a rebase?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, a squash will do. 👍

string_justify = ["polars-lazy/string_justify", "polars-ops/string_justify"]
string_from_radix = ["polars-lazy/string_from_radix", "polars-ops/string_from_radix"]
arg_where = ["polars-lazy/arg_where"]
Expand Down
2 changes: 2 additions & 0 deletions polars/polars-arrow/src/data_types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ unsafe impl IsFloat for i8 {}
unsafe impl IsFloat for i16 {}
unsafe impl IsFloat for i32 {}
unsafe impl IsFloat for i64 {}
unsafe impl IsFloat for i128 {}
unsafe impl IsFloat for u8 {}
unsafe impl IsFloat for u16 {}
unsafe impl IsFloat for u32 {}
Expand All @@ -35,6 +36,7 @@ mod private {
impl Sealed for i16 {}
impl Sealed for i32 {}
impl Sealed for i64 {}
impl Sealed for i128 {}
impl Sealed for u8 {}
impl Sealed for u16 {}
impl Sealed for u32 {}
Expand Down
Loading