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

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

rayforce_py-0.0.8-cp314-cp314-macosx_11_0_arm64.whl (635.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rayforce_py-0.0.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (930.4 kB view details)

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

rayforce_py-0.0.8-cp313-cp313-macosx_11_0_arm64.whl (635.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rayforce_py-0.0.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (930.3 kB view details)

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

rayforce_py-0.0.8-cp312-cp312-macosx_11_0_arm64.whl (635.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rayforce_py-0.0.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (930.3 kB view details)

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

rayforce_py-0.0.8-cp311-cp311-macosx_11_0_arm64.whl (635.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file rayforce_py-0.0.8-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.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff6c98ecf020d260e493b0bb74e4f7c0e7c46089a0dfe20d1e7cb7301d901227
MD5 ed138b5357c2e16d8057f75a7dd283ec
BLAKE2b-256 4f41dcefc31ee5247c4fd9416ab337d7f4c4daf6379f20ab073457ff45902c06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04359123fa32dd0ed4709f0d78511b669d5a6a84a9ad60967607125dea64ccb3
MD5 e1052fde9b0b1a2547794dc2d3fedae5
BLAKE2b-256 12063b48adab0b0a96047397a77ea7c7dbba91236130460f20616ea1512d1fbf

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.8-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.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7daa86d0cd07de24adaca7248f29e6adcd138708e8542a6bf023734d984b57a8
MD5 f92e67caf6e193bdcb056c93d7e7e7a9
BLAKE2b-256 92e1319ba9ce1e0a807c11a30a14cab1171c4a81701f6f2496065967bf61dd1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 82b60b93d7aab8bdba0252eca9e0920630a498d6549e149e9559802862915e99
MD5 02b95432b010a1812fd49bcce88bd1ed
BLAKE2b-256 f7cad55ca742abdc85e493c5ef6207f7cfa2225cf7c1901af8497295aa3ec339

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.8-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.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59d2b34a09b409bbbd9f5bb08f25d48eeffa8812005528aa0eaae97435079240
MD5 28aeaf56479857e6bf79a4fe5bccae4d
BLAKE2b-256 69490348201320775b5b5bef56484d82b7959b95b725dedad77d42ad9e13dd31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 682bc1768092657007c74b9678810af19e5cbca75f5d6d4438a91477791c5d57
MD5 9b693eeee93fa532d84ca80ded15f95d
BLAKE2b-256 c500ecfc676bd6c7ba2dcb8ffb13172961fe92f152e5d54f11fb8880daa2d2a9

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.8-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.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d21815c7bf4b86669de11613956c79b13696e1239d781e518b208704ff623b2
MD5 44722ea86e788d298cfe60e4ad184aaf
BLAKE2b-256 b49334d190851e1ca2c1e20a75181cbd5fb6baaeb51c1af31f57f71f58101b32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3d6b7142ef027533391e2d7e843652962bab169aef87fffe5357ced6bdc9f576
MD5 3a2739ad93e54aaaa4b13a4a0a6a49c0
BLAKE2b-256 6cfc311aa60ab3c12de0e07d69594992f72f4d3954f9f46bd3bbb0abcd208206

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