Skip to content

Latest commit

 

History

History
64 lines (46 loc) · 1.74 KB

DEVELOPMENT.md

File metadata and controls

64 lines (46 loc) · 1.74 KB

Development

Set up venv

python3 -m venv --clear env
source env/bin/activate
poetry install
python ./scripts/protoc.py

Special case for ARM mac

Add this to your bash/rc profile

export CARGO_BUILD_TARGET=x86_64-apple-darwin

Testing

cargo build && maturin develop && RUST_BACKTRACE=1 pytest python/test

Releasing

  • Update the version in Cargo.toml
  • Update cargo lock file cargo generate-lockfile
  • Update the version in pyproject.toml
  • Update the poetry lock file poetry lock --no-update
  • Tag and push the tag (don't forget to preprend a v to the version when tagging)

Note: the ci script is autogenerated:

maturin generate-ci github > .github/workflows/release.yml

Benchmarking

Make sure to install the release version of ptars. The locally built version is much slower.

pytest python/test/benchmark --benchmark-name=short --benchmark-columns=mean --benchmark-sort=name

TODO

  • finish arrow to proto
  • handle repeated messages
  • more generic code
  • add rust unit tests
  • add configuration for enums, timestamp, date, wrapped types, duration
  • reuse protarrow tests and random generator

Resources