fastexcel
A fast excel file reader for Python, written in Rust.
Based on calamine
and Apache Arrow.
Docs available here.
Python>=3.8 and a recent Rust toolchain must be installed on your machine. cargo
must be available in your PATH
.
On the very first time you setup the project, you'll need to create a virtualenv and install the necessary tools:
python -m venv .venv
source .venv/bin/activate
(.venv) make dev-setup
This will also set up pre-commit.
In order to install the project in dev mode (for local tests for example), use make dev-install
.
This will compile the wheel (in debug mode) and install it. It will then be available in your venv.
This is required for profiling, as dev mode wheels are much slower. make prod-install
will compile the project
in release mode and install it in your local venv, overriding previous dev installs.
The Makefile provides the lint
and format
extras to ease this.
make test
make benchmarks
mprof run -T 0.01 python python/tests/benchmarks/memory.py python/tests/benchmarks/fixtures/plain_data.xls
make doc
Cargo.toml
.release
GitHub action will take care of the rest.cargo check
to verify that your rust code compiles, no need to go through maturin
every timecargo clippy
= 💖mprof
and time
go a long way for perf checks,
no need to go fancy right from the start