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

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

rayforce_py-0.0.9-cp314-cp314-macosx_11_0_arm64.whl (636.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rayforce_py-0.0.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (930.6 kB view details)

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

rayforce_py-0.0.9-cp313-cp313-macosx_11_0_arm64.whl (636.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rayforce_py-0.0.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (930.6 kB view details)

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

rayforce_py-0.0.9-cp312-cp312-macosx_11_0_arm64.whl (635.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rayforce_py-0.0.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (930.5 kB view details)

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

rayforce_py-0.0.9-cp311-cp311-macosx_11_0_arm64.whl (635.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file rayforce_py-0.0.9-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.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 619319f2ccb4d463b8285fab4c45018c8e2515af4d99409194f3a325e2266429
MD5 a5e9fe5c636eee47e89d08c265345596
BLAKE2b-256 649f37e80a767dabb09d3677727fcf68ad3f53a8c3179ac576d69004a511d6a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.9-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 07992d78070a5af86f32fdc2c9444830047d9405142f1ef5b182b2c4575d40e9
MD5 bed92a2138d1190ea4ef0f2b0c6d073d
BLAKE2b-256 2c9f91cc6836595d1a07756b63ab891c0acf8cc8c8d8c211e435c3cf8f36a8c7

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.9-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.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d4268fa891e4163c566736dc9dd380042be9325861bee9d083ef3ed6777c592
MD5 82c9cb0bb79398520b291eb8b80587e4
BLAKE2b-256 a72b339e3de61a48352455aa64640d138131346c4bee5b7d5f3090af98903c20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1350c9c4d777fae3dbe61ca8cc8b927c92bcc5a773e941ed9781b7921cf8080f
MD5 fe29b7cc0bc58b4617718d9bf8e16491
BLAKE2b-256 82937d355e5e1d265012d6088271b0caae2a3e1b56a4f947d11f7a149a2b1685

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.9-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.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77ae6ab61e461959a5648249c684d490fbe060b1d600fc6bca3f9b4767d3d343
MD5 a57f520135805d36ac06e7e97bb3fd61
BLAKE2b-256 9db75cc491706cab99c2d3ffe29dded5580143cf5d79f1eac6658aeff504e338

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 26121d7cb7c7db0a826ab931f1723600656c8f096b28cee4e01d4cbdfce366e3
MD5 5955deb237f6505decae5bb7c019a842
BLAKE2b-256 eaddad35a67818a994b590da496a0e6aec46075327a5913b5521ca2fc8ed6263

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.9-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.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 144d5e427e311acca50bd8189df7719e3cc1d6a18dd565355b2577722673cf8d
MD5 17444a0d2bd96dfd6e5b54709d53a831
BLAKE2b-256 5248137b3dd012924f2f27de1cbc161a82308cca554b9c01ef7c575cf4b56f37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 62e8eb53b364172a85694c6ff5add0eacb552049b8ca079def18916fd3fef3c3
MD5 cb06ce05e9003d406d72d134a792890d
BLAKE2b-256 b5d1453c2212143d72831d1244073c21657ff7d51c585fee7d03994b4b775d9f

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