lmika / dynamo-browse Goto Github PK
View Code? Open in Web Editor NEWTUI utility for browsing DynamoDB
Home Page: https://dynamobrowse.app
License: MIT License
TUI utility for browsing DynamoDB
Home Page: https://dynamobrowse.app
License: MIT License
Have the ability to copy the items of the currently displayed row (i.e. the lower pane) to the clipboard. This should act a lot like the "copy to clipboard" within the log view of K9S. This should be the entire item, not just what's displayed.
The default binding for this command should be c
.
At the moment, the query planner only recognises queries that can run on the main table. It should also be able to handle queries that can run on any of the GSI.
Add the notion of a back-stack which will display previous views of result-sets. The parameters of the result set that should be stored is as follows:
This should be bound to the Backspace key.
Implementation note: should we be storing the entire result-set?
Ensure that query expressions can be used to represent any expression as determined in the DynamoDB documentation.
At the moment, the set of keyboard bindings within dynamo-browse are fixed. It would be good to allow users to rebind them, or bind new keys to commands.
Add the "clone" command back. This will work in a similar way to "new" — in that the partition/sort keys will be prompted for, and the created items will be marked as new — but it will start off as a duplicate of an existing item.
At the moment, only allow this to be usable for a single item. In the future, it may be possible to allow multiple items with a key-mapping option.
Add an item size and RCU calculator as a command. This can be used to estimate the size of items, for the purpose of planning batch queries.
See this site as a way to calculate this: https://zaccharles.github.io/dynamodb-calculator/
Option to switch dynamo-browse over to read-only mode. This will disable all operations which will modify the DynamoDB table. Useful for when you need to view a production DB and you're paranoid about accidentally making changes.
Add completion support for the command line. The completions that needs to be supported:
There are a bunch of TODO's left over from the query expressions in an attempt to get #18 finished. Finish the code that theses TODOs are for.
Allow changing of columns in dynamo-browse. The types of operations that need to be supported are:
A command to do this would be nice. But it bight be better to add some UI to do this as well (or both).
For extra credit, also consider the following:
Add the ability to toggle the size of the item pane. The sizes to cycle through should be as follows:
Cycling forward of the view sizes should be bound to w
.
Cycling backwards through the view sizes should be bound to W
.
At the moment, running a "query" (i.e. pressing "?" and entering an expression) will actually run a table scan. This should be fixed so that if the query can actually be run as a query, it should be.
When launching dynamo-browse from an existing workspace, check the back-stack for the previous view and use that instead of prompting for a table.
Modify the key binding feature support prompting for tables. At the moment, this can be treated as an unbound keyboard binding action.
➜ go install github.com/lmika/dynamo-browse/cmd/dynamo-browse@latest
go: github.com/lmika/dynamo-browse/cmd/dynamo-browse@latest: github.com/lmika/[email protected]: parsing go.mod:
module declares its path as: github.com/lmika/audax
but was required as: github.com/lmika/dynamo-browse
There's currently no real indication that something is happening. Most of the time the old status message hangs around until a query or scan is finished. It would be nice to demonstrate that something is happening in the background.
Add a progress indicator to indicate that something is going on in the background.
While we're at it, also add cancellation.
Organise and test binary distribution for MacOS. Ideally this should be done using Brew, at least for the moment.
Have the ability to run background queries. These are queries that are launched in the background that may take a while to run.
The way this will work is as follows. When the user indicates they want to start a background query:
The query will run in the background with a status indicator in the status bar. As the query runs, the results will be written to the workspace.
Once the query is done, the user will be given the option to view the query results.
Add a setting to set the default limit for queries of scans. By default this should be 1,000 rows, but it can be changed using the set
command.
Also add a limit
clause to expressions to specify the limit for an expression.
Add a command which will kill long-running or miss-behaving scripts. When a script is running, this should cancel the context that the script is using.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.