jsonslicer
Gooey
jsonslicer | Gooey | |
---|---|---|
1 | 60 | |
46 | 20,377 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | 2 months ago | |
C++ | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jsonslicer
-
Bringing the Unix Philosophy to the 21st Century
> JSON’s design assumes the user can read the entire file into memory
No? The design of most JSON libraries assumes that, but there are perfectly good incremental JSON parsers out there[1–3]. It’s just that people don’t seem to have figured out a good API for not-completely-incremental parsing (please prove me wrong here!), but this applies equally to any structured data format as soon as you want to pull out pieces of data that are nested more than one level down.
The lack of length prefixes in JSON does indeed make a solid parser somewhat more difficult, but you get the ability to author and validate it manually instead. All in all a draw and not because of the incremental parsing thing.
(Tabular or otherwise homogeneous data is indeed reprsented wastefully, but unless the individual records are huge json+gzip is a perfectly serviceable “worse-is-better” solution.)
[1] https://github.com/ICRAR/ijson
[2] https://github.com/AMDmi3/jsonslicer
[3] https://github.com/danielyule/naya
Gooey
-
Gooey: My take on a Rusty GUI framework
The name conflicts with a similar python module that allows one to turn any Python console program into a GUI with one line.
https://github.com/chriskiehl/Gooey
- FLaNK Stack Weekly 11 Dec 2023
- Turn (almost) any Python command line program into a full GUI application with one line
-
Gooey: Turn almost any Python command line program into a full GUI application
Hey! Cool project! I have a question: why do you dump out sys.argv to a local file in the CWD? [0] tmp.txt is hardly a unique name… or am I missing something and this never triggers?
[0] https://github.com/chriskiehl/Gooey/blob/be4b11b8f27f500e732...
-
PysimpleGUI
This might be of interest to you:
> Gooey - Turn (almost) any Python 3 Console Program into a GUI application with one line
https://github.com/chriskiehl/Gooey
-
Python GUIs
I love gooey: https://github.com/chriskiehl/Gooey
It allows me to quickly slap a GUI on an existing script that accepts command-line-arguments. In the end, I get the best of both world: Discoverability from the GUI, automation through the script, and automatic feature parity between the two.
Downside: Control over the GUI layout is basic, and only "standard" GUI features work, but I never felt limited when using it.
-
Launch HN: Onu (YC W23) – Turn scripts into internal tools in minutes
similar for local/individual usage:
https://github.com/chriskiehl/Gooey - take a python-CLI, make a TK-windows
and then probably even simple dashboarding like streamlit.
-
This package will "GUI-fy" your functions!
Like Gooey?
-
Question about 'chaining' Python scripts
As for how I'd handle it, I would probably combine both into one command-line program, with all filepaths using pathlib and letting argparse handle the options. That way you could optionally generate a GUI with gooey with little extra effort, although this would also add a dependency.
What are some alternatives?
ijson - Iterative JSON parser with Pythonic interfaces
Python Fire - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
jello - CLI tool to filter JSON and JSON Lines data with Python syntax. (Similar to jq)
Tkinter-Designer - An easy and fast way to create a Python GUI 🐍
jc - CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.
click - Python composable command line interface toolkit
live-awk-mode - Build awk commands interactively with live result sets.
typer - Typer, build great CLIs. Easy to code. Based on Python type hints.
murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
asciimatics - A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
Octo Pack - Creates Octopus-compatible NuGet packages
PySimpleGUI - Python GUIs for Humans! PySimpleGUI is the top-rated Python application development environment. Launched in 2018 and actively developed, maintained, and supported in 2024. Transforms tkinter, Qt, WxPython, and Remi into a simple, intuitive, and fun experience for both hobbyists and expert users.