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.17.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bee35e4b9cc3efcf951fc393aa5a0d89dc16d77e943d47c7d0e4a74f431dd6cf |
|
MD5 | 6a9a9d96936452a30c542ea993e105b5 |
|
BLAKE2b-256 | 0ea0cec9126801562d94d95971a13d073adbbff322433beba67630d79d5696db |
Hashes for quicksight_bulk_update_datasets-0.0.17-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d410bcb81dc577ecb9a405c4f0c679d73629aa5c49fe72b580c9be2598a152e |
|
MD5 | 3b0f45f2db9aec17fdabe597f2d12bb5 |
|
BLAKE2b-256 | eb9f8aa745dbf7362d49c0588b9b7f2bd46a61853bae1a8a31ad2a920214dc13 |