Automate SAP extractions (GUI and RFC), Databricks queries, web scraping, SharePoint uploads and Excel macro execution
Project description
Process Automation
Most powerful feature: the RFC tool lets you query practically any raw SAP table directly — even if your company has restricted access to certain transactions, you can go under the hood. No screen access needed, just table name and filters.
Beyond RFC, automate SAP GUI extractions, Databricks queries, web scraping, SharePoint uploads and Excel macro execution with simple Python templates.
Install
pip install process-automation
Templates
Copy a template, fill in your settings, and run it.
| Template | What it does |
|---|---|
template_sap_pipeline.py |
Record a SAP transaction, export data, upload to SharePoint |
template_sap_rfc_export.py |
Export SAP tables directly via RFC to CSV/XLSX |
template_sap_rfc_schema.py |
Query any SAP table (DD02L, DD03L, etc.) and print results |
| template_sap_debug.py | Debug a SAP script — captures screenshot + element map on failure |
| template_sharepoint_upload.py | Upload a DataFrame to SharePoint as formatted Excel |
| template_databricks_pipeline.py | Query Databricks and save locally or upload to SharePoint |
| template_excel_macro.py | Run VBA macros in an Excel workbook |
Quick Examples
SAP GUI pipeline — paste your SAP recording, run the script:
from process_automation import run_extract
df = run_extract(sap_script,
export_format="xlsx",
template_path=r"Z:\path\to\TEMPLATE.xlsx",
sharepoint_folder=r"Z:\path\to\output",
)
SAP RFC export — no GUI needed, just table name and filters:
from process_automation import run_rfc_extract
run_rfc_extract({
"table": "AFRU",
"cols": "PERNR,AUFNR,VORNR,BUDAT",
"filters": ["BUDAT >= '20260301'"],
"output_dir": r"Z:\path\to\output",
"extension": "xlsx",
})
SAP debug — point it at a template, get diagnostics on failure:
from process_automation import sap_debug
sap_debug(script_path=r"C:\path\to\your_template.py", output_dir=r"C:\Temp")
Setup
- SAP_RECORDING_GUIDE.md — SAP GUI recording setup and RFC credential management
- DATABRICKS_SETUP.md — Databricks connection and authentication
- WEBSCRAPING_GUIDE.md — Web scraping setup with Playwright
Credits
Originally started as an internal team effort; packaged and open-sourced by contributors from the same group.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file process_automation-1.2.2.tar.gz.
File metadata
- Download URL: process_automation-1.2.2.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61fcc509e9483bf16022a18f43a632e0f22bc396b5a20c0677675aa1b85d5f77
|
|
| MD5 |
88380f965865520b6a9afac2b3c4b71c
|
|
| BLAKE2b-256 |
0504cda96547de2065eca11ade075c685e893fad14c7862b81876d27d42c52e2
|
Provenance
The following attestation bundles were made for process_automation-1.2.2.tar.gz:
Publisher:
publish.yml on Mircea-Sava/process-automation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
process_automation-1.2.2.tar.gz -
Subject digest:
61fcc509e9483bf16022a18f43a632e0f22bc396b5a20c0677675aa1b85d5f77 - Sigstore transparency entry: 1339323950
- Sigstore integration time:
-
Permalink:
Mircea-Sava/process-automation@90de070ff3e68eed7b25a7400e057cfb6584b6f5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Mircea-Sava
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@90de070ff3e68eed7b25a7400e057cfb6584b6f5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file process_automation-1.2.2-py3-none-any.whl.
File metadata
- Download URL: process_automation-1.2.2-py3-none-any.whl
- Upload date:
- Size: 33.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
671669a2cdcda0cc22a4295aa18902aa079dfc1917911871cc8c338e977808fb
|
|
| MD5 |
eab45cb9c1a79e32fbc864727c493351
|
|
| BLAKE2b-256 |
143ba3fa96c68f98578044c0460ec17e6b2b249834956da525e8ce76f8f617f8
|
Provenance
The following attestation bundles were made for process_automation-1.2.2-py3-none-any.whl:
Publisher:
publish.yml on Mircea-Sava/process-automation
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
process_automation-1.2.2-py3-none-any.whl -
Subject digest:
671669a2cdcda0cc22a4295aa18902aa079dfc1917911871cc8c338e977808fb - Sigstore transparency entry: 1339323954
- Sigstore integration time:
-
Permalink:
Mircea-Sava/process-automation@90de070ff3e68eed7b25a7400e057cfb6584b6f5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Mircea-Sava
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@90de070ff3e68eed7b25a7400e057cfb6584b6f5 -
Trigger Event:
push
-
Statement type: