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.1-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.1-cp314-cp314-macosx_11_0_arm64.whl (733.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rayforce_py-0.1.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (732.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rayforce_py-0.1.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (732.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rayforce_py-0.1.1-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.1-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.1-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.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4321246a8ca53f94816400ca4d2191f2b93a4c5bc79104b91423e9ec8ffb0f4d
MD5 a66aad51adcb9219232d85ac15bf11bd
BLAKE2b-256 38c1136697d674fd9ed86610fed1cecb764387ff727ed9f6bdebc6c0f708df4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 36cd7af6fe7c25836058056560a8bc2668f29c97366c2fee9fbef82a3079ca99
MD5 b3f8ece1098071a4229a47b349368561
BLAKE2b-256 b6b6f590dff945ebbd6802220aed428a7b1a54e43ecf3a091dd6a86cf7f90816

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.1-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.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72522ba88f78051c8ca57aa8d75ca5dc0f060c49e5fa8a0621bef59710b4ebb8
MD5 99e7ecc82a564d065fd268ada94c06b3
BLAKE2b-256 210cc8dd51e1a6aabfee695cfdc2129656dee9c6fdd85087a805475a3b83e360

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 297a9f6c887d874cb387c9c0694dc2ec64ee5fccd3d744e048808610ed630c5f
MD5 9732e5e105510a573d6889d8a2a0e463
BLAKE2b-256 9bb9b8004e20f69ce988a54378a593d6e1727f824716b9dfe72ac589c53d1bcf

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.1-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.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 890983b15c7a694b18a6fc45447994ca7e354b1f9fe72f07ee1613a14975d455
MD5 c99a20dd71f1165865bd3e87dffa8b65
BLAKE2b-256 e4b0a5b407b46cd9140dd9d87a1fb27563e0586ebff8ac14c5a5f4aa5174cfb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fb3dfc386603363350bfca903934b8f1de3e2293668cb5405db035142ee0f20
MD5 a1a6411184b4b4a8e6aca2afa8edbf7f
BLAKE2b-256 57d651b1b4b5ba03029259cc580a1744010d83c8a1e49d096002a9f9b23b1e44

See more details on using hashes here.

File details

Details for the file rayforce_py-0.1.1-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.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c6f21e4c9249f08b3b6180c9d4a11482805f63d8ec2e7f5ce1138ad83d02f8ac
MD5 ad733f047e7920616c90d4fdd3209508
BLAKE2b-256 cf5336d3c0cc0743b25fab8b694280238784e08663c754d996e18242cf956d60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a27c7f04df6f576019e0f3fe2dd56022a6eb8da0ce91ebb5eb8e8e9693aa79ab
MD5 0144cbbbe29e687e714f51c068949f20
BLAKE2b-256 c0b05a25d11d9e7e5ebb91277611c9de7b93d39cbfa6e9cbe877cccb1579dc0e

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