erpl-pyrfc
A drop-in replacement for SAP's archived PyRFC,
built on erpl-proto — a pure-Rust implementation of the RFC protocol.
pip uninstall pyrfc
pip install erpl-pyrfc
Your code does not change:
from pyrfc import Connection
with Connection(ashost="sap.example.com", sysnr="00", client="001",
user="RFCUSER", passwd="...", lang="EN") as conn:
print(conn.call("STFC_CONNECTION", REQUTEXT="hello")["ECHOTEXT"])
Why
PyRFC is archived and frozen against one patch level of the SAP NW RFC SDK — a licence-gated download of roughly 30 MB of C libraries and ICU that may not be redistributed, which is why PyRFC never shipped Linux wheels.
erpl-pyrfc has no SDK dependency and no ICU. The wheel is self-contained: it
works in a bare container with nothing else installed and no environment
variables set.
Version
Calendar versioning, YYYY.M.D, as the erpl projects use: a release tells
you when it was cut, which for a library tracking someone else's wire protocol
is the useful fact. A second release on one day takes a .N suffix.
Two namespaces, one package
import pyrfc is the compatibility surface. import erpl_pyrfc is the same
objects under a name that says which implementation is running. Both ship in the
same wheel.
Do not install SAP's pyrfc distribution alongside this one — both own the
pyrfc/ directory, and pip cannot prevent the collision. Importing pyrfc will
tell you so, with the command that fixes it.
What is and is not supported
See MIGRATION.md — one page telling you whether your code will run, including the deliberate non-goals and the handful of places behaviour differs.
Licence
BUSL-1.1, inherited from erpl-proto, and a change from PyRFC's Apache-2.0.
If you are embedding this package in a product you distribute, read
LICENSE and the Additional Use Grant before you ship: the
terms are not the ones PyRFC came with, and that difference is deliberate rather
than an oversight. For a package-specific grant, contact DataZoo.
Development
uv venv .venv
VIRTUAL_ENV=$PWD/.venv uvx maturin develop --release
# Offline tests only:
.venv/bin/python -m pytest tests/
# Against a live system (skips cleanly without credentials):
SAP_USER=DEVELOPER SAP_PASSWD=... .venv/bin/python -m pytest tests/
Live tests read SAP_ASHOST, SAP_SYSNR, SAP_CLIENT, SAP_LANG and skip with
a SKIP(live): line when SAP_USER/SAP_PASSWD are unset, matching the
convention in the Rust crates.
Some data-type and server tests need ABAP fixtures on the system. They are
created by one script, deployed without Eclipse or SAP GUI — see
abap/README.md. Tests needing them skip cleanly when they are
absent.
Metadata
Release files for erpl-pyrfc 2026.9.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| erpl_pyrfc-2026.9.3.tar.gz | 516.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| erpl_pyrfc-2026.9.3-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| erpl_pyrfc-2026.9.3-cp39-abi3-musllinux_1_2_x86_64.whl | CPython 3.9 | abi3 | Linux musl 1.2+ x86-64 | Details |
| erpl_pyrfc-2026.9.3-cp39-abi3-musllinux_1_2_aarch64.whl | CPython 3.9 | abi3 | Linux musl 1.2+ ARM64 | Details |
| erpl_pyrfc-2026.9.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| erpl_pyrfc-2026.9.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| erpl_pyrfc-2026.9.3-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
| erpl_pyrfc-2026.9.3-cp39-abi3-macosx_10_12_x86_64.whl | CPython 3.9 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 10.7 MB
Release files / erpl_pyrfc-2026.9.3.tar.gz
| Download URL | erpl_pyrfc-2026.9.3.tar.gz |
|---|---|
| Size | 516.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c79d629b9d9ee7c4a8a6c713f2f451fbfa54dbb1e870eeac5a56e8b217e14162
|
|
BLAKE2b-256 checksum How to use checksums |
272b0a3edaa188594dce87461461073151cb756e2825f2bf1abec93e7751218a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / erpl_pyrfc-2026.9.3-cp39-abi3-win_amd64.whl
| Download URL | erpl_pyrfc-2026.9.3-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
cf7fcf027bc8c8525f9dad5de9552a8ece839180f8210f4a058733cc48d4f8c9
|
|
BLAKE2b-256 checksum How to use checksums |
d69d10fec94cab6e8b10d750f48ddb9b6096df932f611641914b055c3b1b62a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / erpl_pyrfc-2026.9.3-cp39-abi3-musllinux_1_2_x86_64.whl
| Download URL | erpl_pyrfc-2026.9.3-cp39-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
a6a5535d4275a26657a7194f7a37af1dc4d2cab0cec0f2a5cf531db55b8cbb87
|
|
BLAKE2b-256 checksum How to use checksums |
6d9d2be714dc81ab3c86ee9e581cda9f532b80cd310c7ca0654a8c8c386cda8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / erpl_pyrfc-2026.9.3-cp39-abi3-musllinux_1_2_aarch64.whl
| Download URL | erpl_pyrfc-2026.9.3-cp39-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
470906822e549841fa145223b1a48b3a3abc8893def8e7068b94019d620fc951
|
|
BLAKE2b-256 checksum How to use checksums |
f1e48187bd5885a04a4d152e21da16540c8b1aef83b7dcf29414bd5a7b899603
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / erpl_pyrfc-2026.9.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | erpl_pyrfc-2026.9.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
748273e8ba19bba5678e4f7716aa5d63fef134c612e281f411a0e2712b233e04
|
|
BLAKE2b-256 checksum How to use checksums |
1bab50b8b33614960e8211df3a345675f9b56634e9f76a58bdafaba0a44c2908
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / erpl_pyrfc-2026.9.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | erpl_pyrfc-2026.9.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
b88fd3a73759034c63dd0e08341eb729624bb18dd4ae649f2c089df9e559bde9
|
|
BLAKE2b-256 checksum How to use checksums |
331a32665d664f6fe3f2d8ce22158645eda0b40f92252ae962b68c80af33f52f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / erpl_pyrfc-2026.9.3-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | erpl_pyrfc-2026.9.3-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4bf29813deaa78b09724f5a8ca40fd92aa920feac14d155d166c9ffcbebda4d9
|
|
BLAKE2b-256 checksum How to use checksums |
30ae7f7ad8c3c11fc5b6f4b0ab1e579cfc8b8410df3e8e2ad825b68dbe513dc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency logRelease files / erpl_pyrfc-2026.9.3-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | erpl_pyrfc-2026.9.3-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
bd9acf7b4435acc46ed907fdb57793bcbc33633f8020dd2ff1e95d446dd384b2
|
|
BLAKE2b-256 checksum How to use checksums |
a6d7c9c04ab3acfcd5e4d4a7bcb27929a159a894ae5d3856a6bcc611c1106145
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.
Transparency log