zef, META6.json and Distributions
41.1 Using zef
Ecosystem sites: raku.land (module directory), the zef ecosystem (publishing with fez), and the legacy p6c/CPAN ecosystems.
zef install JSON::Fast # install a module
zef install Cro # install the Cro web framework
zef install --deps-only . # install the dependencies of the current distribution
zef search CSV # search the ecosystem
zef info JSON::Fast
zef list --installed
zef upgrade
zef uninstall Some::Module
zef test . # run a distribution's tests
zef install ./my-dist # install from a local directory41.2 META6.json
{
"name": "Math::Utils",
"description": "Handy math utilities",
"version": "0.1.0",
"auth": "zef:yourname",
"raku": "6.d",
"license": "Artistic-2.0",
"authors": ["Your Name <[email protected]>"],
"provides": {
"Math::Utils": "lib/Math/Utils.rakumod"
},
"depends": ["JSON::Fast"],
"test-depends": ["Test::META"],
"resources": ["data/primes.txt"],
"tags": ["math"],
"source-url": "https://github.com/yourname/raku-math-utils.git"
}Math-Utils/
├── META6.json
├── lib/Math/Utils.rakumod
├── bin/math-utils # executable scripts installed to PATH
├── t/01-basic.rakutest
├── resources/data/primes.txt # accessed with %?RESOURCES<data/primes.txt>
├── README.md
├── Changes
└── LICENSEzef install App::Mi6 fez
mi6 new Math::Utils # scaffold a distribution
mi6 test # run tests
fez register && fez login
fez upload # publish to the zef ecosystem (or: mi6 release)41.3 Notable Modules
Cro, Humming-Bird, Air, Bailador (older), HTTP::UserAgent, Cro::HTTP::Client, HTTP::Tiny
JSON::Fast, JSON::Class, Text::CSV, YAMLish, LibXML, TOML, Data::Dump::Tree
DBIish (SQLite, PostgreSQL, MySQL, Oracle), Red (ORM), DB::Pg, DB::SQLite, Redis
Getopt::Long, Terminal::ANSIColor, Terminal::Print, Term::ReadKey
Template::Mustache, Template6, Cro::WebApp templates Inline::Perl5, Inline::Python, NativeCall (core), NativeHelpers::Blob
Test (core), Test::Mock, Test::META, Test::When Pod::To::HTML/Markdown, Grammar::Tracer, Grammar::Debugger, Math::Matrix, Text::Table::Simple, Digest::MD5, Digest::SHA1::Native, OpenSSL, Base64
Data::Reshapers, Math::Polynomial, Stats, Jupyter kernel (Jupyter::Kernel)