{"ref":"artifact:b-tocs-pyapi4abap","page":"/artifacts/b-tocs-pyapi4abap","json":"/artifacts/b-tocs-pyapi4abap.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"b-tocs-pyapi4abap","name":"pyapi4abap","artifact_type":"sample","ecosystem":"abap","domain":"protocols-and-apis","origin_ring":"independent","use_as":"starting-point","description":{"one_line":"A template that pairs a Python FastAPI service with ABAP demo reports calling it through an SM59 RFC destination, with a step-by-step guide from the first endpoint to a container image.","short":"Template pairing a FastAPI service with ABAP reports that call it","what_it_solves":"Three demo endpoints and the ABAP that calls them: /hello as an HTTP GET, /check as a GET with parameters and /process as a POST, with one ABAP report per method in the abap folder, installed with SE38 and pointed at an SM59 destination of type G. The guide runs from creating the Python project, through exposing the service and maintaining the destination with SSL where the service uses HTTPS, to building a container image and deploying it. The ABAP half uses the [B-Tocs ABAP SDK](artifact:b-tocs-abap-btocs-core), and the reports show creating a connector object, setting the endpoint, reading the response and its content type, and building and parsing JSON. Where no network route runs from the SAP system to the service, the maintainer names an ngrok tunnel as a workaround for developer scenarios, and an ABAPer with no Python interest can skip the Python part and start the stack as a local container.","to_build_on_it":"The Python half is a [FastAPI](https://fastapi.tiangolo.com/) project with a Dockerfile and a compose file, so a further endpoint means a further ABAP report in the same shape. Everything it demonstrates runs from an on-premise SAP ABAP system through an SM59 destination of type G, and the documentation names no other ABAP release. The FAQ points at the SDK's LibreTranslate and Ollama projects for further examples of using the SDK."},"links":{"repo":"https://github.com/b-tocs/pyapi4abap"},"maintainers":["actor:b-tocs"],"requires":[{"ref":"artifact:b-tocs-abap-btocs-core","for":"The ABAP side of the template: the demo reports call the API through the SDK's connector and logger.","requirement":"required","basis":"binding","role":"framework","sources":[{"url":"https://github.com/b-tocs/pyapi4abap","title":"b-tocs/pyapi4abap — README","checked":"2026-10-22","quote":"For the ABAP part the [B-Tocs ABAP SDK](https://github.com/b-tocs/abap_btocs_core) is used."}]},{"ref":"external:docker","for":"Running the Python stack as a container, the route the README gives for skipping the Python part and the one the deployment steps build on.","requirement":"conditional","condition":"the API is run or deployed as a container","basis":"binding","role":"container-engine","sources":[{"url":"https://github.com/b-tocs/pyapi4abap","title":"b-tocs/pyapi4abap — README, For ABAPers without Python interests","checked":"2026-10-22","quote":"You can skip part 1 of the Step-By-Step Guide and start the python stack as local container as described in 3.3."}]}],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-10-22"},"drafted_with_ai":true,"contributors":["actor:b-tocs"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-05, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"docs/ with 10 pages, README 3 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2024-05-16","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2024-05-06T09:24:00Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":3512,"docs_files":10,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2024-05-06","last_commit":"2024-05-16","commits":15,"contributors":1,"readme_path":"README.md","readme_sha":"37c0c1af836f26ce7eb5b24aab064452391c4d5e","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:b-tocs","name":"B-Tocs.org Community","json":"/actors/b-tocs.json"}],"contributors":[{"ref":"actor:b-tocs","name":"B-Tocs.org Community","json":"/actors/b-tocs.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_on_to":{"ref":"artifact:b-tocs-abap-btocs-core","name":"B-Tocs ABAP SDK","json":"/artifacts/b-tocs-abap-btocs-core.json"},"add_ons":[],"answered_through_parts":[]}}