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.21.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45320807e466148f5f75c55a806b702eca760461402dcf16b7725c52ab22f71a |
|
MD5 | 1fb6040b70cbe4986072114dae2245b6 |
|
BLAKE2b-256 | ced28942ec843961497588887652384c49e64efed02e03ce6c1cad2caf9a3dac |
Hashes for quicksight_bulk_update_datasets-0.0.21-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5f01da743449ba1e550476418eeb187e58c030b85c1b5d58d125b16742a6b7e |
|
MD5 | 854799aed84194563511ce99f5eb86d1 |
|
BLAKE2b-256 | 07e2fe08637e21e89f29d98a8f0d5b809854627be3f6c88c60a25f5e214d00d1 |