Awesome Gleam
For a full list of packages check out the Gleam package index.
Have a Gleam project to share with the world? Add a file in packages/ and run
gleam run.
Looking for something to build? Check out the suggestions list.
Packages
API Clients
- aws4_request - π - An AWS Signature Version 4 client implementation, used for S3 auth, etc
- discord_gleam - π - A library to create discord bots in gleam
- flwr_oauth2 - π - An OAuth 2.0 Library based on Gleam types
- glatus - π - Gleam bindings to the API of the Gatus health check tool
- gleam_hexpm - π - Gleam dynamic decoders for the API of Hex, the package manager for the BEAM ecosystem.
- glevatar - π - Easily create Gravatar URLs in Gleam
- tallgrass - π - Gleam wrapper for the PokeAPI.
- telega - π - A Gleam library for the Telegram Bot API with HTTP-based APIs, client implementation, wisp adapter, session bot, and conversation support
Benchmarking
- esgleam - π - esbuild for Gleam
- gleamdoc - π - Sparse, terminal-first documentation lookup for Gleam packages
- gleescript - π - Bundle your Gleam-on-Erlang project into an escript, a single executable file!
Command Line
- argv - π - A cross platform library for getting the command line arguments
- clip - π - A CLI Option Parser for Gleam
- gleam_community_ansi - π - ANSI colours, formatting, and control codes
- glint - π - Gleam command line argument parsing with basic flag support.
- glitzer - π - Progress bars for gleam.
- rad - π - A task runner for Gleam projects
- shellout - π - A Gleam library for cross-platform shell operations
- spinner - π - Animated progress spinners for your console
- stdin - π - Provides a synchronous iterator for consuming stdin. It supports all the non-browser targets, Erlang, Node, Deno, and Bun.
Configuration
- dot_env - π - Load environment variables from files
- dotenv_gleam - π - dotenv for Gleam
- envoy - π - A zero dependency cross platform Gleam package for reading environment variables
- glenv - π - A library for type-safe environment variable access.
- glenvy - π - A pleasant way to interact with your environment.
- k9_gleam - π - Parser and renderer for K9 (Self-Validating Components), configuration with trust levels and Nickel contracts
Cryptography
- acumen - π - ACME client for certificate management with Let's Encrypt and other ACME servers
- argus - π - Argon2 password hashing library for Gleam, based on the reference C implementation.
- beecrypt - π - Buzzing Gleam bindings to the Erlang bcrypt hashing library
- gleam_crypto - π - A Gleam cryptography library supporting Erlang and JavaScript
- ids - π - Unique IDs for Gleam
- kmh - π - Implementation of Knuthβs multiplicative hashing (useful for ID obfuscation, etc.)
- kryptos - π - Comprehensive cryptography with AEAD ciphers, key derivation, and digital signatures for Erlang and JavaScript
- youid - π - Generate and parse UUIDs
Data Structures
- act - π - Compose stateful actions to simulate mutable state
- argamak - π - A tensor library for the Gleam programming language
- delay - π - A dead simple data-structure for delaying side effects
- gleam_stdlib - π - A standard library for the Gleam programming language
- gleam_zlists - π - A library for working with lazy lists in Gleam
- gleamy_structures - π - Data structures in pure Gleam! Including tree, heap, non empty list, map, set, and priority queue.
- glearray - π - Immutable arrays for Gleam
- gleither - π - A small data-structure for representing an Either Monad
- iv - π - A fast, safe, batteries-included array for Gleam!
- non_empty_list - π - Non-empty lists in Gleam
- tote - π - Bags (or multisets) in Gleam
- trie_again - π - Tries in Gleam
Databases
- cake - π - An SQL query builder for dialects PostgreSQL, SQLite, MariaDB, and MySQL
- migrant - π - Database migrations for SQLite in Gleam
- mungo - π - A MongoDB driver for Gleam (formerly gleam_mongo)
- parrot - π - π¦ type-safe SQL in gleam via sqlc
- pog - π - A PostgreSQL database client for Gleam, based on PGO
- radish - π - A Redis client for Gleam
- sqlight - π - Use SQLite from Gleam!
- squirrel - π - πΏοΈ Type safe SQL in Gleam
- storail - π - A simple on-disc JSON based data store
- valkyrie - π - A lightweight, performant Redis-compatible client for Gleam
Email
- gcourier - π - Send emails from Gleam using SMTP
- gleam_sendgrid - π - Send emails from Gleam with SendGrid
- plunk - π - A Gleam library to send emails, manage contacts etc. using the Plunk API
- zeptomail - π - A wrapper for ZeptoMail's transactional email API
Erlang and OTP
Error Handling
- exception - π - A tiny package for dealing with exceptions
- snag - π - A boilerplate-free ad-hoc error type
File System
- file_streams - π - Gleam library that provides access to native Erlang binary file streams.
- filepath - π - Work with file paths in Gleam!
- simplifile - π - Basic file operations that work on all targets
- a2ml_gleam - π - Parser and renderer for A2ML (Attested Markup Language), an AI agent identity and attestation format
- commonmark - π - CommonMark implementation for Gleam, for the BEAM or JS
- cymbal - π - Build YAML in Gleam!
- gsv - π - A simple csv parser and generator written in gleam
- iso_8859 - π - Gleam library to decode ISO/IEC 8859 binary data into native UTF-8 strings.
- jot - π - A parser for Djot, a markdown-like language
- mork - π - A Markdown (CommonMark/GFM/OFM) parser in pure Gleam
- tom - π - A pure Gleam TOML parser!
- xmb - π - A tiny XML builder for Gleam
Frontend
- glailglind - π - Gleam modules and functions for installing and invoking TailwindCSS
- grille_pain - π - Toaster, made in lustre, for gleam
- lustre - π - An Elm-inspired framework for building web apps in Gleam!
- lustre_animation - π - Animations for lustre, utilizing JS requestAnimationFrame and setTimeout
- lustre_http - π - HTTP requests from lustre
- lustre_ui - π - A collection of components and design tokens for building Lustre apps.
- lustre_virtual_list - π - A virtual list component for lustre.
- lustre_websocket - π - Web Socket requests from lustre
- redraw - π - React bindings for Gleam! Supports everything modern React provides, with full Gleam Type-Checking system!
- sketch - π - A CSS-in-Gleam package, made to work with frontend, and directly with lustre!
- tardis - π - Time traveller debugger, tailor-made for Lustre
- tiramisu - π - A type-safe 3D game engine for Gleam
Gleam
Graphics
HTML
- formal - π - Type safe HTML form decoding and validation!
- glentities - π - HTML entity encoder/decoder for Gleam
- houdini - π - πͺ Fast HTML escaping
- htmb - π - A tiny HTML builder for Gleam
- htmgrrrl - π - Gleam bindings to htmerl, the fast and memory efficient Erlang HTML SAX parser.
- nakai - π - HTML generation for Gleam, on the server or anywhere else
- odysseus - π - UN-escaping HTML
HTTP
- cors_builder - π - A CORS Builder, performing validation and injection of CORS for misp, wisp and any framework!
- gleam_http - π - Types and functions for Gleam HTTP clients and servers
HTTP Clients
HTTP Servers
- cgi - π - Common Gateway Interface (CGI) in Gleam
- ewe - π - π a fluffy Gleam web server
- gleam_elli - π - Run Gleam HTTP services with the Elli web server
- mist - π - a misty Gleam web server
JSON
JavaScript
Logging and Monitoring
Machine Learning
- emel - π - Turn data into functions in the Erlang ecosystem
- gleam_synapses - π - A plug-and-play library for neural networks written in Gleam
Networking
- ftpasta - π - A simple to use wrapper around Erlang's built-in ftp module.
- glisten - π - a shiny Gleam TCP/SSL server
- mug - π - A TCP client for Gleam!
- nessie - π - Gleam bindings for Erlang's built-in DNS resolution modules.
Numbers
Parsing
- gleamsver - π - Comprehensive set of native Gleam utilities for handling SemVer 2.0.0 version strings.
- nibble - π - A string parsing library heavily inspired by elm/parser.
- stoiridh_version - π - Semantic Versioning 2.0.0
- cactus - π - A tool for managing git lifecycle hooks with β¨ gleam! Pre commit, Pre push and more!
- go_over - π - A tool to audit Erlang & Elixir dependencies, to make sure your gleam projects really sparkle! β¨
- hexdocs_offline - π - Download an offline version of the hexdocs of your projects dependencies to a local folder!
Push Notifications
- webpush - π - Web Push API library for Gleam, supports encryption and VAPID
- wimp - π - A Gleam client for the Pushover push notification API
Queues and Job Processing
- Carotte - π - A RabbitMQ client for Gleam
- Franz - π - A Kafka client for Gleam
- m25 - π - A background job library for Gleam and Postgres!
Randomness
- blah - π - fake data generation for gleam
- minigen - π - Pure random data generation, appropriate for realistic simulations
- prng - π - A Pure Random Number Generator
SDKs
- bucket - π - Gleam S3 API client, suitable for AWS S3, Garage, Minio, Storj, Backblaze B2, Cloudflare R2, Ceph, Wasabi, and so on!
- openfeature - π - The Gleam SDK for the OpenFeature specification.
- weapp - π - Gleam bindings for wechat miniprogram, a.k.a weapp
- wechat_dev_tools - π - Tools to develop wechat miniprogram in gleam
Standards
TUI
- etch - π - Gleam terminal backend library
Templating
- glemplate - π - A simple template engine for Gleam
- handles - π - Pure Gleam templating language inspired by Mustache and Handlebars.js
Testing
Text
- dedent - π - Remove shared indentation from a string
- edit_distance - π - A pure Gleam package to compute the edit distance of two strings
- g18n - π - A platform-agnostic internationalization library for Gleam.
- gap - π - A Gleam library for comparing strings/lists and producing a textual (styled) representation of the differences.
- glam - π - A package to help you easily pretty print structured data
- hug - π - Helpful and pretty CLI messages
- humanise - π - Easily format values for human readability!
- justin - π - Convert between snake_case, camelCase, and other cases in Gleam
- phonetic_gleam - π - A collection of gleam algorithms dealing with phonetics.
- punycode - π - Gleam implementation of punycode encoding and decoding
- rank - π - Ordinals for numbers, e.g. 1st, 2nd, 3rd
- str - π - Unicode-aware string utilities for Gleam
- wink - π - A simple Gleam box drawing library
Time
- Clockwork - π - A cron expression parser library for Gleam
- birl - π - Date / Time handling for Gleam
- gleam_time - π - Work with time in Gleam!
- gtempo - π - A lightweight and Gleamy datetime library!
- gtz - π - A timezone data provider for Gleam!
- rada - π - A library for dates with no times or time zones
Validation
- crossbar - π - Data validation library in pure Gleam
- valid - π - A composable validation library for Gleam
Web frameworks
- glen - π - A peaceful web framework that targets JS.
- glimr - π - A batteries-included web framework for Gleam
- wisp - π - A practical web framework for Gleam
Websites
- atomb - π - An Atom feed builder for Gleam
- blogatto - π - A framework for building static blogs with Lustre and Markdown
- lustre_ssg - π - A simple static site generator for Lustre projects.
Projects
Compilers
Compilers for Gleam and compilers written in Gleam.
Web applications
Web applications written in Gleam.
Network applications
Network applications/servers written in Gleam
Editor support
Resources
Websites
Websites with Gleam related content.
Courses
Talks
Reddit