The Raku Ecosystem, Working
One page per module from raku.land — installed, tested and run under Raku++, with examples you can copy straight into a file.
A module is on this site once Raku++ can do four things with it: parse its sources, install it with rakupp install, run the distribution's own test suite, and run the examples on its page. Every example below is executed under Raku++ 3.28.0 and under Rakudo 2026.08 as the build runs, twice on each, and the build fails if an output moves. What you copy is what ran.
Every page here is written for this site — what the module is for, what its API actually looks like, and the one thing worth knowing before you reach for it. None of it is copied from the distribution's own documentation.
The whole Raku ecosystem — all 2,524 distributions and how each ran →
| Module | Topic | Version | State | Examples |
|---|---|---|---|---|
| Abbreviations Every leading substring that identifies one word out of a set and no other — the unambiguous prefixes a command-line tool lets you type instead of the whole subcommand. | text | 2.2.3 | Works | 2 |
| Acme::Scrub Hide a program inside its own source file as zero-width characters, and decode and run it on every later invocation. | curiosities | 0.2.1 | Works | 2 |
| Algorithm::BinaryIndexedTree A Fenwick tree — an array of cumulative counts supporting a bucket increment and a prefix sum, each in logarithmic time. | data structures | 0.0.8 | Works | 4 |
| Algorithm::DawkinsWeasel Dawkins's cumulative-selection demonstration — where every step of the sequence is the same mutable object, not a snapshot. | algorithms | 0.1.1 | Divergent | 4 |
| Algorithm::Elo One Elo update — two integer ratings and who won, in; two new integer ratings, out — on the standard logistic curve with a fixed K of 32. | algorithms | 0.1.1 | Works | 3 |
| Algorithm::Genetic A skeleton for a genetic search you fill in — where the population is not sorted when `evolve` returns, so `.tail` is usually not the best. | algorithms | 0.0.2 | Divergent | 4 |
| Algorithm::KDimensionalTree A static k-d tree over numeric vectors, answering k-nearest-neighbour and radius queries, with a pluggable distance function. | data structures | 0.1.2 | Divergent | 3 |
| Algorithm::LCS The longest common subsequence of two sequences — the subsequence itself, not its length — with the common prefix and suffix stripped before the dynamic-programming table is built. | algorithms | 0.1.1 | Works | 3 |
| Algorithm::Manacher Manacher's linear scan for palindromic substrings — every maximal palindrome and its position, computed once at construction. | algorithms | 0.0.1 | Works | 3 |
| Algorithm::SetUnion A disjoint-set forest over the integers 0 ..^ size, with union by subtree size and full path compression, and the node array exposed. | algorithms | 0.0.1 | Works | 4 |
| Algorithm::Soundex The American Soundex code for a name — an initial letter followed by digits for the consonant groups that follow it. | algorithms | 0.2 | Works | 3 |
| Algorithm::TernarySearchTree A ternary search tree over whole strings — one character per level, a binary search among the alternatives — with exact lookup and a fixed-length wildcard match. | data structures | 0.0.5 | Works | 4 |
| Algorithm::ZobristHashing Zobrist hashing — a random value per (position, piece) pair, XORed together — so a one-square change costs two more XORs rather than a rehash. | algorithms | 0.0.6 | Works | 4 |
| AlgorithmsIT Knuth-Morris-Pratt transcribed from the textbook, with a one-based array class so the code reads like the pseudocode. | algorithms | 0.0.4 | Divergent | 5 |
| allow-no One line that rewrites `--no-foo` into Raku's `--/foo` before MAIN parses — including after the `--` end-of-options separator. | command line | 0.0.1 | Divergent | 4 |
| App::Rakus A static HTTP file server as one installable command, on nothing but IO::Socket::INET — with the routing exposed as a pure function you can test without opening a port. | command line | 0.0.2 | Works | 6 |
| as-cli-arguments Renders a Capture back into the command line that would have produced it — provided every value is already a Str. | command line | 0.0.10 | Divergent | 5 |
| ASCII::To::Uni A source-rewriting filter that replaces about forty-five ASCII spellings with the Unicode characters Raku also accepts. | source tools | 0.1.1 | Divergent | 3 |
| Astro::Sunrise The local clock times at which the sun's centre crosses a chosen altitude on a given date at a given point on the globe. | astronomy | 0.0.4 | Works | 5 |
| Automata::Cellular Run Wolfram's elementary one-dimensional cellular automata — the 256 three-neighbour rules — on a wrap-around row seeded with a single live cell. | simulation | 0.2.3 | Works | 4 |
| AVL-Tree A height-balanced binary search tree holding one key per node, with an optional payload, rebalancing by rotation on insert and delete. | data structures | 0.0.2 | Partial | 4 |
| Avolution::Emoji 251 shortcode substitutions turning `:smile:` into an emoji — two of them mis-escaped, including the most-typed one of all. | text | 0.1.1 | Works | 4 |
| Base64 Base64 in pure Raku with the two alphabets that matter — standard and URL-safe — from the author of zef, with no dependencies to drag in. | data format | 0.1.0 | Works | 2 |
| Base64::Native Base64 over a bundled C codec, doing the whole buffer in one call and working in Blobs throughout, with the URL-safe alphabet as a flag. | encoding | 0.0.10 | Works | 4 |
| Brazilian::FederalDocuments CPF and CNPJ check-digit validation — missing the official 10→0 fold, so it rejects one in six well-formed documents and accepts every repdigit. | validation | 0.1.1 | Divergent | 4 |
| Browser::Open Picks a command that can open a URL, per kernel — and silently ignores `$BROWSER` when you set it to an absolute path. | system | 1.0.1 | Works | 4 |
| Cache::Async A thread-safe read-through cache built around a producer closure — every get returns a Promise, and concurrent requests for one key collapse onto a single producer call. | caching | 0.3.4 | Works | 4 |
| Calculator A two-number arithmetic object — construct it with an x and a y, then ask for their sum, difference, product or quotient. | arithmetic | 0.0.1 | Divergent | 3 |
| CBOR::Simple A CBOR codec in three subs — encode, decode, and a diagnostic notation that prints what the bytes mean, which is the one that makes the format learnable. | data format | 0.1.4 | Works | 1 |
| CCColor A hex colour string to four exact fractions of 255 — where lowercase hex silently returns opaque black. | colour | 0.0.2 | Divergent | 4 |
| Chess Two chess notation grammars — a position in FEN and a game score in PGN — plus a terminal board printer in Unicode chess glyphs. | games | 0.2.4 | Works | 4 |
| Clean A fifteen-line destructor convention — mark a class with a role, implement clean, and call a sub that runs your block and then cleans up. | resources | * | Partial | 3 |
| Color A color as an object — construct it from hex, RGB, HSL, HSV or CMYK, convert between them all, and adjust it with lighten, darken, saturate, invert and arithmetic. | graphics | 1.004001 | Works | 3 |
| Color::Names Named colours as data — CSS3, Crayola, X11 and more, each name paired with its RGB triple, plus a substring search and a nearest-match by distance. | graphics | 2.0.0 | Works | 1 |
| Color::Scheme Rotate a Color's hue by a list of degree offsets and return the resulting colours, with seventeen named offset sets baked in. | colour | 1.001003 | Works | 4 |
| Compress::LZString A pure-Raku port of the JavaScript lz-string dictionary coder, with five transport encodings of the same bit stream. | compression | 0.0.1 | Works | 4 |
| Compress::Zlib compress and uncompress over libz, plus the three framings — raw deflate, a zlib header, a gzip header — and a filehandle wrapper that reads or writes a gzip file as if it were text. | encoding | 1.1.0 | Works | 1 |
| Compress::Zlib::Raw The zlib C library bound function for function — the one-shot helpers, the streaming deflate and inflate state machine, and the checksums — with no Raku wrapper over any of it. | encoding | 1.0.1 | Works | 2 |
| Concurrent::Channelify Hand a list to a start block that pushes every element into a Channel, so a producing pipeline overlaps with a consuming one. | concurrency | 0.1.0 | Divergent | 3 |
| Config A settings object with a template of allowed keys, dotted paths into nested values, and readers for hashes, files, environment variables and XDG directories — where every change hands back a new Config. | configuration | 3.0.4 | Works | 2 |
| Config::Clever Layered JSON configuration by convention — a default file, an environment file and a machine-local override, merged in that order from one directory. | configuration | 1.0.0 | Works | 2 |
| Config::INI A grammar for the classic key = value / [section] file, plus a writer that walks a hash back out, giving a two-level hash of strings. | configuration | 1.2 | Works | 4 |
| Constants::Netinet::In Per-platform IPPROTO and IP socket-option constants transcribed from netinet/in.h — and on macOS they are Blocks, not enums. | system | 0.0.1 | Works | 5 |
| Cro::Core The pieces every Cro library is built from — a URI and IRI parser that implements RFC 3986 resolution, a media-type parser that splits the structured suffix, and the pipeline composer the HTTP and WebSocket libraries plug into. | web | 0.8.10 | Works | 3 |
| Crypt::Random Random bytes and integers from the operating system's cryptographic source instead of the language's PRNG — a buffer, an integer, an unbiased draw below a bound, and a version-4 UUID assembled from them. | crypto | 0.4.1 | Works | 2 |
| CSV::Parser A CSV reader that works from an open file handle a line at a time — quoted fields, a header row that becomes the keys, and the separators and quote characters as options — for files too big to slurp. | data format | 0.1.4 | Works | 1 |
| Data::DPath6 A placeholder release — the whole executable content is one method that returns 42. | placeholders | 0.0.2 | Works | 4 |
| Data::Dump One sub, Dump, that renders any structure — nested data, objects, attributes and all — as indented, optionally colored text a human can actually read. | debugging | 0.0.18 | Works | 1 |
| Data::Generators Random words, strings, numbers, dates, pet names, job titles — and whole tabular datasets. The fastest way to have data before you have data. | data generation | 0.1.11 | Works | 9 |
| Data::Geographics 29 countries of statistics and 62 350 cities, plus geohashes and a great-circle distance — with a decoder that swaps min and max. | geography | 0.1.5 | Divergent | 5 |
| Data::ICal Parses an .ics calendar into events with DateTimes — and cannot read back what it writes. | data formats | 1.0.0 | Divergent | 5 |
| Data::RandomKeep Reservoir sampling — keep N items from a stream of unknown length in constant memory, and get them back sorted by value. | sampling | 0.1.1 | Works | 5 |
| Data::Transformers Numeric array reshaping — a running-total accumulator, a linear range remapper, and array padding and centring helpers — in three separately used units. | data | 0.0.2 | Works | 4 |
| Data::Tree A Haskell-shaped rooted tree with builders, folds and two ASCII renderers — where `levels` returns nothing for a falsy root. | data structures | 0.3 | Divergent | 5 |
| Data::TypeSystem Says what shape a data structure is — a vector of Ints, a tuple, a list of records, a hash of vectors — in one call, so code that accepts "data" can check it was handed a table before treating it as one. | data | 0.1.8 | Works | 2 |
| Date::Calendar::Armenian The Armenian civil calendar — twelve thirty-day months plus five aveliats, 365 days flat, no leap day ever. | calendars | 0.1.0 | Works | 4 |
| Date::Calendar::Bahai Convert between Gregorian dates and the Baháʼí calendar in both an arithmetic and an astronomical reckoning, with the cyclical structure exposed alongside year, month and day. | calendars | 0.1.0 | Works | 4 |
| Date::Calendar::Hijri Convert between Gregorian dates and the arithmetic Hijri calendar — a computed thirty-year cycle with no moon sighting — with day names and strftime. | calendars | 0.1.0 | Works | 4 |
| Date::Calendar::MayaAztec Maya long count, Haab and Tzolkin plus the Aztec xiuhpohualli and tonalpohualli, under three published correlations, in three locales each. | calendars | 0.1.0 | Works | 5 |
| Date::Calendar::Persian Convert between Gregorian dates and the Persian solar calendar, whose year begins at the spring equinox, in an arithmetic and an astronomical reckoning. | calendars | 0.1.0 | Works | 4 |
| Date::Calendar::Strftime The C library's `strftime` as a role — `%Y-%m-%d`, `%j`, `%V`, widths and flags — mixed into a core Date or into any of the author's Date::Calendar classes, so one format string works across calendars. | time | 0.1.1 | Works | 1 |
| Date::Christian::Advent The date of the First Sunday of Advent for a year, computed three independent ways — which all agree. | calendars | 0.0.2 | Works | 3 |
| Date::Easter Gregorian Easter Sunday from a year, and the six moveable feasts anchored to it, as Date::Event objects keyed by the date each falls on. | calendars | 0.0.5 | Works | 4 |
| Date::Event One record type for "something that happens on a date" — a name, a category from a sixteen-value enumeration, the date, the observed date, and an identifier scoped to a set. | time | 0.0.12 | Works | 2 |
| Date::Names The names of the months and weekdays in fourteen languages — full, abbreviated, in the case and truncation you ask for — and the reverse lookup from a name to its number. | time | 2.3.2 | Works | 1 |
| Date::Utils The arithmetic a month-grid calendar needs — which weekday column the first falls in, how many rows the month takes, and where "third Monday in January" actually lands. | time | 0.7.0 | Works | 3 |
| DateTime::Format strftime for Raku's DateTime — the % patterns everyone knows, with month and day names in six languages. | time | 0.1.5 | Works | 2 |
| DateTime::Format::LikeGo Write a datetime layout the way Go does — by spelling out a reference instant rather than using percent codes — and render a DateTime with it. | time | 0.0.2 | Works | 3 |
| DateTime::Grammar A DateTime from a dozen conventional date shapes — ISO 8601, the three HTTP formats, slashed numeric dates and spelled-out months — as a grammar factored into a reusable role. | time | 0.1.3 | Divergent | 2 |
| DateTime::Location A value object for a place — name, coordinates, UTC offset and eight optional descriptive fields — that validates almost none of them. | geography | 0.0.1 | Works | 5 |
| DateTime::Math Conversions between a number and a duration unit, plus operators that add or subtract a plain number of seconds from a DateTime. | time | 0.6.2 | Works | 4 |
| DateTime::Parse A DateTime from the date strings the web writes — RFC 1123, the older RFC 850, C's `asctime`, and ISO 8601 — through one constructor that tries the grammars in turn. | time | 0.9.3 | Works | 1 |
| DBIish One interface to SQLite, PostgreSQL, MySQL and Oracle — connect by driver name, send SQL with placeholders, and get rows back as lists or hashes with the database's types already turned into Raku's. | database | 0.6.8 | Works | 2 |
| DFM::Parser A grammar for Delphi form files — no actions, no serialiser, and a number list of more than one number never parses. | data formats | 0.0.1 | Divergent | 5 |
| Dictionary::Create A string builder for DSL dictionary markup — where one of its five tag methods cannot succeed with any argument. | text | * | Divergent | 5 |
| Die Restore Perl's convention that a die message ending in a newline is a finished message for the user — printed to stderr, followed by exit 1. | error handling | 1.1 | Works | 2 |
| Digest MD5, SHA-1, SHA-2, SHA-3, RIPEMD-160 and HMAC written in Raku itself — one sub per algorithm, a Blob in and a Blob out, and no C to compile, at the speed that implies. | crypto | 1.1.0 | Works | 2 |
| Digest::FNV The Fowler–Noll–Vo non-cryptographic hash in its three historical variants, at any of six widths from 32 to 1024 bits. | hashing | 0.1.1 | Works | 3 |
| Digest::HMAC Keyed message authentication (RFC 2104) over any digest you hand it — verify a webhook signature or sign an API request in one line, in pure Raku. | crypto | 1.0.7 | Works | 3 |
| Digest::MD5 MD5 in forty-three lines of Raku — one sub, a message in and sixteen bytes out — for the content addresses and legacy checksums that still ask for it. | crypto | 1.1.0 | Works | 2 |
| Digest::SHA1::Native SHA-1 through a C implementation compiled at install time — two subs, the raw digest and the hex string, for the checksum and lookup-key uses where SHA-1 is still what the other side expects. | crypto | 1.0.1 | Works | 1 |
| Digest::SHA256::Native SHA-256 through a C implementation rather than a Raku one — two subs, one returning the raw digest and one the hex string, for when hashing is on a path that runs often enough for the speed to show. | crypto | 1.0.2 | Works | 1 |
| DirsOfInterest Where an application should put its data, config, cache and logs — eighteen lookups, ten of which throw on macOS. | system | 1.0.0 | Works | 5 |
| Doublephone Double Metaphone over a bundled C implementation — one call turns a word into two four-letter phonetic keys. | text comparison | 0.1.3 | Works | 3 |
| Email::MessageID Generate a value for a Message-ID header from a nanosecond timestamp, a short random run and the process id, attached to the machine's hostname. | 0.0.1 | Works | 3 | |
| Encode Byte-to-text decoding for the legacy single-byte encodings the core does not carry — ISO-8859-2 and Windows-1251 above all — as one sub and three lookup tables. | encoding | 0.0.4 | Works | 2 |
| Encoding::Huffman::PP6 Bit-packed Huffman coding with the HPACK table built in — and a decoder that destroys every digit and every space. | encoding | 0.0.3 | Divergent | 6 |
| Env::Dotenv Read a .env file in the current directory and turn each line into a key and a value, either copied into the process environment or returned as a hash. | configuration | 0.0.6 | Divergent | 2 |
| EuclideanRhythm Spread a number of hits as evenly as the integers allow over a number of slots, using Bjorklund's construction, and hand the bar back as booleans. | music | 0.0.6 | Works | 3 |
| File::Directory::Bubble The list-building half of a recursive delete — every descendant in an order safe to remove in, and how far a deletion would cascade up the parent chain. | filesystem | 0.1 | Works | 4 |
| File::Directory::Tree mkdir -p, rm -r and "empty this directory" as three Raku subs — the whole-tree operations the core deliberately leaves out. | files | 0.2 | Works | 3 |
| File::Find Walk a directory tree as a lazy sequence, filtered by name, type or path, without writing the recursion yourself. | files | 0.2.5 | Works | 3 |
| File::Path::Resolve A path string turned into an absolute IO::Path, with a leading tilde expanded to the home directory first and every `..` collapsed. | files | 0.0.1 | Works | 2 |
| File::Presence Four compound questions about a path — does it exist and is it readable and is it a file — answered as one boolean each, with no exception when the path is not there. | files | 0.2.0 | Works | 2 |
| File::Stat The raw `stat(2)` fields an IO::Path does not expose — inode, device, mode bits, link count, block counts, owner and group — as a live query against a path. | files | 1.0.3 | Works | 3 |
| File::Temp A temporary file or directory with a name nobody can guess, created safely, and removed for you when the program ends. | files | 0.0.12 | Works | 4 |
| File::Which The shell's which, as a function — find the full path of an executable on PATH, on every platform, before you try to run it. | files | 1.0.4 | Works | 2 |
| File::Zip Read a zip archive by shelling out to the system unzip — validate the path, list the members, extract to a directory. | archives | 0.1.2 | Works | 3 |
| Finance::CompoundInterest Four time-value-of-money formulas — future value of a lump sum or a payment stream, and the two inverses that solve for periods or payment size. | finance | 0.1.0 | Works | 3 |
| Fortune Read and write the Unix fortune file format — records separated by a delimiter line, with an optional binary index — and ship a Slackware database so it works out of the box. | text | 0.1.0 | Works | 3 |
| Game::Stats Descriptive statistics and discrete probability as five small classes — an append-only sample, its mean and variance, covariance and correlation, and a Bayes helper. | statistics | 0.2.11 | Divergent | 3 |
| Game::Sudoku A 9x9 grid held as an 81-character string, answering validity, completeness and per-cell candidates, with a separate solver unit. | games | 1.1.4 | Works | 4 |
| Games::Maze Carve a rectangular maze by recursive backtracking and render it as ASCII, one header line plus one line per row. | games | 0.0.1 | Works | 4 |
| Geo::Ellipsoid Solve the two classical geodesy problems on an ellipsoidal Earth — distance and bearing between two points, and the point a distance and bearing away — over nineteen named reference ellipsoids. | geodesy | 1.0.1 | Works | 4 |
| Geo::Geometry The OGC simple-feature shapes as Raku classes — points, lines, rings, polygons and the collections — each able to serialise itself to standard binary WKB. | graphics | 0.1.3 | Works | 2 |
| Geo::Hash Encodes a latitude and longitude into a geohash string and decodes one back, over a bundled C library — three subs, and the prefix property that makes the format worth using at all. | geo | 0.0.3 | Works | 3 |
| Geo::Location A place as decimal degrees, as `N30d21m22s`, or in the compact rise/set form — and supplying only one coordinate relocates you to Florida. | geography | 0.0.4 | Divergent | 5 |
| Geo::WellKnownBinary Decode OGC Well-Known Binary — the packed byte format PostGIS keeps geometry in — into Geo::Geometry objects, in either byte order and every Z/M/ZM variant. | geospatial | 0.1.6 | Divergent | 4 |
| Getopt::Long Command-line parsing in the GNU style — long and short options, negatable flags, typed values, repeats — declared either as patterns in the Perl tradition or by the signature of the sub you want called. | command line | 0.4.2 | Divergent | 2 |
| Getopt::Long::Grammar Parse a command line held in a single string — command word, options and positional arguments — into a Match or a plain hash, without ever touching @*ARGS. | grammars | 0.0.2 | Works | 4 |
| Git::Status Run git status in a directory and present the porcelain output as seven typed lists plus a clean flag, read once at construction. | git | 0.0.4 | Partial | 3 |
| Glob::Grammar A grammar for shell wildcard syntax, with an actions class that translates a glob into the source text of a Raku regex. | text | 0.0.2 | Divergent | 2 |
| Grammar::DiceRolls A grammar for tabletop dice notation — 3d6, 2d6+1d4-1 — with two action classes, one returning a total and one every individual die. | grammars | 0.3.1 | Works | 4 |
| Grammar::TodoTxt A grammar for the todo.txt task format — completion marker, priority, two dates, and a description in which projects, contexts and key:value labels are picked out from ordinary words. | grammars | 0.1.0 | Works | 3 |
| Gray::Code::RBC Convert between integers and reflected binary Gray code, where consecutive values differ by exactly one bit, at arbitrary precision. | encoding | 0.0.4 | Works | 4 |
| Haikunator Generate a random adjective-noun-number label in the Heroku style — a throwaway name a person can read aloud and remember. | identifiers | 0.1.0 | Works | 3 |
| Hash::Merge Deep-merges hashes into a new one — nested hashes combined key by key, arrays appended rather than replaced, and the later argument winning every collision. | data | 2.0.0 | Works | 2 |
| Hash::Ordered A hash whose keys come back in the order they were first assigned, through the ordinary hash syntax — a container trait rather than a new type to learn. | data | 0.0.9 | Works | 2 |
| head-skip-tail Sub forms of `head`, `skip` and `tail` for compilers that lack them — a no-op on Rakudo, and load-bearing on Raku++. | compatibility | 0.0.1 | Divergent | 4 |
| Highlight::Terminal A lookup table from Raku syntax-category names to SGR colour parameters, plus the two methods that wrap text in the matching escape. | terminal | 0.0.2 | Works | 3 |
| Holidays::US::Federal The eleven US federal holidays for a year, with the date each is observed when the holiday falls on a weekend. | calendars | 0.0.5 | Works | 4 |
| HTML::Escape One exported sub that turns the five characters HTML cares about into entities — the smallest correct answer to "I am about to interpolate a string into markup". | web | 0.0.1 | Works | 1 |
| HTML::EscapeUtils Escape five characters, unescape 2222 named and numeric entities — and throw on any entity it does not recognise. | encoding | 0.0.3 | Divergent | 6 |
| HTML::Lazy A lazy HTML builder where every constructor returns a thunk and nothing is rendered until the outermost one is passed to render. | markup | 0.0.1 | Partial | 4 |
| HTML::Parser Six lines: a role declaring one attribute and one stubbed method — an interface for somebody else's parser, not a parser. | interfaces | 0.1.1 | Works | 5 |
| HTTP::HPACK HTTP/2 header compression — the static and dynamic index tables, the integer and string primitives, and the Huffman code — as an encoder and a decoder you pair per connection. | web | 1.0.3 | Works | 2 |
| HTTP::ParseParams Parse an HTTP cookie string or an x-www-form-urlencoded body into a hash, with the dialect chosen by a flag. | http | 1.0.0 | Partial | 4 |
| HTTP::Status Every registered HTTP status code as an object that knows its title, its class, its RFC and where it came from — plus the one-line predicates for "is this an error?". | web | 0.0.5 | Works | 3 |
| HTTP::Tiny An HTTP/1.1 client with no dependencies — one object, one method per verb, a hash back with the status, the headers and the body — for the program that has to fetch or post something and would rather not carry a framework to do it. | web | 0.2.6 | Works | 2 |
| I18n::Simple User-facing strings in flat YAML files, looked up by key with placeholders filled from named arguments — layered so a translation can be loaded over a base language. | language | 0.1.2 | Works | 2 |
| IDNA::Punycode The bootstring encoding behind internationalised domain names — one sub each way, turning Unicode text into an `xn--` label and back. | encoding | 1.0.1 | Works | 2 |
| if One pragma — `use if CONDITION, 'Module'` — that loads a distribution only when the condition holds, so a platform-only dependency costs nothing on the platforms that do not need it. | system | 0.1.5 | Divergent | 1 |
| Image::Markup::Utilities Turn an image file into a base64 data URI and wrap it in Markdown or HTML, so images can be embedded inline in notebooks and documents. | images | 0.1.2 | Works | 3 |
| Image::PNG::Inflated Wraps a raw RGBA buffer in a valid PNG container without compressing it — and never checks that the buffer matches the size you declared. | images | 0.1.0 | Divergent | 4 |
| Inline::BASIC Runs a line-numbered BASIC program from a Raku string — where every expression goes through EVAL, so `2 ^ 10` prints 210. | languages | 0.0.2 | Works | 6 |
| Intl::LanguageTaggish The interface every language-tag type is expected to satisfy — one role with four required methods — so unrelated internationalisation libraries can accept each other's tags. | language | 0.2 | Works | 2 |
| IO::Glob Shell wildcards in Raku — `*.txt`, `src/**/*.rakumod`, `{one,two}` — as a matcher for strings and paths and as a way to list a directory, with the shell's grammar rather than a regex to write. | files | 0.9.0 | Works | 1 |
| IO::Path::Dirstack A shell-style directory stack — pushd changes the working directory and remembers where you were, popd goes back. | filesystem | 0.1.1 | Works | 3 |
| IO::Path::XDG The freedesktop.org base directories as six subs — config, data and cache homes, their search lists, and the runtime directory — with the specification's defaults filled in. | files | 0.2.0 | Divergent | 2 |
| IRC::TextColor IRC's in-band colour codes with names, plus a converter that turns ANSI terminal escapes into the IRC equivalents so console output can be relayed to a channel. | terminal | 0.4.1 | Works | 2 |
| JSON::Class A role that gives any class a `to-json` and a `from-json` — public attributes out, typed objects back in, nested classes and typed arrays included — built on JSON::Marshal and JSON::Unmarshal. | data format | 0.0.21 | Works | 2 |
| JSON::Fast JSON in, Raku data out, and back again. Two exported subs, a handful of adverbs, and the numbers come back typed the way you would have typed them. | data format | 0.20.1 | Works | 9 |
| JSON::JWT JSON Web Tokens signed and verified — unsigned, HMAC-SHA256 with a shared secret, or RSA-SHA256 with a PEM key — where decoding and verifying are the same call. | crypto | 1.1.2 | Works | 2 |
| JSON::Marshal An object's public attributes turned into JSON, with four traits for the per-attribute decisions — skip it, skip it when empty, run it through a converter, or publish only what is marked. | data format | 0.0.25 | Works | 3 |
| JSON::Name One attribute trait that records a different JSON key for an attribute — for the `@type` and `created_at` spellings a Raku identifier cannot have. | data format | 0.0.7 | Works | 2 |
| JSON::Native JSON::Fast's interface with a native fast path — a C extension compiled at install time, or Raku++'s own codec — and JSON::Fast itself everywhere else. Same program, same answers, on both engines. | data format | 0.0.2 | Works | 6 |
| JSON::OptIn One empty marker role and the trait that applies it — the shared answer to "was this attribute deliberately made JSON-visible", so several serialisation modules can agree without depending on each other. | data format | 0.0.2 | Works | 2 |
| JSON::Pretty A `to-json` that formats for a human — one value per line, two spaces of indent, a space either side of the colon — imported over the one you already have. | data format | 0.1.1 | Works | 2 |
| JSON::Pretty::Sorted A pretty-printing JSON writer with a caller-supplied ordering hook threaded through the whole document. | json | 0.0.2 | Partial | 4 |
| JSON::Tiny The original Raku JSON module — two exported subs around a grammar small enough to read in one sitting, and clean enough to subclass when your "JSON" has comments in it. | data format | 1.0 | Works | 4 |
| JSON::Unmarshal JSON into typed objects — matching keys to public attributes, recursing into nested classes and typed arrays, and checking each value against the attribute's declared type. | data format | 0.18 | Works | 3 |
| Lazy::Static Wrap a block in a closure that runs it at most once, on first call, and hands every later caller — on any thread — the same value. | concurrency | 0.0.1 | Works | 3 |
| LCS::All Every longest common subsequence of two sequences, not just one, returned as lists of index pairs into the originals. | algorithms | 0.2.0 | Works | 3 |
| LEB128 LEB128 variable-length integers, signed and unsigned — the format DWARF, WebAssembly and Protocol Buffers pack integers with — at arbitrary precision. | encoding | 1.0 | Works | 4 |
| lemmatize Dictionary-driven lemmatisation with 24 bundled language tables — and its English table folds the plural pronouns onto the singular ones. | linguistics | 0.0.3 | Divergent | 4 |
| License::SPDX The SPDX licence list as a bundled data table, looked up by identifier or walked in full, with each licence an object carrying its name, approval flags and reference URLs. | metadata | 3.28.0 | Works | 3 |
| Lingua::Conjunction Turn a list into a natural-language phrase — a, b, and c — with control over the conjunction, the Oxford comma, the separator and the language. | text | 1.3 | Works | 4 |
| Lingua::EN::Conjugate English verb phrases from a bare verb and a pronoun — tense, modal, aspect, voice, negation and question order, as an ordered list of words. | linguistics | 0.3 | Divergent | 6 |
| Lingua::EN::Stopwords Three fixed English stop-word lists in three separate units — and the exported hash is the module's own, not a copy. | linguistics | 0.0.2 | Divergent | 4 |
| Lingua::EN::Syllable Estimate how many syllables an English word has, by counting vowel groups and applying a list of corrective patterns. | text | 1.0.3 | Works | 4 |
| Lingua::Lipogram Does this text avoid all of these letters? — one multi with five candidates, where `<ch>` and `('ch',)` mean completely different things. | linguistics | 0.1.0 | Works | 5 |
| Lingua::NumericWordForms Numbers spelled out as words and read back again, across nineteen languages — with automatic detection of which language a spelled-out number is in. | language | 0.6.2 | Works | 3 |
| Lingua::Palindrome Palindromy at three granularities — characters, words, lines — behind a filter with four flags and one character class it cannot remove. | linguistics | 0.1.0 | Works | 5 |
| Lingua::Pangram Does this text use every required character? — with five per-language wrappers, one of which tests for `ss` when it means `ß`. | linguistics | 0.1.1 | Works | 5 |
| Lingua::Stem::Es The Snowball Spanish stemmer, ported — one string in, one stem out, and the merges it makes are not the ones you expect. | linguistics | 0.0.1 | Works | 5 |
| List::Allmax `max` and `min` that return every tied winner — with a `:by` that is re-applied on both sides of every comparison. | lists | 0.0.1 | Divergent | 5 |
| Locale::Dates Weekday and month names, am/pm markers and strftime templates for seven locales — falling back to English, silently, and case-sensitively. | localisation | 0.0.7 | Divergent | 5 |
| Locale::US Two-letter postal codes to place names and back — 59 rows, not 50, and every name comes back SHOUTED. | localisation | 0.0.2 | Divergent | 3 |
| Log A log4j-shaped logger — five levels, a pattern string, a registry of named loggers, and the two context stores that let a request tag every line it causes. | debugging | 0.3.2 | Works | 2 |
| Logger The continuation of the Log distribution under a new name — the same levels, pattern and contexts, plus a settable pattern and a hook for the timestamp. | debugging | 0.4.6 | Works | 2 |
| LR1 An LR(1) parser generator and runner in one module — where you never declare the start symbol, so the obvious grammar fails. | parsing | 0.0.5 | Works | 5 |
| LZW::Revolunet A port of a JavaScript LZW routine that replaces repeated substrings with single characters drawn from a private code space. | compression | 0.3.2 | Divergent | 3 |
| Math::BijectiveBase Bijective positional numerals — the system spreadsheet columns use, where there is no zero digit — with five alphabets, one of them radix 35. | numbers | 0.0.1 | Works | 4 |
| Math::Curves Two curve primitives for interpolation — a straight-line function and Bezier evaluation at a parameter for two, three or four control points. | maths | 0.0.1 | Divergent | 3 |
| Math::DistanceFunctions Ten ways to measure how far apart two numeric vectors are — Euclidean, Manhattan, Chebyshev, cosine, Canberra, Bray–Curtis, Hamming and the general p-norm — as plain subs over two lists. | maths | 0.1.4 | Works | 2 |
| Math::DistanceFunctions::Edit Edit distance with transpositions counted as one operation, done in C — how many single-character changes turn one string into another, for spelling suggestions and fuzzy matching. | text | 0.1.3 | Works | 3 |
| Math::DistanceFunctions::Native Vector distance and similarity primitives backed by a bundled C implementation — Euclidean, squared Euclidean, cosine, dot product and norm. | maths | 0.1.2 | Works | 3 |
| Math::FourierTransform A naive O(N²) discrete Fourier transform over `Complex` — exact conventions, and a signature that demands a typed array. | numbers | 0.0.1 | Divergent | 4 |
| Math::Nearest Nearest-neighbour search over a point set — the k closest or everything inside a radius — with a k-d tree or an exhaustive scan behind one callable finder. | maths | 0.0.7 | Divergent | 3 |
| Math::Polynomial::Chebyshev Chebyshev polynomials of the first and second kind — exact on exact input, until the denominator outgrows a Rat. | numbers | 0.0.2 | Works | 5 |
| Math::Random Seedable pseudo-random generators as objects — a Mersenne Twister matching the reference implementation, and a linear congruential one with Java's constants. | maths | 0.1.3 | Divergent | 2 |
| Math::SelfDescriptiveNumbers The self-descriptive numbers of any base — from three special cases and a closed form, not from a search. | numbers | 0.0.1 | Works | 5 |
| Math::SpecialFunctions Gamma, factorial, binomial coefficients, Bernoulli numbers and the Euler–Mascheroni constant — exact integers and rationals where the answer is exact, floating point where it cannot be. | maths | 0.1.1 | Works | 2 |
| Math::Zeckendorf The unique sum of non-consecutive Fibonacci numbers, and its dual — as digits or as the numbers themselves, except through a list. | numbers | 0.0.5 | Works | 5 |
| MessageStream A role giving your class a one-to-many message bus — where subscribing twice leaks a tap you cannot see or remove. | messaging | 0.2.0 | Divergent | 6 |
| META6 A distribution's META6.json as a typed object — name, version, provides, the four kinds of dependency — read from a string or a file and written back out, with every field the specification names as a method. | data format | 0.0.31 | Works | 1 |
| Method::Also An "is also" trait that gives one method several names — aliases for a friendlier API, or for the protocol hooks Raku itself looks up, with no forwarder methods to write. | language | 0.0.10 | Works | 2 |
| MIME::Base64 Bytes to ASCII and back — the encoding behind Basic auth, data URIs, and every place binary has to travel through a text-only channel. | encoding | 1.2.5 | Works | 5 |
| MIME::QuotedPrint Quoted-printable encoding and decoding — bytes outside printable ASCII become =XX escapes — with a byte pair, a text pair, and the RFC 2047 header variant. | encoding | 1.0.0 | Works | 4 |
| MIME::Types The table from a file extension to a media type and back — `html` to `text/html`, `text/html` to its three extensions — as an object built from the list Apache ships, with nothing computed at all. | web | 0.3 | Works | 1 |
| ML::Clustering k-means over numeric vectors with eleven distance functions — and by default the reported centres are not the clusters' centroids. | machine learning | 0.2.0 | Divergent | 5 |
| ML::ROCFunctions The confusion-matrix rate family plus a trapezoidal AUROC — with an MCC computed from rates rather than counts. | statistics | 0.1.4 | Works | 5 |
| Moonphase The classic low-precision lunar series, accurate to about a thirtieth of a degree — returning an angle that is not normalised. | astronomy | 0.0.2 | Divergent | 4 |
| Mortgage The standard annuity formulas plus a month-by-month amortisation — correct arithmetic behind a parameter named `$p` that is not a payment. | finance | * | Divergent | 5 |
| NativeHelpers::Array Four subs that move data between a Raku Array or Buf and the CArray a C function wants — typed, sized and copied — so a NativeCall binding can hand a list to C and read one back without writing the loop each time. | native | 0.0.6 | Works | 1 |
| NativeLibs Open a shared library by name, resolve symbols out of it, and probe which ABI version exists at run time — with two distributions of this name installed. | native interface | 0.0.9 | Divergent | 5 |
| Netstring Bernstein's netstring framing — a decimal byte count, a colon, the payload, a comma — as two encoders and one socket reader. | encoding | 0.0.4 | Divergent | 4 |
| Noise::Simplex Seeded 2-D and 3-D simplex noise — bit-identical across engines, and it tiles every 147.8 units. | graphics | 0.1.2 | Works | 5 |
| Number::Bytes::Human Convert byte counts to and from short human-readable strings — 1048576 to 1M and back — using binary magnitudes. | formatting | 0.0.4 | Partial | 4 |
| Numeric::Nearest Binary-search a sorted list for the closest element — and the plural form crashes on any list of two, three or four. | numbers | 0.5.1 | Works | 5 |
| Object::Container A name-to-object registry with lazy initialisers — and a lock that stays locked if an initialiser throws. | dependency injection | 0.0.2 | Divergent | 5 |
| OO::Monitors A `monitor` declarator — a class whose every method call takes the object's own lock on the way in, so one thread at a time is inside it and the methods carry no locking code of their own. | concurrency | 1.1.7 | Works | 3 |
| OpenSSL The OpenSSL library through NativeCall — digests, symmetric ciphers, RSA, X.509 and the TLS socket that IO::Socket::SSL is built on — in nineteen units, of which most programs want two. | crypto | 0.2.9 | Works | 1 |
| Operator::feq An infix `feq` for fuzzy equality — on edit distance over the stringified operands, which is not what "fuzzy equals" suggests. | operators | 0.1.2 | Divergent | 5 |
| P5chr Perl's `chr` and `ord` — where `chr` above 127 answers a literal question mark carrying the codepoint you asked for in its `.ord`. | perl 5 compatibility | 0.0.10 | Works | 4 |
| P5getgrnam The POSIX group-database calls, shaped so the return value matches what Perl's built-ins of the same name hand back. | system | 0.0.10 | Works | 3 |
| P5getnetbyname The POSIX network-database calls, returning Perl's four-field record of name, aliases, address type and network number. | system | 0.0.9 | Works | 3 |
| P5getpriority Scheduling priority and process groups — getpriority, setpriority, getppid, getpgrp and setpgrp — bound directly, returning plain integers. | system | 0.0.8 | Works | 3 |
| P5getprotobyname The POSIX protocol-database calls, returning Perl's three-field record of name, aliases and IANA protocol number. | system | 0.0.7 | Works | 4 |
| P5getpwnam The POSIX password-database calls, reshaping the platform's struct passwd into the field order Perl's getpw built-ins use. | system | 0.0.11 | Works | 3 |
| P5getservbyname The POSIX service-database calls, shaped so the return value matches what Perl's built-ins of the same name hand back, with ports byte-swapped into host order for you. | system | 0.0.8 | Works | 5 |
| P5hex Perl's `hex` and `oct` — where `oct("0xff")` returns 0, silently, exactly as Perl's does not. | perl 5 compatibility | 0.0.10 | Works | 4 |
| P5index Perl's `index` and `rindex` — returning -1 for "not found" where Raku returns Nil, and taking the position argument Perl's way. | perl 5 compatibility | 0.0.7 | Works | 4 |
| P5lcfirst Perl's `lcfirst` and `ucfirst` — which uppercase the first character where Raku's `.tc` titlecases it. | perl 5 compatibility | 0.0.12 | Works | 3 |
| P5length Perl's `length` — which returns undef for an undefined argument, and that undef still compares equal to zero. | perl 5 compatibility | 0.0.9 | Divergent | 3 |
| P5localtime Perl's `localtime` and `gmtime` — an epoch second broken into calendar fields, or formatted as the fixed-width C timestamp — for code being carried across from Perl. | time | 0.0.11 | Works | 2 |
| P5opendir Perl's directory-handle vocabulary — opendir, readdir, telldir, seekdir, rewinddir, closedir — over a snapshot of the names taken at open time. | filesystem | 0.0.10 | Works | 3 |
| P5reverse Perl's `reverse` — which dispatches on the argument's type rather than on calling context, because Raku has no calling context. | perl 5 compatibility | 0.0.10 | Divergent | 3 |
| Package::Updates Ask the host's system package manager which installed packages have newer versions available, as a hash of name to current and new. | system | 1.0.0 | Works | 2 |
| Parameterizable Gives a class the `Foo[Bar]` subscript syntax by supplying a `^parameterize` metamethod that mixes in a role you choose. | metaprogramming | 0.0.3 | Divergent | 4 |
| path-coverage Two lint scripts for a distribution's source tree — neither of which can see a `.rakumod` file. | developer tools | 0.2 | Works | 4 |
| Path::Canonical Collapses `.`, `//` and `..` in a path string — textually, never touching the filesystem, and always returning an absolute path. | paths | * | Works | 4 |
| Path::Finder A composable file-tree walker — build an immutable rule out of predicates, hand it a directory, and get back the paths that match, with whole subtrees pruned rather than filtered. | files | 0.4.7 | Works | 2 |
| Path::Through Four multis that treat an `IO::Path` as a list of `/`-separated parts — where `shift` on an absolute path removes the leading slash. | paths | 0.0.1 | Divergent | 4 |
| paths A recursive file finder that returns a lazy Seq of absolute paths, with separate matchers for directories and files — and a `:recurse` flag that does not mean what its name suggests. | files | 10.2 | Works | 1 |
| PathTools Five shell-flavoured filesystem helpers — list a tree, delete paths, create a directory chain, mint temporary paths — all Str in and Str out. | filesystem | 0.2.0 | Works | 3 |
| Physics::Error The measurement uncertainty attached to a physical quantity — the plus-or-minus — converting between absolute, relative and percentage forms. | science | 0.1.9 | Works | 3 |
| Pod::Literate A grammar that splits a Raku source file into alternating documentation and code chunks, handing back the matched substrings. | pod | 0.0.2 | Works | 3 |
| Pod::Tangle Strips the Pod out of a Raku file and keeps the code — and a single abbreviated directive makes it return an empty file. | pod | 0.0.2 | Divergent | 4 |
| Proc::Easy One sub that wraps run, always capturing both output streams, and hands back the exit code, stderr and stdout together. | process | 0.0.2 | Divergent | 4 |
| Prompt::Gruff Ask a question and get an answer — with re-prompting, verification and a regex constraint, and a built-in harness so you can test it. | command line | 0.0.1 | Works | 6 |
| QueryOS Identify the host operating system and split its version string into parts, so a program can branch on platform without parsing $*DISTRO by hand. | system | 0.1.2 | Partial | 3 |
| Result A Rust-style Result wrapper — a computation yields an Ok carrying a value or an Err carrying a message, and you chain onto it rather than throwing. | error handling | 0.2.5 | Works | 4 |
| Scientist Run new code beside old code and record whether they disagreed — with an `eqv` comparison that calls 42 and 42.0 a mismatch. | testing | 0.0.4 | Works | 5 |
| Serialise::Map An interface-only role declaring that a class can hand out a Map of its state and rebuild itself from one. | serialisation | 0.1.1 | Works | 3 |
| Shareable Inherit from it to get save-yourself-to-a-file — where the store file is `.raku` text that gets `EVAL`ed back. | serialisation | 0.0.1 | Divergent | 5 |
| Shell::Command cp -r, rm -rf, mkpath, cat and which as portable Raku subs — the shell one-liners your script was about to shell out for, without the shell. | files | 1.2 | Works | 2 |
| Sort::Naturally Key transforms that put `file2` before `file10` — ranking digit runs by length first, which puts `0100` after `999`. | sorting | 0.2.3 | Works | 5 |
| sortuk Ukrainian-alphabet sorting with an explicit 32-character table — and the alphabet has 33 letters. | localisation | 0.0.2 | Works | 5 |
| Statistics::Distributions Twenty-one named probability distributions, and one call that draws from any of them. Pure Raku, one dependency, no compiler and no C library. | statistics | 0.1.8 | Works | 14 |
| Statistics::LinearRegression Ordinary least-squares in exact Rat arithmetic — and a degenerate fit returns a defined Rat with denominator zero. | statistics | 1.1.2 | Works | 5 |
| Storable::Lite Persist a Raku value to a file and read it back, using Raku source as the on-disk format. | serialisation | 0.0.2 | Works | 3 |
| StrictNamedArguments An `is strict` trait that makes a method reject named arguments it did not declare — and silently breaks `callsame`. | language | 0.1.0 | Divergent | 5 |
| String::Fold Re-flow a string into lines no wider than a given width, splitting on whitespace and greedily refilling — a reflow rather than a wrap, since every existing break is discarded. | text formatting | 0.2.0 | Works | 3 |
| String::Stream A one-class in-memory sink you print into and read back — and, without inheriting anything, a drop-in `$*OUT`. | io | 0.8 | Divergent | 4 |
| String::Utils About forty small string routines that the core does not have — substring-before and -after, accent stripping, n-grams, abbreviations, whitespace introspection — each one a sub rather than a method. | text | 0.0.40 | Works | 1 |
| sublist Find one list inside another — by stringifying both slices, so element boundaries vanish, and without exporting anything. | lists | 1.2 | Divergent | 4 |
| SVG SVG written as nested pairs and serialised to the XML — the drawing described as data, so a program that computes a chart or a diagram produces the file without writing angle brackets. | graphics | 1.0 | Works | 1 |
| Swedish::TextDates_sv Swedish dates spelled out — "tolfte juli 2017" or "12 juli 2017" — plus weekday names, returned as enum elements rather than strings. | localisation | 0.1.2 | Works | 5 |
| Sys::Domainname Report the machine's DNS domain, by running hostname and removing everything up to the first dot. | system | 0.1.0 | Works | 2 |
| Sys::Hostname A three-line shim exporting `hostname()` — and the one `Kernel` method that survives being called on the type object. | system | 0.0.11 | Works | 4 |
| Syslog::Parse An RFC 3164 syslog grammar and a Supply that follows a growing file — with two months of the year missing from the grammar. | log parsing | 0.0.3 | Divergent | 5 |
| System::Query Collapses a nested config by environment, distro, kernel or backend — and `by-kernel` reads `$*DISTRO`. | configuration | 0.1.6 | Divergent | 5 |
| TAP The Test Anything Protocol as a library — parse TAP from a string, a file or a running program, add runs up into one verdict, and print the report you know from prove6. | testing | 0.3.15 | Divergent | 5 |
| Term::Size Terminal width and height in cells and pixels, from a bundled C helper — where only `populate` ever reports failure. | terminal | 0.1.1 | Divergent | 4 |
| Terminal::ANSI The ANSI escape sequences with names — bold, colour, cursor movement, alternate screen — offered twice over: as subs that write to the terminal, and as an object whose methods hand you the string instead. | terminal | 0.0.25 | Works | 1 |
| Terminal::ANSIColor Colour and style for terminal output, by name rather than by escape code — and one function to take it all back off again. | terminal | 0.14 | Works | 5 |
| Terminal::Boxer Render a flat list of cells as a bordered grid in any of eleven line-drawing styles, plus a borderless one and a generic form that takes your own eleven glyphs. | text formatting | 0.3.1 | Works | 4 |
| Terminal::Getpass Read a password from the terminal with echo switched off — one sub, a prompt, and the terminal restored afterwards however it ends. | terminal | 0.0.11 | Works | 1 |
| Terminal::Spinners Progress spinners and percentage bars for a terminal — ten animations and four bar styles, drawn by backspacing over the previous frame. | terminal | 1.6.0 | Works | 2 |
| Terminal::WCWidth How many columns a character really takes up on a terminal — two for CJK, none for a combining mark, and a refusal for a control code — so that padded columns survive text that is not ASCII. | terminal | 0.1.5 | Works | 3 |
| Test::META One test that proves your distribution's META6.json is complete, parseable and honest — before an installer or the ecosystem indexer finds out it is not. | testing | 0.0.20 | Works | 2 |
| Test::Output Captures what a block writes to STDOUT and STDERR, either handing you the text or asserting on it directly as a test — the missing piece for testing code whose real output is printed, not returned. | testing | 1.001006 | Works | 2 |
| Texas::To::Uni Rewrites ASCII operator spellings into their Unicode equivalents — by plain substring substitution, inside string literals and all. | source tools | 0.1.0 | Divergent | 6 |
| Text::BorderedBlock Draw a heavy-ruled box around a block of text, with an optional header and footer, growing to fit the widest line but never below a configurable minimum. | text formatting | 0.1.0 | Works | 3 |
| Text::Caesar The rotate-by-N alphabet cipher, over the 26 uppercase ASCII letters only — and it is neither length-preserving nor invertible. | ciphers | 0.2 | Works | 5 |
| Text::Calendar Render month grids as plain text — one month, several side by side, or a whole year — with a transposed layout and the raw week data available. | calendars | 0.1.6 | Works | 5 |
| Text::Center Centre a value in a field of a given width, padding both sides with a fill string — returning the text untouched rather than truncating when it will not fit. | text formatting | 0.0.3 | Works | 3 |
| Text::Chart One function draws a vertical bar chart into a string — no axis, no labels, no scaling, and a layout that assumes one grapheme is one column. | text output | 0.0.3 | Divergent | 5 |
| Text::Diff::Sift4 The Sift4 string-distance approximation — one linear pass counting matches inside a sliding offset window — as a cheap stand-in for Levenshtein. | text comparison | 2.0.1 | Works | 3 |
| Text::Homoglyph A table of Unicode look-alikes for each printable ASCII character, behind one function whose guard checks length instead of membership. | unicode | 0.0.2 | Works | 4 |
| Text::LDIF An RFC 2849 LDIF parser that returns a nested Hash — or Nil, with no clue which of its several strict rules you broke. | data formats | 1.0.6 | Works | 5 |
| Text::Levenshtein Classic full-matrix edit distance — and it returns an Array, so every numeric comparison you would naturally write answers a different question. | string distance | 0.2.4 | Works | 4 |
| Text::Levenshtein::Damerau How many single-character edits turn one string into another — plain Levenshtein, and the Damerau variant that counts a swapped pair as one edit — with a cut-off for when you only care whether it is close. | text | 0.3.0 | Works | 1 |
| Text::Lorem Lorem-ipsum words, sentences and paragraphs from a 184-slot vocabulary — sampled without replacement, so a long request is truncated. | test data | 1.0.1 | Divergent | 5 |
| Text::Markdown A Markdown parser with an HTML backend — headings, emphasis, code, quotes and links — written as a grammar, and covering rather less of Markdown than its name suggests. | text | 1.1.1 | Works | 1 |
| Text::MiscUtils Four small text utilities under one distribution — English plurals and ordinals, terminal-aware wrapping and column widths, and the variation selectors that decide whether a glyph is drawn as emoji. | text | 0.0.13 | Works | 2 |
| Text::Sift4 A linear-time approximation of edit distance — fast, and not a metric: swapping the two arguments can change the answer. | string distance | 0.0.6 | Divergent | 4 |
| Text::Spintax Parse `{a|b|c}` alternation once, render as many random variants as you like — and any stray brace produces an undefined node, not an error. | text generation | 0.1 | Divergent | 5 |
| Text::T9 Phone-keypad predictive text — given a digit string and a word list, the words that map to exactly that sequence. | text | 0.1 | Divergent | 5 |
| Text::UpsideDown The "flipped" Unicode imitation — an exact involution over printable ASCII, because the table is merged with its own inverse. | text | 1.0.0 | Works | 4 |
| Text::Utils A drawer of string chores — thousands separators, whitespace normalising, lists written out in English, comment stripping, substring counts and two kinds of line wrapping — each sub behind its own export tag. | text | 4.0.2 | Works | 2 |
| Text::Wrap One sub that folds a string to a width — paragraphs kept apart, a prefix per line if you want one, and long words either left whole or cut — for text that is going to a terminal or a plain-text file. | text | 0.0.5 | Works | 1 |
| Time::Duration::Parser Turn a human-written duration — "2 hours", "1 week 2 days", "1:30" — into a number of seconds, with a month fixed at 30 days and a year at 365. | time | 0.0.3 | Works | 4 |
| Timezones::US The nine US standard-time zones and the post-2007 DST transition rule — computed from the calendar, not from a database. | time | 0.0.7 | Divergent | 5 |
| TinyFloats Convert between Raku Nums and the bit patterns of four small floating-point formats — binary16, bfloat16, TensorFloat-32 and E5M2. | numeric | 0.0.5 | Divergent | 4 |
| TinyID Positional base-N encoding where the alphabet and its order are the secret — and where many distinct strings decode to the same ID. | identifiers | 1.0.6 | Works | 5 |
| Today One term, `today`, that evaluates to `Date.today` — five lines, and a sharp lesson about what a term is. | time | 0.0.8 | Divergent | 4 |
| Trap A class that impersonates an output handle well enough for print, say and printf, and keeps what was written instead of sending it anywhere. | testing | 0.0.5 | Divergent | 3 |
| TrigPi sin(πx), cos(πx) and cis(πx) computed so the values that ought to be exactly 0 and ±1 are — including a negative zero. | numbers | 1.6.0 | Divergent | 4 |
| UK::Sort Ukrainian dictionary order — and not a thin wrapper around `coll`, because `coll` gets і, ї and й wrong. | localisation | 0.0.1 | Works | 5 |
| Unicode::PRECIS The PRECIS framework of RFC 8264 — decide whether a string is acceptable as a username or a password, and normalise it for comparison. | unicode | 0.5.2 | Partial | 3 |
| Unicode::UTF8-Parser Turn a reactive stream of UTF-8 bytes into a stream of characters, holding partial multi-byte sequences across emissions. | encoding | 0.3 | Divergent | 3 |
| UNIX::Privileges Look a user or group up, drop to it in the correct order, change a path's owner, and chroot — over a small bundled C helper. | system | 0.1.6 | Works | 3 |
| URI RFC 3986 in a Raku grammar. Take a URI apart into scheme, host, path and query, put a new one together, and get the escaping right without thinking about it. | web | 0.3.8 | Works | 11 |
| URI::Encode Percent-encoding and decoding per RFC 3986 — with the distinction that matters kept intact, between escaping a whole URL and escaping one value going into it. | web | 1.0 | Works | 3 |
| Util::Bitfield Pick apart the sub-byte fields of a packed binary word — extract, insert and mask — with bit positions counted from the most significant end, as protocol diagrams draw them. | bit manipulation | 0.1.0 | Partial | 4 |
| UUID Version-4 UUIDs — 122 random bits in the one format every database, log pipeline and API on earth already accepts. | identifiers | 1.0.0 | Works | 2 |
| UUID::V4 Version-4 UUIDs and a predicate that recognises them — two subs, no state, no configuration, and a flaw in how the random bytes reach the string that is worth knowing before you rely on it. | identifiers | 1.0.0 | Works | 2 |
| wordfinder Words whose distinct-letter set equals your query's — an anagram-set match, not a "contains", behind a bundled dictionary you cannot reach. | word games | 0.0.1 | Works | 5 |
| X::Intl Two empty marker roles so internationalization libraries can tag their exceptions with a common type — and one of them does not compose. | exceptions | 0.1 | Divergent | 4 |
| XDG::BaseDirectory Where a program should keep its config, data, cache and state on a Unix desktop, by the freedesktop.org rules — the environment variables read, the defaults filled in, and the search lists in order. | files | 0.0.15 | Works | 1 |
| XML Parse an XML document into a tree you can walk, and build one node by node — with one sharp edge to know about before you write any output. | data format | 0.3.6 | Works | 4 |
| XML::Entity::HTML The full HTML5 named-entity set — 2119 names — behind two subs, with a `*@numeric` parameter that can never do anything. | encoding | 0.1.2 | Divergent | 5 |
| XML::Query CSS-shaped selectors over an XML::Document — where `.class` is an exact attribute match, so a multi-class element never matches. | xml | 1.1 | Divergent | 5 |
| XML::Writer Serialise a nested Raku data structure into XML, where a Pair with a Positional value is an element and one without is an attribute. | markup | * | Works | 5 |
| YAMLish Read and write YAML — configuration files as people actually write them, with the type guessing that implies, and one famous trap. | data format | 0.1.3 | Works | 6 |
| Zodiac::Chinese The sexagenary year — direction, element and animal — from a DateTime, with the year rolling over at midnight on 1 February. | calendars | 0.0.1 | Divergent | 5 |
Nothing here matches that. The whole-ecosystem listing covers every distribution, including the ones without a page yet.
308 modules, 1081 examples. Modules are added as they are checked — see the module FAQ for how installing works, and the conformance site for the engine itself.