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
 - Benchmarking
 - Build Tooling
 - Command Line
 - Configuration
 - Cryptography
 - Data Structures
 - Databases
 - Erlang and OTP
 - Error Handling
 - File System
 - Formats
 - Frontend
 - Gleam
 - Graphics
 - HTML
 - HTTP
 - HTTP Clients
 - HTTP Servers
 - JSON
 - JavaScript
 - Logging and Monitoring
 - Machine Learning
 - Networking
 - Numbers
 - Parsing
 - Project Tooling
 - Push Notifications
 - Queues and Job Processing
 - Randomness
 - SDKs
 - Standards
 - Templating
 - Testing
 - Text
 - Time
 - Validation
 - Web frameworks
 - Websites
 
 - Projects
 - Tools
 - Resources
 
- 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
 
- gleamy_bench - π - A library for benchmarking gleam code.
 - glychee - π - Glychee: Easy access to Elixir's Benchee from Gleam!
 
- esgleam - π - esbuild for Gleam
 - gleescript - π - Bundle your Gleam-on-Erlang project into an escript, a single executable file!
 
- 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.
 
- 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.
 
- 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
 
- 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
 
- 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
 
- 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
 
- exception - π - A tiny package for dealing with exceptions
 - snag - π - A boilerplate-free ad-hoc error type
 
- 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
 
- 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
 
- 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!
 
- 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
 
- 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
 
- 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
 
- 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
 
- 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
 
- emel - π - Turn data into functions in the Erlang ecosystem
 - gleam_synapses - π - A plug-and-play library for neural networks written in Gleam
 
- glisten - π - a shiny Gleam TCP/SSL server
 - mug - π - A TCP client for Gleam!
 - nessie - π - Gleam bindings for Erlang's built-in DNS resolution modules.
 
- bigdecimal - π - Arbitrary precision decimal arithmetic for Gleam
 - bigi - π - Arbitrary precision integer arithmetic for Gleam
 - gleam_community_maths - π - A basic maths library
 
- 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!
 
- webpush - π - Web Push API library for Gleam, supports encryption and VAPID
 - wimp - π - A Gleam client for the Pushover push notification API
 
- Carotte - π - A RabbitMQ client for Gleam
 - Franz - π - A Kafka client for Gleam
 - m25 - π - A background job library for Gleam and Postgres!
 
- 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
 
- 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
 
- glemplate - π - A simple template engine for Gleam
 - handles - π - Pure Gleam templating language inspired by Mustache and Handlebars.js
 
- 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
 
- crossbar - π - Data validation library in pure Gleam
 - valid - π - A composable validation library for Gleam
 
- glen - π - A peaceful web framework that targets JS.
 - wisp - π - A practical web framework for Gleam
 
- atomb - π - An Atom feed builder for Gleam
 - lustre_ssg - π - A simple static site generator for Lustre projects.
 
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 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/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
 
- 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.
 
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.
 
- 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
 
- #gleamlang hashtag
 - @gleamlang - The official twitter account.
 - @louispilfold - The creator of Gleam.