awesome-gleam
awesome-gleam copied to clipboard
💯 A collection of Gleam libraries, projects, and resources
Awesome Gleam
Have a Gleam project to share with the world? Make a pull request and add it to the list.
Looking for something to build? Check out the suggestions list.
-
Libraries
- CLI
- Cryptography
- Databases
- Data structures
- Erlang/OTP
- Error handling
- File IO
- Generators
- HTTP
- HTTP clients
- HTTP servers
- JSON
- Machine learning
- Mimetypes
- Parsing
- Protocols
- Science
- Templating
- Testing
- Text and numbers
- Validation
- Websockets
- Templates
-
Projects
- Compilers
- Programming Challenges
- Web applications
-
Tools
- Editor support
-
Resources
- Websites
- Courses
- Social Media
Libraries
CLI
- tynanbe/shellout - A Gleam library for cross-platform shell operations.
- tanklesxl/glint - Gleam command line argument parsing with basic flag support.
Cryptography
- gleam-experiments/crypto - A Gleam library for the BEAM cryptography functions.
Databases
- massivefermion/gleam_mongo - A MongoDB driver for Gleam.
- gleam-experiments/pgo - Use PostgreSQL databases with PGO.
Data structures
Libraries that define generic data structures for use in Gleam projects.
- gleam-lang/bitwise - Bitwise operations on integers.
- gleam-lang/stdlib - Core data structures and types for Gleam.
Libraries for sending email.
- lpil/gleam_sendgrid - A client for the SendGrid API.
Erlang/OTP
Libraries for working with Erlang and OTP.
- gleam-lang/gleam_erlang - Bindings to common Erlang/OTP types and functions.
- gleam-lang/otp - Write fault tolerant multicore programs with Erlang/OTP.
- midas-framework/beam - Interoperating with specific functionality in the Erlang runtime (BEAM).
- gleam-experiments/otp_code - Work with Erlang code at runtime.
Error handling
Libraries for working with errors and computations that can fail.
- gleam-experiments/snag - A boilerplate-free ad-hoc error type.
File IO
- gleam-lang/erlang - Gleam's Erlang library contains a module for working with files and directories.
Generators
- mrdimosthenis/minigen - A library for generating random data in the Erlang ecosystem, written in Gleam.
HTTP
- gleam-lang/http - Types and functions for HTTP clients and servers!
HTTP clients
Libraries for making HTTP requests.
- gleam-lang/hackney - Bindings to Hackney, the simple Erlang HTTP client.
- gleam-lang/httpc - Bindings to Erlang's built in HTTP client, httpc.
HTTP servers
Libraries for serving traffic over HTTP.
- gleam-lang/cowboy - A Gleam HTTP service adapter for the Cowboy web server.
- gleam-lang/elli - A Gleam HTTP service adapter for the Elli web server.
- gleam-lang/plug - A Gleam HTTP service adapter for the Plug web application interface.
- megapctr/gleam_cors - A CORS middleware for Gleam.
- rawhat/mist - A pure Gleam HTTP server with WebSocket support
JSON
- gleam-lang/json - Work with JSON in Gleam.
Machine learning
- mrdimosthenis/gleam_synapses - A lightweight library for neural networks.
- mrdimosthenis/emel - A simple and functional machine learning library for the Erlang ecosystem
Mimetypes
- davecaos/benetnasch - Benetnasch a mimetypes library for Gleam.
Parsing
Libraries for parsing different kinds of data.
- delucks/pathlib - Manipulate Unix-style filesystem paths.
- sporto/gleam_codec - Build codecs (encode and decode) to transform data structures between Gleam and Elixir.
- pd-andy/gleam-string-parser - A simple parser combinator package written in Gleam.
- sporto/gleam_qs - Parse and work with query strings.
Protocols
- bwireman/gleam_pb - Protobuf support for Gleam.
- massivefermion/gleam_bson - BSON encoder and decoder written in Gleam.
Science
- nicklasxyz/gleam_stats - A Gleam mathematics and statistics library that is JavaScript and Erlang compatible.
TCP/SSL
- rawhat/glisten - A pure Gleam TCP/SSL server library
Templating
Libraries for rendering strings from templates.
- gleam-experiments/bbmustache - Gleam bindings to the bbmustache templating library.
- michaeljones/matcha - Templating system where the templates are transpiled to Gleam modules.
Testing
Projects for testing Gleam code.
- lpil/gleeunit - Gleam bindings to the Erlang EUnit test framework.
Text and numbers
Libraries for parsing and manipulating text and numbers.
- greggreg/gleam_uuid - UUID generation and decoding in Gleam.
- greggreg/pretty_print - An implementation of Christian Lindig's "Strictly Pretty" pretty printing algorithm.
- rvcas/ids - A library for generating unique ids such as a cuid or UUID.
- sporto/gleam_string_builder - A library for building and formatting strings.
Validation
- sporto/gleam-validator - A library for validating custom types.
Websockets
- lpil/nerf - Gleam bindings to gun, the Erlang HTTP/1.1, HTTP/2 and Websocket client.
Templates
Serverless
- nicklasxyz/gleam_openfaas - Gleam function templates to be used with the serverless framework OpenFaaS.
- nicklasxyz/gleam_openwhisk - Gleam function templates to be used with the serverless framework OpenWhisk.
Projects
Compilers
Compilers for Gleam and compilers written in Gleam.
- gleam-lang/gleam - The Gleam compiler.
Programming Challenges
-
tanklesxl/gladvent - An
Advent of Code
runner for Gleam, targeting Erlang.
Web applications
Web applications written in Gleam.
- gleam-lang/example-echo-server - An example Gleam web application.
- greggreg/gleam_todo - A serverside only implementation of Todo MVC written in Gleam!
- QuinnWilton/gleam-chip8 - A CHIP-8 emulator built with Gleam and Phoenix LiveView, playable here.
- toranb/elixir-gleam-match - A game built with Gleam and Phoenix LiveView.
Tools
- tynanbe/rad - A flexible task runner companion for the Gleam build manager.
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.
- molnarmark/sublime-gleam - Gleam Syntax Definitions & Formatting for Sublime Text 3.
-
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).
Resources
Websites
Websites with Gleam related content.
- gleam.run - Gleam's website and introductory guide
Courses
- Exercism's Gleam track - Crowd-sourced code mentorship. Practice having thoughtful conversations about code.
Social Media
- #gleamlang hashtag
- @gleamlang - The official twitter account.
- @louispilfold - The creator of Gleam.