Skip to main content

Python bindings for RayforceDB

Project description

High-Performance Lightweight Python ORM designed for RayforceDB

Documentation Tests Coverage Release Python Version

Python ORM for RayforceDB, a high-performance columnar database designed for analytics and data operations. Core is written in pure C with minimal overhead - combines columnar storage with SIMD vectorization for lightning-fast analytics on time-series and big data workloads.

Full Documentation: https://py.rayforcedb.com/

Features

  • Pythonic API - Chainable, fluent query syntax
  • High Performance - Minimal overhead between Python and RayforceDB runtime via C API
  • Lightweight - Core is less than 1 MB footprint
  • Active Development - Continuously expanding functionality

RayforcePy Benchmarks

Benchmarks run on: macOS M4 32GB, 100 groups, 20 runs (median), 5 warmup runs. H2OAI

Quick Start

>>> from datetime import time
>>> from rayforce import Table, Vector, Symbol, Time, F64
>>> from rayforce.types.table import Column

>>> quotes = Table.from_dict({
        "symbol": Vector(items=["AAPL", "AAPL", "AAPL", "GOOG", "GOOG", "GOOG"], ray_type=Symbol),
        "time": Vector(
            items=[
                time.fromisoformat("09:00:00.095"),
                time.fromisoformat("09:00:00.105"),
                time.fromisoformat("09:00:00.295"),
                time.fromisoformat("09:00:00.145"),
                time.fromisoformat("09:00:00.155"),
                time.fromisoformat("09:00:00.345"),
            ],
            ray_type=Time,
        ),
        "bid": Vector(items=[100.0, 101.0, 102.0, 200.0, 201.0, 202.0], ray_type=F64),
        "ask": Vector(items=[110.0, 111.0, 112.0, 210.0, 211.0, 212.0], ray_type=F64),
    })

>>> result = (
        quotes
        .select(
            max_bid=Column("bid").max(),
            min_bid=Column("bid").min(),
            avg_ask=Column("ask").mean(),
            records_count=Column("time").count(),
            first_time=Column("time").first(),
        )
        .where((Column("bid") >= 110) & (Column("ask") > 100))
        .by("symbol")
        .execute()
    )
>>> print(result)
┌────────┬─────────┬─────────┬─────────┬───────────────┬──────────────┐
 symbol  max_bid  min_bid  avg_ask  records_count  first_time   
├────────┼─────────┼─────────┼─────────┼───────────────┼──────────────┤
 GOOG    202.00   200.00   211.00   3              09:00:00.145 
├────────┴─────────┴─────────┴─────────┴───────────────┴──────────────┤
 1 rows (1 shown) 6 columns (6 shown)                                
└─────────────────────────────────────────────────────────────────────┘

Installation

Package is available on PyPI:

pip install rayforce-py

This installation also provides a command-line interface to access the native Rayforce runtime:

~ $ rayforce
Launching Rayforce...
  RayforceDB: 0.1 Dec  6 2025
  Documentation: https://rayforcedb.com/
  Github: https://github.com/RayforceDB/rayforce
 (+ 1 2)
3

Built with ❤️ for high-performance data processing | MIT Licenced | RayforceDB Team

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.

rayforce_py-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

rayforce_py-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (733.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rayforce_py-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

rayforce_py-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (732.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rayforce_py-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

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

rayforce_py-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (732.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rayforce_py-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

rayforce_py-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (732.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file rayforce_py-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37147c19e194d83c91f1bba9963bb1a4044fe608ad8a81d8d45a18c641d8f9db
MD5 78a2f531f17ab508354f921054434044
BLAKE2b-256 678e8133a2ce016483d714ab733a59f0680b8f88ddd9c8030ba042823d29fe0a

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05f95b35b66e6a78d13f84b97cf1ce61aa276636f36442db905c5e42fd6b4836
MD5 b0d55b378a2b190a1cef22a14f20525d
BLAKE2b-256 ae8eaf24f4bebf4c6182e821c59e46037fcb0414aa7ec96a896e00e91facad6c

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46506e8ccf9d7efeb526853fcc50f02ca87900ab60926ee343f58b9566d2877d
MD5 b2ef65e3641522f47b9d6f45bf2155b4
BLAKE2b-256 5bbe29887ddd2bbd70231a084410cfb223270bc1d27c1954cfe10c847c83949c

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1a0316219e84ba558abffcf8335ebfc7f1fe4253c77ff90d3b83d2f069713e3
MD5 585822076a9742a4c675ce56329a3182
BLAKE2b-256 9244dde2c111f6da54a90106b08a6b0fe57f1e55addadf3c90d23a6a5f2f1416

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e3b4ab4f0c5bf01556d63c5d896a5f015bc4562eeb9af44b1df152c8cc5dd18
MD5 eb93228d4cba4f7e187f313b7655d507
BLAKE2b-256 8790096a3e9a10ab502725c882089df18f4066da3d035704bb56c5770464fc63

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40afaf15eb39c3c8a86d02c3315f4d4b5359ed4a5109df2c4f00a3f45c0dd36c
MD5 8532867230176a6f0578875c147e7d6d
BLAKE2b-256 5ae26b1aa4756990afcf8fd98b20ccd4b925e1180c21e66b8bcdd1d5bb48bd1b

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 544aca4ae9e0f57d880718fd7489c4fb211c3e13fad87d91ab3677871b2c0dcd
MD5 0b037f52f7f670d264ac2ae2e38a3b7f
BLAKE2b-256 9c226b1866544b05d5389ff4f778e5c328ef3c3fb67ba474141e0f1c2a1b9ce0

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rayforce_py-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8780dd4da78613780d350c462539dbd11370c4805e3cbf25d65ef3008d0c124c
MD5 1845b6a8f1060a26a5425dc77e8eff86
BLAKE2b-256 6dcc380cb65ea59c9abc62885b2ddc13a51fb9e99346a8080d63a4762ccd7b9a

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