jsonschema
postgres-json-schema
jsonschema | postgres-json-schema | |
---|---|---|
3 | 3 | |
451 | 467 | |
- | - | |
7.8 | 2.0 | |
2 days ago | about 2 months ago | |
Rust | PLpgSQL | |
MIT License | PostgreSQL License |
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.
jsonschema
-
web service framework and OpenAPI spec
Checkout this crate https://crates.io/crates/jsonschema
-
Show HN: Pg_jsonschema – A Postgres extension for JSON validation
The `jsonschema` crate author here.
First of all, this is an exciting use case, I didn't even anticipate it when started `jsonschema` (it was my excuse to play with Rust). I am extremely pleased to see such a Postgres extension :)
At the moment it supports Drafts 4, 6, and 7 + partially supports Draft 2019-09 and 2020-12. It would be really cool if we can collaborate on finishing support for these partially supported drafts! What do you think?
If you'll have any bug reports on the validation part, feel free to report them to our issue tracker - https://github.com/Stranger6667/jsonschema-rs/issues.
Re: performance - there are a couple of tricks I've been working on, so if anybody is interested in speeding this up, feel free to join here - https://github.com/Stranger6667/jsonschema-rs/pull/373
P.S. As for the "Prior Art" section, I think that https://github.com/jefbarn/pgx_json_schema should be mentioned there, as it is also based on `pgx` and `jsonschema`.
-
Need help: Faster JSON Schema validation in Rust
I've been working on rewriting my jsonschema crate for a while and now I want to ask for help as I don't have much bandwidth to work on it. Here is a WIP pull request with things I have so far:
postgres-json-schema
-
Pg_jsonschema – JSON Schema Support for Postgres
I've found that this PL/pgSQL implementation also works well when you don't need maximum performance:
https://github.com/gavinwahl/postgres-json-schema
-
Show HN: Pg_jsonschema – A Postgres extension for JSON validation
This is awesome -- really excited that Supabase is picking this up with their commitment to open source in general and PG in particular.
Some prior art:
- https://github.com/gavinwahl/postgres-json-schema (mentioned in the repo)
-
Where can I host PostgreSQL with custom extensions for cheap (or free)?
# Based on debian-slim FROM postgres:12 RUN mkdir -p /app RUN apt-get update # pgroonga extension # Does not officially support alpine RUN apt-get install -y wget RUN wget https://packages.groonga.org/debian/groonga-apt-source-latest-buster.deb RUN apt install -y -V ./groonga-apt-source-latest-buster.deb RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - RUN apt-get update RUN apt-get install -y -V postgresql-12-pgdg-pgroonga RUN apt-get install -y -V groonga-tokenizer-mecab RUN apt-get install -y -V groonga-token-filter-stem RUN apt-get install -y git make # postgres-json-schema extension WORKDIR /app RUN git clone --depth 1 https://github.com/gavinwahl/postgres-json-schema.git RUN cd postgres-json-schema && make install # groonga-tokenizer-friso extension # WORKDIR /app # RUN apt-get install -y build-essential automake libtool libgroonga-dev # RUN git clone --depth 1 https://github.com/kenhys/groonga-tokenizer-friso.git # RUN wget -c https://github.com/lionsoul2014/friso/archive/v1.6.4-release.tar.gz -O - | tar -xz # RUN cd friso-1.6.4-release/src && make && make install # RUN cd groonga-tokenizer-friso && ./autogen.sh && ./configure --with-friso=/usr --with-friso-ini=../friso-1.6.4-release/friso.ini && make && make install # pg_jieba extension WORKDIR /app RUN apt-get install -y cmake build-essential postgresql-server-dev-12 RUN git clone --depth 1 https://github.com/jaiminpan/pg_jieba.git WORKDIR /app/pg_jieba RUN git submodule update --init --recursive RUN mkdir build && cd build && cmake -DPostgreSQL_TYPE_INCLUDE_DIR=/usr/include/postgresql/12/server .. && make && make install
What are some alternatives?
Fast JSON schema for Python - Fast JSON schema validator for Python.
pg_jsonschema - PostgreSQL extension providing JSON Schema validation
marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
graphql-bench - A super simple tool to benchmark GraphQL queries
lupin is a Python JSON object mapper - Python document object mapper (load python object from JSON and vice-versa)
is_jsonb_valid - Native PostgreSQL extension to validate jsonb
serpy - ridiculously fast object serialization
pgx_json_schema - JSON Schema validation for Postgres
RDFLib plugin providing JSON-LD parsing and serialization - JSON-LD parser and serializer plugins for RDFLib
windmill - Open-source developer platform to turn scripts into workflows and UIs. Fastest workflow engine (5x vs Airflow). Open-source alternative to Airplane and Retool.
PyValico - Small python wrapper around https://github.com/rustless/valico
pgx - Build Postgres Extensions with Rust! [Moved to: https://github.com/tcdi/pgrx]