[go: up one dir, main page]

Skip to content
Austin Bonander edited this page Aug 13, 2024 · 14 revisions

A non-exhaustive list of open-source projects that either use SQLx or integrate with it.

This page is publicly editable and is for informational purposes only.

A project being listed here does not constitute an endorsement by the SQLx developers.

Rules

We kindly request your help in keeping this page as up-to-date as possible.

To avoid ambiguities or conflicts, please adhere to the following rules when updating this page:

(Click to Expand)

All Edits

  • You MUST include an edit message, with the reason for the edit, when changing this page.
  • All edits to this page MUST be made in good faith.
  • Any edits in violation of these rules MAY result in being banned from further participation on this repository.

Changes Requiring Approval

  • Unless otherwise stated, changes to this page DO NOT require maintainer approval.

  • A "maintainer" is any user who has write access to this repository.

  • You SHOULD seek maintainer approval for changes via one of the following means:

    • Discord message (#internal channel, NOT direct message)
    • Github discussion
    • Github issue
  • You MAY NOT add, change, merge or remove categories without approval from a maintainer.

  • You MAY NOT modify this Rules section without approval from a maintainer.

Rule Changes

  • You MUST add the date of a rule change to the <summary> element above (see source).

Adding or Updating a Listing

  • You MAY add or update a listing for any project, regardless of whether or not you are an owner.
  • You MAY use a stylized name (e.g. SQLx instead of sqlx).
  • You MAY include a brief description, no more than 20 words.
    • Put the description in quotation marks (" ") if it originates from the project itself.
  • You MUST use an appropriate category.
    • If an appropriate category does not exist, please discuss adding one with the maintainers as explained above in "Changes Requiring Approval".
  • Ordering within a category is lexicographical, ignoring case.
  • You MUST include a relevant link:
    • For Rust crates, include the crates.io link.
    • For all projects, link to the public repository (on Github or otherwise).
  • The project MUST be AT LEAST six months old.
    • For Rust crates, at least six months from the first public release on crates.io.
    • For other projects, at least six months from the first public commit to the primary branch on a public repository.
  • The project MUST be actively maintained to be added.
    • At least one crates.io release or commit to the primary branch within the last two weeks, at the time the listing is added.
  • The project MUST use SQLx.
    • The definition of "use" is deliberately left up to interpretation, but please be honest.

Removing a Listing

  • You MAY remove any listing IF AND ONLY IF at least one of the following criteria are met.
  • You MAY remove a listing for any reason not listed here, IF AND ONLY IF you own the project.
  • A project that is explicitly discontinued SHOULD be removed. At least one of the following criteria should be met:
    • The public repository is archived.
    • The user account that owns the public repository is deleted.
    • The owner has made a posting on a public page (README, blog post, Github issue, etc.) stating that they will not continue development.
  • A listing SHOULD be removed if the project is too out of date or no longer actively maintained.
    • The project or crate is not compatible with a version of SQLx released in the last twelve months.
    • A crates.io release or commit to any branch on a public repository has not been made in the past twelve months.
  • A listing MAY be removed if a reasonable person can conclude from publicly available information that there will be no further development. Examples include, but are not limited to:
    • The last public posting by the project owner was a "call for maintainers" and no new project owners have been added.
    • The project owner has announced they are retiring from software development and there are no other maintainers.
    • It becomes known that the project owner has unfortunately passed away and there are no other maintainers.
  • If removing a listing leaves an empty category, replace the category's contents with (Empty as of <current date>).

Categories

ORMs

Object-Relational Mappers built on SQLx.

SQLx itself is not an ORM and does not intend to be. If you prefer a more object-oriented style of database access, you might be interested in one of these crates:

  • SeaORM (Crates.io, Github): "[...] a relational ORM to help you build web services in Rust with the familiarity of dynamic languages."
  • Welds (Crates.io, Github): "An async ORM written in rust using sqlx and/or Tiberius."

Query Builders

Crates to assist with building dynamic queries for SQLx.

  • SeaQuery (Crates.io, Github): "A dynamic query builder for MySQL, Postgres and SQLite"

Type Integrations

Crates providing additional type integrations for SQLx.

  • GeoZero (Crates.io, Github): "Zero-Copy reading and writing of geospatial data."

Connection Poolers

Alternative connection pooler implementations (vs sqlx::Pool) that integrate with SQLx.

(Empty as of 2024/08/13)

Migrations

Alternative support for migrations (vs sqlx::migrate!()) that integrate with SQLx.

(Empty as of 2024/08/13)

Web Development

Crates that integrate with SQLx to aid development of web backends or frontends.

Forks

Known forks of SQLx. These may not have compatible APIs and are not associated with the SQLx developers.