Skip to content

Latest commit

 

History

History
410 lines (302 loc) · 28.4 KB

README.md

File metadata and controls

410 lines (302 loc) · 28.4 KB

Awesome Gleam

For a full list of packages check out the Gleam package index.

Have a Gleam project to share with the world? Run gleam run, assign a category for it in packages/NAME.toml, and run gleam run again.

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
  • 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.

Benchmarking

Build Tooling

  • esgleam - 📚 - esbuild for Gleam
  • 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
  • envoy - 📚 - A zero dependency cross platform Gleam package for reading environment variables
  • gleam_dotenv - 📚 - dotenv for Gleam
  • glenv - 📚 - A library for type-safe environment variable access.
  • glenvy - 📚 - A pleasant way to interact with your environment.

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

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)
  • 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

Email

  • 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

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!

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

Gleam

Graphics

HTML

  • formal - 📚 - Type safe HTML form decoding and validation!
  • glentities - 📚 - HTML entity encoder/decoder for Gleam
  • 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

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
  • 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

  • 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

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! ✨

Push Notifications

  • wimp - 📚 - A Gleam client for the Pushover push notification API

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

  • 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

  • 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
  • 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

Time

  • birl - 📚 - Date / Time handling for 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.
  • wisp - 📚 - A practical web framework for Gleam

Websites

  • 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.

Tools

  • 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.

Editor support

Resources

Websites

Websites with Gleam related content.

Courses

Talks

Social Media

Twitter

Reddit