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

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

rayforce_py-0.0.11-cp314-cp314-macosx_11_0_arm64.whl (636.6 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rayforce_py-0.0.11-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (931.5 kB view details)

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

rayforce_py-0.0.11-cp313-cp313-macosx_11_0_arm64.whl (636.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rayforce_py-0.0.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (931.5 kB view details)

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

rayforce_py-0.0.11-cp312-cp312-macosx_11_0_arm64.whl (636.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rayforce_py-0.0.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (931.4 kB view details)

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

rayforce_py-0.0.11-cp311-cp311-macosx_11_0_arm64.whl (636.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file rayforce_py-0.0.11-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.11-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cbd524123cb364d11ea0d4367350e4cb9441f1b349b787908c8b263bcd113fca
MD5 4585173c2ddfdc1779477412e3413ff4
BLAKE2b-256 4e177b0397c5b98ad42f17092bbdb6298ec1e42a266e3f826b60f940e28cf170

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.11-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 364ce9fcd815d4df3927f7a0ceaccd3310b3eddf093dee511c8b26faf661011b
MD5 303a0c4df8fef6c79e512b042f9e1974
BLAKE2b-256 22bc939992b5920a54e6e6e218ac6f21051e3a4e4c8a5bf5f9ba173cb6352c91

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.11-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.11-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f60f5e0c5297b72933fc2143c555d006b895ed3cdd18a94366834f0327d32220
MD5 300587d4677339c2146591f5cc241bd2
BLAKE2b-256 b54c95cd0d6e91ca59cd0617756ebaad4f523ff4ed7e46dd995d9483071db1fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.11-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5dbaf36902f70c6568ecfcad7b080b1f6c5e394205fcc7a624595bfd641c9aab
MD5 914de10bdc93cf46c1bd58c5bf4cdfc8
BLAKE2b-256 5148f3e1dc6ff589cc217fcc83423b2f9347b5c10d30a1af442cbd2e2eaa9951

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.11-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.11-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9e0263dd1b7bc6229ac2a954fcd923af809df51e5a09befd0ea737ca3159df8b
MD5 9ae7ca028f8fc4c294419f023de09290
BLAKE2b-256 440c599b94c33ef4b9f4d2d6b31a73b76f5effc7cb5a83ee6b14d5c1f0ca1583

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.11-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9740a88a0c34b5dece28cd20283c570d2a5e7430a260292820b44ae60243a63d
MD5 a79cd885aab3230c9ee79b1e410fc781
BLAKE2b-256 ef2732f9810f89bfdcc3d744e840bce76e322f819fe2b4a76c33701d5f3f5851

See more details on using hashes here.

File details

Details for the file rayforce_py-0.0.11-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.11-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7500056dd11bc742e950efa4c7ef8a5a36b211ebd01a418144717f09570a9810
MD5 da8c7abbec464b94f96f8dd729d069f9
BLAKE2b-256 e3f57fbb70c71518e41f1717044a49df3add984a886fa09ad5d4f4a16b765cf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rayforce_py-0.0.11-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b340fce4848139aeef24a5fe878a96967ebd204a97077ea8dae4032b50e9520
MD5 3518685237c4e4a18a563fba4838b2fb
BLAKE2b-256 e8fea4fdaa5f944bfaf973ed851a29508909dae9f9121e35a4a1c65d3ac11daf

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