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.
This package builds on the object adaptation protocol presented in PEP
246 to make it easier for component authors, framework suppliers, and
other developers to:
* Specify what behavior a component requires or provides
* Specify how to adapt the interface provided by one component to
that required by another
* Specify how to adapt objects of a particular type or class (even
built-in types) to a particular required interface
* Automatically adapt a supplied object to a required interface,
and
* Do all of the above, even when the components or frameworks
involved were not written to take advantage of this package, and
even if the frameworks have different mechanisms for defining
interfaces.
Pytools is a big bag of things that are "missing" from the Python standard
library. This is mainly a dependency of my other software packages, and
is probably of little interest to you unless you use those. If you're
curious nonetheless, here's what's on offer:
- A ton of small tool functions such as len_iterable, argmin, tuple
generation, permutation generation, ASCII table pretty printing, GvR's
mokeypatch_xxx() hack, the elusive flatten, and much more.
- Michele Simionato's decorator module.
- A time-series logging module, pytools.log.
- Batch job submission, pytools.batchjob.
- A lexer, pytools.lex.
Tapi is a tool to automate the testing of your Application Programmer Interfaces
(APIs). Features:
- Test you API without writing any code (only edit a json file)
- Test you APIs in a much more 'natural' way by specifying urls/verbs and what
the output should be
- Verify anything from response status codes, headers, body content etc
- Also allows verification by issuing another API call to a different endpoint
to ensure a prior API call worked
- Execute arbitrary python scripts to populate request paramaters e.g. custom
headers
- Execute arbitrary python scripts to verify response from endpoint is valid
- Tests your APIs using your own APIs