postgres-typed
Typesense
postgres-typed | Typesense | |
---|---|---|
5 | 131 | |
26 | 17,965 | |
- | 2.7% | |
0.0 | 9.8 | |
over 1 year ago | 10 days ago | |
TypeScript | C++ | |
MIT License | GNU General Public License v3.0 only |
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.
postgres-typed
-
Kysely: TypeScript SQL Query Builder
This is really cool, will look into using it in future projects!
I also made a tool (https://github.com/vramework/schemats) that generates the types directly from the db, which means whenever you do a DB migration your database types automatically update. Was forked from the original schemats library a couple years ago.
I also created a lightweight library ontop of pg that is less of a query builder and more of a typed CRUD + SQL for non trivial queries (https://github.com/vramework/postgres-typed). Most queries I deal with in a day to day is usually crud so I find it a little easier, but it's much less powerful then Kysely! I fall more into the camp of writing complex queries in SQL with small helpers and writing simple ones with util functions and typescript
-
Ask HN: Who Wants to Collaborate?
I'm working on a few projects, from one/two days to platforms.
The first is OS and is a simple nodeJS environment to deploy applications via lambda and express quickly. Sort of like nestJS except less decorators and more functional (https://vramework.io/). I already know of a few other colleagues that rolled their own propriety versions of this to support enterprise and cloud deployments so decided to OS it.
The other OS project is a strongly typed postgres/mysql driver. The idea is to generate typescript definitions directly from postgres (https://github.com/vramework/schemats) and then have a think layer ontop of pg-node that gives you strongly typed queries (https://github.com/vramework/postgres-typed).
An open-source project I spent a few years on the core team is https://deepstream.io/, a realtime-server that allows you to mix and match multiple streaming protocols (mqtt/websocket/others) and allow those clients to talk to each other using pub-sub and records. I'm not longer working for it but wanted to give it a shout out!
On a non OS project, I have been working on an immersive audio platform for a while now. The main goal is to allow users to pick and choose how audio books progress, and also have a live session mode which allows users to record their pulse / answer questions and a few other metrics and associate it with sentences. I pretty much built and deployed all of it but require some advice/brainstorming on how to proceed now. I built it to satisfy an itch when I was practicing shamanism during the first lockdown when I was in-between contracts / taking time off.
I also want to build a simple web-pages strategy game based around eco-education, but don't have the bandwidth . If anyone is interested in mixing together gamification and eco-village building might be a fun conversion to bounce ideas!
All the OS projects above were used to support my personal/a couple professional projects over the last few years.
Email in profile
-
Write an SQL query builder in 150 lines of Python
I agree with your point that adding multiple layers = more attack vectors and abstraction of a really good domain specific language. But what seems to happen on most of the projects I work on is we end up hiding away extremely common logic behind helper functions. It always starts off with SQL and then slowly gets moved into higher level functions that offer a better developer experience.
Shameless plug, but I just posted a library I wrote (for node https://github.com/vramework/postgres-typed/blob/master/READ...) which pretty much is a tiny layer ontop of pg-node (which is query based / with value parameters) and provides small util functions with typescript support derived straight from postgres tables.
In an ideal world (one I think we are getting very close to) I think we will end up having SQL queries validated in our code against the actual DB structure the same way we have any other compilation error. But until then we'll need to rely on tests or helper libraries, and for the purpose of refactoring and development I find the latter more enjoyable (although still far from perfect).
- Show HN: Node Typed Postgres Query Builder
- Show HN: Typed Postgres CRUD Queries
Typesense
-
FlowDiver: The Road to SSR - Part 1
Disregarding props-drilling technique in favor of a more reliable and elegant solution we looked for inspiration elsewhere. Another project of ours .find was using Typesense/Algolia components, which looked a bit like black-box/magic, but at the same time provided a clean approach to build complex and highly customizable solutions.
-
Release Radar · April 2024 Edition: Major updates from the open source community
Have you ever tried to look up something, only to realise your search engine doesn't recognise your typos? Typesense to the rescue! It's a fast, typo-tolerant search engine built for an easier browsing experience. The latest version comes with new features such as built-in conversational search, image search, voice search, analytics, and more. Dive into the release notes for the full list of changes and enhancements.
-
Website Search Hurts My Feelings
There are actually plenty of non-ES products that are way easier to integrate and tune (and get better results with less effort).
- Typesense (https://github.com/typesense/typesense)
- Algolia
- Google Programmable Search Engine (https://programmablesearchengine.google.com/about/)
- Remote Machine Learning and Searching on a Raspberry Pi 5
-
Open Source alternatives to tools you Pay for
Typesense - Open Source Alternative to Algolia
-
DNS record "hn.algolia.com" is gone
If you like your penny take a look at Typesense https://typesense.org/ - nothing to complain here. Especially nothing complain about pricing.
-
Vector databases: analyzing the trade-offs
I work on Typesense [1] (historically considered an open source alternative to Algolia).
We then launched vector search in Jan 2023, and just last week we launched the ability to generate embeddings from within Typesense.
You'd just need to send JSON data, and Typesense can generate embeddings for your data using OpenAI, PaLM API, or built-in models like S-BERT, E-5, etc (running on a GPU if you prefer) [2]
You can then do a hybrid (keyword + semantic) search by just sending the search keywords to Typesense, and Typesense will automatically generate embeddings for you internally and return a ranked list of keyword results weaved with semantic results (using Rank Fusion).
You can also combine filtering, faceting, typo tolerance, etc - the things Typesense already had.
[1] https://github.com/typesense/typesense
[2] https://typesense.org/docs/0.25.0/api/vector-search.html
-
Creating an advanced search engine with PostgreSQL
For something small with a minimal footprint, I'd recommend Typesense. https://github.com/typesense/typesense
-
Obsidian Publish full text search
I haven’t used Publish, but I’d assume you could use something like https://typesense.org/ to index and search the vault.
-
DynamoDB search options
A cheaper option would be to use https://typesense.org. You can use DynamoDb streams to automatically load records. It has worked well for me.
What are some alternatives?
PyPika - PyPika is a python SQL query builder that exposes the full richness of the SQL language using a syntax that reflects the resulting query. PyPika excels at all sorts of SQL queries but is especially useful for data analysis.
MeiliSearch - A lightning-fast search API that fits effortlessly into your apps, websites, and workflow
sql-athame - Python tool for slicing and dicing SQL
Elasticsearch - Free and Open, Distributed, RESTful Search Engine
sql-assassin - Unfancy node.js SQL builder for ES6
Apache Solr - Apache Lucene and Solr open-source search software
vox - Vox language compiler. AOT / JIT / Linker. Zero dependencies
meilisearch-laravel-scout - MeiliSearch integration for Laravel Scout
deepstream.io - deepstream.io server
loki - Like Prometheus, but for logs.
xql - SQL builder and utilities library for node.js (runs in browser as well).
sonic - 🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.