Git::Repository is a Perl interface to Git, for scripted interactions
with repositories. It's a low-level interface that allows calling any
Git command, whether porcelain or plumbing, including bidirectional
commands such as git commit-tree.
A Git::Repository object simply provides context to the git commands
being run. Is it possible to call the command()and run() methods against
the class itself, and the context (typically current working directory)
will be obtained from the options and environment.
More Opcodes information from opnames.h and opcode.h
The canonical list of operator names is the contents of the array
PL_op_name, defined and initialised in file opcode.h of the Perl
source distribution (and installed into the perl library).
Each operator has both a terse name (its opname) and a more verbose or
recognisable descriptive name. The opdesc function can be used to
return a description for an OP.
Often you want to create components that can be added to a class arbitrarily.
MouseX::Traits makes it easy for the end user to use these components. Instead
of requiring the user to create a named class with the desired roles applied,
or apply roles to the instance one-by-one, he can just create a new class from
yours with with_traits, and then instantiate that.
Tie::iCal represents an RFC2445 iCalendar file as a Perl hash. Each key in the
hash represents an iCalendar component like VEVENT, VTODO or VJOURNAL. Each
component in the file must have a unique UID property as specified in the RFC
2445. A file containing non-unique UIDs can be converted to have only unique
UIDs (see samples/uniquify.pl).
The module makes very little effort in understanding what each iCalendar
property means and concentrates on the format of the iCalendar file only.
Pyfilesystem is a Python module that provides a simplified common interface to
many types of filesystem. Filesystems exposed via Pyfilesystem can also be
served over the network, or 'mounted' on the native filesystem.
Pyfilesystem simplifies working directories and paths, even if you only intend
to work with local files. Differences in path formats between platforms are
abstracted away, and you can write code that sand-boxes any changes to a given
directory.
This is the Offtrac project. It aims to be a python based xmlrpc client
library for trac instances.
There is the offtrac python library which offers the TracServer class. This
object is how one interacts with a Trac instance via xmlrpc. An example
script (fedora-hosted.py) is provided to show how a client program might
make use of the library to get things done.
FasterCSV is intended as a replacement to Ruby's standard CSV library. It
was designed to address concerns users of that library had and it has three
primary goals:
1. Be significantly faster than CSV while remaining a pure Ruby library.
2. Use a smaller and easier to maintain code base. (We're about even now,
but not if you compare the features!)
3. Improve on the CSV interface.
State machines make it simple to manage the behavior of a class.
Too often, the state of an object is kept by creating multiple
boolean attributes and deciding how to behave based on the values.
state_machine simplifies this design by introducing the various
parts of a real state machine, including states, events,
transitions, and callbacks. However, the api is designed to be
so simple you do not even need to know what a state machine is.
This port contains the core of BrowserScope's original user agent string
parser: data collected over the years by Steve Souders and numerous other
contributors, extracted into a separate YAML file so as to be reusable as is
by implementations in any programming language.
This port itself does not contain a parser: only the necessary data to build
one. There exists a ref implementation, along with multiple, production-ready
implementations in various programming languages.
This library is designed to make it easy to write games that run on UNIX,
Win32, MacOS X and other platforms using the various native high-performance
media interfaces (for video, audio, etc) and presenting a single source-code
level API to your application. This is a fairly low level API, but using this,
completely portable applications can be written with a great deal of
flexibility.