pglite VS pytest-docker

Compare pglite vs pytest-docker and see what are their differences.

pglite

Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno (by electric-sql)
SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
pglite pytest-docker
9 1
4,588 395
14.6% 2.0%
8.4 6.7
5 days ago 4 months ago
TypeScript Python
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

pglite

Posts with mentions or reviews of pglite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-07.
  • Show HN: I open-sourced the in-memory PostgreSQL I built at work for E2E tests
    9 projects | news.ycombinator.com | 7 Apr 2024
    Hey HN! For a few months, I've been building pgmock at work for our E2E and unit test suite. It emulates Postgres in WebAssembly and has full feature parity with production databases.

    The cool thing about it is that you don't need any external processes or proxies. If your platform can run WASM (Node.js, browser, etc.), it can probably run pgmock. Creating a new database with mock data is as simple as creating a JavaScript object.

    It's a bit different from the amazing pglite [1] (which inspired me to open-source pgmock in the first place). While pgmock runs an x86 emulator, pglite compiles a Postgres fork to native WASM directly and is hence much faster and more lightweight. However, it only supports single-user mode and a select few extensions, so you can't connect to it with normal Postgres clients (which is quite crucial for E2E testing).

    Theoretically, it could be modified to run any Docker image on WebAssembly platforms. Anything specific you'd like to see?

    Happy hacking!

    [1] https://github.com/electric-sql/pglite

  • Pgmock: In-memory Postgres for unit/E2E tests
    2 projects | news.ycombinator.com | 4 Apr 2024
  • Soul: A SQLite REST and Realtime Server
    8 projects | news.ycombinator.com | 19 Mar 2024
    I've found postgres via docker to be fine for dev and testing, but there are various epheremal postgres scripts, plus this could be promising for node stuff https://github.com/electric-sql/pglite if it works out. I'd imagine if this does work out we'll see the same kind of builds for other runtimes as well (like python)
  • The Cell Programming Language
    3 projects | news.ycombinator.com | 7 Mar 2024
    > Use SQLite for everything, or Postgres if you outgrow it.

    Or both! ElectricSQL syncs front end SQLlite back to server side postgres. And they just rebuilt postgres on pure WASM (https://github.com/electric-sql/pglite). All ties together with a CRDT.

    I'm not affiliated, but just think it's just cool to imagine calls to front end sqllite as the be-all-end-all.

  • Testcontainers
    16 projects | news.ycombinator.com | 27 Feb 2024
  • PGlite – Postgres in WASM
    1 project | news.ycombinator.com | 22 Feb 2024

pytest-docker

Posts with mentions or reviews of pytest-docker. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-27.
  • Testcontainers
    16 projects | news.ycombinator.com | 27 Feb 2024
    I'm surprised this is getting so much attention. I thought this just standard practice at this point? If you use things like Gitlab CI then you get this via the `services` in your pipeline. The CI job itself runs in a container too.

    I use a very similar thing via pytest-docker: https://github.com/avast/pytest-docker The only difference seems to be you declare your containers via a docker-compose file which I prefer because it's a standard thing you can use elsewhere.

What are some alternatives?

When comparing pglite and pytest-docker you can also consider the following projects:

dockertest - Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.

otj-pg-embedded - Java embedded PostgreSQL component for testing

services-flake - NixOS-like services for Nix flakes

gradle-docker-compose-plugin - Simplifies usage of Docker Compose for integration testing in Gradle environment.