Skip to main content

Thin Polars IO plugin for the sas7bdat crate

Project description

sas7bdat-polars

A Polars IO plugin for reading SAS7BDAT files, backed by the SIMD-accelerated sas7bdat Rust parser. It registers a native IO source via polars.io.plugins.register_io_source, so scans are lazy and support projection and predicate pushdown straight into the reader.

Installation

pip install sas7bdat-polars

Version constraints

This wheel is tightly coupled to its build environment:

  • Polars is pinned to 1.40.*. The extension shares the Polars Rust ABI (via polars-ffi) with the in-process polars package, so the installed polars must match the version the wheel was built against. A mismatch is undefined behavior, not a graceful error.
  • Built against the CPython stable ABI (abi3, minimum 3.12), so a single cp312-abi3 wheel runs on CPython 3.12 and newer.

Usage

import polars as pl
import sas7bdat_polars as sp

# Lazy scan — returns a LazyFrame; filters/projections push down into the reader.
lf = sp.scan_sas("data.sas7bdat")
df = lf.filter(pl.col("age") > 30).select("name", "age").collect()

# Hydrate value labels from a companion catalog.
lf = sp.scan_sas("data.sas7bdat", catalog_path="formats.sas7bcat")

# Inspect the Arrow schema without reading rows.
schema = sp.schema_for_file("data.sas7bdat")

License

MIT — see the repository for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

sas7bdat_polars-0.1.2-cp312-abi3-win_amd64.whl (5.1 MB view details)

Uploaded CPython 3.12+Windows x86-64

sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.28+ x86-64

sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_aarch64.whl (5.1 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.28+ ARM64

sas7bdat_polars-0.1.2-cp312-abi3-macosx_11_0_arm64.whl (4.7 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

File details

Details for the file sas7bdat_polars-0.1.2-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: sas7bdat_polars-0.1.2-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sas7bdat_polars-0.1.2-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 538619412f3dcd2e328f2cd498c647f58cdb28e191cbd4f715924df0b16cd3d3
MD5 eefcb41c2497d7c4c8e7ee42ed714543
BLAKE2b-256 10df0466c518b7dc261ada76c66cdf56fdb05d73828334747fe3e1abe48b3a8b

See more details on using hashes here.

File details

Details for the file sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.12+, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dfeab31a63fb6b1d549b8a4a8e4f99a1e9d0d0383bb2d2f5b370a44b68901a79
MD5 a7c0544e14c5fb456594ceda72a20413
BLAKE2b-256 ae21ba895d1649c93a97fe99836eade321ff32eb7ab406d059a771c9958b1109

See more details on using hashes here.

File details

Details for the file sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: CPython 3.12+, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sas7bdat_polars-0.1.2-cp312-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ba4d32fb5c59b938ca26169b472d1fe81cdd1c7066f23c8b44b6f6a774a64202
MD5 1af5a04345f52a54dfc101af954ceac7
BLAKE2b-256 2583e168fd67502253735274870caed37f62d73926a03b76fe1ff395ed017518

See more details on using hashes here.

File details

Details for the file sas7bdat_polars-0.1.2-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sas7bdat_polars-0.1.2-cp312-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.12+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sas7bdat_polars-0.1.2-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9983576a53349e7582bd52d049992b0ea283d2ba542f2989e98cfcf2c36eb773
MD5 bc7d3202e53e3a9f91d322ae27083942
BLAKE2b-256 d1f3d24a6289d3629b4f9d51ed2387faac4503a488777d1522a1d21860a70f4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page