Perinci

Collection of Perl modules for Rinci and Riap
Download

Perinci Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Steven Haryanto
  • Publisher web site:
  • http://search.cpan.org/~sharyanto/

Perinci Tags


Perinci Description

Perinci is a collection of Perl modules for implementing/providing tools pertaining to Rinci and Riap, spread over several distributions for faster incremental releases. These tools include:- Wrapper Perinci::Sub::Wrapper is the subroutine wrapper which implements/enforces many of the metadata properties, like argument validation (using information in args) as well as offers features like convert argument passing style, automatically envelope function result, etc. It is extensible so you can implement wrapper for your properties too.- Riap clients and servers (Perinci::Access::*) Perinci::Access::InProcess is a client/server (well, neither really, since everything is in-process) to access Perl modules/functions using the Riap protocol. It is basically a way to call your modules/functions using URI syntax; it also dictates a bit on how you should write your functions and where to put the metadata, though it provides a lot of flexibility. Perinci::Access::HTTP::Client and Perinci::Access::HTTP::Server is a pair of client/server library to access Perl modules/functions using Riap over HTTP, implementing the Riap::HTTP specification. Perinci::Access::TCP::Client and Perinci::Access::TCP::Server is a pair of client/server library to access Perl modules/functions using Riap over TCP, implementing the Riap::TCP specification. Perinci::Access is a simple wrapper for all Riap clients, you give it a URL/module name/whatever and it will try to select the appropriate Riap client for you.- Command-line libraries Perinci::CmdLine is an extensible and featureful command-line library to create command-line programs and API clients. Features include: transparent remote access (thanks to Riap::HTTP), command-line options parsing, --help message, shell tab completion, etc.- Documentation tools See CPAN for Perinci::Package::To::POD, Perinci::Sub::To::POD, Perinci::Sub::To::Text::Usage, Perinci::Sub::To::HTML, and other Perinci::To::* modules.- Function/metadata generators These are convenient tools to generate common/generic function and/or metadata. For example, Perinci::Sub::Gen::AccessTable can generate accessor function + metadata for table data. See CPAN for more Perinci::Sub::Gen::* modules.- Others Samples: Perinci::Use, Perinci::Exporter. See CPAN for more Perinci::* modules.To get started, read Perinci::Access::InProcess which will tell you on how to write your functions and where to put the metadata. Or, if you only want to access existing code/metadata, head over to Perinci::Access or Perinci::CmdLine.To declare and implement a new function metadata property, see example in one of the Perinci-Sub-property-* modules, like Perinci::Sub::property::timeout.To declare and implement a new function feature, see example in one of the Perinci-Sub-feature-* modules, like Perinci::Sub::feature::foo.To declare and implement a new function dependency type, see example in one of the Perinci-Sub-dep-* modules, like Perinci::Sub::dep::pm.Product's homepage


Perinci Related Software