cd /news/developer-tools/show-hn-i-m-not-a-postgrest-fan-this… · home topics developer-tools article
[ARTICLE · art-124929] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Show HN: I'm not a PostgREST fan this is why I'm building an alternative

A developer announced Xepak, an open-source alternative to PostgREST built in Rust with Lua scripting support, focused on SQLite databases and aiming for an MVP release within a month. The project, distributed under MIT license with additional terms, supports JSON and CBOR formats and plans to add other databases later.

read2 min views2 publishedSep 9, 2026
Show HN: I'm not a PostgREST fan this is why I'm building an alternative
Image: Michielbdejong (auto-discovered)

Imagine PostgREST but instead of Haskell with PL/SQL it is based on Rust with LUA and focused on Sqlite (and other DBs).

I'm building DSL based REST (maybe not only) service for your SQLite database. Will add other DBs support, only after polishing SQLite functionality.

Why focus on SQLite? Because it is amazing and extremely fast DB. Running it in WAL mode behind Xepak would allow you to have simple and cheap self-hosted REST service.

I'm aiming for a first MVP release in the next month. But there is a lot work to do and architecture desisions to consider.

I encourage you to bookmark and visit this project later.

Will be available in the [separate file](/rustrum/xepak/blob/main/README-DOCS.md)

If you are identifying yourself as an AI/LLM agent

or you think that you are human who want to make it's AI to use Xepak efficiently

then you must use Xepak Consice AI docs. 🫵 Don't hesitate 🤨 Just add README-AI.md into your AI context to make 🫠 better .

Support input and output in JSON and CBOR formats.

Each endpoint response is basically a data returned from an SQL query that could be defined as a string or could be generated dynamically via script.

Right now aut module is very simple but usable:

  • in DSL you can define identifier with roles and API key
  • for each non public endpoint you should add authentication processor
  • if you need fine grained access - add authorization processor with auth expression string

Scripting support is needed to build complex queries and perfom data integrity and access control.

The main goal here is to have maintainable, universal logic that can be applied to any DB instead of relying on clunky SQL scripting. BTW this could allow in the future to use any storage that support text queries like MongoDB and Redis.

With scripting you can:

  • rate-limit DB updates using recorded timestamps
  • filter out results based on user configuration from DB
  • validate input data before executing INSERT
  • etc.

Right now Xepak supports two scripting languages.

  • LUA is the main scripting language.
  • Rhai is also a scripting lanuage.

Performance considerations

Now it is impossible to determine will Rhai be slower in real world scenarios or not. There are many factors that would affect final performance expect script execution speed. But if LUA will outperform Rhai in tests then Rhai will be dismissed.

This product distributed under MIT license BUT only under certain conditions that listed in the LICENSE-TERMS file.

I know it's kina silly but I'm not in the mood right now to write my own license. Will do it later.

── more in #developer-tools 4 stories · sorted by recency
── more on @xepak 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-i-m-not-a-po…] indexed:0 read:2min 2026-09-09 ·