CLI to make bulk updates to Quicksight datasets
Project description
quicksight-bulk-update-datasets
Makes bulk updates to Quicksight datasets.
Features
[!NOTE] The only bulk update currently supported is a rename of table schema for PostgreSQL-based datasources
- Renames the schema in RelationalTable and CustomSQL tables in Amazon Quicksight datasets
- CustomSQL is parsed with pglast to robustly change the schema
- Outputs a CSV report of the changes made
- Has a dry-run mode
Installation
pip install quicksight-bulk-update-datasets
Usage
quicksight-bulk-update-datasets [OPTIONS] ACCOUNT_ID SOURCE_SCHEMA TARGET_SCHEMA
Arguments:
ACCOUNT_ID
: [required]SOURCE_SCHEMA
: [required]TARGET_SCHEMA
: [required]
Options:
--aws-profile TEXT
--dataset-id TEXT
--no-prompt / --no-no-prompt
: [default: no-no-prompt]--dry-run / --no-dry-run
: [default: no-dry-run]--install-completion
: Install completion for the current shell.--show-completion
: Show completion for the current shell, to copy it or customize the installation.--help
: Show help and exit.
Contributing
Prerequisites
To contribute you'll need:
- Familiarity with the command line, for example by taking a course on Bash and Z Shell
- A GitHub account
- Git installed
- Python installed
- A text editor or integrated development environment (IDE), for example VS Code
You may also need to refer to the following as you're making changes:
Get the code
If you're not a member of the uktrade GitHub organisation, you should:
-
Fork this repo at https://github.com/uktrade/quicksight-bulk-update-datasets/fork
-
Clone the fork by running the following, replacing
my-username-or-org
with the username or organisation name you forked to:git clone git@github.com:my-username-or-org/quicksight-bulk-update-datasets.git cd quicksight-bulk-update-datasets.
If you are a member the uktrade GitHub organisation, you should:
-
Clone this repo directly:
git clone git@github.com:uktrade/quicksight-bulk-update-datasets.git cd quicksight-bulk-update-datasets
Install in editable mode
pip install -e .
Generating docs
pip install typer-cli
typer quicksight_bulk_update_datasets.py utils docs --name quicksight-bulk-update-datasets --output docs.md
Then manually copy and tweaking the docs from docs.md to the Usage section in README.md.
Releasing
After merging to the main branch, create a release from the Releases page.
- The tag must be the form "vX.Y.Z" where X.Y.Z is the new SemVer 2.0 version.
- You should press "Generate release notes" to automatically bring in titles of PRs since the previous release.
- If there are many PRs, you should include an introductory paragraph highlighting the main changes.
Creating a GitHub release will automatically run the GitHub Actions workflow that releases to PyPI.
Only members of the uktrade GitHub organisation may create releases.
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
Hashes for quicksight_bulk_update_datasets-0.0.18.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 004d9e9fdc2901d76a215638d07ad796c50beba420a2b29261a9b832859daaa2 |
|
MD5 | cc49efe41744280e235e9a19d8d1d18f |
|
BLAKE2b-256 | c2ef2ba20031cd097730cb24ac5d9f6949ee3243a9856a15429b7e9d402fbf91 |
Hashes for quicksight_bulk_update_datasets-0.0.18-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0b467dcf7fc017caf9712fa4c2aa99ea07437ac900b00528a6869050c4e221e |
|
MD5 | 1894bc0bd43503b4e0ad35f35caaeeca |
|
BLAKE2b-256 | f3771c81b593f0cd4f088cf1fdb8b26cc7d88e566d43e09aeb6e9fcbb64c80ee |