Minilla is a CPAN module authoring tool. Minilla provides 'minil' command for
authorizing a CPAN distribution. The repository created and managed by Minilla
is git install ready, and cpan of course. Minilla is built on only few small
libraries. You can install Minilla without a huge list of dependencies to
heavy modules. Conventions: module written in Pure Perl are located in lib/;
executable file is in script/ directory, if any; module is maintained with
Git and git ls-files matches with what you will release; module has a static
list of prerequisites that can be described in cpanfile; has a Changes file.
Module::Dependency - Collection of modules for examining dependencies
between parents and children, like Perl files
A set of pure-perl modules and helper programs that let you build a
database of the dependency links between a collection of Perl files,
and then query that database, even producing text, HTML, PostScript
or graphical reports.
The database in question is actually a simple Storable image of a
Perl data structure, and you can create as many of these as you want.
You can use the command-line tools, or write your own Perl to query
and manipulate the data however you want.
Consistent hashing is a scheme that provides hash table functionality
in a way that the addition or removal of one slot does not
significantly change the mapping of keys to slots. In contrast, in
most traditional hash tables, a change in the number of array slots
causes nearly all keys to be remapped.
Consistent hashing was introduced in 1997 as a way of distributing
requests among a changing population of web servers. More recently, it
and similar techniques have been employed in distributed hash tables.
Period.pm is a Perl module that contains code to deal with time periods.
Currently, there is only a function in this module. That function is
called inPeriod().
inPeriod() determines if a given time is within a given time period.
It will return 1 if it is, 0 if not, and -1 if either the time or the
period passed to it were malformed. The time is specified in non-leap
year seconds past January 1, 1970, as per the time() function. The period
is a string which is of the form described in Period's man page.
librelp is an easy to use library for the RELP protocol. RELP in turn
provides reliable event logging over the network (and consequently
RELP stands for Reliable Event Logging Protocol).
RELP (and hence) librelp assures that no message is lost, not even
when connections break and a peer becomes unavailable. The current
version of RELP has a minimal window of opportunity for message
duplication after a session has been broken due to network problems.
In this case, a few messages may be duplicated (a problem that also
exists with plain TCP syslog). Future versions of RELP will address
this shortcoming.
A patch to Perl 5.005_55 by the author implements a core API for
weak references. This module is a Perl-level interface to that API,
allowing weak references to be created in Perl.
A weak reference is just like an ordinary Perl reference except
that it isn't included in the reference count of the thing referred
to. This means that once all references to a particular piece of
data are weak, the piece of data is freed and all the weak references
are set to undef. This is particularly useful for implementing
circular data structures without memory leaks or caches of objects.
This is an XML parser based on PHPs built-in xml extension.
It supports two basic modes of operation: "func" and "event". In
"func" mode, it will look for a function named after each element
(xmltag_ELEMENT for start tags and xmltag_ELEMENT_ for end tags),
and in "event" mode it uses a set of generic callbacks.
Since version 1.2.0 there's a new XML_Parser_Simple class that makes
parsing of most XML documents easier, by automatically providing a
stack for the elements.
Furthermore its now possible to split the parser from the handler
object, so you do not have to extend XML_Parser anymore in order
to parse a document with it.
Poslib is a portable C++ DNS library, a part of Posadis project.
It consists of two parts: a client library and a server library.
Using the client library, you can simply develop applications that use
the Domain Name System (DNS). It includes many functions for resolving,
domain-name manipulation and Resource Record (RR) creation.
The server library, based on the client core, can be used to develop
DNS servers. By implementing a query entry-point function using the
Poslib library of functions, you can easily create DNS servers,
without worrying about low-level details such as DNS message compilation,
domain-name compression and UDP/TCP transmission.
A small utility package that depends on tools too recent for Twisted (like
datetime in python2.4) but performs generic enough functions that it can be
used in projects that don't want to share Divmod's other projects' large
footprint.
Currently included:
* A powerful date/time formatting and import/export class (ExtimeDotTime),
for exchanging date and time information between all Python's various
ways to interpret objects as times or time deltas.
* Tools for managing concurrent asynchronous processes within Twisted.
* A metaclass which helps you define classes with explicit states.
* A featureful Version class.
* A formal system for application of monkey-patches.
The Traits project is at the center of all Enthought Tool Suite
development and has changed the mental model used at Enthought for
programming in the already extremely efficient Python programming
language.
The Traits project allows Python programmers to use a special kind
of type definition called a trait, which gives object attributes
some additional characteristics, such as Initialization, Validation,
Delegation, Notification and Visualization.
A class can freely mix trait-based attributes with normal Python
attributes, or can opt to allow the use of only a fixed or open set
of trait attributes within the class. Trait attributes defined by
a classs are automatically inherited by any subclass derived from
the class.