Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Native Delta Lake Python binding based on delta-rs with Pandas integration.
from deltalake import DeltaTable
dt = DeltaTable("../rust/tests/data/delta-0.2.0")
dt.version()
3
dt.files()
['part-00000-cb6b150b-30b8-4662-ad28-ff32ddab96d2-c000.snappy.parquet',
'part-00000-7c2deba3-1994-4fb8-bc07-d46c948aa415-c000.snappy.parquet',
'part-00001-c373a5bd-85f0-4758-815e-7eb62007a15c-c000.snappy.parquet']
See the user guide for more examples.
# with pip
pip install deltalake
# with uv
uv add deltalake
# with poetry
poetry add deltalake
NOTE: official binary wheels are linked against openssl statically for remote objection store communication. Please file Github issue to request for critical openssl upgrade.
Sometimes you may wish to build custom wheels. Maybe you want to try out some unreleased features. Or maybe you want to tweak the optimization of the Rust code.
To compile the package, you will need the Rust compiler and maturin:
curl https://sh.rustup.rs -sSf | sh -s
Then you can build wheels for your own platform like so:
```sh
uvx maturin build --release --out wheels
Note:
uvx
invokes a tool without installing it.maturin
, you can install the "tool" with uv tool install maturin
.For a build that is optimized for the system you are on (but sacrificing portability):
RUSTFLAGS="-C target-cpu=native" uvx maturin build --release --out wheels
The above command only works for your current platform. To create wheels for other
platforms, you'll need to cross compile. Cross compilation requires installing
two additional components: to cross compile Rust code, you will need to install
the target with rustup
; to cross compile the Python bindings, you will need
to install ziglang
.
The following example is for manylinux2014. Other targets will require different
Rust target
and Python compatibility
tags.
rustup target add x86_64-unknown-linux-gnu
Then you can build wheels for the target platform like so:
uvx --from 'maturin[zig]' maturin build --release --zig \
--target x86_64-unknown-linux-gnu \
--compatibility manylinux2014 \
--out wheels
If you expect to only run on more modern system, you can set a newer target-cpu
flag to Rust and use a newer compatibility tag for Linux. For example, here
we set compatibility with CPUs newer than Haswell (2013) and Linux OS with
glibc version of at least 2.24:
RUSTFLAGS="-C target-cpu=haswell" uvx --from 'maturin[zig]' maturin build --release --zig \
--target x86_64-unknown-linux-gnu \
--compatibility manylinux_2_24 \
--out wheels
See note about RUSTFLAGS
from the arrow-rs readme.
FAQs
Native Delta Lake Python binding based on delta-rs with Pandas integration
We found that deltalake demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.