datasette-app
datastation
datasette-app | datastation | |
---|---|---|
12 | 25 | |
115 | 2,854 | |
- | 0.1% | |
2.6 | 0.0 | |
about 1 year ago | 6 months ago | |
JavaScript | TypeScript | |
- | GNU General Public License v3.0 or later |
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.
datasette-app
-
Welcome to Datasette Cloud
Hah, Softbank isn't the goal here!
I realized that Datasette is the first project of my entire career where if I was still working on it in 15 years time I wouldn't feel bored yet. There's just SO MUCH scope for interesting applications of the core idea.
As such, I want to work on it for decades. But it's lonely working on it alone (the community around it has been growing and is delightful, but it's not the same as having a full-time team.)
So the question I'm trying to answer is how to make the project financially sustainable in the long-run - not just for myself, but so I can pay for a team to work on it with me.
There are plenty of other examples of open source projects that have turned SaaS hosting into a sustainable business model - WordPress and GitLab are just two of the best examples. It feels like it's a reasonably well-trodden path.
Plus... I want people to be able to use my software. Currently to use Datasette as an individual you either have to "pip" or "brew" install it, or you can try the macOS Electron app - https://datasette.io/desktop - but I want newsrooms to be able to use it to collaborate on data. And most newsrooms aren't well equipped to configure a Linux server.
So I realized that a hosted SaaS version can solve two issues at once: it can help the audience I care about actually benefit from the value of the software so far, and it provides a reasonably realistic path to financial sustainability for the project as a whole.
And yeah, I'd also like to make a ton of money out of it myself too!
-
Bing: “I will not harm you unless you harm me first”
It would be nice if his stuff worked better, ironically. The Datasette app for Mac seems to be constantly stuck on loading (yes I have 0.2.2):
https://github.com/simonw/datasette-app/issues/139
Amd his screen capture library can't capture Canvas renderings:
https://simonwillison.net/2022/Mar/10/shot-scraper/
Lost two days at work on that.
Speaking of technology not working as expected.
-
Datasette is my data hammer
I'd love to get the desktop app working on Linux and Windows.
I did manage to get a prototype working on Windows, despite having VERY little experience working on that platform: https://github.com/simonw/datasette-app/issues/71
The bit I'm stuck on is how to turn that prototype into an application with an installer that's signed so people can download and run it.
-
Automating screenshots for the Datasette documentation using shot-scraper
I have trouble answering this question myself, and I created it!
The problem I have is that it can be applied to too many different problems.
I personally have used it for the following (a truncated summary):
- Publishing data online to allow other people to explore it, for example https://scotrail.datasette.io and https://russian-ira-facebook-ads.datasettes.com/
- Building websites, by combining it with custom templates. https://datasette.io and https://www.niche-museums.com and https://til.simonwillison.net are three examples
- Building my own combined search engine over a bunch of different data. https://github-to-sqlite.dogsheep.net is this for my GitHub issues and commits and issue comments across 100+ projects
- Similarly, building a code search engine across multiple repos (partly to demonstrate how far you can go with custom plugins): https://ripgrep.datasette.io
- Any time I have a CSV file I open it in the Datasette Desktop macOS app first to start exploring it: https://datasette.io/desktop
- As a prototyping tool. It's the fastest way I know of to get from some data files (CSV or JSON) to a working JSON API - and a GraphQL API too using this plugin: https://datasette.io/plugins/datasette-graphql
- Messing around with geospatial data - here's a write-up of my favourite experiment with that so far: https://simonwillison.net/2021/Jan/24/drawing-shapes-spatial...
This is a bewilderingly wide array of things! And I keep on finding new problems I can apply it to:
Of course, if all you have is a hammer, everything looks like a nail. But thanks to the plugin system (and the amazing flexibility of SQLite under the good) I can reshape my hammer into all sorts of interesting shapes!
I've been trying to capture some of this at https://datasette.io/for
This is one of my biggest marketing challenges for the project though. If someone asks you for an elevator pitch you need to do better than spending 15 minutes talking through a wide ranging bulleted list!
- Upscayl – Free and Open Source AI Image Upscaler for Linux, macOS and Windows
-
What’s the best cheap program to start??
You can use my Datasette software to explore the database: https://datasette.io/desktop - that's the Mac version but you can run the underlying software on Windows too.
-
Cool SQL projects?
Then you can either run "pip install datasette" and "datasette healthkit.db" or you can install the Datasette Desktop app from https://datasette.io/desktop and use that to open the database file.
-
Need helping actually using SQL
You may find my Datasette Desktop Mac application useful: it provides a read-only interface over SQLite and cdn oprn both SQLite files and CSV files: https://datasette.io/desktop
-
JupyterLab Desktop App now available
This is really interesting to see. I've been trying to solve a similar problem over the past few weeks - bundling up a Python web application as an installable Desktop app, in my case for https://datasette.io/desktop - so it's really interesting to see how they've approached the problem.
I ended up including a full copy of Python using https://github.com/indygreg/python-build-standalone - it looks like they've bundled Conda.
I wrote up detailed notes on how I solved the Python bundling problem in https://simonwillison.net/2021/Sep/8/datasette-desktop/#how-... and in https://til.simonwillison.net/electron/python-inside-electro...
-
Datasette Desktop 0.2.0: The annotated release notes
I've been having a ton of fun building this. The code is all open source at https://github.com/simonw/datasette-app - it's my first time working with Electron and the biggest task was figuring out how to bundle Python inside an Electron app, which I wrote about in detail here: https://til.simonwillison.net/electron/python-inside-electron
datastation
-
Code coverage for Go integration tests
There was a technique that existed already where you could use `go test -cover` and the `-o` flag to produce a binary from `go test` rather than actually running tests. So you could build a binary that had coverage enabled. Then when you ran
Here's an example: https://github.com/multiprocessio/datastation/blob/main/runn....
I can't remember where I found this technique but it's been around for a while.
This new option is the same thing but a way to `go build` with `-cover` instead of `go test -cover -o $out`? Do I have that right?
-
Engineers using dbt with VS Code - how are you previewing your results in lieu of the functionality provided by dbt cloud?
If my employer doesn't consider paying for dbt cloud, I will use u/eatonphil 's datastation, run the queries on a dev database then put them in dbt.
- Show HN: DataStation – App to easily query, script, and visualize data
-
Windmill.dev
I build a somewhat similar app, DataStation [0], that is in JavaScript and Go. It supports scripting in Python, Julia, R, JavaScript, Ruby, etc.
The server version of it exists and I run it myself but that process is not documented yet. (Most people use it as a desktop app today.)
[0] https://github.com/multiprocessio/datastation
-
Datasette Lite: a server-side Python web application running in a browser
My biggest issue with Pyodide is the long wait times. I haven't figured out a way around a ~5 second load time where the entire UI hangs every single time you load the page.
My app (similar to Simon's, a lite mode of a data IDE): https://app.datastation.multiprocess.io.
My code: https://github.com/multiprocessio/datastation/blob/main/shar....
-
Lies we tell ourselves to keep using Golang
I use Go heavily cross-platform developing DataStation [0] and dsq [1]. I am not an expert. And I don't have proof for it but on some rudimentary benchmarks the Linux-specific file idioms in the Go standard library definitely don't seem to translate well to even macOS let alone Windows. For example some good streaming techniques for reading large files on Linux that work really well there seemed to be pretty bad on macOS.
I think Amos has presented more proof than I can on the topic of just how Linux-influenced Go is. And I think it is fine for the majority of Go users because the majority users of Go are building server apps or Linux CLIs.
Amos has spent some time building cross-platform desktop systems with Go for itch.io and I think I'm seeing some of the same things they are in that scenario.
I think this is a reasonable article. If Amos gets flame-y at any point I think it's worth ignoring because there does seem to be something up with Go in cross-platform applications.
I like Go a lot and for most things I'd keep using it still. Just sharing some observations.
[0] https://github.com/multiprocessio/datastation
[1] https://github.com/multiprocessio/dsq
-
Feeling overwhelmed when trying to contribute to opensource projects
I keep a page of good first projects for two big projects I work on. The only expectation is that you know Go. I've had a couple of people who've never contributed to OSS come in and get some meaningful features merged.
-
Ask HN: Who wants to collaborate? (April 2022)
I've got some good first projects if you're interested in OSS data tools and have some Go experience.
Check out: https://github.com/multiprocessio/datastation/blob/main/GOOD...
-
Open source Go projects to contribute (beginners)
Some example projects: DataStation (desktop GUI for querying every kind of database, scripting and graphing the results) and dsq (a CLI companion for running SQL queries on many kinds of files), and go-json (a library for fast JSON encoding of arrays of large objects).
-
Ask HN: Anyone making a living building desktop applications?
I'm building a desktop-first (SaaS-eventual) data IDE for developers [0]. Making a living? Not yet.
It being desktop-first makes it as easy to try out in a corporate environment as Sublime. The data never leaves your machine. Desktop-first is a big deal in devtools for this reason.
[0] https://github.com/multiprocessio/datastation
What are some alternatives?
til - Today I Learned
homebrew-emacs-plus - Emacs Plus formulae for the Homebrew package manager
fusionauth-site - Website and documentation for FusionAuth
gecko-dev - Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
iron.nvim - Interactive Repl Over Neovim
vscode-jupyter - VS Code Jupyter extension
vscode-nodebook - Node.js notebook
golang-samples - Sample apps and code written for Google Cloud in the Go programming language.
datasette - An open source multi-tool for exploring and publishing data
django-sql-dashboard - Django app for building dashboards using raw SQL queries
oursh - Your comrade through the perilous world of UNIX.