GNU Emacs modes for Git-related files.
* git-commit-mode - A major mode for editing Git commit messages
according to the guidelines by Tim Pope.
* git-rebase-mode - A major mode for git-rebase-todo files created by
git rebase -i
* gitconfig-mode - A 'conf-mode'-derived major mode for editing
.gitconfig files.
* gitignore-mode - A 'conf-mode'-derived major mode for editing
.gitignore files.
* gitattributes-mode - A major mode for editing .gitattributes files.
nPth - The New GNU Portable Threads Library
This is a library to provide the GNU Pth API and thus a non-preemptive threads
implementation.
In contrast to GNU Pth is is based on the system's standard threads
implementation. This allows the use of libraries which are not compatible to
GNU Pth. Experience with a Windows Pth emulation showed that this is a solid
way to provide a co-routine based framework.
From the README file for AppConfig:
AppConfig is a Perl5 module for managing application configuration
information. It maintains the state of any number of variables and
provides methods for parsing configuration files and command line
arguments.
Variables values may be set via configuration files. Variables may be
flags (On/Off), take a single value, or take multiple values stored as a
a list or hash. The number of arguments a variable expects is determined
by its configuration when defined.
The Class::Delegation module simplifies the creation of delegation-based
class hierarchies, allowing a method to be redispatched:
* to a single nominated attribute,
* to a collection of nominated attributes in parallel, or
* to any attribute that can handle the message.
These three delegation mechanisms can be specified for:
* a single method
* a set of nominated methods collectively
* any as-yet-undelegated methods
* all methods, delegated or not.
Class related functionality in Perl is broken up into a variety of
different modules. Class::Handle attempts to provide a convenient
object wrapper around the various different types of functions that can
be performed on a class.
Currently, Class::Handle provides what is effectively a combined API from
UNIVERSAL, Class::ISA and Class::Inspector for obtaining information
about a Class, and some additional task methods, such as load to common
tasks relating to classes.
The Proc::Simple package provides objects that model real-
life processes from a user's point of view. A new process
object is created by
$myproc = Proc::Simple->new();
Either shell-like command lines or references to perl
subroutines can be specified for launching a process in
background. A 10-second sleep process, for example, can
be started via the shell as
$myproc->start("sleep 10");
or, as a perl subroutine, with
$myproc->start(sub { sleep(10); });
Term::UI is a transparent way of eliminating the overhead of having to
format a question and then validate the reply, informing the user if the
answer was not proper and re-issuing the question.
Simply give it the question you want to ask, optionally with choices the
user can pick from and a default and Term::UI will DWYM.
For asking a yes or no question, there's even a shortcut.
px is a wrapper around p4. It provides all the functionality of p4
(deferring work to it) plus it extends some standard p4 commands and
adds a few new ones. If you are a Perforce user you might find these
extensions useful.
px uses p4lib.py, a Python interface to the Perforce client application.
If you are a Python programmer and script Perforce you might find this
module helpful. Currently, most common commands are supported.
Library to implement a well-behaved Unix daemon process.
This library implements the well-behaved daemon specification of PEP 3143,
"Standard daemon process library".
A well-behaved Unix daemon process is tricky to get right, but the required
steps are much the same for every daemon program. A DaemonContext instance holds
the behaviour and configured process environment for the program; use the
instance as a context manager to enter a daemon state.
A caching API built around the concept of a "dogpile lock", which allows
continued access to an expiring data value while a single thread generates
a new value.
dogpile.cache builds on the dogpile.core locking system, which implements the
idea of "allow one creator to write while others read" in the abstract.
Overall, dogpile.cache is intended as a replacement to the Beaker caching
system, the internals of which are written by the same author.