AWS metadata as dataframes
Project description
Submodules
awsdf.aws module
This module enables connecting to AWS and extracting metadata in pandas dataframes.
Installing from PyPI: pip install -U awsdf
USAGE:
import awsdf
aws_account = awsdf.Account(profile_name=”<PROFILE_NAME>”)
glue_databases_df = aws_account.glue_get_databases()
class awsdf.aws.Account(aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None, region_name=None, profile_name=None)
Instantiate class object for connecting to AWS and retriving metadata from AWS
__init__(aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None, region_name=None, profile_name=None)
Provide access keys OR Profile name to connect to AWS account. Keys take preceedence
Parameters:
aws_access_key_id (string) – AWS access key ID
aws_secret_access_key (string) – AWS secret access key
aws_session_token (string) – AWS temporary session token
region_name (string) – AWS region
profile_name (string) – AWS profile name
glue_get_jobs() -> DataFrame
Get AWS Glue jobs
- Returns:
dataframe
glue_get_job_history(job_name, no_of_runs=1) -> DataFrame
Retrieve glue job history
- Arguments:
job_name – Name of job to retrive history
- Keyword Arguments:
no_of_runs – No of runs to retrive in descending order (default: {1})
- Returns:
dataframe
glue_get_databases() -> DataFrame
Get AWS Glue jobs
- Returns:
dataframe
glue_get_tables(dbname=None) -> DataFrame
Get AWS Glue tables
- Keyword Arguments:
dbname – Database Name for which to retrieve tables (default: {None})
- Returns:
dataframe
glue_get_fields(dbname, tablename) -> DataFrame
Get AWS Glue table columns
- Keyword Arguments:
dbname – Database Name for table tablename – Database Name for which to retrieve columns
- Returns:
dataframe
athena_execute_query(database: str, query: str, s3_output: str | None = None, use_cache: bool = True)
Execute athena query
- Arguments:
database – Database name query – Query to execute
- Keyword Arguments:
s3_output – Amazon S3 path for query output (optional) use_cache – Use cached results if any (default: {True})
- Returns:
dataframe
- Raises:
ValueError – If s3_output is provided but is not a valid S3 URI
athena_data_dictionary(include_dbs: list = [], exclude_dbs: list = []) -> DataFrame
Get AWS Athean data dictionary. A data frame with all databases, tables & fields with datatypes
- Keyword Arguments:
include_dbs (optional) – list of databases to be included exclude_dbs (optional) – list of databases to be excluded if include_dbs list is empty.
- Returns:
dataframe
quicksight_get_datasources() -> DataFrame
Get QuickSight datasources
- Keyword Arguments:
N/A
- Returns:
dataframe
quicksight_get_datasets(includeDetails: bool = False) -> DataFrame
Get QuickSight datasets
- Keyword Arguments:
includeDetails (optional) – Include addition details i.e. ConsumedSpiceCapacityInBytes & Owner. Default=False
- Returns:
dataframe
quicksight_get_dataset_permissions(AwsAccountId: str, DataSetId: str)
Get QuickSight dataset permissions
- Keyword Arguments:
AwsAccountId – AWS account id DataSetId – Dataset id
- Returns:
dataframe
quicksight_get_dataset_details(datasetId: str) -> dict
Get QuickSight dataset details
- Keyword Arguments:
DataSetId – Dataset id
- Returns:
dataframe
quicksight_get_dashboards(includeDetails: bool = False) -> DataFrame
Get QuickSight dashboards
- Keyword Arguments:
includeDetails (optional) – NOT IMPLEMENTED Include addition details. Default=False
- Returns:
dataframe
quicksight_get_dashboard_details(dashboardId: str) -> dict
Get QuickSight dashboard details
- Keyword Arguments:
dashboardId – Dashboard id
- Returns:
dictionary
kms_encrypt(plaintext: str, key_id: str) -> str
Encrypt a plaintext string using AWS KMS and return base64-encoded ciphertext.
- Parameters:
plaintext (str): The string to encrypt. key_id (str): The KMS key ARN or ID.
- Returns:
str: base64-encoded ciphertext
kms_decrypt(ciphertext_b64: str) -> str
Decrypt a base64-encoded ciphertext string using AWS KMS and return the plaintext.
- Parameters:
ciphertext_b64 (str): base64-encoded ciphertext
- Returns:
str: decrypted plaintext string
get_secret_from_secrets_manager(secret_name: str) -> dict
Retrieve a secret value from AWS Secrets Manager.
- Parameters:
secret_name (str): The name or ARN of the secret.
- Returns:
str: The secret string value.
- Raises:
ClientError: If retrieval fails due to permission or configuration issues.
Module contents
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 awsdf-0.1.21.tar.gz.
File metadata
- Download URL: awsdf-0.1.21.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.9.10 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b713f3d95b29115a92872c09284c7c8653e119ce4a898f121f87c29f61f321b7
|
|
| MD5 |
2e01a51668050f44d13b9354bd948888
|
|
| BLAKE2b-256 |
8d88448225e854348e7fea6d7ff08254d616da4d2d75e30524da861a56d1e253
|
File details
Details for the file awsdf-0.1.21-py3-none-any.whl.
File metadata
- Download URL: awsdf-0.1.21-py3-none-any.whl
- Upload date:
- Size: 11.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.9.10 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed067fce875285ca8223a1698a5816fd1a02800024067a5be6596747f4d88dbd
|
|
| MD5 |
93fbf07a7581000796a86496daf8efa7
|
|
| BLAKE2b-256 |
a52e06b9556c344b562c8ede887cb22aa74d9be5e4c684f13bfa2387ec09e86c
|