Introducing NeoSQLite (www.youtube.com)
from cwt@lemmy.ml to python@programming.dev on 31 Aug 2025 08:11
https://lemmy.ml/post/35467604

Introducing NeoSQLite — a Python library with an API highly compatible with PyMongo, allowing you to use SQLite almost like MongoDB.
github.com/cwt/neosqlite This project integrates two of my other open-source projects:

NeoSQLite is ideal for lightweight, embeddable applications that need MongoDB-like query flexibility with the simplicity and portability of SQLite.

Feel free to check it out and share your feedback.

#python

threaded - newest

Valmond@lemmy.world on 31 Aug 2025 08:18 next collapse

Why would you want to use No-SQL on an SQL database? Like for convenience only or are there some other benefits? They are wildly incompatible so do you only get the subset or is there some transformative magic done in the API?

cwt@lemmy.ml on 31 Aug 2025 09:49 next collapse

What you said is the old concept of relational databases. SQLite, years ago, added native JSON and JSON operations such as JSON_EXTRACT, JSON_EACH, JSON_SET, etc., which blurred the line between SQL and NoSQL. However, not many developers utilize it, so I’m trying to bring it to the easiness of PyMongo APIs. If you read the examples and test cases in my repo, you will no longer mention subsets. While it’s true, I’ve already addressed most of them and am still progressing.

Valmond@lemmy.world on 31 Aug 2025 17:50 collapse

Nice job!

What I was wondering about is the possibility to just chuck in any kind of data anywhere, or have gaping holes in some, which SQL isn’t suspecting/allowing but NoSQL does.

Botzo@lemmy.world on 31 Aug 2025 14:30 collapse

You’re gonna hate/love learning about how Documentdb works (it’s postgres with extensions).

Valmond@lemmy.world on 31 Aug 2025 17:48 collapse

Ha ha I have worked with MongoDB and I dhad mixed feelings about the researcher who set up the database (just mix anything in anywhere) 😸

cwt@lemmy.ml on 03 Sep 2025 12:22 collapse

20250903: I’ve made a lot of updates since my last post. Performance has improved thanks to the use of temp table. Please check it out and give it a try!