Curated Elixir libraries by category. All killer, no filler.
The BEAM ecosystem is vast and hard to navigate. For any task you must evaluate options for:
- Elixir stdlib
- Erlang stdlib (OTP)
- Hex packages (Elixir)
- Rebar packages (Erlang)
Lucky for you, we've done the hard work of curating the best available libs for each problem class. Disagree with our choices?
The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer. –author unknown
- 2D/3D math
- A* pathfinding algorithm
- ABNF grammar parser
- Address parsing (US)
- Anaphora macros
- Apache Druid real-time analytics database client
- Apache httpasswd file reader/writer
- Apache Thrift service framework bindings [erl]
- Apache Tinkerpop/Gremlin client
- Apache/APR style MD5 password hashing
- API authentication (simple key/secret)
- API auto generator
- API gateway framework
- API pagination headers (RFC-5988)
- API testing [erl]
- Arbitrary precision decimal arithmetic
- Articles extract/curate
- ASCII tables
- ATOM feed builder (RFC4287)
- Authentication (supports non-Plug apps)
- Authorization (rule based)
- Authorization for Absinthe GraphQL
- AWS client for Dynamo, Kinesis, Lambda, SQS, and S3
- AWS client for EC2, S3, SQS, SimpleDB, Mechanical Turk, ELB
- AWS clients
- AWS Signature V4 [2]
- Back-end server processing tasks
- Background jobs (Mnesia)
- Background jobs (RabbitMQ)
- Background jobs (Redis)
- Background jobs
- Barrel-db distributed document database client
- Base conversion [2]
- Base58 encoding/decoding for Elixir [2]
- Base62 encoder/decoder
- Base64 encoded images
- Bayes/Naive Bayes algorithm
- Beanstalkd client
- Benchmarking [2]
- Bencode encoder/decoder [2]
- Bencoding
- Bidirectional and multimaps
- Binary hex dumping
- Bitcask Key/Value store client
- Bitmaps
- Bittorrent peer wire protocol encode/decode
- Bittorrent tracker request/response
- Blocking queues
- Bloom filters
- BMP file writer
- Boot an Elixir application, step by step
- Brace expansion (sh/bash)
- Brazilian document formatting/validation (CPF/CNPJ)
- Browser automation
- Browser detection
- BSON [2]
- Build system
- Build tool, dependency-based
- Burner email detector
- Business forms generator
- Business hour calculations
- Business logic components framework
- Caching (Ecto)
- Caching (ETS)
- Caching (FoundationDB)
- Caching (Memcached)
- Caching (Redis)
- Caching, adapter based
- Calendar recurring events
- Cassandra database client
- Cassandra ORM client
- Cayley driver
- Character code converter
- Character encoding conversion
- Chat message task automation
- Chess for game servers
- Chinese Pinyin
- Chinese traditional/simplified converter
- CircleCI integration
- Circuit-breaker
- Cirru parser
- ClamAV security client
- Classless Inter-Domain Routing (CIDR)
- Classless Inter-Domain Routing (CIDR)
- CLOPE clustering
- Cloud portable app creation
- Cloudinary file upload client
- Cluster automatic formation/healing
- Cluster automatic node discovery
- Cluster management with Kubernetes support
- Code coverage with coveralls.io integration
- Code profiler
- Code reloader
- Coerce maps into structs
- CoffeeScript compilation
- Collaborative command line
- Collision-resistant IDs
- Colors helpers
- Combinations and permutations
- Command Query Responsibility Segregation (CQRS)
- Command-line (CLI) app framework [2]
- Command-line (CLI) automatic generator
- Command-line (CLI) options parser
- Command-line (CLI) progress bars and spinners
- Concurrency synchronization
- Configurable mix task to watch file changes and run the corresponding command
- Configuration
- Connection behaviour
- Constraint solver
- Continuous Integration
- Coordinate conversion with OSGeo PROJ.4
- CouchDB JSON document database client
- Country and state/province collections
- Country information (ISO 3166) [2]
- Coverage Reports for Elixir
- CQRS EventStore client (PostgreSQL)
- CRDT
- Cron expressions
- Cron system for supervision trees
- Cron-like job scheduler
- Crypto AES CMAC algorithm
- Cryptocurrency blockchain client
- CSP channels
- CSV [2]
- Cuckoo filters
- CUI character decorator
- Currency conversion
- DalmatinerDB client
- DalmatinerDB client [2]
- Dashboards
- Data generation framework
- Data streams
- Data structs
- Data transformation
- Data validation
- Database based authorization (ACL)
- Database client (SSDB)
- Database client
- Database driver (MSSQL/TDS)
- Database enumerable type
- Database multitenancy (PostgreSQL)
- Date and time [2]
- Date helpers
- Date/time helpers
- Date/time intervals
- Datetime helpers
- Debugging [2]
- Default keyword params
- Dependency injection
- Deployment automation [2]
- Deprecation logger
- Descriptive statistics
- Design patterns
- Desktop notifications
- Dialyzer Mix tasks
- Dice roll expressions
- Dice with Pratt Parser algorithm
- Dice
- Directory traversal
- Distance/bearing calculation
- Distributed in-memory Caching with pub/sub
- Django interface
- Docker containers Mix task
- Docker for clustered deploy
- Docset generation for Dash.app [2]
- Document driven development
- Documentation badges for README
- Documentation command-line interface
- Documentation generation
- Domain modelling
- Dot/bracket notation parsing/conversion
- Dyndns server
- EDN encoder/decoder [2]
- Egauge devices realtime client
- Elastic Search client [2]
- ElasticSearch client
- Elixir 1.1/1.2 backwards compatibility
- Elixir asyncronous with statements
- Elixir library to convert office documents to other formats using LibreOffice
- Elixir library to figure out the type and the format of a file
- Elixir project templates
- Elixir Terms Storage (ETS) client
- Elixir Terms Storage (ETS) on disk
- Elixir to Javascript transpiler
- Elixir utility library
- Elm to Elixir compiler
- Email delivery
- Email inline styles and plaintext version
- Email support for dkim, spf, dmark, mimemail, smtp
- Email with mailers
- Embedded firmware updates
- Embedded programming for ESP32/STM32 microcontrollers
- Embedded software framework
- Emoji encoding
- Emoji text sanitizer
- Encryption (Mix)
- Encryption for binaries
- Encryption
- Engine.io client
- Entity-Component-System framework with MMORPG server
- Environment variables manager
- Environment variables with dotenv
- EPUB cover extractor
- EPUB generator/parser
- Error handling with result monads
- Error handling/exceptions [2]
- Error notifier
- Escript
- Ethereum RLP (Recursive Length Prefix) encoding
- ETS based key/value storage
- ETS match specifications from Elixir functions
- ETS matcher helpers
- ETS matching (LINQ)
- ETS table map interface
- ETS table persistence
- EUnit Mix task helper [2]
- Event bus bridge to Vert.x services (TCP)
- Event bus
- Event processing and monitoring
- EventSource encoding
- Eventstore CQRS event store client
- Evolutive Neural Networks
- ExGuard is a mix command to handle events on file system modifications
- EXIF metadata for JPG
- Exponential backoff, linear retry, wait
- ExUnit desktop notifications
- ExUnit test runner
- Fake name generator
- Fast Mersenne Twister (SFMT) for SIMD
- Fast, simple and lightweight pagination system for your Elixir application
- Fault tolerance
- Fault-tolerance helpers
- Favicons
- Feature flags [2]
- Feature/Integration tests [2]
- FFmpeg video processing
- File downloading from Internet
- File system processes
- File upload and attachment
- File upload filesystem, SFTP, and S3
- File upload/processing
- File watcher [2]
- Filename sanitization for Elixir
- Finite state machine [2]
- Firebase Cloud Messages client
- Firmata protocol
- Firmware framework
- Flame Graph profiler
- Fleet (CoreOS) API wrapper
- Flow processing
- Flow-based programming
- Folsom metrics
- Fowler–Noll–Vo hash functions
- Full text search client (Elasticsearch)
- Full text search client (Sphinx)
- Functional programming helpers (combinators, currying, partial application)
- Fuzzy string-matching
- Galois Linear Feedback Shift Register
- GenServer helpers
- Geocoder with cache
- Geohash encode/decode [2]
- Geometry
- GIS
- Git changelog generation
- Git hooks
- Git object storage
- Github OAuth
- GitHub stars client
- Global binary creator
- Globbing paths without walking the tree!
- Googles Level data store client
- GPG encryption
- Graph data structure
- Graphite/Carbon client
- GraphQL client
- GraphQL implementation
- Growl notifications client
- gRPC
- GTIN code validation
- Guard clause macros
- GUI [erl]
- HAML parser
- Hardware I/O interfaces for GPIO, I2C, SPI
- Hash ring pooling
- Hash ring
- Haskell to BEAM compiler
- HBase database query client
- Health Level 7 (HL7) health data protocol
- Helper functions
- Helpers built to work with Scrivener's page struct to easily build HTML output for various CSS frameworks
- Heroku buildpack for Elixir
- Hex code encoding/decoding
- Hex package dependency plotting
- Hex semantic versioning
- Hex.pm plugin for rebar3
- HipChat client
- Honeybadger error logging client
- Hot reload on file system changes
- HTML document cleaner
- HTML parser and query [2]
- HTML sanitizer
- HTML string decoding
- HTML tag-safe string truncation
- HTML to PDF conversion
- HTML/XML query with CSS/XPath [2]
- HTTP basic authentication
- HTTP client [2] [erl]
- HTTP digest auth header
- HTTP load tester
- HTTP middleware
- HTTP performance/load testing
- HTTP proxy [erl]
- HTTP request stubbing
- HTTP request/response recording
- HTTP router
- HTTP server
- HTTP web server and client
- HTTP/1.1, HTTP/2 and Websocket client
- HTTP/SPDY server
- Huffman encoding
- Hungry-consumer model
- HyperLogLog
- IBAN and BIC code validation
- ICalendar parser
- ID hashing
- Identicons
- Image file reading
- Image metadata (TIFF/EFIX) from jpeg
- Image metadata and validation
- Image parsing
- ImageMagick wrapper
- Imgix client
- Indifferent access for maps/list/tuples
- Inflector
- InfluxDB client (UDP)
- InfluxDB driver
- Instrumental app monitoring client
- Instrumentation
- Internationalization and localization [2]
- IO servers (JSON)
- IO.inspect colors
- IoT GUI framework
- IP geolocation for RU/UA and global
- IP/AS/ASN mapping
- IP2Location database
- IRC bot
- IRC client adapter
- IRC client for bots
- Jalaali calendar implementation
- Japan municipalities
- Japanese fake data generator
- Japanese name/address generator
- Japanese writing systems conversion [2]
- Java property file reading
- JIT config loader with Kubernetes and Docker Swarm support
- Job queue (in-memory, distributed)
- Job queue (PostgreSQL)
- Job queue (Resque/Sidekiq)
- Job queue (transactional)
- JSON Object Signing and Encryption (JOSE)
- JSON parser/generator [erl]
- JSON streaming encoder
- JSON testing
- JSON validation
- JSON value identifier (RFC 6901)
- JSON Web Tokens (JWT) (RFC 7519) [2]
- JSONAPI.org Serialization
- JSONAPI
- JSX with maps
- Jump consistent hash
- Jupyter kernel
- Kademlia
- Kafka client [2]
- Key/value store
- Key/value stores unified interface
- Kubernetes client [2]
- Kubernetes Operator Development Framework
- Lager backend
- LDAP
- Leaseweb wrapper
- Letter avatar
- LevelDB client
- Lexers
- libntru post quantum cryptography
- Licensing
- Line numbers
- Linux file system event monitoring
- Lisp-like programming language implementation
- Load generator [erll]
- Logfmt encoding/decoding
- Logger for Graylog Extended Log Format (GELF)
- Logger integration with RabbitMQ
- Logging (JSON)
- Logging with rich event structures
- Logging
- Logging
- Loggly error logging client
- Logstash UDP client
- Lorem Ipsum generator
- LRU Cache
- LTSV parser
- Luhn algorithm
- LZ4 data compression
- MAC vendors
- Machine learning
- Map/Reduce file collections
- MapReduce client
- MariaDB/MySQL driver
- Markdown parser (NIF)
- Markdown parser (pure Elixir)
- Markov chains [2]
- Maru API integration for Swagger documentation
- Math term evaluator
- Mathematical expressions evaluator
- Mathematical helper functions
- Matrices
- Matrices
- MaxMind GeoIP2 database reader/decoder
- Measurement and probing
- Memoization macro
- Merkle hash trees
- Message bus for microservices (Redis)
- Message queues framework (SQS/AMQP)
- MessagePack [2]
- Meta-notifications
- Metric store
- Metrics client
- Metrics logging
- Metrics system interfaces
- Milliseconds support
- Mime type parsing
- Mix auto recompile code on file change
- Mnesia client
- Mnesia database client
- Mobile optimized silent video conversion
- Mock HTTP server
- Model checker/Formal proofs of correctness [erl] [erl2]
- Module reloading
- MojoAuth
- Monads [2]
- Money handling/storing [2]
- MongoDB database driver [2]
- Monkey programming language implementation
- MQTT 3.1.1 client
- MT940 (SWIFT Customer Statements) parser
- MUD engine (text-based MMORPGs)
- Multiple function heads
- Murmur3 non-cryptographic hash algorithm
- Mustache templates [2]
- MySQL database driver
- N-ary tree data structure
- Named arguments
- Nanomsg client
- Natural language detection
- Natural language processor for text statistics
- Natural sort for lists of strings
- NEAT algorithm
- Neo4j driver (Bolt protocol)
- Neo4j driver [2]
- Netrc file reading
- NewRelic performance monitoring client
- NIF (Haskell)
- NIF (Rust)
- NIF (SQLite)
- NIF boilerplate
- Notification dispatch
- NSQ client
- Number formats conversion
- Number units
- OAuth 1.0
- OAuth 2.0 client
- OAuth 2.0 Facebook provider
- OAuth 2.0 for Google Cloud APIs
- OAuth 2.0 Github provider
- Object Relational Mapper (ORM)
- Object-Oriented Programming (OOP)
- One-time passwords (OTP) for Google Authenticator
- One-time passwords (OTP)
- Onetime key-value store
- OpenXL (Excel 2000) parser
- OS processes/ports [erl]
- OTP application configuration
- OTP processes filtering
- Package manager
- Pandoc file conversion client
- Parallel computation coordination compiler
- Parallel execution of slow processes
- Parallel streams
- Parallel worker and capacity limiting
- Parser combinators
- Password hashing (argon2, bcrypt, pbkdf2_sha512)
- Password hashing (Bcrypt) [erl]
- Password pwn check
- Passwordless and 2/multi-factor authentication
- Path library for Elixir, inspired by Python's Enhpath
- Pattern matching rules
- Payment processing gateways client [2]
- Payment processing
- PCAP parser
- PDF generation
- PDF to HTML conversion
- PEG implementation
- Performance and debugging tools
- Philips Hue connected light bulbs client
- Phone numbers
- Pipe operator composition
- Pipe operator pattern matching
- Pipe operator positioning [2]
- Pipe operator value transformation
- PNG image creation
- Pop3 email client including attachments
- Port forwarding
- PortAudio bindings
- Postgres LISTEN/NOTIFY callbacks
- PostgreSQL driver
- PostgreSQL functional queries
- PostgreSQL hstore support
- Postmark email templates
- Power assert
- Presenters
- Pretty print file sizes
- Pretty print
- Pretty-print for structs/maps
- printf/sprintf string formatting
- Priority queue [erl]
- Process backpressure and flow control
- Process pooling for parallel tasks
- Process pooling
- Process visualizer for remote BEAM nodes
- Producer/consumer pipelines (data processing) [2] [3]
- Profanity filter
- Project configuration
- Project scaffolding
- Prometheus app monitoring client [2]
- Prometheus.io performance monitoring client
- Property-based testing (pure Elixir)
- Property-based testing [erl]
- Protocol Buffers [2]
- Publish-Subscribe
- Pug templates
- Push notifications (iOS/Android)
- Query string encoding
- Queue (in-memory, worker pooling, rate limiting)
- RabbitMQ client [2]
- RabbitMQ client
- RabbitMQ producers/consumers [2]
- RADIUS Protocol
- Random Base64 strings generator
- Random Number Generation (RNG)
- Random number generation with ISAAC algorithm
- Random number generation [erl]
- Random sampling and set operations
- Random strings by pattern
- Rate-limiter
- Rate-limiter [2]
- Rate-limiting
- Rational numbers
- Raygun error notifier
- RDF data model
- RDF support for JSON-LD
- React server-side rendering (SSR)
- Reactive event handling
- Rebar .dia file compiler
- Rebar ASN.1 module compiler
- Rebar ExUnit tests
- Rebar replacement
- Rebar3 abnfc compiler
- Rebar3 auto compile/reload on file change
- Rebar3 Erlang IDL file compiler
- Rebar3 live
- Rebar3 neotoma (Parser Expression Grammar) compiler
- Rebar3 port compiler
- Rebar3 protobuffs
- Rebar3 releases
- Rebar3 support for Erlang QuickCheck properties
- Rebar3 yang compiler
- reCaptcha support
- Red-Black tree
- Redis client [2]
- Redis client [2]
- Redis data structures
- Redis object relationship persistence
- Release configuration
- Release management
- Release packaging [2]
- Releases (Debian, RPM)
- Rendezvous/Highest Random Weight (HRW) hashing algorithm
- Repeating dates natural language processor (NLP)
- Request parameters cleaning
- REST API framework
- REST API micro framework
- REST API testing [erl]
- REST APIs
- REST services DSL
- Rethinkdb client (JSON)
- RFC2822 implementation
- Riak client
- Riak CS API client
- ROCK clustering algorithm
- Rollbar exception tracking client
- RSA keys
- RSASSA-PSS crypto algorithm
- RSS feeds
- RSS/Atom feeds [2]
- Ruby Marshal format
- Russian names inflection
- Saga development
- SAML SP SSO
- Sass
- Schema validation [2]
- Secure message broadcasting (UDP multicast + TCP)
- Security helpers
- Segment-segment intersections
- Semantic versions
- Sentiment analysis (AFINN-111)
- Sentiment analysis (AFINN-165/emojis)
- Sentry error logging client
- Sentry error notifier client
- Service discovery with Consul
- Set associative map for key lists
- Short-lived keys checking
- Sigil for maps ~M
- Signal synthesis
- Simhash algorithm
- SIP protocol middleware
- SipHash algorithm
- Sitemap generator
- Slim templates
- Slug generator
- SMPP 3.4 protocol
- SMS client (Sendinblue, mailjet, msg91, textlocal)
- SMTP server/client [2]
- SOAP client
- Social feeds
- Socket acceptor pool [2]
- Socket wrapping
- SOCKS4/SOCKS5 proxy server
- Sojourn-time queue management
- Solr full text search client
- Sorted Sets
- SPARQL query language client [2]
- SpiderMonkey parser
- Spinlocks
- Spotify Web API client
- SQL functions
- SQL query generator
- SQLite3 database adapter
- SSH helpers
- SSH tasks runner
- SSL verification
- State machines, distributed (Raft consensus protocol) [erl]
- State machines
- Static code analysis/Linter
- Static FSM
- Static site generator, blogs
- Static site generator [2]
- Statistical functions
- Statistics and Metrics
- Statsd client
- StatsD protocol
- Stdout enhancements
- Stockfighter API
- Stream count estimation
- Streaming APIs
- Streams
- String coloring
- String similarity
- Supermemo 2 algorithm
- SVG drawing
- syslog port driver
- System calls
- Task behavior
- Tasks progress tracking
- Tau math constant
- TCP sockets
- Tel URI parser (RFC3966)
- Telegram bots [2]
- Telemetry/metrics/instrumentation [erl]
- Telephone numbers
- Term frequency algorithm
- Terminal color output
- Terminal UI (TUI) kit
- Test auto run on file change
- Test context tagging
- Test coverage generator (Jenkins Cobertura)
- Test factories
- Test fixtures
- Test framework, Behavioral Driven Design (BDD) [2]
- Test helpers for HTTP requests
- Test mocks [erl]
- Test mocks [2] [3] [4]
- Testing framework [2] [3]
- Testing simulated user actions [2]
- Testing stubs
- Testing, HTTP request/response faker [2]
- Testing, parameterized
- Testing, story based
- Tests auto run on file save
- Text mining/Natural language processing
- Thumbnails for image/video screenshots
- Timezone database
- Tiny Encryption Algorithm (TEA) [2]
- TOML
- Tor client
- Tracing and debugging (GUI) [erl]
- Tracing and debugging [2] [erl] [erl2]
- Tracing with Datadog APM compatibility
- Translation models with PostgreSQL JSONB
- Translation of Gettext locales (Google Translate)
- Trie Implementation
- Turbolinks integration
- UK postcode parsing/validation
- Unicode Consortium's Common Locale Data Repository (CLDR)
- Unicode/Zawgyi-One converter
- Unique ID generator
- Units converter
- Unsafe function bindings
- URI struct
- URI template processor (RFC6570 compliant)
- URI/URL parser (RFC3986)
- URL referer parsing
- URL slugs
- URL unroller (un-shortener)
- URL wildcard matching
- User agent parser [2]
- UTF-8 non-English digits conversion)
- UUID (URL-safe)
- UUID generator [2]
- Validation for data structures
- Variadic arity tree
- Virtual DOM diff/patching
- Web and RSS/Atom scraping
- Web app auto administration
- Web app framework, micro
- Web app framework [2] [erl] [erl2]
- Web Application Messaging Protocol (WAMP) client
- Web application middleware
- Web application templating
- Web crawler & scraper [2]
- Web DSL for Elixir
- Web scheduler
- Web server [erl] [erl2]
- Web server
- WebDriver client
- WebSocket client
- Wifi networking
- Word stemming [2]
- Worker pool factory
- Worker pools
- WPA client
- WSDL/SOAP client
- XLSX files [2]
- XML builder
- XML document parser/generator [2]
- XML-RPC encode/decode [2]
- XMPP Client/Bot framework
- YAML parser [2] [erl]
- Absinthe
- Access logs
- API specification (JSON:API)
- API versioning [2]
- App scaffold
- Authentication/OAuth2
- AWS Signature V4
- Canonical hosts
- Cloudflare IP HTTP header
- CORS headers [2]
- Environment ribbon
- Error notification (Airbrake)
- Error notifier (Bugsnag)
- ETags
- File upload handling, persistence, and processing
- Forwarded IP header (RFC7239)
- GraphQL
- Health checks
- Heartbeat requests
- HTTP headers manipulation
- HTTP headers validation
- HTTP/JSON error payloads
- HTTPS redirect
- IP geolocation
- JSON API key conversion
- JSON Web Token (JWT) authentication
- Kubernetes logging
- Legacy API trailing format support
- Logging (plain text/JSON)
- Sessions (Memcached)
- Monitoring system (Prometheus)
- OAuth2 (Auth0)
- OAuth2 (CAS)
- OAuth2 (Facebook)
- OAuth2 (Foursquare)
- OAuth2 (GitHub)
- OAuth2 (Google)
- OAuth2 (LINE)
- OAuth2 (Microsoft)
- OAuth2 (Simple)
- OAuth2 (Slack)
- OAuth2 (Twitter)
- OAuth2 (VK)
- OAuth2 (Weibo)
- Process await (wait (1))
- Rails session store support
- REST
- REVISION endpoint
- Security headers
- Statsd metrics
- Tracing/profiling
- WebSockets
- Music live coding [erl]
- Absinthe CRUD
- Admin scaffolds
- API Authentication
- API documentation generator [2]
- API specification (Swagger)
- Asset pipeline (Webpack)
- Webpack inline assets in Elixir
- Authentication and user management [2]
- Authorization
- Debug toolbar
- Documentation in API Blueprint format
- Ecto CRUD utilities
- Ecto integration
- Ecto pagination
- Email handling
- HAML templates
- HTML helpers [2]
- HTML sanitizer
- Instrumentation (Prometheus)
- Integration test selectors
- Internationalization (i18n) [2]
- JavaScript env variables
- Live-reload
- Meta tags
- OAuth 2.0 provider
- Presence tracking
- PubSub PostgreSQL adapter
- PubSub RabbitMQ adapter
- PubSub VerneMQ MQTT adapter
- Query params scopes/filtering
- React.js components
- Reactive UI
- UI Components [2]
- Redis PubSub adapter
- Routes helpers in JavaScript
- Search, sort and paginate
- Security static analysis
- Slim templates
- Specs/Behavior Driven Development (BDD)
- SSL client authentication
- Adjacency list/tree traversal
- Auto migration
- Binary/integer type
- Cassandra DB adapter
- Composable query builder [2]
- Database seeds
- Database URL parser
- Encrypted password (Comeonin)
- Encryption
- Enums
- ETS adapter
- File Uploads (Arc)
- File uploads
- Finite state machine
- Fixtures
- GitHub API adapter
- Instrumenter for Prometheus
- Kalends date/time adapter
- Localization
- Migration from Rails ActiveRecord
- Mnesia adapter
- MSSQL/TDS adapter
- Multiple databases
- MySQL adapter
- Ordered models
- Pagination (cursor-based)
- Pagination
- Parameter validation
- Plugin testing
- PostgreSQL ISN types
- Query results pretty print
- REST API interface
- Riak adapter
- Schema structs
- Search, sort, and paginate
- Shortcuts [2]
- ShortUUID
- Slugs
- SQLite3 adapter
- Test fixtures/factories
- Time period stats
- Timex support
- Validation test helpers
- Versioning
- Addresses, Brazil (Correios)
- Advertising (Amazon Product Advertising)
- App store (Google Play)
- App store, reviews (AppStore/Play)
- Application Performance Manager (APM) (Elastic APM)
- Application stack (Parse.com) [2]
- Avatars (Gravatar)
- Anti-Spam (Akismet)
- Avatars for design mockups (UIFaces)
- Business process automation (Force.com)
- Chat (Slack)
- Chat bot (Cleverbot)
- Cloud database (Datomic)
- Cloud database (Google Cloud Datastore)
- Cloud provider (Digital Ocean) [2]
- Cloud provider (Qiniu)
- Cloud provider (Vultr)
- Cloud provider, managed (Heroku) [2]
- Cloud pub/sub (Google Cloud Pub/Sub)
- Cloud software (Google Spreadsheet)
- Continuous integration (Codeship)
- Cryptocurrency (BitMEX)
- Cryptocurrency (Bitpay)
- Cryptocurrency (Ethereum)
- Database (Amazon SimpleDB)
- Digital trust (Sift)
- Distance/travel time (Google Distance Matrix)
- Distributed filesystem (IPFS)
- DNS (DNSimple)
- Docker (Docker Remote) [2]
- Ecommerce (Shopify)
- Email (Gmail)
- Email (MailChimp)
- Email (Mailgun)
- Email (Mandrill)
- Email (SendGrid) [2]
- Email (SparkPost)
- Embedded/IoT (Particle)
- Error notifier (Airbrake) [2]
- Exchange rates, Myanmar (Central Bank of Myanmar)
- GeoNames API client
- Git hosting (GitHub)
- Google APIs (Google)
- Government, US (govtrack.us)
- Group chat (Lingr)
- Help desk software (Desk.com)
- Home automation (Honeywell)
- Incidence response (Pagerduty)
- Issue tracking (JIRA)
- Japanese dictionary API client (Jisho.org)
- Logging (Fluentd)
- Lyrics (Rap Genius)
- Media (Marvel)
- Messaging (Telegram)
- Messaging (Telegram)
- Metric server (DogStatsd)
- Metrics (Keen.io)
- Network monitoring (Riemann)
- Note taking (Evernote)
- Note taking (Pocket)
- Partnership management (Trak.io)
- Payment gateway (Authorize.Net)
- Payment gateway (Paypal) [2]
- Payment gateway, Asia (Omise)
- Payment processing (Stripe) [2] [3]
- Payments, Mexico (Conekta)
- Personality testing (Traitify)
- Pornography (Redtube)
- Project management (Asana)
- Project management (Trello)
- Project management (YouTrack)
- Public transport, Dublin (Dublin busses)
- Push notifications (Apple Push Notifications)
- Random user generator (randomuser.me) [2]
- Realtime communication (Pusher)
- RSS reader (Feedly)
- SEC filings (EDGAR)
- Secure source code (Assembla)
- Slack bots [2]
- Slack error logging
- Social network (Facebook) [2]
- Social network (Instagram)
- Social network (Last.fm)
- Social network (Reddit)
- Social network (Twitter) [2]
- Social network (VK)
- Social network, programming (Qiita)
- Stock images (Unsplash)
- Telephony (Twilio) [2]
- Time series database (AT&T M2X) [erl]
- Translation (Bing Translator)
- URL shortener (Google URL Shortener)
- Weather (Dark Sky) [2]
- Web analytics (Mixpanel) [2]
- 2-way maps [erl]
- Abstract Term database client [erl]
- Extended standard libraries [erl]
- Build system [erl] [erl2]
- Code formatter [erl] [erl2]
- FileSystem Listener [erl]
- Mix task helpers [erl]
- Modules string eval [erl]
- Process buffers [erl]
- Process info [erl]
- Release assembler [erl]
- Shell history [erl]
- Term Storage (ETS) table sharding [erl]
- Terms memory size instrumentation [erl]
- Testing utilities [erl]
- Version manager [erl] [erl2]
- Alphabetical
- Flat list enables quick reference
- Short category name with URL to lib
- Category names should become more internally consistent over time
- Link to Hex package when possible, otherwise to source code page
- Tag a second alternative with [2]
- Tag the best Erlang alternative with [erl]
All else being equal:
- Prefer stdlib to a third party package
- Prefer the better tested version
- Prefer the faster solution
- Prefer the more mature solution
Contributions are welcome!
- Please only request a change if you have experience using the library in a project.
- If you think there is a better library for one of the entries, simply create a PR and move the current choice to runner-up. If there was already a runner-up, it falls off the list.
- If you think a category should be added, renamed, split out from, or merged with another category, simply submit a PR with the changes.