Skip to main content

screenshot

Dyno-viewer

Dyno-viewer is dynamodb table viewer for your terminal build using textual.

This came out from me being frustrated with how clunky and slow the dynamodb viewier is in the aws console and me finding no good free alternative, That works the way i want it to work. Which is basically a spreadsheet with menus to change the table etc just like the aws console version and it being able to be used with just a keyboard

Note:

This is still in early alpha so some things to be expect things to be broken, I will fix them as i have time. Prs are welcome

Features

  • Query dynamodb tables via primary key, secondary indexes and scan
  • Save queries for later re-use
  • Save query history
  • Output results in csv or JSON format
  • wip support for have multiple sessions open at once

Installing

prerequisites

You need the aws cli fully configured (see here for how to setup up auth)

note about AWS IAM Identity Center(used to be called aws sso) aws profiles:

if you are using sso profiles. Then you need to make sure that you have updated your config to use a sso-session profile otherwise the app won't work see this doc on how to do that. See this issue: https://github.com/boto/botocore/issues/2374 if you want to know why this is the case

right now this can be installed via flatpak and pip:

install

I recommend using pipx:

pipx install dyno-viewer

Configuration

Dyno-viewer supports a simple app configuration file to preset defaults and tweak behavior without passing flags each run. If this doesn't exist then it will create it in the following paths:

  • Config file path (MacOS): ~/Library/Application Support/dyno-viewer/config.yaml
  • Config file path (Linux): ~/.config/dyno-viewer/config.yaml
  • Config file path (Windows): %APPDATA%/dyno-viewer/config.yaml

Example config.yaml:

theme: "textual-dark"          # what theme to use see: https://textual.textualize.io/guide/design/#changing-the-theme
page_size: 100          # number of rows to fetch per page

For saved queries and session data they are stored in an sqlite database in the same following path i.e:

  • MacOS: ~/Library/Application Support/dyno-viewer/db.db
  • Linux: ~/.local/share/dyno-viewer/db.db
  • Windows: %LOCALAPPDATA%/dyno-viewer/db.db

Dev notes

Prerequisites

This repo uses poetry for package management and needs python 3.10+ installed either via pyenv or asdf using the asdf-community/asdf-python addon

e.g:

env PYTHON_CONFIGURE_OPTS="--enable-shared" asdf install python 3.10.11

or if using pyenv:

env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.10.11

see how to build cpython with --enable-shared for more info

Local dev setup

To install locally run:

poetry install
# to go into a virtual env shell 
poetry shell
# or run app via script
poetry run dyno-viewer

Testing textual notes

See testing notes doc

Metadata

Release files for dyno-viewer 0.34.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dyno-viewer 0.34.0
File Size Uploaded
dyno_viewer-0.34.0.tar.gz 28.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dyno-viewer 0.34.0
File Interpreter ABI Platform
dyno_viewer-0.34.0-py3-none-any.whl Python 3 none any Details

Total release size: 70.1 kB

Release files / dyno_viewer-0.34.0.tar.gz

Download URL dyno_viewer-0.34.0.tar.gz
Size 28.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b32edfc2f657966a2363bd7fc227097ad54bb471735387966725310b3647bd8b
BLAKE2b-256 checksum
How to use checksums
6c485509db3387ca0f4d5c43d94ae6d72c70859376a803e28b4fc581e1a33fcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.1 CPython/3.12.3 Linux/6.11.0-1018-azure

Release files / dyno_viewer-0.34.0-py3-none-any.whl

Download URL dyno_viewer-0.34.0-py3-none-any.whl
Size 41.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
185bcdc02708deb7a340de4e6d9bd0e1ae3982f9b111a140607084e8c121dd4f
BLAKE2b-256 checksum
How to use checksums
32f08f049f9ded0b6f034d69169fd56c6883a8dcdde1fb2f583f3c9a7ebe3e2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.1 CPython/3.12.3 Linux/6.11.0-1018-azure
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page