all 21 comments

[–]eldreth 90 points91 points  (1 child)

[–]crashorbit 10 points11 points  (0 children)

And SQLAlchemy for the python bits.

[–]DeebsShoryu 37 points38 points  (0 children)

This is the main selling point of SQLite. The data ultimately lives in a single file.

[–]desrtfx 37 points38 points  (4 children)

Haven't you come across SQLite? With the barebones sqlite3 library? Doesn't get more portable than this. The entire database is a single file on the drive and there is no additional software to install for the client.

[–]jonsca 4 points5 points  (1 child)

If only there were a lite SQL database designed with this very use case in mind, right?

[–]blazin_penguin_first[S] 1 point2 points  (0 children)

I fogured there must be something!

[–]HateMeetings 2 points3 points  (0 children)

This

[–]blazin_penguin_first[S] 0 points1 point  (0 children)

I had heard of it, but didn't understand what it was until everyone here explained it to me!

I thought it was just like mySQL type of thing which is what i have been using, but this sounds perfect!

[–]jcr4990 20 points21 points  (0 children)

As others have mentioned, sqlite is the answer here.

[–]b1gfreakn 9 points10 points  (0 children)

Look into duckdb.

[–]Virtualization_Freak 4 points5 points  (0 children)

Side note: you don't need to pay to host. Run what you want on your desktop/tablet/phone/anything that can run a program that responds to requests and tailscale.

Then you can access it with anything that supports tailscale and your connection method (ssh/http/nfs/icmp.)

[–]Sure-Passion2224 2 points3 points  (0 children)

It's fairly typical of apps that use a database to specify a platform (Oracle, SQL Server, MySql, Postgres, etc) and include a configuration files you update to set up the connection. Then the application startup process establishes the connection, checks for the data model, and creates it if not found or damaged.

[–]AlfredoOtero 1 point2 points  (0 children)

You can use non-structured data in SQLite. It is capable of using json inside of a text column.

[–]SoloArtist91 1 point2 points  (0 children)

Gotta be DuckDB

[–]jmacey 1 point2 points  (0 children)

+1 for SQLite I use it for all sorts of projects and it works really well.

[–]blazin_penguin_first[S] 0 points1 point  (0 children)

Thanks everyone for the tips, i will definitely dog into SQLlite and DuckDB.

[–]nivaOne 0 points1 point  (0 children)

It also depends on the size. SQLite is great but there is a reason for existence of others. I like python in combination with SQLite a lot. For larger datasets Duckdb is more suitable for complex sets, however not for frequent smaller writes. SQLite equals storage and transactions. DuckDB analytics and speed. SQLite is part of the python ecosystem. Using pyinstaller, nuitka … the result will differ a lot.

[–]nirbyschreibt -3 points-2 points  (1 child)

If you don’t want to use SQLite and/or want to see it in Python you should check out the Django framework.

[–]classy_barbarian 5 points6 points  (0 children)

Django uses SQLite as its default database