Skip to main content

polars-to-ibis

pypi

Convert Polars LazyFrames to Ibis unbound tables.

Polars and Ibis have similar APIs, but while Polars supports computation in-memory and on Polars Cloud, Ibis by itself does not handle computation: Instead it translates the dataframe expression into idiomatic SQL for a particular database.

For examples of using polars-to-ibis, see the API docs.

Contributions

There are several ways to contribute. First, if you find polars_to_ibis useful, please let us know and we'll spend more time on this project. If polars_to_ibis doesn't work for you, we also want to know that! Please file an issue.

PRs that expand feature coverage are welcome. Please add a new scenarios to exercise new features, and run tests locally before submitting your PR.

If you have an idea that goes beyond just expanding coverage, please file an issue before beginning work, so we can make sure that your idea aligns with our roadmap.

Development

Getting Started

$ git clone https://github.com/opendp/polars-to-ibis.git
$ cd polars-to-ibis
$ pip install uv
$ uv sync
$ uv run pre-commit install

Testing

In-memory databases are handled by python and pip, but other databases covered by the tests will require installation and startup. (If you don't want to install extra database engines right now, they can be skipped during test runs: uv run pytest -k 'not extra_install')

On MacOS we recommend:

$ uv run scripts/setup.sh

At this point, tests should pass, and code coverage should be complete (except blocks we explicitly ignore):

$ uv run scripts/ci.sh

The debug.sh script may also be helpful: It runs tests step-wise with debug logging. Both debug.sh and ci.sh pass extra parameters through to pytest.

Release

  • Make one last feature branch with the new version number in the name:
    • Run uv run scripts/changelog.py to update the CHANGELOG.md.
    • Review the updates and pull a couple highlights to the top.
    • uv version --bump minor, and add the new number at the top of the CHANGELOG.md.
    • Commit your changes, make a PR, and merge this branch to main.
  • Update main with the latest changes: git checkout main; git pull
  • Build: uv build
  • With ~/.pypirc in place, run uvx uv-publish.

Conventions

Branch names should be of the form NNNN-short-description, where NNNN is the issue number being addressed.

Metadata

Release files for polars_to_ibis 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for polars_to_ibis 0.3.0
File Size Uploaded
polars_to_ibis-0.3.0.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for polars_to_ibis 0.3.0
File Interpreter ABI Platform
polars_to_ibis-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.4 kB

Release files / polars_to_ibis-0.3.0.tar.gz

Download URL polars_to_ibis-0.3.0.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
74fce4f2f73c35b95ba5f8fc6c55ec36ebe55f7cbc83a5e28efbd5cdb30c87ae
BLAKE2b-256 checksum
How to use checksums
db5387f434cf9a7b63e250247e4e2b7b37239701b33e9915551c431e0a2c37ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / polars_to_ibis-0.3.0-py3-none-any.whl

Download URL polars_to_ibis-0.3.0-py3-none-any.whl
Size 17.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d82aafab75e62b3bc381234026a125d962793d81c4c8b1da59b78d05466a5068
BLAKE2b-256 checksum
How to use checksums
be8cb5e77474f355f527f063a4af9648d80fa9b5a959a31ca8cec7dc6a612e78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page