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.

A more permissive license may be considered in the future as the project gains a more stable foundation.

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.5.0.tar.gz (178.5 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.5.0-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

limulus-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

limulus-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

limulus-0.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (5.7 MB view details)

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

limulus-0.5.0-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

limulus-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

limulus-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

limulus-0.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (5.7 MB view details)

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

limulus-0.5.0-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

limulus-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

limulus-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

limulus-0.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (5.7 MB view details)

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

limulus-0.5.0-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

limulus-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

limulus-0.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

limulus-0.5.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (5.7 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.5.0.tar.gz.

File metadata

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

File hashes

Hashes for limulus-0.5.0.tar.gz
Algorithm Hash digest
SHA256 b8a5e641b53dc5c9db4a13ab47fb47b2c8c228589c928b2d91f205d49a8bd073
MD5 a96dc879dbf51b44a43c4fdc0a8e0698
BLAKE2b-256 e206c710d4c3fe29c99599a90c36d3195b1aebf668e479b077c547387f483ebd

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp313-cp313-win_amd64.whl.

File metadata

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

File hashes

Hashes for limulus-0.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4342cfbad9bd206539daeda6f0abb8efda0212f57f76cc6a0221a079a603182c
MD5 cf3e9345b43dbc5d458f8b0f274ec6ed
BLAKE2b-256 16770fc30c6a7d3088ec38b390b0c58f717267334f13a5671fd25c30f626fd56

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2070154bb14a0f95b3ef4df6b22f82c07d152aace1a62c7e37201b83b7649263
MD5 768613386cf2e7a3decfa16a664db2f3
BLAKE2b-256 a00c1b2b6d9e599badb2947a28bb38bd63d4e3c5a8fb502cb4114f3c23cf356d

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d1272bac0c0da49d1d86409058bc3c0b2c84ffe465fa82c399c0d943c3146d15
MD5 ef150b4d27af583348a28b25cb8d5949
BLAKE2b-256 22dd31fbe7d6be79a5feba9a4d53cee4e817985b575baa974561724599399112

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.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.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 f2f88aa6216d201b40c28ffdc21e3277cf8c2d361324b5e213c3bd58691b57c3
MD5 560c25ae7a28e071bb604929fb2d5883
BLAKE2b-256 fdfa3d7ece4bf67c731222d3347d39cafc6fce3a13cf87ed50d99836099ec97e

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp312-cp312-win_amd64.whl.

File metadata

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

File hashes

Hashes for limulus-0.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c3dd7c6a69a8703f48074fe0771c86379e0f063ae3f622bd26c5133fbbc23420
MD5 5dfd8874c0c44227911064988a0b62fb
BLAKE2b-256 ef061feb29ea73f219b6268c5f07a2302916e029b04620f1ef7b4fdb885afe0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3877373c50806d390719ea69a89cd17e589f09cc60afc0e7d62c05a57f935288
MD5 c48df9e2a5e70a252ddbadd02e40a289
BLAKE2b-256 237ebe7bc7a99d793c46757479def9e8757cccbae642e2d56bfc94b314410b20

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ddd096c5d1467b1b1e34b064327bb9cef86cbe555c3aff0c9709bcbf44ef8056
MD5 5786cf0abf144f4ee3c28cda2f5651d2
BLAKE2b-256 0156360fac3102426944cb9a874dce75ace39e2eef21465c7a68ae8f52c6b63a

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.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.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3cf3cf99b09489f9006a53334bac580047aeef85cfbc5573d1aa6bc0c849d205
MD5 75a75cc036ff6122fc56c90747f3f259
BLAKE2b-256 968ddc4323d867a26eca47b42ddb41c9d7ead3024aae8484244f67ad10fd77ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp311-cp311-win_amd64.whl.

File metadata

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

File hashes

Hashes for limulus-0.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 25d30724033c8985b4152769ff25760a74919f3e8721c74981d608b966814f31
MD5 9b2ee4c7dd5cd4a3821c5d6598d74b5c
BLAKE2b-256 16aa6067fd816dccd5c1e04ca3f227a3f7f7c97f36b6e98cf94d54883bd8b314

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5c922c0d30ff9fe263eb775740a5249466fe3b0556cdc7bececd11ac86f9bd8
MD5 a63eaa1d06aa746bb0b977f71c1cf728
BLAKE2b-256 427a4ad120ad321296050bb46a67a0f709bfd621824b055851f63c72cf6582c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc2d0ecf4e3cdd87a549f8175676d4a042bada11a75fe597765b370bce21ab09
MD5 f92ba6737e43ac0224c1559c814ee92f
BLAKE2b-256 d1fa3140516eb99847a40855bad95dfaee80f6f12574571550b254d6608f07ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.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.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 b2119f5635e1ee930773d0cf5898aa6d9b478098b21710b7aede5928d2d526c3
MD5 87aa13233f66442e9e24622deffed17d
BLAKE2b-256 3a66a8fdb4364e851451de5944ca1f9d07c251943711f7b9729198ce8fe02595

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp310-cp310-win_amd64.whl.

File metadata

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

File hashes

Hashes for limulus-0.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 570fa817a6f0dc5af1be55f4adf58cf76889356f71e86ca98f35a6495e8b3d9f
MD5 95d89e1c7d39b24c586dc06856e1a175
BLAKE2b-256 9b7111bb745bcc1ce52c35e39ffc25945bd35be95af713aa54aefaea351781f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b639c12bdfdb4a41efb8000affc219a5e509780a4ef4eb0c539572c561296d2
MD5 4c6ac773b95e0ed997e578a0a8a99a2b
BLAKE2b-256 d431ac5e271bf879e7a95a8cc68253c44742d9a13a9bf53a30689a25bd2e8588

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for limulus-0.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f2e17825f1422000cc7dd8c21d496e71a3264cb15b17b31732573bbad6cd5945
MD5 cfe2b7ce4402ad5e41f8c17b78d26d9d
BLAKE2b-256 ca9e67a64664676fee2b96fe74fbed06e61029497b654b8ae9432a42c9391b76

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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.5.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.5.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 889ff75464cba65b7f5d84e8752fbb383a41b837e275409f1c010c04ff19409f
MD5 749048bb2a455304132461bf10543089
BLAKE2b-256 e5b5e4df0a75e92196a18708e507035371f2f57703930cb5fdaa765d41f85c26

See more details on using hashes here.

Provenance

The following attestation bundles were made for limulus-0.5.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