quadratichq / quadratic Goto Github PK
View Code? Open in Web Editor NEWQuadratic | Data Science Spreadsheet with Python & SQL
Home Page: https://QuadraticHQ.com
License: Other
Quadratic | Data Science Spreadsheet with Python & SQL
Home Page: https://QuadraticHQ.com
License: Other
Research Command Pattern & Memento Pattern
Add a Demos
menu in the TopBar
allowing users to click through a couple of demo sheets.
Using this issue to keep track of common interaction issues:
Hi there! First of all love your product and the direction it's going. I come from a background of using numpy, pandas, vaex etc on a daily basis and so have learned to be pretty comfortable querying and manipulating data in python. Doing the same operations through google sheets, by comparison, makes me surprisingly frustrated.
I run a lot of ML experiments that output numbers it would be easiest for me to see in a spreadsheet format. Recently I looked into using the google sheets API or python clients (pygsheets and gsheets) and while the onboarding experience was quite terrible (it took so long to figure out authentication) the eventual experience has been quite nice for me. To keep it simple, I generate a pandas dataframe and push it up to a new worksheet I create for that experiment.
That get's me now 80% of the way there because I then just have to apply some styling and copy some additional cells from a template I have and I get a mostly programmatically auto-generated output from my freeform experiments, which I love!
So, is there any ideas of in the future making a python client that makes it very easy to use quadratic as the frontend for ML experiment results or any other data science workflow? A lot of folks use jupyter notebook variants or streamlit, but they don't quite work as well as I think this could.
https://github.com/duckdb/duckdb-wasm
When selecting a range of cells that moves offscreen the view attempts to jump back to the cursor.
Dexie Cloud
You can use your when creating databases using npx dexie-cloud create. Let me know if you need more email addresses added!
Some new docs were added [Dexie Cloud docs](https://dexie.org/cloud/docs/) in recent days. Unless you already have the grip of it, one way to get started with the service is by playing around with the [todo-list sample app](https://github.com/dexie/Dexie.js/tree/master/samples/dexie-cloud-todo-app).
Double-clicking works, but "=" and "enter" do not.
Quadratic is only officially supported on Chrome and stable on Firefox. Safari is not well supported.
We should create a welcome message for users of Safari encouraging them to use Chrome.
Does not work for selecting a single cell, or selecting cells anywhere in the negative cell space.
In browsers where WASM is not supported show a modal asking users to use Chrome.
Sentry Issue: QUADRATIC-4
ReferenceError: WebAssembly is not defined
at abort (/pyodide/v0.19.0/full/pyodide.asm.js:14:202379)
at None (/pyodide/v0.19.0/full/pyodide.asm.js:14:191667)
at loadPyodide (../src/js/pyodide.js:282:9)
On Chrome and Apple M1 grid axis do not render unless zoomed all the way out.
Show progress for cells that are running.
If a cell returned an array, show that space as allocated while running. Maybe keep old values as shimmering?
Move Python code execution to a WebWorker (if feasible).
getCell()
getCells()
c()
await
(very confusing for typical python users)The dependency graph usage has many bugs.
actions
instead that manage the DGraph as well as updating the DBOptional -- Probably Move to A Future Task
use pyImport
from Pyodide to be able to load a set of files with a grid so they can be imported by name and used in cells
https://pyodide.org/en/stable/usage/loading-custom-python-code.html
Tasks
.grid
The spreadsheet is not numbered clearly. The traditional letter-number system may be better (A1)
The top left negative space is not needed and can be confusing when navigating.
The code that renders grid lines generates a static number of lines, many of which are not visible at any given point.
https://github.com/quadratichq/quadratic/blob/main/src/core/gridGL/graphics/drawGridLines.ts
Rendering grid lines should be dynamic based on the location of the viewport.
Copy pasting a group of cells results in error page
Copy paste any cells that contains the table data and paste it in an empty location.
OS: macOS Monetery 12.0.1
System: Macbook M1 Pro 2021
node version: 10.15.1
npm version: 7.24.2
browser: Firefox 99.0.1
Can't render cjk using bitmapText
Quadratic columns are currently a fixed width.
To Do list
Knex.js for connecting databases
Should work for npm start & electron. No support for "Cloud".
localstorage
while perusing http://early.quadratic.to I often forgot what I could do and would like to be able to bring up a help menu or search menu of all actions I could take that aren't just specific to cell operations (like /
is used for). e.g. share, export, duplicate, archive the grid etc
As discussed before with @davidkircos , it would be cool if requests
could be integrated in Quadratic.
This in turn could enable all kinds of cool use cases, like loading CSV from an URL.
import pandas
from io import StringIO
import requests
pandas.read_csv(StringIO(requests.get('https://gist.githubusercontent.com/netj/8836201/raw/6f9306ad21398ea43cba4f7d537619d0e07d5ae3/iris.csv').text))
My current progress of shimming requests
is tracked here bartbroere/requests#1 and here: https://github.com/NetherlandsForensicInstitute/pyodide/blob/0.19.0/packages/requests/meta.yaml
It is integrated in custom Pyodide builds by patching the original requests
package. I would be happy to help and get this to work.
Traceback is currently limited to the line of code with the error. We should show the full stack trace
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.