Packages

A database toolkit for Gleam: typed schemas, changesets, a composable query builder, repos, associations, and a declarative schema spec. An Ecto-shaped design — no macros, no reflection.

Current section

Files

Jump to
lode gleam.toml
Raw

gleam.toml

name = "lode"
version = "0.1.0"
description = "A database toolkit for Gleam: typed schemas, changesets, a composable query builder, repos, associations, and a declarative schema spec. An Ecto-shaped design — no macros, no reflection."
licences = ["Apache-2.0"]
repository = { type = "github", user = "blakedietz", repo = "lode" }
# Conventional-Commits-driven releases: `gleam run -m version_bump -- --dry-run`
# (real runs need HEXPM_API_KEY + GITHUB_TOKEN). initial_development keeps
# releases in 0.x (breaking changes bump the minor) until a 1.0.0 is cut by hand.
[tools.version_bump]
initial_development = true
plugins = ["commit-analyzer", "release-notes-generator", "hex", "git", "github"]
[dependencies]
gleam_stdlib = ">= 1.0.0 and < 2.0.0"
gleam_time = ">= 1.0.0 and < 2.0.0"
dee = ">= 1.0.0 and < 2.0.0"
gleam_json = ">= 3.0.0 and < 4.0.0"
gleam_regexp = ">= 1.1.1 and < 2.0.0"
[dev_dependencies]
gleeunit = ">= 1.0.0 and < 2.0.0"
version_bump = ">= 0.2.0 and < 1.0.0"
# Guides rendered into the HTML docs (`gleam docs build`). Paths are flat
# `<name>.html` to match the cross-links the guides use between each other.
[documentation]
pages = [
{ title = "Overview", path = "overview.html", source = "guides/introduction/overview.md" },
{ title = "Getting Started", path = "getting-started.html", source = "guides/introduction/getting-started.md" },
{ title = "Cheatsheet: Basic CRUD", path = "crud.html", source = "guides/cheatsheets/crud.md" },
{ title = "Cheatsheet: Associations", path = "associations.html", source = "guides/cheatsheets/associations.md" },
{ title = "Data mapping and validation", path = "data-mapping-and-validation.html", source = "guides/howtos/data-mapping-and-validation.md" },
{ title = "Schemaless queries", path = "schemaless-queries.html", source = "guides/howtos/schemaless-queries.md" },
{ title = "Dynamic queries", path = "dynamic-queries.html", source = "guides/howtos/dynamic-queries.md" },
{ title = "Aggregates and subqueries", path = "aggregates-and-subqueries.html", source = "guides/howtos/aggregates-and-subqueries.md" },
{ title = "Constraints and upserts", path = "constraints-and-upserts.html", source = "guides/howtos/constraints-and-upserts.md" },
{ title = "Generators", path = "generators.html", source = "guides/howtos/generators.md" },
{ title = "Embedded schemas", path = "embedded-schemas.html", source = "guides/howtos/embedded-schemas.md" },
{ title = "Self-referencing many to many", path = "self-referencing-many-to-many.html", source = "guides/howtos/self-referencing-many-to-many.md" },
{ title = "Polymorphic associations with many to many", path = "polymorphic-associations-with-many-to-many.html", source = "guides/howtos/polymorphic-associations-with-many-to-many.md" },
{ title = "Multi tenancy with query prefixes", path = "multi-tenancy-with-query-prefixes.html", source = "guides/howtos/multi-tenancy-with-query-prefixes.md" },
{ title = "Multi tenancy with foreign keys", path = "multi-tenancy-with-foreign-keys.html", source = "guides/howtos/multi-tenancy-with-foreign-keys.md" },
{ title = "Replicas and dynamic repositories", path = "replicas-and-dynamic-repositories.html", source = "guides/howtos/replicas-and-dynamic-repositories.md" },
{ title = "Test factories", path = "test-factories.html", source = "guides/howtos/test-factories.md" },
{ title = "Duration types with pog", path = "duration-types-with-pog.html", source = "guides/howtos/duration-types-with-pog.md" },
{ title = "Testing with Lode", path = "testing-with-lode.html", source = "guides/testing/testing-with-lode.md" },
{ title = "Divergences from Ecto", path = "divergences-from-ecto.html", source = "guides/howtos/divergences-from-ecto.md" },
]