hex logo Hex
Packages Pricing Docs
Log In
Packages Pricing Docs Log In
mccraigmccraig avatar

craig mcmillan

mccraigmccraig

Total Packages

4

Total Downloads

6 918+

craig@mccraig.net
Packages Stats

Packages

Most Popular Most Downloaded Newest First

double_down

0.61.0
3 201+

Builds on the Mox pattern — generates behaviours and dispatch facades from `defcallback` declarations — and adds stateful test doubles powerful enough to test Ecto.Repo operations without a database.

Last Updated: 2 weeks ago

skuld

0.31.2
2 744+

Effectful programming for Elixir: write business logic as pure effect descriptions, swap handlers for testing. Built on algebraic effects and bundled with a substantial library of effects including cooperative coroutines, automatic query batching, and DoubleDown boundary integration.

Last Updated: 5 days ago

hex_port

0.23.0
757+

HexPort: Hexagonal architecture ports for Elixir. Typed port contracts with async-safe test doubles, dispatch logging, and stateful test handlers. Define boundaries with `defport`, swap implementations for testing without a database.

Last Updated: 1 month ago

freyja

0.1.2
216+

Algebraic effects and handlers for Elixir.

Last Updated: 4 months ago
hex logo Hex
About Blog Sponsors Status Advisories
Documentation FAQ Specifications Report Client Issue Report General Issue Report Security Issue Contact Support
Code of Conduct Terms of Service Privacy Policy Copyright Policy Dispute Policy

Copyright 2015. Six Colors AB.

Powered by the Erlang VM and the Elixir Programming Language

Search filters

Type any of these into the search box. They can be combined with free text which searches package names and descriptions.

Operator Description Example
name: Match package name. Supports * wildcards and repo/package form name:phx* or name:hexpm/phoenix
description: Full-text search of package descriptions description:auth
depends: Packages depending on a given package. Supports repo:package form depends:ecto or depends:hexpm:ecto
build_tool: Filter by build tool build_tool:mix
updated_after: Packages updated after an ISO8601 datetime updated_after:2025-01-01T00:00:00Z
extra: Match custom metadata (key,value). Nested keys are separated by commas extra:license,MIT

Wrap values in double quotes to include spaces, e.g. name:"my package".