{"ref":"artifact:sap-samples-hana-hdbext-promisfied-example","page":"/artifacts/sap-samples-hana-hdbext-promisfied-example","json":"/artifacts/sap-samples-hana-hdbext-promisfied-example.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-hana-hdbext-promisfied-example","name":"SAP-samples/hana-hdbext-promisfied-example","artifact_type":"package","ecosystem":"btp","domain":"data-and-persistence","origin_ring":"sap-official","description":{"one_line":"Promise-based wrappers around the [SAP HANA](artifact:sap-hana) client libraries for [Node.js](external:nodejs), Go and Python, replacing nested callbacks with a single async call.","short":"Promise-based wrappers around the SAP HANA client libraries","what_it_solves":"The standard @sap/hdbext client chains a callback through prepare, then exec, then a callback for the result; a promisified wrapper compresses that into one async/await call, with the same shape carried through stored procedure calls, batch execution and connection setup from environment configuration. The repository holds four packages across three languages: hdb and hdbext for [Node.js](external:nodejs), published to npm as sap-hdb-promisfied and sap-hdbext-promisfied, hdbhelper for Go, tagged in the repository and fetched through the Go module proxy, and hdbhelper-py for Python, published to PyPI. It wraps connection handling and querying. Which client library to wrap is the caller's choice, and so are the credentials, which the class reads from a default-env.json in the working directory rather than from code."},"links":{"repo":"https://github.com/SAP-samples/hana-hdbext-promisfied-example","npm":"https://www.npmjs.com/package/sap-hdbext-promisfied"},"identity":{"license":"Apache-2.0"},"compat":{"runtimes":["node"]},"source_available":true,"provides":[{"capability":"capability:database-connectors","what_it_does":"Wraps @sap/hdbext, the plain hdb driver, SAP's go-hdb and hdbcli behind one promise-based class per language, for connecting to and querying a HANA database from Node.js, Go or Python.","sources":[{"url":"https://github.com/SAP-samples/hana-hdbext-promisfied-example","title":"SAP-samples/hana-hdbext-promisfied-example — README, Description","checked":"2026-10-19","quote":"high-level wrappers for SAP HANA client libraries, simplifying connection management, query execution, and stored procedure invocation in Node.js, Go, and Python"}]}],"type_properties":{"placement":{"value":"own-process","sources":[{"url":"https://github.com/SAP-samples/hana-hdbext-promisfied-example","title":"SAP-samples/hana-hdbext-promisfied-example — README, Description","checked":"2026-10-19","quote":"This repository contains high-level wrappers for SAP HANA client libraries, simplifying connection management, query execution, and stored procedure invocation in Node.js, Go, and Python:"}]},"distribution":{"value":["npm","pypi"],"sources":[{"url":"https://github.com/SAP-samples/hana-hdbext-promisfied-example","title":"SAP-samples/hana-hdbext-promisfied-example — README, Installation","checked":"2026-10-19","quote":"Both packages are published to the default npm registry (`https://registry.npmjs.org`)."},{"url":"https://github.com/SAP-samples/hana-hdbext-promisfied-example","title":"SAP-samples/hana-hdbext-promisfied-example — README, Releasing the Python package","checked":"2026-10-19","quote":"The Python package (`sap-hdbhelper-py`) is published to [PyPI](https://pypi.org/) using GitHub Actions with trusted publishers (OIDC — no stored API tokens)."}]}},"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:ajinkyapatil8190","actor:btbernard","actor:jung-thomas","actor:larshp","actor:mmicciolo-sap"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"6 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"good","evidence":"CI green, 2026-07-13"}],"practice":[{"label":"Tests","tier":"good","evidence":"6 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 4 pages, README 10 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":15,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":15,"forks":4,"open_issues":2,"archived":false,"pushed_at":"2026-10-15","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2020-04-18T00:01:23Z","open_prs":1,"tree_truncated":false,"test_files":6,"workflows":4,"other_ci":false,"readme_bytes":10298,"docs_files":4,"changelog":true,"license_file":true,"dts_files":7,"first_commit":"2020-04-18","last_commit":"2026-07-13","commits":162,"contributors":6,"ci_status":"success","ci_run_at":"2026-07-13","ci_workflow":"CI","ci_event":"push","readme_path":"README.md","readme_sha":"0acff939357c453dd47756e716ad3def4a57a961","repo_read":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:ajinkyapatil8190","name":"Ajinkya Patil","json":"/actors/ajinkyapatil8190.json"},{"ref":"actor:btbernard","name":"Brian Bernard","json":"/actors/btbernard.json"},{"ref":"actor:larshp","name":"Lars Hvam","json":"/actors/larshp.json"},{"ref":"actor:mmicciolo-sap","name":"mmicciolo-sap","json":"/actors/mmicciolo-sap.json"},{"ref":"actor:jung-thomas","name":"Thomas Jung","json":"/actors/jung-thomas.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}