libb64 is a library of ANSI C routines for fast encoding/decoding of data
into and from a Base64-encoded format. C++ wrappers are included, as well
as the source code for standalone encoding and decoding executables.
Base64 uses a subset of displayable ASCII characters, and is therefore a
useful encoding for storing binary data in a text file, such as XML, or
sending binary data over text-only communication channels.
DBIx::Connector provides a simple interface for fast and safe DBI
connection and transaction management. Connecting to a database can
be expensive; you don't want your application to re-connect every time
you need to run a query. The efficient thing to do is to hang on to a
database handle to maintain a connection to the database in order to
minimize that overhead. DBIx::Connector lets you do that without
having to worry about dropped or corrupted connections.
With Relations::Query you can create a 'select' query by creating a new
query object, and passing hashes, arrays, or strings of info to the
constructor, such as what's within the variables clause, what to order
by, etc. You can also add and override clause info in the query as
well, on both a permanent and temporary basis. With the to_string()
function, you can create a query string from a hash, query object or
string.
SQLite is a library that provides a SQL-language database that
stores data in disk files without requiring a separate server
process. pysqlite provides a SQL interface compliant with the DB-API
2.0 specification described by PEP 249. This means that it should
be possible to write the first version of your applications using
SQLite for data storage. If switching to a larger database such as
PostgreSQL or Oracle is later necessary, the switch should be
relatively easy.
SQLite is a library that provides a SQL-language database that
stores data in disk files without requiring a separate server
process. pysqlite provides a SQL interface compliant with the DB-API
2.0 specification described by PEP 249. This means that it should
be possible to write the first version of your applications using
SQLite for data storage. If switching to a larger database such as
PostgreSQL or Oracle is later necessary, the switch should be
relatively easy.
VIT (Visual Interactive Taskwarrior) is a lightweight, curses-based front end
for Taskwarrior that provides a convenient way to quickly navigate and process
tasks. VIT allows you to interact with tasks in a Vi-intuitive way. A goal of
VIT is to allow you to customize the way in which you use Taskwarrior's core
commands as well as to provide a framework for easily dispatching external
commands (both user scripts and Taskwarrior's many External Scripts).
Clig generates C code to take apart the typical command-line arguments
given to a C program. Input to clig is a simple description file that
specifies the name and number of options, their type (Flag, String,
Float, Int) and permissible range, and which options are mandatory. From
this, clig will generate self-contained C code to include in your program,
a usage message, and a manual page skeleton.
Clig does a lot more than getopt!
The compiler-rt project is a simple library that provides an
implementation of the low-level target-specific hooks required by code
generation and other runtime components. For example, when compiling
for a 32-bit target, converting a double to a 64-bit unsigned integer
is compiling into a runtime call to the "__fixunsdfdi" function. The
compiler-rt library provides optimized implementations of this and other
low-level routines.
Module::Build is a system for building, testing, and installing Perl modules.
It is meant to be a replacement for ExtUtils::MakeMaker. Developers may alter
the behavior of the module through subclassing in a much more straightforward
way than with MakeMaker. It also does not require a make on your system - most
of the Module::Build code is pure-perl and written in a very cross-platform
way.
This module define a subroutine that let you evaluate Perl code in a specific
context. The code can be passed directly as a string or as a file name to read
from. It also provides some subroutines to let you define and optionally share
variables and subroutines between your code and the code you wish to evaluate.
Finally there is some support for running your code in a safe compartment.