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

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

rayforce_py-0.0.12-cp314-cp314-macosx_11_0_arm64.whl (639.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rayforce_py-0.0.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (935.1 kB view details)

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

rayforce_py-0.0.12-cp313-cp313-macosx_11_0_arm64.whl (639.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rayforce_py-0.0.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (935.2 kB view details)

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

rayforce_py-0.0.12-cp312-cp312-macosx_11_0_arm64.whl (638.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rayforce_py-0.0.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (935.1 kB view details)

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

rayforce_py-0.0.12-cp311-cp311-macosx_11_0_arm64.whl (638.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file rayforce_py-0.0.12-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.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7703b2df72ae530055f55342de3bd494016e20788e3d0029299f98caf9570aa2
MD5 7666feab65b47bdf03452625b1f29e9d
BLAKE2b-256 0d9eab900ac7e36d879c83f2ea21a908b8dc6b27d34b2f43a8faa8524e915803

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.12-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c457586b96f3b0b071b11a6f646e7f67b2d073715d6f5ca75ac22b2f0035bbb
MD5 a88a1feca2ae51e6ace6ba695b46a87a
BLAKE2b-256 9b9b3144417be03d2422ed496b3375f8f16627f5feb115ddc49df73182514a8b

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.12-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.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aeee574805daed583c01981ce529e7d305e12af8172a371dee3926b33367ee8a
MD5 c07b6989371aec7d5e1b7630db55c27b
BLAKE2b-256 e34e10e569278b9193b89879e5326249e8928e5819b76610cb540db54e85dc18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.12-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aedc8f3ba0bf195ba9f7aba418b1f702ce4197ab1ed8e866087e538170c94d86
MD5 fe85d422b823a4dfdf63d5312985da2c
BLAKE2b-256 d01437c0520edde3d6d9ae3066988ff38740ec6f66e372f487b37feadd2a4fe1

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.12-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.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd2f932cb7ccd041268bb56c962e374f74985b6b69dd9da24f0e836839f94710
MD5 d2de2d8ec9da98048bd544198fc71556
BLAKE2b-256 c5d0261f934541178c0ba74be6111b2ca23a255d1125b7d05e4ce7c4dcb44cf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.12-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3279d5e33bc9e91797bbe7452fbd771780f91252836797d6a056374d2b4b85cd
MD5 c4d40f6108fe06ae28372b6e5070464d
BLAKE2b-256 ff81a4476e212fd88e3ea92b4d83b54a56e8d3fdc33950317bd3b7f364f2a468

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.12-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.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 17b49977005701d4a1d6a188439f0a620c5347ce1dfd192e59ca0645e5943301
MD5 beeb64dfcf995903857398d75cb7403f
BLAKE2b-256 458bfc3d1027f2d0a88d7f9d365f5db143f490d8c8707d2bf250c968f386594d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.12-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abcf8d5b11f8188eb7f6511296f0db7a3dab616b766edfc5da7d2e84d5bc2d89
MD5 70e187fc91519cc6b5de04b73583de1b
BLAKE2b-256 20910acc2d7b97836389916bd5c34acf4b0de2177aac137c8836f47ec77edfda

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