buckaroo
perspective
buckaroo | perspective | |
---|---|---|
10 | 45 | |
161 | 7,589 | |
- | 1.8% | |
8.9 | 9.3 | |
about 1 month ago | 4 days ago | |
Jupyter Notebook | C++ | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
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.
buckaroo
-
PySheets – Spreadsheet UI for Python
I created buckaroo [1] as a better dataframe viewer for jupyter with built in summary stats. It's built to bring a better dataframe experience to people already using pandas/polars. All of it is extensible [2] so that you can customize stats and transformations to your workflow.
[1] https://github.com/paddymul/buckaroo
-
The Design Philosophy of Great Tables (Software Package)
Great tables has done some really nice work on python/jupyter tables. It looks like they are almost building a "grammar of tables" similar to a grammar of graphics. More projects should write about their philosophy and aims like this.
I have built a different table library for jupyter called buckaroo. My approach has been different. Buckaroo aims to allow you to interactively cycle through different formats and post-processing functions to quickly glean important insights from a table while working interactively. I took the view that I type the same commands over and over to perform rudimentary exploratory data analysis, those commands and insights should be built into a table.
Great tables seems built so that you can manually format a table for presentation.
https://github.com/paddymul/buckaroo
https://youtu.be/GPl6_9n31NE
-
Ask HN: Problems worth solving with a low-code back end?
JLisp.
3. It was very easy to define new lowcode commands, and have the frontend add them to the palette. Each command defines two methods "transform" which manipulates the dataframe, and "transform_to_py" which takes the same arguments but emits python code.
Adoption of my library in general, and the low code UI specifically has been very limited. I'm in the middle of plumbing the lowcode support back in after a refactor of other parts.
I would like to build a whole ecosystem around JLisp and Buckaroo. Specifically I have some "auto-cleaning" functionality that emits JLisp cleaning and normalization commands, these commands can then be editted in the UI (delete, edit parameters). It's easier to emit JLisp than raw python syntax, it's also much easier to make a UI to manipulate it.
Do you have a repo to look at? What usecase did you have in mind when you were building it?
If I were evaluating a low-code backend builder I'd be interested in the examples, and tests. Hopefully the tests would double as examples. For a Workflow type low-code-builder I'd be most interested in the cron functionality.
[1] https://github.com/paddymul/buckaroo
[2] http://norvig.com/lispy2.html
-
How to Write a (Lisp) Interpreter (In Python)
I used Norvig’s lisp2.py to build a low code UI. I modified the interpreter to accept JSON flavored lisp, basically replace parens with brackets. The upside is that it was very very easy to make a react front end that manipulates JSON (JLisp). My thinking was, I need a serialization format for operations from the front end, and a way to interpret them. I could write my own language that no one has heard of, or use lisp, which few have used.
https://github.com/paddymul/buckaroo/blob/main/buckaroo/jlis...
- Show HN: The Buckaroo Data Table for Jupyter
- Buckaroo – the data wrangling assistant for Pandas
-
Ask HN: Who wants to be hired? (October 2023)
Location: Boston
Remote: Yes
Willing to relocate: Yes
Technologies: talking to users, python, pandas/numpy, jupyter, js/ts
Résumé/CV: https://www.linkedin.com/in/paddymullen/
Email: [email protected]
In my next role, I want a broad mandate to make a meaningful impact within an organization by developing products that address genuine business challenges, with a preference for data related problems.
Recently I built the data table for Jupyter/Pandas that I have wanted for over a decade. The open source Buckaroo (https://github.com/paddymul/buckaroo) data table combines a performant table, summary statistics, and a low code UI to expedite common data analysis tasks.
-
Ask HN: Who wants to be hired? (September 2023)
wanted for over a decade. The open source Buckaroo https://github.com/paddymul/buckaroo data table combines a performant table, summary statistics, and a low code UI to
- Ask HN: Who wants to be hired? (June 2023)
-
Pandas AI – The Future of Data Analysis
This morning I added a "Related Projects" [3] Section to the Buckaroo docs. If Buckaroo doesn't solve your problem, look at one of the other linked projects (like Mito).
[1] https://github.com/approximatelabs/sketch
[2] https://github.com/paddymul/buckaroo
[3] https://buckaroo-data.readthedocs.io/en/latest/FAQ.html
perspective
- Ask HN: How Can I Make My Front End React to Database Changes in Real-Time?
-
The Design Philosophy of Great Tables (Software Package)
Why do you want to render to canvas?
Perspective seems to be the most performant html table. It is more focused on extremely fast updates than styling, although it looks good.
Glide is a newcomer that also renders to canvas.
https://github.com/finos/perspective
https://github.com/glideapps/glide-data-grid
-
Show HN: WhatTheDuck – open-source, in-browser SQL on CSV files
SQL workbench also uses https://perspective.finos.org/ for tables. It's a WASM table library which pairs nicely with duckdb and works well with large tables.
-
React Spreadsheet 2 – Your Own Google Sheets
Yes. We are working on adding support for aggregation and pivoting using https://github.com/finos/perspective
-
Show HN: DataSheetGrid, an Airtable-like React component
I haven't looked extensively at react-datasheet. It looks like it is trying to build more of a full product than the other data tables.
I have used ag-grid extensively, its an impressive product. Some pieces are a little awkward to use, particularly auto-sizing. But generally ag-grid has thought of most functionality and has a solution. The creator of ag-grid had a great interview on Javascript Jabber [1].
The other serious data table component that I have seen is FinOS Perspective [2]. This is extremely high performance, also more specialized and probably harder to customize. I think Perspective renders to a canvas element from Rust/C++ compiled to WASM (not 100% sure). It is also made for streaming updates.
AG-Grid supports streaming updates... but only in the commercial version.
Eventually the data model for these types of tables becomes tricky. I will be investigating parquet-wasm for my use case. Hit me up if you want to collaborate.
[1] https://blog.ag-grid.com/javascript-jabber-podcast/
[2] https://perspective.finos.org/
- Perspective Market Simulation
-
ChDB: Embedded OLAP SQL Engine Powered by ClickHouse
Something like https://github.com/finos/perspective ? We use an OLAP(-y) WASM engine to provide query-ability to our data visualization tool, and doing the calculations in the browser is cheaper and simpler than a server-side database for datasets that fit in browser memory.
- Show HN: Udsv.js – A faster CSV parser in 5KB (min)
- Perspective 2.0, Open Source WebAssembly-Powered BI
What are some alternatives?
electron-orbitals - Hydrogen electron orbitals, and the software to render them.
ag-Grid - The best JavaScript Data Table for building Enterprise Applications. Supports React / Angular / Vue / Plain JavaScript.
resume
arquero - Query processing and transformation of array-backed data tables.
resume - My résumé.
datapane - Build and share data reports in 100% Python
applin-rails-demo - Example of how to use applin-rails.
nocodb - 🔥 🔥 🔥 Open Source Airtable Alternative
resume - My latest resume
ClickHouse - ClickHouse® is a free analytics DBMS for big data
resume
SandDance - Visually explore, understand, and present your data.