Introduction to Rayforce-Py¶
Rayforce-Py is a powerful library which allows you to effectively execute statements inside RayforceDB runtime using handy Pythonic syntax.
table.select(
total=Column("amount").sum(),
active_total=Column("amount").where(Column("status") == "active").sum(),
count=Column("amount").count(),
)
.by("category")
.execute()
┌──────────┬───────┬──────────────┬───────┐
│ category │ total │ active_total │ count │
├──────────┼───────┼──────────────┼───────┤
│ A │ 600 │ 100 │ 3 │
│ B │ 400 │ 400 │ 2 │
├──────────┴───────┴──────────────┴───────┤
│ 2 rows (2 shown) 4 columns (4 shown) │
└─────────────────────────────────────────┘
The interaction with the RayforceDB is happening via C API bus, which allows us to seamlessly operate with your local rayforce runtime with little-to-no practical overhead.
This library is operating under 0 dependency - it's run on pure python, without any external libraries. Read more about the underlying implementation in Performance section.
0
Average Overhead
Nearly identical to native performance
Installation¶
Platform support info:
| Platform/Version | 3.11 | 3.12 | 3.13 | 3.14 |
|---|---|---|---|---|
| Linux x86_64 | ||||
| MacOS arm64 | ||||
| Windows | coming soon |
with pip (recommended)¶
Distribution is available via pypi:
python -m pip install rayforce-py # OR use available aliases: python -m pip install rayforce python -m pip install rayforcedbfrom source¶
You can manually clone latest github repo and build it yourself
~ $ git clone https://github.com/RayforceDB/rayforce-py.git ~ $ cd rayforce-py ~/rayforce-py $ make app # 1. Pulls the latest Rayforce from GitHub # 2. Builds the Rayforce and it's plugins # 3. Moves binaries around so they become available to the library ~/rayforce-py $ python -c "import rayforce; rayforce.I64(123)" I64(123)
Discover¶
If you would like to become a contributor, please see Contibuting section
If you are a developer, please see Documentation