Skip to main content

Python bindings for RayforceDB

Project description

โšก High-Performance Python Interface for RayforceDB

Documentation Tests Coverage Release Python Version

Features

  • Pythonic API - Chainable, fluent query syntax that feels pythonic
  • High Performance - Minimal overhead between Python and RayforceDB runtime thanks to C API usage
  • Active Development - Continuously expanding functionality

RayforcePy Benchmarks

๐Ÿš€ 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 will also add a handy command to call native Rayforce runtime from anywhere:

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

Full documentation available at: https://raypy.rayforcedb.com/


Built with โค๏ธ for high-performance data processing

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.0.13-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (933.6 kB view details)

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

rayforce_py-0.0.13-cp314-cp314-macosx_11_0_arm64.whl (643.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rayforce_py-0.0.13-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (933.6 kB view details)

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

rayforce_py-0.0.13-cp313-cp313-macosx_11_0_arm64.whl (643.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rayforce_py-0.0.13-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (933.7 kB view details)

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

rayforce_py-0.0.13-cp312-cp312-macosx_11_0_arm64.whl (643.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rayforce_py-0.0.13-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (933.6 kB view details)

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

rayforce_py-0.0.13-cp311-cp311-macosx_11_0_arm64.whl (643.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file rayforce_py-0.0.13-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.0.13-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53538b01193f46a7825579513fab9bf8e6d67a0eee618d603939ff252c106fd4
MD5 fb01a3ead53fab7a79669bcd5c8a77c7
BLAKE2b-256 161f8a7e36d5bb9da3ef0712ce7fe2c5213b49bcf6ff99c9622ba2b14ff96cfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.13-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94b9fc7b8eed2a203b0a1b2e3dba4d28ead2296c6407487b1f8d55a9d0038d90
MD5 44d2eb174e015759762c2d9d1871c32b
BLAKE2b-256 e8c77ca275f9cacb9f8448a827e3b0db768b77eac3e82b5c005ed29597e26ba2

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.13-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.0.13-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b1e73e4bcc82188285e488ab8b95b70d8fa90cbcc4b73360c1c8c0f64e2f34f7
MD5 1055c74ac7d044c6d88d7c0a1277fe87
BLAKE2b-256 99409094a151dcd7a0e101ca10b4dd4ac1eb997e76d5875fed12ee8be13f801a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.13-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f9471226277f83c7bc5d84d7a2d804142feb473645aabf28c3d022688b2f40ff
MD5 890cf387d39b5bcd6a09fa9786925435
BLAKE2b-256 44ad5f21437d4fdbf2788de1220b5452b499a001fa8489128f1bda0bba23070c

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.13-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.0.13-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b0b5e9558e9aceb693eb86c2b92ec1b592093e5b9f79525160e168ae5814583d
MD5 466d9206aa58f768554b124b4af54a1a
BLAKE2b-256 c100ad8dc199ffc367938b3b49abef449883a3c483e9b51182f65c5639a3f70d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.13-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d020c0c8f673056ae30fa7064e5f2278cde15b5aa6439a6291f96d549bf6af23
MD5 d1698a7afc6d8a4a38c6e6fe65215763
BLAKE2b-256 69e3e75fa932a39514cb17f152aabb4dcfd79a68ba9a36ba32e452afce726832

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.13-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.0.13-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5032ad0b5eefc0b5554f560da3fc4fae84eeca80c1b65ca29eb0c8fbc363af5c
MD5 52b26d2913f62d54d6f09c17c5fde7df
BLAKE2b-256 50bcee9f95c2f5d190cc9c6c7b53812bb423887c46fc85e743d7b0893e00646d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.13-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9a60554b9f1adc42f4e48f48a88362ec20920c64a53b64a86588b19b38223fbd
MD5 748789c182ed183fddf8bb8c6709cf3f
BLAKE2b-256 c3da0b137ae71b2a6afa54c6bf51a7d1ae46da3b68e652e2711396e1001c3978

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