Recent Perl modules, releases and favorites.
Last updated 30 August 2026 04:31 AM
Last updated 30 August 2026 04:31 AM
App-Netdisco
Release | 30 Aug 2026 02:34 AM | Author: OLIVER | Version: 2.105004
Upvotes: 18 | CPAN Testers
An open source web-based network management tool
App::Netdisco is an open source, web-based network management application that inventories and maps your switches and routers by collecting SNMP data into a PostgreSQL database and presenting it via a built-in web UI and backend daemon. Network engineers can use it to locate a host by MAC or IP and see the switch port it sits on, change port state or VLAN and PoE settings, run discovery and polling jobs, and produce inventory and topology views for troubleshooting and reporting. It installs on a standard Perl/Postgres stack and can be run in a self-contained user environment or via provided container images, with command-line tools for deployment, discovery and job control and a DBIx::Class API for integrations and plugins. The project is actively maintained and recent releases modernized the frontend libraries, improved SNMP support (including better Cisco WLC handling), and added performance and API refinements, so it is a good fit if you need an open, extensible tool to discover, track and control layer‑2/3 network devices.
WWW-Spotify
Release | 30 Aug 2026 02:31 AM | Author: AARONJJ | Version: 0.016
Spotify Web API Wrapper
WWW::Spotify is a Perl client that wraps the Spotify Web API and exposes catalog, track, artist, playlist and user-library operations as simple methods that mirror the HTTP endpoints. Calls return raw JSON or decoded Perl data structures and there is a convenient get() helper that uses JSON::Path to pull specific values from the last response. The module supports OAuth for user-level actions and provides helpers to build the authorization URL, exchange authorization codes and refresh tokens so you can create and modify playlists, save or remove library items and perform other authenticated operations. You can supply your own LWP-based user agent and tune behavior with options such as auto_json_decode, die_on_response_error and a custom request handler. The author has kept the module current with Spotify API migrations through 2026, consolidating library endpoints and renaming playlist tracks to items; deprecated endpoints are retained with warnings and recent releases added a working authorization-code flow while introducing a breaking change where create_playlist no longer accepts a user_id argument. The module requires Perl 5.24 or newer and includes mocked tests plus optional live tests to help you develop safely.
A class for DBI drivers that act on Excel File
DBD::Excel is an alpha-quality DBI driver that lets Perl programs treat Excel .xls worksheets like SQL tables so you can prepare and execute SQL against spreadsheets to read, create and update sheets. It leverages Spreadsheet::ParseExcel to read files, Spreadsheet::WriteExcel to write them and SQL::Statement as the query engine, and it maps each worksheet to a table using the first row as column names. The driver supports options to declare temporary or virtual table ranges at connect time, can list Excel files or sheet names, and provides attributes to skip hidden rows and control case sensitivity. Some DBI features are not implemented, AutoCommit is always on, and the module currently lacks date/time and formatting support and only handles single-table SELECTs, so it is best suited for simple SQL-style access, scripting tasks and lightweight Excel import/export work rather than complex joins or full-featured Excel formatting.
JSON-Schema-Modern
Release | 30 Aug 2026 12:10 AM | Author: ETHER | Version: 0.647
Upvotes: 10 | CPAN Testers: Pass 100.0%
Validate data against a schema using a JSON Schema
JSON::Schema::Modern is a Perl evaluator for JSON Schema that lets you validate JSON data or Perl data structures against modern JSON Schema drafts, including the current 2020-12 draft, with support back to draft-4. It makes it easy to load and register schema documents, run validations that return a rich Result object containing errors, annotations and optional default values, and to customize behavior with options such as strict mode, short-circuiting, format and content validation, and caching for large documents. You can extend it with custom format validators, media-type decoders and encodings, add custom vocabularies for metaschemas, and integrate it into workflows like OpenAPI validation. The module is actively maintained and recent releases improved reference handling by tracking unresolved remote references for later verification and fixed an error in reference checks. The author notes some practical limitations around Perl type mapping and untrusted schemas, so it is best used with decoded JSON or trusted schema sources.
Complete-XWindowManager
Release | 30 Aug 2026 12:05 AM | Author: PERLANCAR | Version: 0.001
CPAN Testers: Pass 100.0%
Completion routines related to X Window Manager
Complete::XWindowManager is a tiny helper library for adding autocompletion around X Window System targets. It exposes two non-exported routines that return completion candidates for existing X window IDs and for window titles, each intended to be called with the current word being completed and plugged into the Complete framework or into custom completion code. If you are building command line tools or shell completions that need to let users pick windows by ID or by title, this module supplies the simple lookup routines to generate those suggestions.
PAGI-FastAPI
Release | 29 Aug 2026 10:19 PM | Author: MANWAR | Version: v1.7.0
Asynchronous, Type-Safe Micro-Framework with Dependency Injection and OpenAPI & Swagger UI
PAGI::FastAPI is an asynchronous, FastAPI-inspired micro-framework for modern Perl that gives you non-blocking request handling on the PAGI spec, Type::Tiny driven validation for query, body and path parameters, a simple dependency injection style, and automatic OpenAPI 3.1 and Swagger UI documentation so you can build typed, documented HTTP APIs quickly. It includes route helpers for the usual verbs, WebSocket and Server-Sent Events streaming, middleware and CORS integration, pluggable authentication via dependencies or the companion PAGI::FastAPI::Security distribution, rate limiting, bot protection, CSRF helpers, response helpers for redirects and files, and a lightweight async queue facade. The recent 1.7.0 release adds proper RFC 7578 multipart/form-data parsing with form_data() and uploaded_files() context helpers, a $c->background API for fire-and-forget async tasks that continue after a response is sent, richer per-route OpenAPI metadata and Swagger UI customization options, plus a file response helper. Note that uploaded files and file_response currently read file contents into memory so you should plan request size limits accordingly. If you want a modern, type-safe, async-first framework for building Perl microservices with built-in docs and streaming support, this module is worth exploring.
Object-Proto
Release | 29 Aug 2026 07:30 PM | Author: LNATION | Version: 0.21
Upvotes: 2 | CPAN Testers: Pass 100.0%
Objects with prototype chains
Object::Proto is a fast, alternative object system for Perl that replaces ordinary bless-based objects with compact, array-backed objects and optional prototype chains while keeping normal method dispatch, isa and can intact. You declare classes with object or Object::Proto::define and list typed properties with modifiers like required, readonly, default, lazy, builder, predicate, clearer, weak and private, and the module generates very fast accessors and constructors that accept positional or named arguments. It supports inheritance, multiple inheritance, roles, method modifiers, BUILD and DEMOLISH hooks, singletons, cloning, lock/freeze semantics and importable function-style accessors for maximum throughput. Types include several built-ins and can be extended from Perl or registered at the XS/C level for near-zero runtime cost. If you need compact, high-performance objects with rich attribute semantics and familiar Perl method behavior, Object::Proto is a practical choice.
ClamAV-Clamd
Release | 29 Aug 2026 07:18 PM | Author: LNATION | Version: 0.07
Talk to the clamd daemon
ClamAV::Clamd is a lightweight Perl client for talking to a clamd antivirus daemon so your app can ask a local scanner to check uploads without linking libclamav or carrying the signature database. It supports scanning raw bytes, file paths, or open file descriptors and can hand a descriptor to clamd so the scanner reads a file without needing filesystem permission to the path. The module provides both blocking convenience methods and a small non‑blocking state machine you can drive from an event loop, and every scan returns a Verdict object with four distinct outcomes: clean, infected, unscannable, or error, which helps you avoid treating failures as safe. It prefers UNIX domain sockets for descriptor passing, exposes useful controls for timeouts and size limits, reports structured error codes when things fail, and can tell you whether fd‑passing actually works on the platform. Recent fixes make live test runs opt‑in to avoid talking to someone else’s daemon and ensure commands disabled in clamd (version, stats, reload) return a proper ERR_UNAVAILABLE response rather than being misinterpreted as data.
An event-loop PSGI server
Hyperman is a production-focused PSGI web server for Perl that combines a prefork supervisor with a per-worker XS event loop to serve synchronous and asynchronous apps with low overhead. Handlers can return Hyperman::Future objects so you can await timers or IO without blocking the worker, and the server exposes timers, readiness watchers, and a C ABI so other XS modules can integrate directly. It includes built-in features you expect from a modern server: fast C-side access logging, optional gzip compression with tunable level and thresholds, TLS with SNI and client certs plus kernel TLS when available, HTTP/2 support, multiple listeners and redirect helpers, and a safe spill-to-temp-file strategy for large request bodies. For pool-wide coordination it provides a shared memory pub/sub message bus and a fork-shared denylist and fixed-window rate limiter so limits and blocks are consistent across workers. The implementation is intentionally XS-heavy for performance and exposes hooks for per-worker startup and in-place TLS reloads. If you need a high-throughput PSGI server with async-friendly primitives, per-worker isolation, and low-latency inter-worker messaging, Hyperman is highly relevant; note that some backends such as io_uring have platform tradeoffs and compression costs CPU so they are opt-in or conservative by default.
GitHub Actions workflow generator, analyzer, and optimizer
App::GHGen is a command line tool that generates, analyzes, and optimizes GitHub Actions workflows so you can keep CI fast, secure, and up to date with minimal manual work. It can auto-detect your project type or let you choose and customize templates, then produce ready-to-run workflows that include caching, concurrency, appropriate permissions, and sensible test matrices. The built-in analyzer scans existing workflows for performance, security, cost, and maintenance issues, provides CI minute cost estimates, and can apply safe automatic fixes or open pull requests with the suggested changes. It also runs as a GitHub Action to comment on PRs, create fix PRs on a schedule, or enforce workflow quality as a CI gate. Targeted at maintainers of single repositories or many projects, it supports Perl and other common ecosystems and requires Perl 5.36 or later. Auto-fix is conservative and will skip complex project-specific logic, so reviewing changes before merging is recommended. The tool is open source and available on GitHub under the GPL2 license.
Punk
Release | 29 Aug 2026 06:28 PM | Author: LNATION | Version: 0.35
Upvotes: 7 | CPAN Testers: Pass 100.0%
A MVC web framework
Punk is a batteries-included MVC web framework for Perl that provides a compact DSL to declare routes, controllers, static mounts, websockets, server-sent events and OpenAPI-mounted APIs, together with built-in support for sessions, CSRF, CORS, headers, caching, auth, named routes and testing. The application is compiled and frozen at to_app time so routing, guard chains and handlers run very cheaply and many configuration errors are caught at boot, and the supplied CLI can scaffold a working app, mount OpenAPI specs, run a dev server and exercise the app with an in-process test client. It also offers async-friendly primitives so handlers can return futures without pinning workers on compatible servers, a simple key/value cache with compute-if-miss, a cross-worker publish/subscribe bus for ephemeral notifications, and a C ABI for low-level observers. Punk intentionally delegates compression and some transport details to the PSGI server and validates options aggressively at boot to fail early. Be aware that the pub/sub bus is at-most-once and not durable, max_body enforces a request-length policy rather than providing memory isolation, and static file stat caching uses a short TTL that can delay noticing rapid edits. If you need an opinionated, production-ready Perl framework that favors fast, predictable dispatch and rich built-in features for web apps and APIs, Punk is a strong candidate.
Database-BI
Release | 29 Aug 2026 06:24 PM | Author: NHORNE | Version: v0.005.0
Web-based Business Intelligence viewer for flat data files
Database::BI is a Mojolicious web application that lets you explore plain flat data files as styled, sortable, reorderable HTML tables so you can inspect CSV, PSV, XML and SQLite data in a browser without building a custom pipeline. It scans a configurable data directory to present file cards, offers a filesystem browser and drag-and-drop uploads, and saves column order and sort state in localStorage for a smoother interactive experience. You can perform repeatable left joins across files, apply server-side filters, inspect column metadata via JSON APIs, import HTML tables from public URLs, and export the current logical view as RFC 4180 CSV or a single-table SQLite file either as a download or written to disk. Be aware that the app is read-only, the join engine is an in-memory O(n*m) hash join so very large files may not fit comfortably in RAM, and the underlying file-extension support is limited to csv psv sql and xml which must match filenames exactly. This is the initial CPAN release and is provided under the GPL2 license.
Cron-Toolkit
Release | 29 Aug 2026 04:58 PM | Author: NGRAHAM | Version: 1.04
Upvotes: 1 | CPAN Testers: Pass 100.0%
Quartz-compatible cron parser with unique extensions and over 400 tests
Cron::Toolkit is a Perl module for parsing, describing and evaluating cron schedules with full Quartz 7-field support plus handy extensions like combined day-of-month and day-of-week logic, wrapped weekday ranges, and an internal Monday=1 weekday convention. It understands time zones and handles DST exactly like Quartz, produces human-readable English descriptions, can parse whole crontab files with environment expansion, and provides methods to get the next or previous occurrence, test a timestamp, dump the parsed abstract syntax tree for debugging, and convert between normalized and Quartz strings. The distribution ships with over 400 data-driven tests covering leap years, DST transitions and many edge cases, so it is a reliable choice when you need production-grade scheduling, accurate date calculations across time zones, or tools to inspect and reason about complex cron expressions. If you work with scheduled tasks or need precise control and debugging of cron rules, this module is likely relevant.
Alien-TALib
Release | 29 Aug 2026 01:44 PM | Author: VIKAS | Version: 0.19
Alien module for ta-lib from http://ta-lib.org
Alien::TALib is a helper module that downloads, builds and exposes the native TA‑Lib technical analysis C library so other Perl modules can find and link against it. It follows the Alien::Base/Alien::Build approach and provides simple methods like cflags and libs that you call from Build.PL or Makefile.PL to add the right compiler and linker flags when building Perl bindings such as PDL::Finance::TA. The distribution targets Unix‑like systems and is not supported on native Windows except under Cygwin or MSYS. Recent updates improve download reliability for the upstream zip and avoid probing older TA‑Lib installs on BSDs, making installation more robust across platforms.
Check code against known open source and commercial code indexed by Cavil
Cavil::CLI is a command-line tool that checks your git change set or a directory against Cavil's indexed corpus of open source and commercial code to identify known files, report their licenses, and flag provenance or licensing risk. It is designed for use on a developer laptop and in CI pipelines, supports saving or sourcing a server URL and API token, and can output human readable text or machine readable JSON. The tool scans the current diff by default or an entire tree on demand, can limit checks to staged changes or a specific ref, and offers options to exclude packages or paths, skip hidden files, and control when the command should fail based on a configurable risk threshold. Use Cavil::CLI to catch reused code and licensing concerns early in development and automation workflows.
Plack-Middleware-OpenTelemetry
Release | 29 Aug 2026 04:29 AM | Author: ABH | Version: 0.262410
Plack middleware to setup OpenTelemetry tracing
Plack::Middleware::OpenTelemetry is a Plack/PSGI middleware that adds OpenTelemetry tracing to your Perl web application by automatically creating spans for incoming HTTP requests. It extracts W3C trace context, records standard HTTP attributes such as method, status code, client and server addresses, full URL, user agent and response size, and it supports both synchronous and streaming responses while recording exceptions and setting span status. You can configure whether client errors (400–499) count as errors and supply custom resource attributes like service version or deployment environment. The middleware honors standard OTEL environment variables for exporter and service name and integrates with your OpenTelemetry SDK and exporters. Use it to get standards-compliant, out-of-the-box distributed tracing for Plack-based apps.
XS-Tutorial
Favorite | 29 Aug 2026 04:19 AM | Author: DFARRELL | Version: 0.04
Documentation with examples for learning Perl XS
XS::Tutorial is a compact, example-driven guide for learning Perl XS that helps Perl programmers bridge Perl and C code. It is organized into three parts that walk you through passing and returning basic C values, handling multiple return values and arguments, and using common utility routines you will need when writing xsubs. The distribution also points to essential further reading and tools, including online XS guides, the Manning book "Extending and Embedding Perl", perldoc pages for perlxs, perlapi, perlguts and related topics, ExtUtils::MakeMaker for build options, Devel::PPPort/ppport.h for compatibility, and the Perl source for deeper investigation. If you need practical, hands-on examples to get started extending or embedding Perl with C, this tutorial is a useful starting place.
Business-ISBN-Data
Release | 29 Aug 2026 04:06 AM | Author: BRIANDFOY | Version: 20260827.001
Upvotes: 3 | CPAN Testers: Pass 100.0%
Data pack for Business::ISBN
Business::ISBN::Data is a data-only companion for Business::ISBN that packages the ISBN Agency's RangeMessage.xml publisher and group ranges so Business::ISBN can validate, split, and format ISBN-10 and ISBN-13 values. You normally do not load it directly because Business::ISBN loads it for you, but the distribution also embeds default data and ships a copy of RangeMessage.xml. If you need newer data you can point the module at an alternate RangeMessage.xml by setting the ISBN_RANGE_MESSAGE environment variable or dropping the file in the current directory, and if no file is found it falls back to the built-in data. The lookup data live in %Business::ISBN::country_data and include a _source entry showing where they came from. This module requires Business::ISBN 3.005 or later to accommodate an ISBN-13 data-structure fix, the project is hosted on GitHub for updates and contributions, and the data are refreshed regularly with recent maintenance including a fix to avoid unintended autovivification when reading the environment variable.
App-pod2gfm
Release | 29 Aug 2026 12:49 AM | Author: RYOSKZYPU | Version: v1.1.1
Convert POD to GitHub Flavored Markdown
App::pod2gfm is the backend for the pod2gfm command line tool that converts Perl POD documentation into GitHub Flavored Markdown using Pod::Markdown::Githubert. It handles parsing command-line options and setting up input and output filehandles, supports writing to multiple output files without overwriting existing files, and defaults to UTF-8 rather than handling various encodings. Errors are reported to STDERR and the run method returns a nonzero exit status on failure. The latest fixes ensure that reading from standard input with the automatic output option writes to STDOUT instead of creating a file named "-.md" and add robust error handling so conversion errors are caught and reported cleanly.
Math-Histo-PDL
Release | 29 Aug 2026 12:06 AM | Author: SMUELLER | Version: v0.3.0
CPAN Testers: Pass 100.0%
High-performance PDL integration and zero-copy ingestion for Math::Histo
Math::Histo::PDL bridges the Perl Data Language (PDL) and Math::Histo so you can build, fill and export 1D and 2D histograms directly from PDL piddles with minimal overhead. It provides convenient functions like hist1d and hist2d and attaches methods such as fill_pdl, to_pdl, counts_pdl and axis/center exporters onto Math::Histo objects, supports optional weights and error tracking, and exports counts, edges, centers and error arrays back to PDL. The module is tuned for throughput and can perform zero-copy ingestion of contiguous double piddles by passing their native C buffers into Math::Histo’s optimized core, while automatically coercing or materializing non-double or non-contiguous slices when needed. If you work with large numeric arrays in PDL and need fast histogramming or easy round trips between PDL and Math::Histo, this module will be very relevant, just ensure your hot-path piddles are double and physical to get maximum performance.
Math-Histo
Release | 29 Aug 2026 12:04 AM | Author: SMUELLER | Version: v0.3.0
Fast, memory-safe C histogramming and statistical computing for Perl
Math::Histo is a high-performance Perl XS wrapper around the libhisto C library that gives you fast, memory-safe 1D and 2D histogramming, streaming quantile sketches (DDSketch), online Welford moments, and non-linear curve fitting via Levenberg-Marquardt. It supports uniform and variable-width bins, weighted fills with optional sum-of-weights-squared bookkeeping, and very fast batch ingestion from Perl arrays or zero-copy packed 64-bit float buffers to exploit SIMD acceleration. The module exposes a rich set of statistical tools and convenience features including mean, variance, median and quantiles, mode and peak properties, skewness and kurtosis, rebinning and arithmetic operators, two-sample distances and hypothesis tests, and model fitting, plus compact binary and JSON serialization for storage or transport. If you need production-grade histogramming or summary statistics in Perl with C-level throughput and interoperability with native numeric buffers, Math::Histo is a solid choice.
Alien-libhisto
Release | 29 Aug 2026 12:03 AM | Author: SMUELLER | Version: v0.3.0
Find or build libhisto fast C histogramming library
Alien::libhisto makes the C libhisto histogramming, curve‑fitting and streaming quantile sketch library easy to use from Perl by locating a system install via pkg-config or building and installing a bundled copy with CMake into Perl's shared distribution directory. It is intended for Perl modules that call libhisto from XS or via FFI and integrates with common build systems so your Makefile.PL can pull in the library and your FFI::Platypus scripts can load it with dynamic_libs. Installation is automatic and portable across platforms, and recent updates synchronize the bundled libhisto to v0.3.0 while improving cross‑platform builds with fixes for Windows/MSVC, AArch64/ARM compilation, FreeBSD Clang issues, and support for the CMake NMake generator.
Typesense-Client
Release | 28 Aug 2026 11:52 PM | Author: HDELGADO | Version: 0.001
Perl client for the Typesense search engine
Typesense::Client is a lightweight Perl client for the Typesense search engine (v28 and later) that wraps the REST API so you can manage collections, index documents (including JSONL bulk import/export), run single and multi-search queries, use aliases and synonyms, apply curation overrides, work with analytics, and create scoped API keys. The module is a thin transport layer: it builds requests, applies your API key, decodes JSON and turns HTTP failures into exception objects by default, with an optional fail_open mode that returns undef and stores the error in last_error for graceful degradation. It does not model or validate schemas because Typesense performs that validation server-side, and note that Perl booleans must be passed as scalar references like \1 to be encoded as JSON true. This initial release provides full coverage of the Typesense v28+ API in a dependency-light package suitable for embedding search functionality into web apps and scripts.
PAGI-Server
Release | 28 Aug 2026 10:04 PM | Author: JJNAPIORK | Version: 0.002010
Reference IO::Async server for the PAGI specification
PAGI::Server is a reference Perl HTTP server that implements the PAGI application protocol and provides HTTP/1.1, WebSocket, and Server-Sent Events with experimental HTTP/2 support, making it a good choice when you need a canonical, spec-compliant server for development, testing, or as a backend behind a reverse proxy. It focuses on clarity and correctness rather than microbenchmarks and includes production-oriented features such as optional TLS, Unix domain socket support, multi-listener and systemd socket activation, a prefork worker model with hot restart, per-connection limits and timeouts, streaming file responses, and IO::Async integration for embedding in an event loop. Experimental features and tunables are well documented and most work out of the box, but HTTP/2, Unix socket and multi-listener modes are still labeled experimental and Windows is not supported. The recent 0.002007 release tightens PAGI conformance by advertising PAGI 0.4, makes outbound event validation and strict send sequencing mandatory, and delivers a number of important HTTP/2 fixes and improvements including trailers support, safer per-stream backpressure and more reliable WebSocket-over-HTTP/2 framing, plus a raised nghttp2 dependency floor and the removal of the deprecated lifespan_mode 'off', so be sure to read the notes before enabling experimental features.
Markdown-Perl
Release | 28 Aug 2026 08:50 PM | Author: MATHIAS | Version: 1.14
Upvotes: 4 | CPAN Testers
Very configurable Markdown processor written in pure Perl, supporting the CommonMark spec and many extensions
Markdown::Perl is a pure-Perl Markdown-to-HTML converter that aims to be flexible and configurable while following the CommonMark spec and many popular extensions. You can use it as an object or as simple functional calls, set named modes to mimic other processors, and tweak many options to control syntax and output. The module exposes hooks so you can resolve unresolved link references or receive parsed YAML front matter, and recent releases added support for directive container blocks and improved YAML parsing options. It is the engine behind the pmarkdown tool, so if you want a portable, Perl-native renderer with extension points for custom link or metadata handling, this module is a strong choice.
Database-Abstraction
Release | 28 Aug 2026 08:19 PM | Author: NHORNE | Version: 0.40
Read-only Database Abstraction Layer (ORM)
Database::Abstraction is a read-only ORM for Perl that presents a uniform, SQL-free interface to many backends such as CSV and PSV files, XML, SQLite, DBM::Deep, BerkeleyDB, remote HTML tables, or any DBI database via a DSN. You use plain Perl method calls or a chained query builder to do lookups, filtered scans, counts and joins, and you can pass rich criteria including comparison, pattern and set operators as well as logical groupings, with convenient AUTOLOAD column shortcuts for quick access. Small files can be slurped into memory for very fast lookups and there is optional CHI-compatible caching to speed repeated queries while schema introspection helps you inspect columns and types. It is ideal when you want to swap storage formats or avoid writing SQL, but note it is read only, the default CSV separator is nonstandard so set sep_char for RFC CSVs, slurp mode assumes a unique key and XML slurp is limited, and BerkeleyDB lacks joins and the chained query features.
The PAGI specification - Perl Asynchronous Gateway Interface
PAGI is a modern specification for writing asynchronous web applications in Perl that extends the familiar PSGI idea to support long‑lived connections like WebSocket and Server‑Sent Events, making it a better fit for real time and streaming use cases. Instead of a single synchronous request/response function, a PAGI app is an async coderef that receives a scope describing the connection and two async callbacks, receive and send, that exchange messages via Futures so you can handle many incoming and outgoing events per connection. The PAGI distribution provides the stable specification and documentation, while a reference server and an application toolkit live in separate distributions, PAGI::Server and PAGI::Tools, which are currently beta, and there are migration guides and examples to help you bring existing PSGI code to PAGI. If you need to build or run async Perl web services, PAGI gives you a simple, standardized interface and an evolving ecosystem of frameworks and helpers to get started.
Map-Tube-Plugin-Graph
Release | 28 Aug 2026 08:13 PM | Author: MANWAR | Version: v1.2.0
Upvotes: 2 | CPAN Testers: Pass 100.0%
Graph plugin for Map::Tube
Map::Tube::Plugin::Graph is a Moo role that plugs into Map::Tube to turn a subway network into a proper graph object and into ready-made images for visualization or embedding. It can produce a multiedged, directed Graph you can analyze or hand to GraphViz2 for layout and export, and it can render whole maps or individual line maps to PNG, SVG, PDF, DOT and other formats with options for layout driver, overlap handling, file output or base64 encoding for web use. The API is simple: as_graph gives you the Graph for programmatic work, render lets you control format, driver and output, and convenience methods as_png and as_image return PNG bytes or a base64 string. You will need the GraphViz2 Perl interface and the GraphViz binary installed and GraphViz2 requires Perl 5.8.8 or newer. This module is useful when you want attractive, configurable tube-network diagrams or to combine network analysis with polished visual output.
Physics-CPD
Release | 28 Aug 2026 07:57 PM | Author: JOVAN | Version: 0.03
CPAN Testers: Pass 100.0%
Generic computational plasma dynamics with stellarator fusion-reactor modelling
Physics::CPD is a lightweight, pure-Perl toolkit for computing the standard parameters of a quasineutral, magnetised plasma from a small set of state variables such as density, electron and ion temperatures, magnetic field and ion species. Temperatures are provided in electron‑volts and other units are SI, and the module exposes simple read/write attributes plus methods that return commonly used diagnostics like Debye length, plasma and cyclotron frequencies, gyroradii, thermal and Alfven speeds, plasma beta, collision frequencies, Coulomb logarithm, mean free path and Spitzer resistivity. It is written with Moo so derived quantities are available as ordinary methods and convenience helpers like as_hash and report make it easy to inspect or print a plasma state. If you work on magnetic confinement fusion or space plasma problems the package gives quick, reliable estimates of the characteristic scales you need. The distribution also includes Physics::CPD::Stellarator, a submodule that adds stellarator geometry, Wendelstein 7‑X defaults, confinement scalings and theoretical D‑T fusion power estimates. The recent release renamed the CPAN distribution to Physics-CPD to align the upload identity with the primary module and clarified the Stellarator component as a modelling submodule.
High-performance, schema-driven NoSQL engine with ACID transactions and precomputed inverted indexing for Perl
AmberDB is a compact, high-performance flat-file database engine for Perl that uses DB_File to provide structured record storage, automatic primary keys, on-disk indexes and an ACID-like undo-journal transaction system. It exposes a simple CRUD API plus list, field, filtered and full-text search operations with packed 8-byte binary indexing for very fast ID handling, multi-dimensional facet indexing, tiered Active/Archived query modes, and record- or table-level locking for concurrent access. The module includes language-aware normalization for search (including Turkish-specific rules), runtime schema attribute overrides, and low-level table access for bulk read/write cases, but note that bulk batch operations bypass the transaction journal so single-record methods must be used when rollback safety is required. The recent 5.02 release is the initial public CPAN/GitHub release and highlights include the packed binary indexing pipeline, index-assisted full-text search with phonetic and locale normalization, facet bitset indexing, and a multi-granularity concurrency and transaction engine, making AmberDB a good fit when you want a fast, file-backed store without running a full RDBMS.