gleam-lang/awesome-gleam
๐ฏ A collection of Gleam libraries, projects, and resources
{ "createdAt": "2019-12-16T09:45:06Z", "defaultBranch": "main", "description": "๐ฏ A collection of Gleam libraries, projects, and resources", "fullName": "gleam-lang/awesome-gleam", "homepage": "", "language": "Gleam", "name": "awesome-gleam", "pushedAt": "2025-10-19T18:36:21Z", "stargazersCount": 1809, "topics": [ "awesome-list", "gleam", "libraries", "projects" ], "updatedAt": "2025-11-25T15:43:01Z", "url": "https://github.com/gleam-lang/awesome-gleam"}Awesome Gleam
Section titled โ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][suggestions].
[suggestions] !: https://github.com/gleam-lang/awesome-gleam/issues/34
- [Packages]!(#packages)
- [API Clients]!(#api-clients)
- [Benchmarking]!(#benchmarking)
- [Build Tooling]!(#build-tooling)
- [Command Line]!(#command-line)
- [Configuration]!(#configuration)
- [Cryptography]!(#cryptography)
- [Data Structures]!(#data-structures)
- [Databases]!(#databases)
- [Email]!(#email)
- [Erlang and OTP]!(#erlang-and-otp)
- [Error Handling]!(#error-handling)
- [File System]!(#file-system)
- [Formats]!(#formats)
- [Frontend]!(#frontend)
- [Gleam]!(#gleam)
- [Graphics]!(#graphics)
- [HTML]!(#html)
- [HTTP]!(#http)
- [HTTP Clients]!(#http-clients)
- [HTTP Servers]!(#http-servers)
- [JSON]!(#json)
- [JavaScript]!(#javascript)
- [Logging and Monitoring]!(#logging-and-monitoring)
- [Machine Learning]!(#machine-learning)
- [Networking]!(#networking)
- [Numbers]!(#numbers)
- [Parsing]!(#parsing)
- [Project Tooling]!(#project-tooling)
- [Push Notifications]!(#push-notifications)
- [Queues and Job Processing]!(#queues-and-job-processing)
- [Randomness]!(#randomness)
- [SDKs]!(#sdks)
- [Standards]!(#standards)
- [Templating]!(#templating)
- [Testing]!(#testing)
- [Text]!(#text)
- [Time]!(#time)
- [Validation]!(#validation)
- [Web frameworks]!(#web-frameworks)
- [Websites]!(#websites)
- [Projects]!(#projects)
- [Compilers]!(#compilers)
- [Web applications]!(#web-applications)
- [Network applications]!(#network-applications)
- [Tools]!(#tools)
- [Editor support]!(#editor-support)
- [Resources]!(#resources)
- [Websites]!(#websites)
- [Courses]!(#courses)
- [Social Media]!(#social-media)
Packages
Section titled โPackagesโAPI Clients
Section titled โ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
- 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
Section titled โBenchmarkingโ- gleamy_bench - ๐ - A library for benchmarking gleam code.
- glychee - ๐ - Glychee: Easy access to Elixirโs Benchee from Gleam!
Build Tooling
Section titled โBuild Toolingโ- esgleam - ๐ - esbuild for Gleam
- gleescript - ๐ - Bundle your Gleam-on-Erlang project into an escript, a single executable file!
Command Line
Section titled โ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
Section titled โ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.
Cryptography
Section titled โCryptographyโ- 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.)
- youid - ๐ - Generate and parse UUIDs
Data Structures
Section titled โ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
Section titled โ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
- 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
Section titled โErlang and OTPโ- Eventsourcing - ๐ - A Gleam library for building event-sourced systems with Actors and Supervisors
- barnacle - ๐ - Self-healing clusters for Gleam applications on the BEAM
- bath - ๐ - A generic resource pool
- carpenter - ๐ - Bindings for Erlangโs ETS tables. Forked and updated from gts.
- chip - ๐ - A Gleam registry library
- gen_core_erlang - ๐ - Generate Core Erlang from Gleam (wraps the Erlang cerl compiler module)
- gleam_erlang - ๐ - A Gleam library for working with Erlang
- gleam_otp - ๐ - Fault tolerant multicore Gleam programs with OTP
- lifeguard - ๐ - A simple actor pool
- nessie_cluster - ๐ - A small DNS clustering library for Gleam applications.
- process_waiter - ๐ - Wait for Erlang processes to exit
- puddle - ๐ - A resource pool manager for gleam
- shakespeare - ๐ - General-purpose OTP actors.
- spectator - ๐ - A BEAM runtime observer tool
Error Handling
Section titled โError Handlingโ- exception - ๐ - A tiny package for dealing with exceptions
- snag - ๐ - A boilerplate-free ad-hoc error type
File System
Section titled โ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
Formats
Section titled โFormatsโ- 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
- tom - ๐ - A pure Gleam TOML parser!
- xmb - ๐ - A tiny XML builder for Gleam
Frontend
Section titled โ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
- glance - ๐ - A Gleam source code parser, in Gleam!
- glance_printer - ๐ - A pretty_printer for the glance AST
- gleam_package_interface - ๐ - Work with Gleamโs package interfaces
- glexer - ๐ - A lexer for Gleam source code
- pprint - ๐ - Pretty print values with style!
Graphics
Section titled โGraphicsโ- ansel - ๐ - A simple and fast vips image processing library for Gleam!
- gleam_community_colour - ๐ - Colour types, conversions, and other utilities
- 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
- 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
Section titled โHTTP Clientsโ- gleam_fetch - ๐ - Make HTTP requests in Gleam JavaScript with Fetch
- gleam_hackney - ๐ - Gleam bindings to the Hackney HTTP client
- gleam_httpc - ๐ - Gleam bindings to Erlangโs built in HTTP client, httpc
HTTP Servers
Section titled โ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
- gleam_json - ๐ - Work with JSON in Gleam
- json_typedef - ๐ - Work with JSON using a schema! RFC8927
JavaScript
Section titled โJavaScriptโ- conversation - ๐ - Gleam bindings for the standard JavaScript Request and Response APIs
- gleam_javascript - ๐ - Work with JavaScript types and values in Gleam
- javascript_dom_parser - ๐ - Bindings to the JavaScript DOMParser API
- plinth - ๐ - Bindings to Node.js and browser platform APIs
Logging and Monitoring
Section titled โLogging and Monitoringโ- glimt - ๐ - A Gleam library for logging
- glog - ๐ - A Gleam implementation of Erlang logger
- logging - ๐ - Configuration for the Erlang logger
- stacky - ๐ - Stacky โ BEAM stack trace in Gleam
- systemd_status - ๐ - Inspect the status of running systemd units
Machine Learning
Section titled โ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
Section titled โNetworkingโ- 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
Section titled โNumbersโ- bigdecimal - ๐ - Arbitrary precision decimal arithmetic for Gleam
- bigi - ๐ - Arbitrary precision integer arithmetic for Gleam
- gleam_community_maths - ๐ - A basic maths library
Parsing
Section titled โ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
Project Tooling
Section titled โProject Toolingโ- 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
Section titled โ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
Section titled โ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
Section titled โRandomnessโ- blah - ๐ - fake data generation for gleam
- minigen - ๐ - Pure random data generation, appropriate for realistic simulations
- prng - ๐ - A Pure Random Number Generator
- 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
Section titled โStandardsโ- dime - ๐ - A ISO-4217 currency library for Gleam
- glisbn - ๐ - A ISBN utility library for Gleam.
- marceau - ๐ - A MIME types library for Gleam
- phony - ๐ - An international phone number validator
Templating
Section titled โTemplatingโ- glemplate - ๐ - A simple template engine for Gleam
- handles - ๐ - Pure Gleam templating language inspired by Mustache and Handlebars.js
Testing
Section titled โTestingโ- birdie - ๐ - Snapshot testing in Gleam
- exercism_test_runner - ๐ - A test framework for Gleam exercises on Exercism
- glacier - ๐ - Gleam Incremental Interactive Unit Testing
- gleeunit - ๐ - Gleam bindings to Erlangโs EUnit test framework
- testbldr - ๐ - A library for programatically building and running test cases
- 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
- wink - ๐ - A simple Gleam box drawing library
- 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
Section titled โValidationโ- crossbar - ๐ - Data validation library in pure Gleam
- valid - ๐ - A composable validation library for Gleam
Web frameworks
Section titled โWeb frameworksโ- glen - ๐ - A peaceful web framework that targets JS.
- wisp - ๐ - A practical web framework for Gleam
Websites
Section titled โWebsitesโ- atomb - ๐ - An Atom feed builder for Gleam
- lustre_ssg - ๐ - A simple static site generator for Lustre projects.
Projects
Section titled โProjectsโCompilers
Section titled โCompilersโCompilers for Gleam and compilers written in Gleam.
- gleam-lang/gleam - The Gleam compiler.
- gleam-lang/example-lisp-interpreter - A toy Lisp interpreter in Gleam.
Web applications
Section titled โWeb applicationsโWeb applications written in Gleam.
- gleam-lang/example-echo-server - An example Gleam web application.
- gleam-lang/example-todomvc - A serverside implementation of TodoMVC written in Gleam!
- gleam-lang/packages - The Gleam package index website.
- aosasona/jsorm - A minimal JSON explorer in Gleam + HTMX.
- ghivert/gloogle - A search engine for the Gleam ecosystem, built in Lustre + Wisp.
- ryanmiville/lustre-todomvc - A Lustre clientside implementation of TodoMVC written in Gleam!
- losfair/acquire - A multiplayer board game written in Gleam.
Network applications
Section titled โNetwork applicationsโNetwork applications/servers written in Gleam
- raineycat/gftp - A Gleam FTP server, using Erlang/OTP
- inoas/glychee - A simple Gleam benchmark runner which wraps Benchee for the heavy lifting.
- tynanbe/rad - A flexible task runner companion for the Gleam build manager.
- jonasgruenwald/spectator - A BEAM runtime observer tool
Editor support
Section titled โEditor supportโ- gleam-lang/gleam.vim - Gleam support for Vim/Neovim.
- gleam-lang/gleam-mode - An emacs major mode for the Gleam programming language.
- gleam-lang/vscode-gleam - Gleam support for VS Code.
- digitalcora/sublime-text-gleam - Gleam support for Sublime Text.
- sbdchd/neoformat - A Vim/Neovim plugin for formatting code with support for
gleam format. - itsgreggreg/language-gleam - Gleam language support in Atom.
- DannyLettuce/gleam_gedit - Gleam syntax support for Gedit (and other GtkSourceView editors).
- 0riginaln0/lite-xl-gleam - Gleam theme and syntax highlighting for Lite XL.
Resources
Section titled โResourcesโWebsites
Section titled โWebsitesโWebsites with Gleam related content.
- gleam.run - Gleamโs website.
- tour.gleam.run - Gleamโs interactive tour and tutorial.
- gleamweekly.com - A weekly newsletter of handpicked articles and community news.
- gloogle.run - A search engine for the Gleam ecosystem.
Courses
Section titled โCoursesโ- Exercismโs Gleam track - Crowd-sourced code mentorship. Practice having thoughtful conversations about code.
- tanklesxl/gladvent - An
Advent of Coderunner for Gleam, targeting Erlang.
- Introduction to Gleam - Harry Bairstow
- Distributed music programming with Gleam, BEAM, and the Web Audio API - Hayleigh Thompson
- I learned Gleam in a week. Hereโs how it went - Theo Harris
Social Media
Section titled โSocial Mediaโ- #gleamlang hashtag
- @gleamlang - The official twitter account.
- @louispilfold - The creator of Gleam.