Semantic search

Jump to: navigation, search


AVbin
AVbin is a thin wrapper around FFmpeg, providing binary compatibility for applications and languages that need it. FFmpeg is a collection of audio and video codecs widely used in projects such as mplayer, xine, gstreamer and VLC. It is under continuous development; so much so that its developers rarely provide a release, and SVN snapshots of the library must be statically linked to avoid version incompatibilities. AVbin allows programs that require dynamic linkage to use FFmpeg. It does this by providing:
  • an accurate version number within the shared library, allowing applications to select the appropriate data structures and functions to use at runtime, and
  • a simplified interface with an unchanging ABI to the most common decoding functionality within FFmpeg.
  • AVbin is distributed as a single dynamic library (.so on GNU/Linux, .dylib on Mac OS X, and .dll on Windows) that depends on no other files or installations. This eliminates the many complexities of building FFmpeg on platforms other than GNU/Linux; however you can still build it from source if you prefer.
Aalib
'Aalib' is a low level gfx library that works on any kind of terminal. It does not require graphics devices (in fact, no graphical output is possible), and is particularly useful for those with older hardware who do not want to worry about overloading their systems with graphical applications.
Abclock
'abclock' gives a spatial representation of time. It isn't tied to the design of a mechanical clock, but instead uses the natural properties of bitmaps: straight lines and rectangles. The clock uses ordinary hours and minutes. Placement and movement of objects is analogous to mechanical clocks. Time has a symmetrical property that is reflected in the way time changes in this clock. It is clear and exact up to parts of minutes, even when the bitmap is very small.
Achievo ATK
Achievo ATK is an object oriented Web-application Framework, written in PHP. It is targeted at developers who wish to focus on business logic, instead of coding HTML. Where other application frameworks mainly provide a large set of utility classes, ATK provides a complete framework that requires only small amounts of code to get usable applications, while maintaining full flexibility. It is currently the back-end software for the 'achievo' project management/project tracking tool.
Ad-hoc Support Library
Ad-hoc Support Library (ASL) is a user-space library which provides an API to faciliate implementation of routing protocols for wireless ad-hoc networks in GNU/Linux.
Ada Components
A component library for the Ada language. The four main categories are data structures, math, Ada programming tools, and OS interface.
Ada Motif binding library
SERC's Ada/Motif is a complete binding to X Windows and OSF/Motif for the Ada programming language it was based in part upon the SAIC/Unisys (STARS) public-domain bindings it incorporates many of the bug fixes and additional capabilities beyond the public-domain releases in Ada/Motif. Most noteworthy are the capabilities included in Ada/Motif for Ada tasking, callback registration, memory leak detection/prevention and capabilities for developing customized widgets. Paramax/STARS considers Ada/Motif to be the commercial version of their STARS bindings, according to SERC.
AdaSockets
'AdaSockets' is a library that lets you use sockets in Ada 95. It supports unicast and multicast sockets, and uses object oriented structures to ease sockets manipulation.
AdaUnits
'AdaUnits' provides an implementation of dimensioned values for Ada. Unit checks are made at run-time, if not optimized out by the compiler. The package supports SI and irregular measurement units and shifted units (like degrees Celsius). Conversions from and back to strings are provided for all various irregular units.
Adns Heckert gnu.tiny.png
adns is a DNS resolver library for C (and C++) programs, and a collection of useful DNS lookup utilities. The C library, and the command line utilities, provide a convenient interface. adns is capable of doing DNS lookups in an asynchronous, event-driven, fashion.
Aften
Aften is a simple A/52 (AC-3) audio encoder based on the FFMpeg libraries. The name is an acronym for A/Fifty-Two ENcoder. It is also Danish and Norwegian word for 'evening'. It is able to create stereo and multi-channel AC3-compatible audio streams.
Aiodns
Supports A, AAAA, ANY, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, and TXT DNS queries.
Aiohttp
Supports WebSocket and can provide middlewares and pluggable routing for servers.
Airhook
Airhook is a reliable data delivery protocol, like TCP. Unlike TCP, Airhook gracefully handles intermittent, unreliable, or delayed networks. Other features include session recovery, queue control, and delivery status notification. Airhook is useful for keeping connections running over bad wireless networks (like CDPD), intermittent dial-up connections, and any other network that doesn't work very well. The implementation includes a TCP proxy (so you can use HTTP, SSH, etc.) and a protocol library for applications that want more control (real-time media delivery, games, etc).
Alchemist
This package provides a functional, Ruby Domain-Specific Language (DSL) for casting, transforming and transposing objects. The project's README file provides the following explanation of the purpose of this library:

Rationale


Casting complex objects from one type to another can be an uncomfortable process to express well. Objects that we use on a daily basis are not always in our control, and, even when they are, some don't lend themselves to simple construction. Remote service communication objects or complex data structures from libraries we use in our applications can result in large piles of casting code.

This circumstance often produces large swaths of procedural code, even if split up into separate function calls. This code can be not only difficult to understand, but difficult to test if an object requires a great deal of set up. Field or method assignments midway through can change and break the entire operation.

The goal of this project is to provide a method of defining easily digestible specifications for object translation that are also easily testable and changeable. The project focuses on writing specifications for transformations and not doing direct mutation in the recipes. The result is something that should seem somewhat functional, but also exceedingly separable.

Algart
AlgART are free software Java libraries, supporting generalized smart arrays and matrices with elements of any types (1 bit, 8/16/32/64-bit integers, 32/64-bit floating point values and any other Java types), including a wide set of of 2D-, 3D- and multidimensional image processing and other algorithms, working with arrays and matrices.

Main Features

  • The libraries use 63-bit addressing of array elements (all indexes and length are represented by 64-bit long type). So, it's theoretically possible to create and process arrays and matrices containing up to 2^63-1 (~10^19) elements of any primitive or non-primitive types, if OS and hardware can provide necessary amount of memory or disk space.
  • Memory model concept allows storing AlgART arrays in different schemes, from simple Java arrays to mapped disk files; all necessary data transfers are performed automatically while every access to an element or a block of elements.
  • Most of algorithms are based on wide usage of lazy evaluations. Typical operations, like elementwise summing or geometrical matrix transformations, are implemented via lazy views of the source array or matrix.
    • For example, you can take a multidimensional matrix, rotate it (or perform any other affine or projective transform), and then extract a submatrix from the result. All these operations will be performed virtually (not requiring time), and actual calculations will be performed only at the moment of accessing elements, usually while copying the resulting matrix to a newly created one. Moreover, in many cases the libraries will "understand" itself, that the user wants to perform rotation or another transform, and will split the matrix into suitable rectangular blocks (fitting in RAM) and choose the best algorithm for this task at the moment of copying operation.
  • The libraries contain a wide set of image processing algorithms over matrices: linear filtering, mathematical morphology, rank operations, spectral transformation (FFT), etc.
  • There is also skeletonization and measuring of binary images.
Allegro
Allegro is multi-platform game programming library for C/C++ developers distributed freely, that provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers. It also provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed datafile and a GUI. It can also be used for other types of multimedia programming.
Alliance
Complete set of free CAD tools and portable libraries for VLSI design. It includes a VHDL compiler and simulator, logic synthesis tools, and automatic place and route tools. Advanced verification tools for functional abstraction and static timing analysis are part of the system. A complete set of portable CMOS libraries is provided, including a RAM generator, a ROM generator, and a data-path compiler.
Alogg
'alogg' is a library which makes it easier to use Ogg/Vorbis streams with Allegro. It offers facilities to decode, stream, and encode Ogg/Vorbis streams, and integrates those facilities with Allegro's datafile and sample loading routines. 'alogg' comes with a sample player, streamer, and encoder based on Allegro's sound routines.
Alpy
Alpy provides a Python binding to the C Allegro game programming library. This binding is mostly focused with providing a basic "raw" interface to the library, trying to preserve most of the Python API similar to the C version to ease the transition to C programmers.
Amara
Library for XML processing in Python, designed to balance the native idioms of Python with the native character of XML.
Anemone
Anemone is a Ruby library that makes it quick and painless to write programs that spider a website. It provides a simple DSL for performing actions on every page of a site, skipping certain URLs, and calculating the shortest path to a given page on a site. The multi-threaded design makes Anemone fast. The API makes it simple. And the expressiveness of Ruby makes it powerful.
AngelScript
The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. Featuring a syntax similar to C/C++, it has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer.
AntTweakBar
AntTweakBar allows programmers to quickly add a light and intuitive graphical user interface into graphic programs to interactively tweak them. It is a small and easy to use C/C++ library that can be readily integrated into OpenGL and DirectX applications. It targets graphical programs that need an easy way to tweak parameters and see the result in real-time like 3D demos, light inline game editors, small 3D applications, prototypes, debug facilities of weighter graphical programs, etc. Programmers are not required to design the graphical interface by providing coordinates or by using a visual UI editor. Controls are automatically organized following an optional given hierarchy. In most cases, only one line of code is needed to add a new variable to a tweak bar. AntTweakBar can be easily integrated with your own windowing system or with existing toolkits. Examples of integration with GLFW, SDL, GLU are provided.
Apel
APEL stands for "A Portable Emacs Library" and contains these modules:

apel

  • alist: utility for Association-list
  • calist: utility for condition tree and condition/situation-alist
  • filename: utility to make file-name
  • install: utility to install emacs-lisp package
  • mule-caeser: ROT 13-47-48 Caesar rotation utility
  • path-util: utility for path management or file detection

emu

  • broken: provide information of broken facilities of Emacs.
  • invisible: provide features about invisible region
  • mcharset: provide MIME charset related features
  • pces: provide portable character encoding scheme features
  • pccl: utility to write portable CCL program
  • pcustom: provide portable custom environment
  • poe: emulation module for basic functions and special forms/macros
  • poem: provide basic functions to write portable MULE programs
  • static: utility for static evaluation

Note

This package is a variant of APEL. The most remarkable feature is that it uses lexical binding and supports only Emacs 24.5 and later. See Wikidata for details of original APEL.
Apophenia
'Apophenia' is a statistical library for C. It provides functions on the same level as those of the typical stats package (OLS, probit, singular value decomposition, &c.) but doesn't tie the user to an ad hoc language or environment. It uses the GNU Scientific Library for number crunching and SQLite for data management, so the library itself focuses on model estimation and quickly processing data.
AppTools
The AppTools project includes a set of packages that Enthought has found useful in creating a number of applications. They implement functionality that is commonly needed by many applications
  • enthought.appscripting: Framework for scripting applications.
  • enthought.help: Provides a plugin for displaying documents and examples and running demos in Envisage Workbench applications.
  • enthought.io: Provides an abstraction for files and folders in a file system.
  • enthought.naming: Manages naming contexts, supporting non-string data types and scoped preferences.
  • enthought.permissions: Supports limiting access to parts of an application unless the user is appropriately authorised (not full-blown security).
  • enthought.persistence: Supports pickling the state of a Python object to a dictionary, which can then be flexibly applied in restoring the state of the object.
  • enthought.preferences: Manages application preferences.
  • enthought.resource: Manages application resources such as images and sounds.
  • enthought.scripting: A framework for automatic recording of Python scripts.
  • enthought.sweet_pickle: Handles class-level versioning, to support loading of saved data that exist over several generations of internal class structures.
  • enthought.template: Supports creating templatizable object hierarchies.
  • enthought.type_manager: Manages type extensions, including factories to generate adapters, and hooks for methods and functions.
  • enthought.undo: Supports undoing and scripting application commands.
Argtable
Argtable is a freely available C/C++ programmer's library for parsing the command line arguments. Having only a few functions and a simple set of rules, it is capable of handling most aspects of command line parsing and error reporting with a minimum of fuss.
Armadillo: C++ library
Armadillo is a C++ linear algebra library (matrix and vector maths) aiming towards a good balance between efficiency and ease of use while staying lean. This library is useful if C++ has been decided as the language of choice (due to speed and/or integration capabilities), rather than another language like Matlab î or GNU Octave. Armadillo uses a delayed evaluation approach in order to combine several operations into one and reduce (or eliminate) the need for temporaries. This is accomplished through extensive use of recursive templates and template meta-programming.
Aspell Heckert gnu.tiny.png
GNU Aspell is a spell checker that can be used either as a library or as an independent spell checker. It does a much better job of coming up with possible suggestions than other English language spell checkers. Other technical enhancements over Ispell include shared memory for dictionaries and intelligent handling of personal dictionaries when more than one Aspell process is open.
Async-timeout
Used in cases where part of the software being developed is time-sensitive, so that the code block doesn't wait too much time for certain event to complete.
At-spi
AT-SPI is a D-Bus based accessibility framework. It defines a D-Bus protocol for providing and accessing application accessibility information. The project includes a library for bridging the D-Bus protocol to the ATK API, allowing Gtk based applications to be made accessible. It also contains a client (AT) side library in C and a wrapper for Python.
Atomthreads
Atomthreads is a free, lightweight, portable, real-time scheduler for embedded systems. It is targeted at systems that need only a scheduler and the usual RTOS primitives. No file system, IP stack or device drivers are included, but developers can bolt on their own as required. Atomthreads will always be a small number of C files which are easy to port to any platforms that require threading by adding a simple architecture-specific file.
Aubio
aubio is a library for audio labeling. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. The name aubio comes from 'audio' with a typo: several transcription errors are likely to be found in the results too. The aim of this project is to provide these automatic labeling features to other audio softwares. Functions can be used off-line in sound editors and software samplers, or online in audio effects and virtual instruments.
Autotrace
Autotrace is a program which converts bitmap images to vector images. It can import images in BMP, TGA, PNM, PPM, PGM, PBM and those supported by ImageMagick, and can output Postscript, svg, xfig, swf, pstoedit, emf, dxf, cgm, mif, p2e and sk
Avl Heckert gnu.tiny.png
libavl is a collection of computer subroutines for constructing and manipulating binary trees and balanced trees. It includes unthreaded, right threaded, and fully threaded variants of AVL tree, as well as unthreaded red-black trees. It features self-test routines as well as insertion, deletion, tree count, tree copy, tree walking and traversal, search, and threading and unthreading routines. Each function has a comment describing its interface, and each step in the algoritms the program uses has a comment also. Each source code file includes a built-in test routine.
B-Forms
'B-Forms' is an object-oriented PHP library for developing Webform-based applications. It supports tabular forms with multiple records of the same type being edited simultaneously, and provides security mechanism against data tampering. The library provides two base layouts that cover the the vast majority of cases. Only in very tricky form layouts would you have to write HTML code to specify the form layout. It also automatically saves and restores hidden fields. 'B-Forms' divides a script into three logical areas: form definition, data management, and form presentation. Forms have a powerful block architecture, each block typically representing a different data object within the form. Each block can be used to edit several objects at once- the library handles record management.
BLAS
The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. The Level 1 BLAS perform scalar, vector and vector-vector operations, the Level 2 BLAS perform matrix-vector operations, and the Level 3 BLAS perform matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they are commonly used in the development of high quality linear algebra software, LAPACK for example.
BRL-CAD
BRL-CAD includes an interactive geometry editor, parallel ray-tracing support for rendering and geometric analysis, path-tracing for realistic image synthesis, network distributed framebuffer support, image-processing and signal-processing tools.
Babel
A collection of tools for internationalizing Python applications Babel is composed of two major parts:
  • tools to build and work with gettext message catalogs
  • a Python interface to the CLDR (Common Locale Data Repository), providing access to various locale display names, localized number and date formatting, etc.
Badger
Badger is a library used to generate badge sheets for events, given a PDF template and data for the badges.
Barcode Heckert gnu.tiny.png
GNU barcode is a tool to convert text strings to printed bars. It supports a variety of standard code to represent the strings and creates postscript output. Features include:
  • available as both a library and a command line frontend (so you can include barcode printing in your application)
  • supports UPC, EAN, ISBN, CODE39, and other encoding standards
  • Postscript and encapsulated postscript output (other backends can be added as needed)
  • Accepts sizes and positions as inches, millimeters, and centimeters
  • Can create tables of barcodes (to print labels on sticker pages)
Bcfg2
Bcfg2 allows you to describe and deploy complex configurations across pools of GNU/Linux and Unix systems, leading to a consistent, reproducible, and verifiable description of your environment. Bcfg2's visualization and reporting tools aid in your day-to-day administrative tasks. Its unique analysis features help you cope with the ever-increasing complexity of your networks.
Beanstalkc
beanstalkc is a simple beanstalkd client library for Python. beanstalkd is a fast, distributed, in-memory workqueue service.
BeeCrypt
BeeCrypt is a cryptography library that contains highly optimized C and assembler implementations of many well-known algorithms including Blowfish, MD5, SHA-1, Diffie-Hellman, and ElGamal. Unlike some other crypto libraries, BeeCrypt is not designed to solve one specific problem, like file encryption, but to be a general purpose toolkit which can be used in a variety of applications. There are also no patent or royalty issues associated with BeeCrypt.
Bennu
Bennu is a software library written in PHP that implements the functionality of the IETF iCalendar 2.0 specification (RFC 2445). Its purpose is to enable applications which have an interest in this format (e.g. calendaring, scheduler and organizer programs) to support iCalendar in an easy, powerful, and extensible way.
BigMath
Based partly on Knuth's Seminumerical Algorithms and written in C, BigMath aims to be light-weight and fast. Its original implementation was for use within a kernel extension - thus size and speed were essential. BigMath supports only integer math, including add, sub, mul, div, mod, modpow, modinv, pow, gcd, factorial, radix conversion, scientific notation and various comparisons.
Bill's OpenGL Library
BOGL - an OpenGL scenegraph/renderer supporting modern hardware (vertex and pixel programs via Cg, buffer objects, etc), freetype fonts, XML resource files, bezier patches, state sorting, separate render and simulation threads.
Binary I O library
'libbinio' uses its own protocol to store and retrieve binary data portably. It uses an fprintf/fscanf interface, exporting eight functions: fputf, vfputf, fgetf, vfgetf, fwputf, vfwputf, fwgetf, and vfwgetf. Rather than using data types such as "16 bits", it uses standard C types and uses printf/scanf-style argument lists (it even uses GNU argument checking if available). It should be a drop-in replacement for printf/scanf and still work perfectly well. It aims to be portable to every C89-conforming implementation, but can use C99 and GNU extensions if available.
Bioinformatics Template Library
This library focuses on the data structures and algorithms used in bioinformatics and molecular modelling, following closely the approach of the Standard Template Library (STL) to implement efficient generic programming modules using compile time mechanisms. Although the BTL was designed with biomolecular applications in mind it contains classes of more general utility: for instance, the Matrix class could be used for matrix algebra in many contexts.


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.