What's new on CPAN - May 2020
Welcome to “What’s new on CPAN”, a curated look at last month’s new CPAN uploads for your reading and programming pleasure. Enjoy!
APIs & Apps
- Perl Layout Executor with App::plx
- FIDO::Raw provides bindings to the libfido2 library
- Geo::LibProj::cs2cs is a wrapper for the cs2cs command line client, part of the PROJ coordinate transformation library
- Graph::Nauty provides bindings to Nauty (No AUTomorphisms, Yes?)
- Post OCR requests to ocr.space’s API with OCR::OcrSpace
Config & Devops
- Create reciples to declare and resolve dependencies between things with Beam::Make
- Elliptic Curve Cryptography Library with Crypto::ECC
- HealthCheck::Diagnostic::Redis provides a healthcheck for Redis
- HealthCheck::Diagnostic::SMTP performs a connectivity healthcheck to an SMTP mail server
- Show diffs of changes to files managed by Rex with Rex::Hook::File::Diff
- Mask secrets in log files with String::Secret
Data
- File::Groups returns file extensions and media types for different files
- Get Digi-ID implementation with DigiByte::DigiID
- Get elevation data for a given lat/lon using Geo::Elevation::HGT
- JSON::Karabiner can easy JSON code generaation for Karabiner-Elements, the macOS keyboard customizer
- Validate JSON against a schema against the latest draft with JSON::Schema::Draft201909
Development & Version Control
- Documentation and tools for using Platypus with Go: FFI::Platypus::Lang::Go
- Future::IO::Impl::Glib implement Future::IO using Glib
- Mu::Tiny is an even tinier object system
- Get a Try-Catch block (uses PPI) via Nice::Try (great name!)
- Number::Textify turns numbers into human-readable strings (customizable)
- Write composable, reusable tests with roles and Moo using Test2::Roo
Hardware
- Device::Chip::BNO055 provides a chip driver for BNO055
- PINE64::GPIO provides an interface to PineA64 and PineA64+ GPIO pins
Web
- Catalyst::View::MojoTemplate: use Mojolicious templates in Catalyst views
- Store Dancer2 session data in serealized files using Dancer2::Session::Sereal
- Find elements in a HTML::Element DOM using CSS selectors with HTML::Selector::Element
- Place a limit on “concurrent” promises with Mojo::Promise::Limiter
- Add role-based access with context to a Mojo app via Mojolicious::Plugin::ContextAuth
- POE::Component::SmokeBox::Recent::HTTP is an extremely minimal HTTP client
Tags
David Farrell
David is a professional programmer who regularly tweets and blogs about code and the art of programming.
Browse their articles
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub