Skip to main content

Runs a SQL command on SAP HANA Cloud using OAuth single sign on and returns a pandas or polars dataframe

Project description

Usage of the hana_cloud_interface package

This package provides a simple interface to connect to SAP HANA Cloud databases and execute SQL queries. Below are some examples of how to use the package.

initialising class

when initialising the class it has two optional args.

  • config_file : Path to the configuration file (JSON format) containing OAuth credentials and other settings. the config file only needs to be added on the first time running the class on a computer.

  • data_frame_type : Default data frame type for SQL query results. Options are 'pandas' or 'polars'. Default is 'pandas'. if the data type is not added here it will need to be added for every time you run hana_sql function

Hana_cloud_interface(config_file = 'location of configuration file',  df = 'pandas')

hana_sql() function

Execute a SQL command on the HANA Cloud database and return the result as a DataFrame.

Args: sql_command (str, optional): The SQL command to execute. Defaults to 'validate', which only checks the connection. DF_type_local_override (str, optional): DataFrame type for this query ('pandas' or 'polars'). Overrides the global setting if provided.

Returns: str: If sql_command is 'validate', returns a validation message. pandas.DataFrame or polars.DataFrame: The query result as a DataFrame, depending on the specified or default DataFrame type.

Raises: ValueError: If the DataFrame type is not specified or is invalid.

hana_upload() function

Upload a DataFrame to the HANA Cloud database.

Args: data (pandas.DataFrame or polars.DataFrame): The data to upload. If a polars DataFrame is provided, it will be converted to pandas. data_name (str): The name of the table to create or replace in HANA Cloud. SCHEMA (str): The schema in which to create the table.

Returns: bool: True if the upload is successful.

Raises: Exception: If the upload fails due to connection or data issues.

configuration file

the configuration file is a .json file

{
    "CLIENT_ID": "",
    "CLIENT_SECRET": "",
    "AUTH_URL": "",
    "TOKEN_URL": "",
    "protected_url": "",
    "REDIRECT_URI": "",
    "SCOPE": "",
	"HC_prod_URL": ""
}

example

the main function is very simple It takes a SQL command as a string and returns the data

import hana_cloud_interface 

# initialise class
hci = Hana_cloud_interface(df='polars')

sql_command = """
SELECT top 10
    "data1"
    "data2"
FROM "table1"
"""
    
data = hci.hana_sql(sql_command)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hana_cloud_interface-0.3.1.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hana_cloud_interface-0.3.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file hana_cloud_interface-0.3.1.tar.gz.

File metadata

File hashes

Hashes for hana_cloud_interface-0.3.1.tar.gz
Algorithm Hash digest
SHA256 778a0085f0e63b98e4b62eda7f0ed47482c88f81f4abf98d6acc4b5691aea1e6
MD5 f6003050a4c670200b662e9502b32be0
BLAKE2b-256 de932f1f969e4e5e7c76727e1cdf8ed4f11cf79b62f287b6dd1037aa5dacdbc3

See more details on using hashes here.

File details

Details for the file hana_cloud_interface-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for hana_cloud_interface-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 953f5174497e11539dbf7f30dd0639ac47fd90ddb432594014830642e770e6e9
MD5 0dde7b8a65cc5889f0064a5d26570d7b
BLAKE2b-256 a3e0fce9b4f25e3dabef0ea17ee26b391616069c558d5d05aa2d36a379ea3aa6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page