Skip to main content

DataStep for Your Workspace

Project description

limulus — Data Step for Your Workspace

日本語


limulus

limulus is a Python library for data processing using Data Step syntax.
Its goal is to bring the simplicity and long-term stability of Data Step into Python workflows.

This is currently an alpha release. Please note that breaking changes to the API and other interfaces may occur before the beta release.


Installation

pip install limulus

Usage

1. Prepare Your Data

Load a DataFrame (Arrow / Polars / Pandas) from a CSV or other source.

import pandas as pd
import limulus

health_df = pd.DataFrame({
	"name": ["Alice", "Bob", "Charlie", "David"],
	"age": [25, 30, 35, 40],
	"height": [65, 70, 68, 72],  # inches
	"weight": [140, 180, 130, 200]  # pounds
})

# Load data into a Session
session = limulus.Session()
session.loads({"health": health_df})

2. Run a Data Step

session.submit("""
data result;
  set health;
  where age > 25;
  height_m = height * 0.0254;
  weight_kg = weight * 0.454;
  bmi = round(weight_kg / (height_m**2), 0.1);
  keep name age bmi;
run;
""")

Multiple Data Steps can be submitted at once. Datasets created by earlier steps can be referenced by subsequent steps.

3. Retrieve Results

The simplest way is to retrieve the result from the session as an Arrow table using subscript notation.
You can convert it to pandas using Arrow's methods.

df_out = session["result"].to_pandas()
print(df_out)

Documentation

https://k-nkmt.github.io/limulus/

License

PolyForm Noncommercial License 1.0.0

This project is distributed under the PolyForm Noncommercial License. Creative Commons licenses are not used because they are generally not recommended for software distribution.

The software may be used for personal, educational, academic, and noncommercial research purposes. Commercial use is not permitted under the current license terms.

I may consider adopting a different licensing model in the future as the project evolves.

contact: info@knworx.com


Notices

Project Positioning
limulus is a modern data-step–inspired data transformation framework implemented independently in Python and Rust. It is not affiliated with or endorsed by SAS Institute Inc.

Trademark Notice
SAS® is a registered trademark of SAS Institute Inc. All other trademarks are the property of their respective owners.

Independence Statement
This is an independent implementation. No SAS source code or proprietary materials have been used.

Compatibility Disclaimer
Compatibility with SAS software is not guaranteed and is not a project goal. Certain behaviors intentionally differ to provide modern semantics.

Project details


Download files

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

Source Distribution

limulus-0.2.0.tar.gz (87.2 kB view details)

Uploaded Source

Built Distributions

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

limulus-0.2.0-cp313-cp313-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.13Windows x86-64

limulus-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

limulus-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

limulus-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

limulus-0.2.0-cp312-cp312-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.12Windows x86-64

limulus-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

limulus-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

limulus-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

limulus-0.2.0-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

limulus-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

limulus-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

limulus-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

limulus-0.2.0-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

limulus-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

limulus-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

limulus-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file limulus-0.2.0.tar.gz.

File metadata

  • Download URL: limulus-0.2.0.tar.gz
  • Upload date:
  • Size: 87.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for limulus-0.2.0.tar.gz
Algorithm Hash digest
SHA256 29f56f353f5940e91fcfdd079282b608c53add992551d76fc67c6b430d64ba15
MD5 67fdcc69d92e625e01f3f69181c8ab2a
BLAKE2b-256 b320ca25969ff3240a9186c2f42a53b6e16c6f98d409a3a81b53265a17d36173

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0.tar.gz:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: limulus-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for limulus-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2cefdc00a71359c13df65b0e9bd1b18d5e220e0a94c8a91b33b413ab1a3f31c3
MD5 0f92d0b725f94d8ac044231bd05c793e
BLAKE2b-256 e8a730722e581bf0bcd23d4a7a14878fba176d25580885087039c052bc698e93

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 146a7cde00180c3bfcfd7cfcedbd859dabb63d94d4a0b1c9c6f43650af3d55ec
MD5 614519bd648cf5e5fe7c5b49df071702
BLAKE2b-256 903f58fde98fbee0a93a5811cc1c42df2b6e1a981462de4613d6821f1b95b836

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 449d6b89d490817c7e74e97871a88ba5c562b073cd7e5449c26848c259ff963c
MD5 4378ce07ab2bd92623666a9a6981f2d4
BLAKE2b-256 54084b54bdb75281c0f520888593d2499f51350ea341dc95f63d46d8737c662c

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 f4e7793dc12077a5dc17a1899c0d7dd79ad271f5e6970734c86a2761ad15bde0
MD5 18ac0c9570ecdc2a8bdfc8963db5e687
BLAKE2b-256 f7a60c0dd4767a58dd9eb0ac7b57a04d74741c39e08d13d3831023639ce035f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: limulus-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for limulus-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ea70069edb6a444f691795ba3ef1fae190f642beccda80d8642472a47798a5e0
MD5 f34c12d9535560d098681dda6380c8b8
BLAKE2b-256 64e8503f6e99d93266f0f0dac443e67f847f9016fd2f3e7d9606be34f240dba9

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 015e09f2cb5e2e8592ebc4a383fb7717d2c148736f9d049bf135fa27cd15fd64
MD5 15e55e944cfa76590eff8c47b3517f99
BLAKE2b-256 d2f21ece606f7a86021735e45967d8a9d4307f43cc1b23eb03e1a0a84e0539ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ab603fe3ecfaf7c3f55eae181d16419e3df7ab8e5938be2a873484918f420020
MD5 021865309a36a043b5392daf6a06985d
BLAKE2b-256 a007f9fae0c7506122edbf8f361528700afc24d2395c37f24faa804155c97648

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3dc97bb8025da04e567c445ada3ec75926fdac5a32def41f42ffe7f9bbcb2365
MD5 702d0d6d47b877bb2c8aa0559b746f96
BLAKE2b-256 b89bbc422317ef30bd71c63a93cc046ca5e1549694322b5a1454b2516320c28d

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: limulus-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for limulus-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 701409154c7779bac61ca129d6ca20fe72f64e143620d71da1692ae167a6c38e
MD5 b9467cd7c018bbf522d0608263fa79cd
BLAKE2b-256 42548d53f7fe4f91f4ca3c93709604abebffeddba0f5d3cc544aafba38172c55

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 651ba2ada22b6c3ff0f06f2ca89087886a5a48091544c2a18041c61e3b3d9b21
MD5 ed5a42c93c32ac5da34dfc5d5621968a
BLAKE2b-256 6fa961ce4cb955f32ac3b626db7645cfb4298b3f7da4627ca5546e96d36e4b0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fe3f194ff6682d79b1f36d2ae1b3c9a6dbb424ba447b93d3dae52950606548a7
MD5 a37205965b77475adaa8e378ffc4f4cb
BLAKE2b-256 13d0ba3822733d65c7296d2cc9a9046504508378f8aa5c49a7737fc388c29e9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 ed51c4b7f4ad33153539e9965367e4c87e63f22a669f73c4a6ef587ac68256ce
MD5 e2586dd0d93af1cd01599bc7fd983ba1
BLAKE2b-256 54822dfe6d165ff6a6e1a5e23ef622d412f15486e6d57933683018cb47068372

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: limulus-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for limulus-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ef53b56f9c4cb750a653511864ba3f32be2bf96aa5a0c5ecef3dbc3ed0717eea
MD5 462c8b40cfd6bb926dba24ca0d1975c7
BLAKE2b-256 ff1672f3d3a78d9b91f40a22cf73969b8e0608638f9073e977754b52a4e5ad84

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3eaf8988383c302ac3554b449e180a6e00c6d301c473269598f163831f7cadbf
MD5 16f4a7ff7d69262d03c5151baa505cf3
BLAKE2b-256 16ea2c807a4dcdef17568fed570fe349f531490da4fcdb1f7cdee3ddb125594c

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4af563fdbaf8e08c56e3dbb2909b3012f83c46a69f5f2c8e12dae9b0099b31f6
MD5 f098e57c95a25a58e4b85c38f6ab9978
BLAKE2b-256 130e5094e3586dece97250c739e31e5f3480cbb0c79cc6358cb6d44849684924

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file limulus-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for limulus-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 aa143b49ac651053312276d744d9964654712f1a12c555704980f18c4345164c
MD5 4cb2fcf889070e69938889e91d383527
BLAKE2b-256 3acbf9e4cd0162e20509438b77c7384ab31314246137009b6c7e3bdcd90078e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on k-nkmt/limulus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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