Semantic search

Jump to: navigation, search


ASCEND
ASCEND IV is an object-oriented mathematical modeling environment, with similar functionality to programs such as GAMS, AMPL, Aspen, or Dymola. If can be used to solve difficult non-linear systems of equations and to plot dynamic behaviour of such systems. Although ASCEND has primarily been developed by Chemical Engineers, great care has been exercised to assure that it is domain independent. ASCEND can support modeling activities in fields from Architecture to (computational) Zoology.
ATK
'Accessibility' means enabling people with disabilities to participate in substantial life activities that include work and the use of services, products, and information. GNOME Accessibility is the suite of software services and support in GNOME that provides accessibility interfaces to other applications and toolkits.
ATLAS
ATLAS (Automatically Tuned Linear Algebra Software) is a system for generating high-performance mathematical libraries. It generates a library that is specifically tuned to your processor and compiler. ATLAS's purpose is to provide portably optimal linear algebra software. In particular, ATLAS provides ANSI C and Fortran 77 interfaces to the BLAS, and a subset of LAPACK.
ATM SAR Library (SARLib)
SARLib can be used as an AAL5 ATM Segmentation and Reassembly engine.
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.
Achoz
will offer search and tools to reduce your data, keep it clean, fast and easy. in alpha development stage.
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.
AdaCurses
Ncurses Ada allows programmers to use the Ncurses library within the Ada language. This means programming panels, colors, forms in text terminals or emulators.
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.
Add custom search engine
Your custom search engine needs a name and search URL. Additionally fields include an icon, a suggestion URL, POST query parameters, the input encoding and a description. Icons can be selected from your local computer or specified as an URL pointing to an image. The extension UI is accessible via a button right next to the URL/search bar or the options in about:addons. Due to a technical limitation with Firefox WebExtensions, all data entered when creating your custom search engine is uploaded to file.io.
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).
Aisleriot
Aisleriot is a suite of Solitaire card games which are easy to play with the aid of a mouse. This package includes popular variants such as spider, freecell, klondike, thirteen (pyramid), yukon, canfield and many more.
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.

Aletheia
In short, Aletheia is software for getting science published and into the hands of everyone, for free. It's a decentralised and distributed database used as a publishing platform for scientific research. So, Aletheia is software. But software without people is nothing. To comprehensively answer the question what is Aletheia, Aletheia is software surrounded by a community of people who want to change the world through open access to scientific knowledge. For a more in depth explanation, Aletheia is an Ethereum Blockchain application utilising IPFS for decentralised storage that anyone can upload documents to, download documents from, that also handles the academic peer review process. The application runs on individual PCs, all forming part of the IPFS database. This gives us an open source platform that cannot be bought out by the large publishers (and any derivitive works must also be open source) that should also be hard to take down due to the database being spread across the globe in multiple legal jurisdictions. Aletheia is designed to be a resilient platform run transparently by the community, not some black box corporation or editorial board, meaning all users can see the decisions Aletheia is making and have a stake in that decision making process if they so desire. By this nature, Aletheia is decentralised, it has no key person risk. Should the core group who invented Aletheia dissapear Aletheia won't cease to exist, it will continue to be run by the community. The community moderates content through various mechanisms (peer review, reputation scores etc.,) to ensure quality of content.
Alexis FTP (aftp)
aftp is an FTP library and a background FTP tool. The aftp tool is a good example on how to use the library. You need FTP functionality in your software? Use the aftp library!
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.
Alpine3D
Alpine3D is a spatially distributed (surface), three dimensional (atmospheric) model for analyzing and predicting dynamics of snow-dominated surface processes in mountainous topography. It includes models for snow cover (SNOWPACK), vegetation and soil, snow transport, radiation transfer and runoff which can be enabled or disabled on demand.
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.
An Gramadoir
An Gramadóir is intended as a platform for the development of sophisticated natural language processing tools for languages with limited computational resources. It is currently implemented for the Irish language (Gaeilge); this is, to the best of my knowledge, the first grammar checker developed for any minority language. Ports for Afrikaans, Cornish, Esperanto, Walloon, and Welsh are currently underway. The grammar checker can be called from emacs, vim, or OpenOffice. Various components of the engine can be bootstrapped using statistical methods based on text corpora.
Anastasis , Heckert gnu.tiny.png
Anastasis is a key recovery system that allows the user to securely deposit shares of a core secret with an open set of escrow providers, to recover it if the secret is lost. The core secret itself is protected from the escrow providers by giving each provider only part of the information, and additionally by encrypting it with an identity-based key unknown to the providers.
Anchors Reveal
“Anchors reveal” is an addon to show anchors in a web page. Its main use is to help a lazy blog redactor for rapidly linking to a relevant chapter in a long web page.
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.
AnonymousMessenger
Features Double end to end encryption Completely peer to peer using hidden services Cryptographic Identity Verification Excellent Network Security Voice Messages Live Voice Calls over tor (alpha feature) Text Messages Metadata stripped media messages Raw file sending of any size (100 GB+) coming soon... Both peers have to add each others onion addresses to be able to communicate Disappearing messages by default Encrypted file storage on Android Screen security
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.
Antidote
Antidote is an free software implementation of the IEEE 11073-20601 standard. It also contains the implementation of a D-Bus based 11073 manager service.
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.
App
'App' is a C++ preprocessor for that accepts as input arbitrary C++ code that may contain embedded constructs for specifying algebraic data types and associated pattern matching operations, and produces as output the same code with all such constructs translated to normal C++. 'app' provides for C++ the same capabilities that functional languages have regarding algebraic types. 'Applib' is the associated runtime library that supports the core run time requirements of the translated code, and which provides additional utilities.
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.
Astronomical Papers Library
A C library containing theories of motion of solar system objects that have been published in various astronomical journals such as Astronomy & Astrophysics, the Astronomical Journal, and Astronimcal Papers prepared for the use of the American Ephemeris. Currently this includes such theories as Newcomb's "Tables of the Sun" and all the planets as well as the theory known as "The Improved Lunar Ephemeris".
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.
Autogen Heckert gnu.tiny.png
'AutoGen' generates program files that contain repetitive text with varied substitutions. It simplifies the maintenance of programs with large amounts of repetitive text, which is useful if several blocks of such text must be synchronized. It includes:
  • AutoOpts - automates the handling of command line, environment and config file options, including usage text, man pages, and the invoking section of an info doc
  • getdefs - extracts AutoGen definitions from stylized comments embedded in source code
  • columns - tabularizes lists for improved output appearance
  • AutoXDR - NFSv4 specifies that its remote procedure calls be batched. AutoGen generates the code for marshalling and unmarshalling the arguments on both sides of the RPC request
  • AutoFSM - produces a transition table and prototype finite state machine where it is possible to determine a state transition type (token code) without reference to the current state
  • xml2ag - lets AutoGen use any XML file as if it were a set of AutoGen definitions
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
Avaneya
Whether you are a fan of science fiction, a space–science enthusiast, hobbyist, photographer, gamer or a patron of grass–roots libre arts and technology, you are sure to find the first successful images from the surface of Mars highly captivating. These mind blowing images were taken by NASA's Viking landers during the highly ambitious, billion–dollar mission first launched in 1975. However, many images were nearly lost to history due to magnetic tape deterioration and archaic proprietary technology. With NASA's blessing, our team developed the technology to recover many of these images. This research tool was part of the design phase of our parent project, Avaneya — our upcoming libre cerebral science fiction game for the GNU operating system set on Mars, described in the words of Richard Stallman as an exciting, pioneering project. Originally an internal research tool, overwhelming public interest compelled us to release the technology on this DVD for all. Now everyone can relive the original breathtaking experience that captured the world's attention and marked the first successful moment in history that humanity saw Mars — not as a distant, impersonal, celestial body, beheld through a telescope for centuries, but as a tangible and alien world well within its reach.
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.
Backbone.js
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
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.
BirdFont
BirdFont is a font editor which can generate fonts in SVG, EOT and TTF format.
Biskit
Biskit is a python library for structural bioinformatics research. It simplifies the analysis of macromolecular structures, protein complexes, and molecular dynamics trajectories and offers a platform for the rapid integration of external programs.
Bit Vector
Bit::Vector is a (stand-alone) C library and an object-oriented Perl module (with overloaded operators) which allows you to handle bit vectors, sets (of integers), "big integer arithmetic" (e.g. for cryptography), and boolean matrices (all of arbitrary size) very efficiently. The package also includes an object-oriented Perl module for accessing the C library from Perl (the library can also be used by itself, without Perl). Optionally, it features overloaded operators for maximum ease of use.
Bitap
The bitap library is a clean implementation of regular expression (regex/grep) string matching using the bitap algorithm. Approximate (a.k.a. fuzzy) matching is allowed. This is the same algorithm as the one used in Glimpse and agrep, but it is much more complete with regard to regular expression syntax, and is much cleaner. It is quite fast compared to other greps due to the bitap algoritm and modern CPU architechture. Modifying code for special cases speeds things up even futher. Note that the complete 'search' string must be matched by the pattern. If you want to search for substrings of the search string, prefix and postfix the pattern with '.*'.
Bitpacket
BitPacket is a Python module to represent bit field structures in an easy object-oriented way. BitPacket provides three classes: BitField, BitStructure and BitVariableStructure which represent simple bit fields, and fixed and variable structures of bit fields respectively. BitStructure and BitVariableStructure are BitField themselves and all of them can be used together in order to build packets. That is, we can add any BitField subclass into a BitStructure or BitVariableStructure.
Bitstring
bitstring is a pure Python module designed to help make the creation and analysis of binary data as simple and natural as possible. BitStrings can be constructed from integers (big and little endian), hex, octal, binary, strings or files. They can be sliced, joined, reversed, inserted into, overwritten, etc. with simple functions or slice notation. They can also be read from, searched and replaced, and navigated in, similar to a file or stream.
Bitwise enums
A very simple, 0-overhead, and yet type-safe 1-file library for doing bitwise operations between masks represented by enums. Please note: This library has been subsumed into MiLi and is no longer being maintained individually.
Blib
'blib' is the Blinkenlights Library, a programming library that gives you a kick start into development with Blinkenlights/Arcade. 'blib' also provides the Game API with which games for Arcade can be developed. 'blib' provides functions to read and write BLM, BML, and MNG animations, and to receive and send the Blinkenlights protocol.
Blip Buffer
Blip_Buffer implements efficient band-limited sound synthesis buffers, allowing high-quality emulation of video game sound chips. After setting the source clock rate and output sampling rate, waveforms are generated by specifying the time points where amplitude changes occur. Treble and bass adjustments are also supported. Many examples are included that show basic waveform generation, sample buffering schemes, and more advanced topics. They can be made to write output to a wave sound file, or optionally use the SDL multimedia library for real-time playback, waveform display, and mouse control of parameters.
BlockCanvas
The BlockCanvas project provides a visual environment for creating simulation experiments, where function and data are separated. Thus, you can define your simulation algorithm by visually connecting function blocks into a data flow network, and then run it with various data sets (known as "contexts"); likewise, you can use the same context in a different functional simulation. The project provides support for plotting, function searching and inspection, and optimization. It includes a stand-alone application that demonstrates the block-canvas environment, but the same functionality can be incorporated into other applications. The BlockCanvas project relies on included libraries that allow multiple data sets using Numeric arrays to be incorporated in a Traits-based model in a way that is simple, fast, efficient, and consistent.
Bmrblib
Bmrblib is a Python API abstracting the Biological Magnetic Resonance Data Bank (BioMagResBank or BMRB) NMR-STAR format (http://www.bmrb.wisc.edu/). It allows the writing of NMR-STAR files for BMRB data deposition and the reading and easy extraction of data from files residing in the BMRB data bank, all without knowledge of the Self-Defining Text Archive and Retrieval (STAR) format.
Bobcat
The (shared) Bobcat library contains classes and templates used by, e.g., the Stealth and Bisonc++ programs. The Bobcat library contains a variety of C++ classes and templates, some of them based on well-known Design Patterns. The library offers classes handling, e.g., Child Processes, Forks, Pipes and Redirection Command-to-Function associations Command-line arguments and history handling Command-line editing using streams Configuration Files Decryption and Encryption Extended String Operations Hash-tables Integers of unlimited size File-descriptor based streams (e.g. handle sockets using streams) Mail headers and mail filtering (milters) Message Digests Pattern matching Single (Direct) Key Input Syslog- and other kinds of messages Temporary files Universal Type Conversions (Templates)
Boehm garbage collector
A conservative garbage collector which can be used as a garbage collecting replacement for C malloc or C++ new and as a malloc leak detector.
Bond
BOND (building object network databases) is a rapid application development tool which allows you to develop GUI front ends to PostgreSQL databases. It uses XML to define widget layout and how to obtain information from databases. This project is designed to simplify the process of developing database applications for GTK.
Booleano
Booleano is an interpreter of boolean expressions, a library to define and run filters available as text (e.g., in a natural language) or in Python code. In order to handle text-based filters, Booleano ships with a fully-featured parser whose grammar is adaptive: Its properties can be overridden using simple configuration directives.
Boost
Boost is a repository of portable and peer-reviewed C++ libraries.
Accumulators 
Framework for incremental calculation, and collection of statistical accumulators. Math and numerics
Algorithm 
A collection of useful generic algorithms. Algorithms
Any 
Safe, generic container for single values of different value types. Data structures
Array 
STL compliant container wrapper for arrays of constant size. Containers
Asio 
Portable networking, including sockets, timers, hostname resolution and socket iostreams. Concurrent Programming
Assign 
Filling containers with constant or generated data has never been easier. Input/Output
Bimap 
Bidirectional maps library for C++. With Boost.Bimap you can create associative containers in which both types can be used as key. Containers
Bind 
boost::bind is a generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions. Function objects and higher-order programming
Call Traits 
Defines types for passing parameters. Generic Programming
Chrono 
Useful time utilities. Domain Specific
Circular Buffer 
A STL compliant container also known as ring or cyclic buffer. Containers
Compatibility 
Help for non-conforming standard libraries. Broken compiler workarounds
Compressed Pair 
Empty member optimization. Data structures
Concept Check 
Tools for generic programming. Generic Programming
Config 
Helps Boost library developers adapt to compiler idiosyncrasies; not intended for library users. Broken compiler workarounds
Container 
Standard library containers and extensions. Containers
Context 
Context switching library. Concurrent Programming
Conversion 
Polymorphic and lexical casts. String and text processing
CRC 
The Boost CRC Library provides two implementations of CRC (cyclic redundancy code) computation objects and two implementations of CRC computation functions. The implementations are template-based. Domain Specific
Date Time 
A set of date-time libraries based on generic programming concepts. Domain Specific
Dynamic Bitset 
The dynamic_bitset class represents a set of bits. It provides accesses to the value of individual bits via an operator[] and provides all of the bitwise operators that one can apply to builtin integers, such as operator& and operator<<. The number of bits in the set is specified at runtime via a parameter to the constructor of the dynamic_bitset. Containers
Enable If 
Selective inclusion of function template overloads. Generic Programming
Exception 
The Boost Exception library supports transporting of arbitrary data in exception objects, and transporting of exceptions between threads. Language Features Emulation
Filesystem 
The Boost Filesystem Library provides portable facilities to query and manipulate paths, files, and directories. System
Flyweight 
Design pattern to manage large quantities of highly redundant objects. Patterns and Idioms
Foreach 
In C++, writing a loop that iterates over a sequence is tedious. We can either use iterators, which requires a considerable amount of boiler-plate, or we can use the std::for_each() algorithm and move our loop body into a predicate, which requires no less boiler-plate and forces us to move our logic far from where it will be used. In contrast, some other languages, like Perl, provide a dedicated "foreach" construct that automates this process. BOOST_FOREACH is just such a construct for C++. It iterates over sequences for us, freeing us from having to deal directly with iterators or write predicates. Algorithms
Format 
The format library provides a class for formatting arguments according to a format-string, as does printf, but with two major differences: format sends the arguments to an internal stream, and so is entirely type-safe and naturally supports all user-defined types; the ellipsis (...) can not be used correctly in the strongly typed context of format, and thus the function call with arbitrary arguments is replaced by successive calls to an argument feeding operator%. String and text processing
Function 
Function object wrappers for deferred calls or callbacks. Function objects and higher-order programming
Function Types 
Boost.FunctionTypes provides functionality to classify, decompose and synthesize function, function pointer, function reference and pointer to member types. Generic Programming
Functional 
The Boost.Function library contains a family of class templates that are function object wrappers. Function objects and higher-order programming
Functional/Factory 
Function object templates for dynamic and static object creation Function objects and higher-order programming
Functional/Forward 
Adapters to allow generic function objects to accept arbitrary arguments Function objects and higher-order programming
Functional/Hash 
A TR1 hash function object that can be extended to hash user defined types. Function objects and higher-order programming
Functional/Overloaded Function 
Overload different functions into a single function object. Function objects and higher-order programming
Fusion 
Library for working with tuples, including various containers, algorithms, etc. Template Metaprogramming
Geometry 
Geometry Library. Algorithms
GIL 
Generic Image Library Containers
Graph 
The BGL graph interface and graph components are generic, in the same sense as the the Standard Template Library (STL). Containers
Heap 
Priority queue data structures. Data structures
ICL 
Interval Container Library, interval sets and maps and aggregation of associated values Containers
Identity Type 
Wrap types within round parenthesis so they can always be passed as macro parameters. Preprocessor Metaprogramming
In Place Factory, Typed In Place Factory 
Generic in-place construction of contained objects with a variadic argument-list. Generic Programming
Integer 
The organization of boost integer headers and classes is designed to take advantage of <stdint.h> types from the 1999 C standard without resorting to undefined behavior in terms of the 1998 C++ standard. The header <boost/cstdint.hpp> makes the standard integer types safely available in namespace boost without placing any names in namespace std. Math and numerics
Interprocess 
Shared memory, memory mapped files, process-shared mutexes, condition variables, containers and allocators. Concurrent Programming
Interval 
Extends the usual arithmetic functions to mathematical intervals. Math and numerics
Intrusive 
Intrusive containers and algorithms. Containers
IO State Savers 
The I/O sub-library of Boost helps segregate the large number of Boost headers. This sub-library should contain various items to use with/for the standard I/O library. Input/Output
Iostreams 
Boost.IOStreams provides a framework for defining streams, stream buffers and i/o filters. String and text processing
Iterators 
The Boost Iterator Library contains two parts. The first is a system of concepts which extend the C++ standard iterator requirements. The second is a framework of components for building iterators based on these extended concepts and includes several useful iterator adaptors. Iterators
Lambda 
Define small unnamed function objects at the actual call site, and more. Function objects and higher-order programming
Lexical Cast 
General literal text conversions, such as an int represented a string, or vice-versa, from Kevlin Henney. String and text processing
Local Function 
Program functions locally, within other functions, directly within the scope where they are needed. Function objects and higher-order programming
Locale 
Provide localization and Unicode handling tools for C++. String and text processing
Math 
Boost.Math includes several contributions in the domain of mathematics: The Greatest Common Divisor and Least Common Multiple library provides run-time and compile-time evaluation of the greatest common divisor (GCD) or least common multiple (LCM) of two integers. The Special Functions library currently provides eight templated special functions, in namespace boost. The Complex Number Inverse Trigonometric Functions are the inverses of trigonometric functions currently present in the C++ standard. Quaternions are a relative of complex numbers often used to parameterise rotations in three dimentional space. Octonions, like quaternions, are a relative of complex numbers. Math and numerics
Math Common Factor 
Greatest common divisor and least common multiple. Math and numerics
Math Octonion 
Octonions. Math and numerics
Math Quaternion 
Quaternions. Math and numerics
Math/Special Functions 
A wide selection of mathematical special functions. Math and numerics
Math/Statistical Distributions 
A wide selection of univariate statistical distributions and functions that operate on them. Math and numerics
Member Function 
Generalized binders for function/object/pointers and member functions. Function objects and higher-order programming
Meta State Machine 
A very high-performance library for expressive UML2 finite state machines. State Machines
Min-Max 
Standard library extensions for simultaneous min/max and min/max element computations. Algorithms
Move 
Portable move semantics for C++03 and C++11 compilers. Language Features Emulation
MPI 
Message Passing Interface library, for use in distributed-memory parallel application programming. Concurrent Programming
MPL 
The Boost.MPL library is a general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language. Template Metaprogramming
Multi-Array 
Boost.MultiArray provides a generic N-dimensional array concept definition and common implementations of that interface. Containers
Multi-Index 
The Boost Multi-index Containers Library provides a class template named multi_index_container which enables the construction of containers maintaining one or more indices with different sorting and access semantics. Containers
Numeric Conversion 
Optimized Policy-based Numeric Conversions. Math and numerics
Operators 
Templates ease arithmetic classes and iterators. Iterators
Optional 
Discriminated-union wrapper for optional values. Miscellaneous
Parameter 
Boost.Parameter Library - Write functions that accept arguments by name. Programming Interfaces
Phoenix 
Define small unnamed function objects at the actual call site, and more. Function objects and higher-order programming
Pointer Container 
Containers for storing heap-allocated polymorphic objects to ease OO-programming. Containers
Polygon 
Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates. Miscellaneous
Pool 
Memory pool management. Memory
Preprocessor 
Preprocessor metaprogramming tools including repetition and recursion. Preprocessor Metaprogramming
Program Options 
The program_options library allows program developers to obtain program options, that is (name, value) pairs from the user, via conventional methods such as command line and config file. Input/Output
Property Map 
Concepts defining interfaces which map key objects to value objects. Containers
Property Tree 
A tree data structure especially suited to storing configuration data. Containers
Proto 
Expression template library and compiler construction toolkit for domain-specific embedded languages. Template Metaprogramming
Python 
The Boost Python Library is a framework for interfacing Python and C++. It allows you to quickly and seamlessly expose C++ classes functions and objects to Python, and vice-versa, using no special tools -- just your C++ compiler. Inter-language support
Random 
A complete system for random number generation. Math and numerics
Range 
A new infrastructure for generic algorithms that builds on top of the new iterator concepts. Algorithms
Ratio 
Compile time rational arithmetic. Math and numerics
Rational 
A rational number class. Math and numerics
Ref 
A utility library for passing references to generic functions. Function objects and higher-order programming
Regex 
Regular expression library. String and text processing
Result Of 
Determines the type of a function call expression. Function objects and higher-order programming
Scope Exit 
Execute arbitrary code at scope exit. Language Features Emulation
Serialization 
Serialization for persistence and marshalling. Input/Output
Signals 
Managed signals & slots callback implementation. Function objects and higher-order programming
Signals2 
Managed signals & slots callback implementation (thread-safe version 2). Function objects and higher-order programming
Smart Ptr 
Smart pointer class templates. Memory
Spirit 
LL parser framework represents parsers directly as EBNF grammars in inlined C++. String and text processing
Statechart 
Boost.Statechart - Arbitrarily complex finite state machines can be implemented in easily readable and maintainable C++ code. State Machines
Static Assert 
Static assertions (compile time assertions). Generic Programming
String Algo 
String algorithms library. String and text processing
Swap 
Enhanced generic swap function. Miscellaneous
System 
Operating system support, including the diagnostics support that will be part of the C++0x standard library. System
Test 
Support for simple program testing, full unit testing, and for program execution monitoring. Correctness and testing
Thread 
Portable C++ multi-threading. Concurrent Programming
Timer 
Event timer, progress timer, and progress display classes. Miscellaneous
Tokenizer 
Break of a string or other character sequence into a series of tokens. String and text processing
TR1 
The TR1 library provides an implementation of the C++ Technical Report on Standard Library Extensions. This library does not itself implement the TR1 components, rather it's a thin wrapper that will include your standard library's TR1 implementation (if it has one), otherwise it will include the Boost Library equivalents, and import them into namespace std::tr1. Miscellaneous
Tribool 
3-state boolean type library. Miscellaneous
Tuple 
Ease definition of functions returning multiple values, and more. Data structures
Type Traits 
Templates for fundamental properties of types. Generic Programming
Typeof 
Typeof operator emulation. Language Features Emulation
uBLAS 
uBLAS provides matrix and vector classes as well as basic linear algebra routines. Several dense, packed and sparse storage schemes are supported. Math and numerics
Units 
Zero-overhead dimensional analysis and unit/quantity manipulation and conversion. Domain Specific
Unordered 
Unordered associative containers. Containers
Utility 
Class noncopyable plus checked_delete(), checked_array_delete(), next(), prior() function templates, plus base-from-member idiom. Algorithms
Uuid 
A universally unique identifier. Data structures
Value Initialized 
Wrapper for uniform-syntax value initialization, based on the original idea of David Abrahams. Miscellaneous
Variant 
Safe, generic, stack-based discriminated union container. Containers
Wave 
The Boost.Wave library is a Standards conformant, and highly configurable implementation of the mandated C99/C++ preprocessor functionality packed behind an easy to use iterator interface. String and text processing
Xpressive 
Regular expressions that can be written as strings or as expression templates, and which can refer to each other and themselves recursively with the power of context-free grammars. String and text processing
Boost Numeric Bindings
Boost Bindings is a bindings library (not just) for Boost.Ublas. It offers an easy way of calling BLAS, LAPACK, UMFPACK, MUMPS and many other mature legacy numerical codes from within C++.
Bootstrap
Bootstrap is a mobile-first, responsive Web front-end framework. It is a very popular framework made by Twitter, and can be easily themed and customized.
Bootswatch
Bootswatch is a set of free themes for Bootstrap.
Botan
Botan (formerly OpenCL) is a library of cryptographic algorithms. It includes a wide selection of block and stream ciphers, public key algorithms, hash functions, and message authentication codes, plus a high level filter-based interface. The home page has a list of supported algorithms.
Botnet
BotNet is a library written in C, intended to assist in development of an IRC bot (or even an IRC client). It provides an easy-to-use model of communication with the IRC server by giving you string-sending functions and by returning messages from the IRC server into events to your application's main(). It also contains functions for easy DCC CHAT and SEND connections and an excess flood protection mechanism.
Brother ql
brother_ql is a software package to facilitate printing labels on Brother’s QL-Series label printers. It was designed to be used from the command line but also supports usage from other software packages (via its command line interface or via its Python API).
Bugs
BUGS is the Big and Useful Great Security key encryption algorithm and applications. It is easy to use, and includes sample applications and documentation. The cryptography library can also be used with your own programs. Features include:
  • Private key algorithm
  • Dynamic cryptography algorithm
  • Source code can be made public without making the algorithm weak
  • Infinite key lengths
  • Bilateral bits swwapping with various windows
  • Bilateral Pseudo randomly binary operations
  • Random number added to key
  • Random number generator using the ISAAC algorithm
  • Possibility of generating your own RNG seed
  • Five different cryptography levels, for the best possible
  • combination of efficiency and speed
  • Seed and shuffle functions
  • A clear text can be crypted using its own data
  • Two methods of execution: direct disk access or memory cache
  • Strong key generator
C++ Sockets
This is a GPL licensed C++ class library wrapping the Berkeley sockets C API. It treats one socket as one object. KThis is how the Socket class was born. This class, in itself, has all the functions needed for address translation (hostname to ip, ip to hostname etc). It owns the file descriptor / SOCKET handle. But it can't do anything. Code for actually doing something with the socket is implemented in other, Socket derived classes.
C-ares
'c-ares' is a C library that resolves names asynchronously. It is meant for applications that perform DNS queries without blocking or multiple DNS queries in parallel (ie servers that communicate with multiple clients and programs with GUIs).
C2hs
'c2hs' is an interface generator that simplifies the development of Haskell bindings to C libraries. It processes existing C header files that determine data layout and function signatures on the C side in conjunction with Haskell modules that specify Haskell-side type signatures and marshaling details. Hooks embedded in the Haskell code signal access to C structures and functions; they are expanded by the interfacing tool in dependence on information from the corresponding C header file.
C2lib
c2lib is a library of basic tools for use by C programmers. It contains features heavily influenced by both Perl's string handling and C++'s Standard Template Library (STL). Its goal is to provide some of the advantages of Perl with only around a factor of 2-3 code-size expansion, while retaining most of the efficiency advantages of C and remaining compatible with existing libc functions.
C3.js
Enables deeper integration of charts into web applications.
CDBlib
Read and write cdb ("constant database") files. Cdblib contains classes to read and write cdb ("constant database") files. Cdb files map string keys to string values with very fast record lookups. Cdblib also allows for in-memory indexes to enable even faster lookups.
CDimgtools
CDimg tools is a set of command line tools to manipulate CD/DVD images of certain formats.
CFFI
Convenient and reliable way of calling C code from Python. The aim of this project is to provide a convenient and reliable way of calling C code from Python. It keeps Python logic in Python, and minimises the C required. It is able to work at either the C API or ABI level, unlike most other approaches, that only support the ABI level.
CGAL
The goal of the CGAL Project is to provide easy access to efficient and reliable geometric algorithms in the form of a C++ library. CGAL is used in various areas needing geometric computation, such as: computer graphics, scientific visualization, computer aided design and modeling, geographic information systems, molecular biology, medical imaging, robotics and motion planning, mesh generation, numerical methods...
CGAL offers data structures and algorithms like triangulations (2D constrained triangulations and Delaunay triangulations in 2D and 3D), Voronoi diagrams (for 2D and 3D points, 2D additively weighted Voronoi diagrams, and segment Voronoi diagrams), Boolean operations on polygons and polyhedra, arrangements of curves and their applications (2D and 3D envelopes, Minkowski sums) mesh generation (2D Delaunay mesh generation and 3D surface mesh generation, skin surfaces), geometry processing (surface mesh simplification, subdivision and parameterization, as well as estimation of local differential properties, and approximation of ridges and umbilics), alpha shapes, convex hull algorithms (in 2D, 3D and dD), operations on polygons (straight skeleton and offset polygon), search structures (kd trees for nearest neighbor search, and range and segment trees), interpolation (natural neighbor interpolation and placement of streamlines), shape analysis, fitting, and distances (smallest enclosing sphere of points or spheres, smallest enclosing ellipsoid of points, principal component analysis), and kinetic data structures. All these data structures and algorithms operate on geometric objects like points and segments, and perform geometric tests on them. These objects and predicates are regrouped in CGAL Kernels.
CGKit (Python Computer Graphics Kit)
The Python Computer Graphics Kit is a collection of Python modules that contain the basic types and functions to be able to create 3D computer graphics images (focusing on Pixar's RenderMan interface).
CHEAT
Minimal unit testing framework for the C programming language.
CImg
The CImg (Cool Image) Library is a C++ toolkit that provides simple classes and functions for loading, saving, processing and displaying images in your own C++ code. It contains useful image processing algorithms for loading/saving, resizing/rotating, filtering, object drawing (text, lines, faces, ellipses,..), and more. Images are instancied by a class able to represent images up to 4-dimension wide (from 1-D scalar signals to 3-D volumes of vector-valued pixels), with template pixel types. The package compiles it with only the standard C libraries.
CLN
CLN is a C++ class library for numbers: integers, rational, float, complex, modular integer. It implements elementary, logical, transcendental functions. Unlimited precision, 100 million digits are no problem. Easy to use because of algebraic syntax and automatic memory management.
CMUSphinx- base
Sphinx is a speaker-independent large vocabulary continuous speech recognizer. It is also a collection of free software tools and resources that allows researchers and developers to build speech recognition systems. The packages that the CMU Sphinx Group is releasing are a set of reasonably mature, world-class speech components that provide a basic level of technology to anyone interested in creating speech-using applications without the once-prohibitive initial investment cost in research and development; the same components are open to peer review by all researchers in the field, and are used for linguistic research as well.
CUnit
CUnit is a light-weight library that allows programmers to test their C code. Test results can be browsed in multiple formats or built-in interfaces.
CWXML
CWXML is a C library for parsing and generating XML and BXML formats with a straightforward API. Initial testing indicates that it is 3 or more times faster than other popular libraries such as expat and libxml2 at parsing XML and much faster again with BXML (a free, patent-unencumbered binary-encoding format for XML data that is a replacement for an XML file that mirrors the XML markup structures in a way similar to the in-memory representations of many parser libraries).
Cadaver
'cadaver' is a command-line WebDAV client. It supports resource upload/download/display, namespace operations (copy/move), collection deletion/creation, property manipulation, and locking operations.
Cairo
Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (eg. through the X Render Extension). The cairo API provides operations similar to the drawing operators of PostScript and PDF. Operations in cairo including stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, etc.) Cairo is implemented as a library written in the C programming language, but bindings are available for several different programming languages.
Cals2tiff
This is a candidate for deletion: URLs both lead to 404. sollers.ca does exist, but no mention of cals2tiff on that site. Drw (talk) 09:02, 18 July 2018 (EDT) This program is used to convert .cal files (US NAVY CALS raster file Type 1) into .tiff files (baseline TIFF bilevel images). All it really does is change the header. CALS only support compressed data, and only through CCITT group 4 algorithm (T6). Tiff revision 6.0 can support this same compression schem (among others), and therefore there is no need to change the data to convert from one format to the other.
CamlTemplate
'CamlTemplate' is a small template processor library for Objective Caml. It can be used to generate Web pages, scripts, SQL queries, XML documents, and other sorts of text files. It provides a versatile, easy-to-learn template syntax that supports common scripting-language constructs, while encouraging a separation between presentation logic and application logic. The supported Caml data structures accomodate lists, tables, and trees of items in a straightforward manner. CamlTemplate works well with mod_caml, supports any ASCII-compatible encoding, including UTF-8, and includes optional support for multithreading.
Canvas
Canvas is a feature-rich learning management system.

This page describes the free/libre program Canvas which you can install in your own computers. There are also online services which operate by running Canvas, but we don't recommend that way of using software. The user community can check whether to trust running a free program. There is no basis for trusting a service run by a company or by strangers. You can read more about this issue here:[1]
Caro
A gomoku-like game with addtional rules: A player can only win if: - He/she has exactly 5 continuous pieces (no more or less) - These pieces have at least a head or tail not being blocked by the opponent's piece There are 2 modes: 1 player (vs AI) and 2 players
Carom
Super fun carom board game.
Carrot
carrot is an AMQP messaging queue framework. AMQP is the Advanced Message Queuing Protocol, an open standard protocol for message orientation, queuing, routing, reliability and security. The aim of carrot is to make messaging in Python as easy as possible by providing a high-level interface for producing and consuming messages. At the same time it is a goal to re-use what is already available as much as possible. carrot has pluggable messaging back-ends, so it is possible to support several messaging systems. At the time of release, the py-amqplib based backend is considered suitable for production use. Several AMQP message broker implementations exists, including RabbitMQ, ZeroMQ and Apache ActiveMQ. You'll need to have one of these installed, personally we've been using RabbitMQ. Before you start playing with carrot, you should probably read up on AMQP, and you could start with the excellent article about using RabbitMQ under Python, Rabbits and warrens. For more detailed information, you can refer to the Wikipedia article about AMQP.
Castle Game Engine
Castle Game Engine is a cross-platform 3D and 2D game engine for Object Pascal (FPC and Lazarus). - It supports many formats for game assets, including X3D, VRML, Collada, Spine JSON, MD3 and others. - Many graphic effects are possible, including bump mapping, shadows, shaders, mirrors, screen effects. - Animation, collision detection, 3D sound and more features are available. - An extensible system of 3D objects can be used, with out-of-the-box levels, items, intelligent creatures and more. - The engine is portable -- for desktop, mobile, web plugin. The engine is also used to develop view3dscene - a full-featured X3D / VRML browser and a viewer for many other 3D and 2D game formats.
Cbase
Cbase formerly known as CFL (C Foundation Library) is a C library that simplifies systems software development on *nix systems. It includes functions for memory management, string parsing, sub-process execution, filesystem traversal, I/O, interfaces to IPC mechanisms including pseudo-terminals, shared memory, semaphores, and other facilities. It also has implementations of common dynamic data structures like linked lists, queues, stacks, and hash tables, a real-time scheduler similar to 'cron', and high-level APIs to Berkeley sockets and other networking functions. Full documentation is included. This package was formerly known as the Ping Utility Library.
Ccaudio Heckert gnu.tiny.png
GNU ccAudio is a stand-alone C++ class library and newly designated GNU package for manipulating audio data, whether on disk or in memory. GNU ccAudio offers the ability to work with audio file formats on disk by treating audio data as sequenced arrays of sample data rather than as arbitrary octets as some audio file manipulation libraries do. In addition to being audio content aware, GNU ccAudio allows header manipulation for setting things like annotation fields. GNU ccAudio is also endian aware and highly portable to both posix and win32 based systems. GNU ccAudio also offers basic audio signal processing including tone data set generation and pluggable codec operations. In the future we will provide loadable free software audio codec modules for many common audio encoding formats where not patent encumbered.
Ccl
'ccl' is the 'customizable configuration library': a collection of functions for application programmers who want to interface with user-editable configuration files containing key/value pairs. The comment, key/value, and string literal delimiters can be programatically specified at runtime. 'ccl' is designed to be simple and portable; it has a small interface consisting of five functions. It uses avl's implemenation of binary search trees for backend storage.
Ccrtp Heckert gnu.tiny.png
GNU ccRTP is a high performance threadsafe C++ RTP (Real-Time Transport Protocol) stack. It can be used to build both client and server applications for audio and visual conferencing over the Internet, for streaming of realtime data, and for next generation IP based telephony systems.
Ccscript Heckert gnu.tiny.png
GNU ccScript is a C++ class framework for creating a virtual machine execution system for use with and as a scripting/assembler language for state-transition driven realtime systems. It is the core of the scripting engine found in GNU Bayonne. It is meant to be used where step execution is important, and where each step is in response to a callback event or a state machine transition. It offers deterministic execution and low overhead so that many concurrent instances can run together. However, in addition to offering step machine execution, GNU ccScript loads all scripts into an active image at once. This is for performance, as all operations in the script system, to assure deterministic execution, are in memory. GNU ccScript also offers the ability to load new scripts en masse. Existing active sessions operate on the currently loaded scripts, and new sessions are offered the new script. When the last active session on an old script set completes, the entire script set is flushed from memory, so you can operate scripted servers without downtime for rebuilding script images in memory.
Cday-php
The CDAY Calendar Almanac displays historical anniversaries such as birthdays and general events. It displays the equivalent date in multiple calendar systems, including Hebrew, Julian, JDNs, Great Underground Empire (Zork), and Shire (Lord of the Rings). Separate command line and Web-based versions are available, along with a free library of thousands of events.
Ceegeye
Renamed jwcgi library to ceegeye, ceegeye is a C++ library for creating CGI (Common Gateway Interface) programs, xhtml bindings, javascript helpers, etc. Comes with several example programs to help you get acquainted with its usage. ceegeye is platform independent.
Cf4ocl
The C Framework for OpenCL, cf4ocl, is a cross-platform pure C object-oriented framework for developing and benchmarking OpenCL projects. It aims to:
  • Promote the rapid development of OpenCL host programs in C (with support for C++) and avoid the tedious and error-prone boilerplate code usually required.
  • Assist in the benchmarking of OpenCL events, such as kernel execution and data transfers. Profiling comes for free with cf4ocl.
  • Simplify the analysis of the OpenCL environment and of kernel requirements.
  • Allow for all levels of integration with existing OpenCL code: use as much or as few of cf4ocl required for your project, with full access to the underlying OpenCL objects and functions at all times.
Features:
  • Object-oriented interface to the OpenCL API
* New/destroy functions, no direct memory alloc/free * Easy (and extensible) device selection * Simple event dependency mechanism * User-friendly error management
  • OpenCL version and platform independent
  • Integrated profiling
  • Advanced device query utility
  • Offline kernel compiler and linker
Cgi-util
Cgi-util is a small C library for creating CGI programs for Websites. Functions are available for initialization (parsing), grabbing fields (by string, integer, double or boolean value), embedding HTML files, and more. It accepts both POST and GET request methods and has extensive error handling and support for cookies.
Cgicc Heckert gnu.tiny.png
GNU cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide Web by doing the following:
  • Parses GET and POST form data transparently.
  • Provides string, integer, floating-point and single- and multiple-choice retrieval methods for form data.
  • Provides methods for saving and restoring CGI environments to aid in application debugging.
  • Provides full on-the-fly web-authoring generation capabilities, with support for cookies.
  • Supports web-authoring file upload.
Cgipplib
'cgipplib' is a small collection of support classes used to build CGI applications.
Cgixx
The cgixx C++ CGI class library is intended as a modern Common Gateway Interface library for ISO standard C++ compilers. It is not meant to generate complex HTML forms, but rather to ensure fast and reliable conversations between a Web server's CGI and your C++ code. 'cgixx' supports standard GET, POST, HEAD, and PUT CGI methods and cookies as defined in the version 1.1 specification.
Chafa
Chafa is a command-line utility that converts all kinds of images, including animated GIFs, into ANSI/Unicode character output that can be displayed in a terminal. It is highly configurable, with support for alpha transparency and multiple color modes and color spaces, combining selectable ranges of Unicode characters to produce the desired output. The core functionality is provided by a C library with a public, well-documented API.
Cheap Threads
Cheap Threads is a collection of routines for implementing synchronous threads. It includes a scheduler and a facility for passing messages among threads. Threads may run in a round robin or according to a priority scheme. Each thread must voluntarily relinquish control from time, via an ordinary function return, so that other threads can run. Since the threads are synchronous, i.e. they don't interrupt each other, they don't need to use semaphores, mutexes, critical sections, or other facilities to keep from interfering with each other. One version of Cheap Threads is designed for embedded systems.
Checker
Checker is a debugging tool suite which is used to find memory errors at runtime. 'Checker' can help find bugs that standard tools cannot always find. The best example is memory leaks. A memory leak is a zone of memory, allocated with malloc that is not used anymore. So the memory allocated is lost. This means you program needs more memory and runs slower, since your OS might have to start swapping. It detects bad memory accesses such as: reading uninitialized memory, writing in a freed zone, writing or reading outside of a memory block, and using NULL pointers. This is particularly useful for big programs with many functions. Checker maintains bitmaps to keep track of the status of each byte of memory. The status can be writable, readable, both, or none. When memory is allocated, the new memory becomes write-only: you are not allowed to read it because it has not been initialized. But when you you write to this new block, those bytes become readable and writable. When the block is freed, the bytes become unreadable and unwritable. Red zones are unreadable and unwritable memory, so that each access to a red zone produces a warning.
Chicken
CHICKEN is a simple Scheme-to-C compiler supporting the language features as defined in the 'Revised^5 Report on Scheme'. It supports full tail-recursion and first-class continuations. The code it generates is quite portable; compiled files generated by it (including itself) should work with either no or minor changes on other systems. Linking to C modules and C library functions is straightforward, and compiled programs can easily be embedded into existing C code. The package includes many extra libraries.
Chipmunk
Chipmunk is a fast 2D rigid body physics library written in C. Supports fast circle, segment, and convex polygon collisions.
  • Designed for 2D video games.
  • Circle, convex polygon, and line segment collision primitives.
  • Multiple collision primitives can be attached to the same rigid body.
  • Fast collision detection by using a spatial hash for the broad phase.
  • Extremely fast impulse solving by utilizing Erin Catto's contact persistence algorithm.
  • Support for collision callbacks based on object types.
  • Impulses applied to contact points can be retrieved after the impulse solver has finished.
  • Several kinds of joints available.
  • C99 implementation, no external dependencies.
  • Ruby extension available.
  • Simple, read the documentation.
Chomoko
Chomoko is a C++ Message-Queue Library Enterprise, Persistent, Message-Oriented Middleware Technical Aspects:
  • No dependencies
  • Cross-Platform
  • No Server Required
  • No Install Needed
  • Network-Based
Chopstx
This library has support for threads, the USB CDC class, UARTs, GPIOs, PWMs, etc
Cl-ana
cl-ana is a library of modular utilities for reasonably high performance data analysis & visualization using Common Lisp. (Reasonably means I have to be able to use it for analyzing particle accelerator data). The library is made of various sublibraries and is designed in a very bottom-up way so that if you don't care about some feature you don't have to load it. The functionality support so far are
  • Tabular data analysis: Read-write of large datasets stored in HDF5 files are supported, along with ntuple datasets, CSVs, and in-memory data tables. Users can add their own table types by defining 4 methods and extending the table CLOS type.
  • Histograms: Binned data analysis is supported with both contiguous and sparse histogram types; functional interface is provided via map (which allows reduce/fold) and filter.
  • Plotting: Uses gnuplot for plotting dataset samples, plain-old lisp functions, histograms, strings-as-formulae, and anything else the user wishes to add via methods on a couple of generics.
  • Fitting: Uses GSL for non-linear least squares fitting. Uses plain-old lisp functions as the fit functions and can fit against dataset samples, histograms, and whatever the user adds.
  • Generic mathematics: CL doesn't provide extendable math functions, so cl-ana provides these as well as a convenient mechanism (a single function) for using these functions instead of the non-extendable versions. Already included are error propogation and quantities (values with units, e.g. 5 meters) as well as a GNU Octave-style handling of sequences (e.g. (+ (1 2) (3 4)) --> (4 6)).
Clanlib
ClanLib is a medium level development kit. At its lowest level, it provides a platform independent way of dealing with display, sound, input, networking, files, threading, etc. Beyond that ClanLib builds a generic game development framework, giving you easy handling of resources, network object replication, graphical user interfaces (GUI) with theme support, game scripting and more. It lets game developers avoid lowlevel trivials like setting up a directdraw window, sound mixing, reading image files, etc. All those things are simplified into object oriented classes and function calls. ClanLib uses a resource system to keep track of images, fonts, samples and music. It supports Targa, PCX, JPEG, PNG and BMP for images; wave files for sample; and Ogg Vorbis and MikMod for music. The resource system separates physical data formats from your code, and makes it easy to make themes and other plugins for your game. All classes in clanlib focus on making simple interfaces that are customizeable and expandable. This keeps your game code clean and simple, but still lets you to do advanced work. ClanLib is object oriented, which lets you operate at both high and low levels, minimizing redundant code but still letting you do things not supported by clanlib's high level APIs.
Classpath Heckert gnu.tiny.png
GNU Classpath (Essential Libraries for Java) is a project to create free core class libraries for use with virtual machines, compilers and tools for the Java programming language. It includes all native methods and core classes necessary for a completely functional Java runtime.s
Classpathx Heckert gnu.tiny.png
The GNU Classpath Extensions project, aka classpathx builds packages in the javax namespace. It is a companion project of the GNU Classpath project. Packages currently under development include javabeans activation framework, javabean infobus, java mail, GNU inetlib and a servlet API.
ClearSilver
ClearSilver is a high-performance, powerful, and language-neutral HTML template system. It enforces a separation between presentation code and application logic which makes writing, debugging, and maintaining Web pages easier. It can be used from C/C++, Python, Perl, Java, and Ruby.
Closures
It is a code library written in a single header file that allows to create closures in C. This is possible thanks to the use of assembly code. This allows, among other things, the creation of objects in C.
Cloudgizer
Cloudgizer is a tool for building web applications as Apache modules in C language enhanced with simple markup, with emphasis on performance, small-footprint, and more productive and safer programming in C. It combines the ease of scripting with the power of C, improving the resource utilization for cloud applications. The programmer writes simple markup language mixed with C code, which is then translated entirely into C code and compiled natively as Apache module. The resulting application is fast and takes less memory, as there are no interpreters or virtual machines. Features include easy markups to use MariaDB database, HTML input parameters, cookies, simpler outputting of web pages, files storage and manipulation, encryption, encoding, program execution, web calls, safer and easier string manipulation etc. - the list is too long to place in one sentence. Overall Cloudgizer does a lot of stuff for you that you'd otherwise need to do yourself. A memory garbage collection system and memory overwrite/underwrite detection comes in handy for program stability. The same goes for string and memory handling markups to help write applications that won't crash. Also included is an application packaging system and an automated application installer. This makes rollout of products and release cycle more manageable. Cloudgizer source files have extension .v. Cloudgizer pre-compiler (cld program) will turn your .v files into .c files, ready for compilation as pure C programs. Then, your program will be compiled and linked with Apache web server on RH/Centos systems. It links with Apache as an Apache module in a "prefork" configuration. It does the work of communicating with Apache, and it makes it easier to write high-performance/small-footprint web programs in C. Cloudgizer is not designed to be thread-safe as it works in a "prefork" configuration of Apache. You can also build command-line programs. The same program can serve as both command-line utility and a web program linked with Apache. Cloudgizer works with RedHat/Centos 7 operating system, Apache web server and mariaDB database.
Clutter
Clutter is an Open GL based interactive canvas library, designed for creating fast, mainly 2D single window applications such as media box UIs, presentations, kiosk style applications and so on. It is a core part of Gnome3.
CodePY
CodePy is a C/C++ metaprogramming toolkit for Python. It handles two aspects of native-code metaprogramming:
  • Generating C/C++ source code.
  • Compiling this source code and dynamically loading it into the Python interpreter.
  • Both capabilities are meant to be used together, but also work on their own. In particular, the code generation facilities work well in conjunction with PyCuda. Dynamic compilation and linking are so far only supported in GNU/Linux with the GNU toolchain.
CodeTools
The CodeTools project includes packages that simplify meta-programming and help the programmer separate data from code in Python. This library contains classes that allow defining simple snippets, or "blocks", of Python code, analyze variable dependencies in the code block, and use these dependencies to construct or restrict an execution graph. These (restricted) code blocks can then be executed in any namespace. However, this project also provides a Traits-event-enhanced namespace, called a "context", which can be used in place of a vanilla namespace to allow actions to be performed whenever variables are assigned or retrieved from the namespace. This project is used as the foundation for the BlockCanvas project.
Codebird-js
Use codebird-js to connect your website or JavaScript app with the Twitter API. Support for API 1.1 is baked in!
Coin
Coin is a platform-independent retained-mode 3D graphics library that uses scene-graph data structures to render real-time graphics+suitable for mostly all kinds of scientific and engineering visualization applications. It is fully compatible with Open Inventor 2.1. Coin is built on the OpenGL immediate-mode rendering library, adds abstractions for higher-level primitives, provides 3D interactivity, increases programmer convenience and productivity, and contains optimization features for fast +rendering that are transparent for the application programmer.
Collab
Multiplatform raster graphical editor enabling simultaneous drawing between users. Project including several sub projects as server, painting framework, network library, desktop application and protocol design and documentation.
CometVisu
The CometVisu is a web technology based realtime visualization for home and building automation systems like the KNX bus or OpenHAB. It can be used on a wide range of systems, ranging from smart phones over tablets up to laptops and PCs.
Commoncpp Heckert gnu.tiny.png
Common C++ is a C++ class library that abstracts various system services in a portable manner, thereby making the creation of portable applications much easier. It is portable code, with very low runtime overhead, that works well on a very wide range of target platforms and C++ compilers in everyday use. It includes the 'ape' project, which was formerly a separate package. Common C++ manages threads, synchronization, and network sockets by offering portable C++ classes that abstract these services, as well as supporting "serial" I/O, daemon specific event logging, object serialization (persistence), block/record/page/ oriented file I/O, and configuration file parsing. It also provides an inheritable class architecture for your application that exploits C++ as needed. There are two source trees: one for "POSIX" systems such as GNU/Linux and the Hurd, the other for the Windows API. This makes Common C++ portable at the source level, as the two trees implement a functionally similar class interface. Commoncpp also includes uCommon C++, a lightweight C++ library with features such as rtti and exception handling removed. It is intended for programs linking to C libraries and not the standard C++ library.
Conexus
A generalized C++ I/O library that includes support for
  • BSD sockets (IPv4, IPv6, TCP, UDP)
  • OpenSSL secure streams
  • NSPR sockets
  • NSS secure streams
  • Kernel message queues
  • Files and pipes
  • Serial/tty
  • Gtkmm widgets
  • et. al.
Confuse
'libConfuse' is a configuration file parser library. It supports sections and (lists of) values (strings, integers, floats, booleans or other sections), as well as other features (such as single/double-quoted strings, environment variable expansion, functions and nested include statements). It is easy to add configuration file capability to a program via a simple API. 'libConfuse' is not meant to be a configuration file parser library with a gazillion features; rather, it aims to be easy to use and quick to integrate with your code. 'libConfuse' was formerly called libcfg; the name was changed to avoid confusion with other similar libraries.
Conversations.im
Conversations is a Jabber/XMPP client for Android 5.0+ smartphones that has been optimized to provide a unique mobile experience. A port to iOS is envisaged in the medium-term future. Conversations allows you to easily send images, show if your contact has received and read your message, permit dynamic history and handles multiple devices (especially sync with desktop clients), allow you to create group chats and support one-to-one Audio/Video calls ! And thanks to the XMPP Protocol (that is a push protocol) you battery life is safe. Conversations also does not require a Google Account or specifically Google Cloud Messaging (GCM). Using the XMPP federated protocol, you can freely choose a trustworthy server (your own if you want) for yourself while still chatting with contacts that are using other servers. The communication between Conversations and the XMPP server as well as the communication between the individual servers is TLS encrypted. This way, not only your messages are safe but more importantly it is impossible for an outside attacker to intercept your meta data (with whom you are chatting) without attacking your server first. On top of that, Conversations gives you the choice to enable one of two end-to-end encryption mechanisms. The first one is OMEMO, a state of the art multi-end-to-multi-end encryption method which is very easy to setup and gives you forward secrecy and plausible deniability. For backwards compatibility reasons Conversations also supports OpenPGP.
Coolkey
Linux Driver support for the CoolKey and Common Access Card (CAC) smart card security keys used in a Public Key Infrastructure (PKI). The libpkcs11 module allows use of Smart Cards in applications that use mozilla Network Security Services (NSS).
Corais
The Corais platform is based on Open Atrium, which is itself based on Drupal. It is used for organizing collaborative projects.
Coronet
The coronet library implements an epoll and coroutine based library that allows for async operations over certain kinds of files (any file that supports poll(2) and the O_NONBLOCK fcntl(2) flag can be hosted - like sockets, pipes, ...). The coronet library uses the epoll support available in the 2.6 series of Linux kernels, and the libpcl library for coroutine support.
Couchdb-python
This is a Python library for CouchDB. It provides a convenient high level interface for the CouchDB server. This package currently encompasses four primary modules:
  • couchdb.client: the basic client library
  • couchdb.design: management of design documents
  • couchdb.schema: a higher-lever API for mapping between CouchDB documents and Python objects
  • couchdb.view: a CouchDB view server that allows writing view functions in Python
CrackLib
A password checking library.
CreoleParser
Creoleparser is a Python library for converting Creole wiki markup for output on the web. It is a full implementation of the Creole 1.0 specification and aims to follow the spec exactly.
Crypton
Crypton is a software framework for remote storage, where the remote server has no knowledge of what is being stored. The content is encrypted client-side before it reaches the server. The framework is designed to be easy for application developers to use, without needing experience in encryption.
Cssutils
Partly implement the DOM Level 2 CSS interfaces. Additional some cssutils only convenience and (hopefully) more pythonic methods are integrated.
CsvUtils
Transformation utilities for csv (or csv-like) generated rows. The standard csv module is very useful for parsing tabular data in CSV format. Typically though, one or more transformations need to be applied to the generated rows before being ready to be used; for instance "convert the 3rd column to int, the 5th to float and ignore all the rest". This module provides an easy way to specify such transformations upfront instead of coding them every time by hand. Two classes are currently available, SequenceTransformer and MappingTransformer, that represent each row as a list (like csv.reader) or dict (like csv.DictReader), respectively.
Ctalk
Ctalk provides object oriented features, like classes, methods, and inheritance, to C programs. Programs can use only a few object oriented features, or they can be written almost completely with ctalk objects.
Ctalk includes the ctalk interpreter, the C99 compliant preprocessor, ctpp, and the ctalk run time library, which provides objects and methods with support for run time events.
CuTest
'CuTest' is a unit tesing library for the C language whose tests ensure that your code keeps working as you make small changes in it. They tell you which subroutine is broken, so you can more quickly figure out what's broken. You can also keep adding to your old code without worrying about bad interactions: if there is a bad interaction the tests will catch it. Finally, if every time a bug is reported you write a quick test, you will guarantee that the bug never reappears.
Cuba
The Cuba library offers a choice of four independent routines for multidimensional numerical integration: Vegas, Suave, Divonne, and Cuhre. They work by very different methods, first three are Monte Carlo based. All four have a C/C++, Fortran interface and can integrate vector integrands. Their invocation is very similar, so it is easy to substitute one method by another for cross-checking. For further safeguarding, the output is supplemented by a chi-square probability which quantifies the reliability of the error estimate.
Curl
cURL is a command line tool for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, file transfer resume, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), proxy tunneling, and so on.

llibcurl

The client-side URL transfer library that the cURL command line tool uses to transfer data. In some distributions, this library is packaged separately.
Cuteframework
Cute Framework (CF) is the cutest framework available for making 2D games in C++. It provides a portable foundational layer for building 2D games in C/C++ without baggage, gnarly dependencies, or cryptic APIs. CF runs almost anywhere, including Windows, MacOS, iOS, Android, Linux, and more!
CwMtx
'CwMtx' provides the matrix and vector operations used in engineering and science problems, particularly the quaternion class which implements quaternion math. Quaternions are useful for attitude determination in 3D space because they do not suffer from singularities. Furthermore, successive rotations and transformations of vectors can be accomplished by simple quaternion multiplication. Attitude dynamics can be expressed in a very compact form using quaternions.
Cz2cz
'cz2cz' is a set of tools for converting texts between the various charset encodings that are used in the Czech language. The most important feature is autodetection of the most-used encodings (ISO-8859-2, Win-1250, cp850, and Kamenickych). It also lets you convert characters with diacritics to TeX (LaTeX) conventions. Additionally, you can use the interactive part of cz2cz tools for quick manual complementing of diacritics to texts.
D3.js
JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG and CSS. D3's emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
DFASDL
The DFASDL is a language based upon XML Schema that can be used to describe data formats and additionally the semantics of it. It is used by the Tensei-Data project to describe data structures and to derive mappings and transformation functions between different structures automatically. The core repository contains the core module which consists of the xschema definition (xsd) and the official specification. The documentation is published using github pages and is available online at: https://dfasdl.github.io/dfasdl-core/ This project is licensed under Creative Commons Attribution 4.0 International Public License (CC BY 4.0) and the Mozilla Public License 2.0. See LICENSE for details.
DFASDL Utils
The DFASDL is a language based upon XML Schema that can be used to describe data formats and additionally the semantics of it. It is used by the Tensei-Data project to describe data structures and to derive mappings and transformation functions between different structures automatically. The utils module provides helpful functions and data types for programming. It depends on the dfasdl-core package. The api documentation is published using github pages and is available online at: https://dfasdl.github.io/dfasdl-utils/
DIDKit
Issue and verify W3C Verifiable Credentials with Decentralized Identifiers.
DMBCS Embedded C++ HTTP Server
At DMBCS we like to do things in certain ways: all our code takes the form of C++17 (or, lately, C++20) libraries built with GNU autotools, providing user interaction through HTTP/HTML5/CSS3/EcmaScript web interfaces. It is thus a common requirement that our code links against a library of classes which implement the HTML paradigm and provide the TCP/IP plumbing to allow applications to easily take the form of self-contained web servers. At DMBCS we use NGINX at top-level to coordinate the set of such micro-servers which make up a complete web site. The library has been under constant development for over twenty years (yes, really), and in heavy production use. The code-base hasnʼt quite been brought up to our expectations of full production-quality code yet (it has always been a project on the side of other things), and so we still regard it as beta-quality software. We expect this situation to change in the near future.
DSSI
DSSI is an API for audio plugins, with particular application for software synthesis plugins with native user interfaces. DSSI is an open specification developed for use in GNU/Linux audio applications, although it is portable to other platforms. It may be thought of as LADSPA-for-instruments, or something comparable to VSTi. This package contains the header file required for compiling hosts and plugins.
DUNE-Common
DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations (PDEs) with grid-based methods. It supports the easy implementation of methods like Finite Elements (FE), Finite Volumes (FV), and also Finite Differences (FD). DUNE is free software licensed under the GPL (version 2) with a so called "runtime exception" (see license). This licence is similar to the one under which the libstdc++ libraries are distributed. Thus it is possible to use DUNE even in proprietary software. The underlying idea of DUNE is to create slim interfaces allowing an efficient use of legacy and/or new libraries. Modern C++ programming techniques enable very different implementations of the same concept (i.e. grids, solvers, ...) using a common interface at a very low overhead. Thus DUNE ensures efficiency in scientific computations and supports high-performance computing applications. DUNE is based on the following main principles:
  • Separation of data structures and algorithms by abstract interfaces.- This provides more functionality with less code and also ensures maintainability and extendability of the framework.
  • Efficient implementation of these interfaces using generic programming techniques.
  • Static polymorphism allows the compiler to do more optimizations, in particular function inlining, which in turn allows the interface to have very small functions (implemented by one or few machine instructions) without a severe performance penalty. In essence the algorithms are parametrized with a particular data structure and the interface is removed at compile time. Thus the resulting code is as efficient as if it would have been written for the special case.
  • Reuse of existing finite element packages with a large body of functionality.- In particular the finite element codes UG, ALBERTA, and ALUGrid have been adapted to the DUNE framework. Thus, parallel and adaptive meshes with multiple element types and refinement rules are available. All these packages can be linked together in one executable.
  • The framework consists of a number of modules which are downloadable as separate packages. The current core modules are:
  • dune-common- contains the basic classes used by all DUNE-modules. It provides some infrastructural classes for debugging and exception handling as well as a library to handle dense matrices and vectors.
  • dune-grid- is the most mature module. It defines nonconforming, hierarchically nested, multi-element-type, parallel grids in arbitrary space dimensions. Graphical output with several packages is available, e.g. file output to IBM data explorer and VTK (parallel XML format for unstructured grids). The graphics package Grape has been integrated in interactive mode.
  • dune-istl (Iterative Solver Template Library)- provides generic sparse matrix/vector classes and a variety of solvers based on these classes. A special feature is the use of templates to exploit the recursive block structure of finite element matrices at compile time. Available solvers include Krylov methods, (block-) incomplete decompositions and aggregation-based algebraic multigrid.
DUNE-Grid
DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations (PDEs) with grid-based methods. It supports the easy implementation of methods like Finite Elements (FE), Finite Volumes (FV), and also Finite Differences (FD). DUNE is free software licensed under the GPL (version 2) with a so called "runtime exception" (see license). This licence is similar to the one under which the libstdc++ libraries are distributed. Thus it is possible to use DUNE even in proprietary software. The underlying idea of DUNE is to create slim interfaces allowing an efficient use of legacy and/or new libraries. Modern C++ programming techniques enable very different implementations of the same concept (i.e. grids, solvers, ...) using a common interface at a very low overhead. Thus DUNE ensures efficiency in scientific computations and supports high-performance computing applications. DUNE is based on the following main principles:
  • Separation of data structures and algorithms by abstract interfaces.- This provides more functionality with less code and also ensures maintainability and extendability of the framework.
  • Efficient implementation of these interfaces using generic programming techniques.
  • Static polymorphism allows the compiler to do more optimizations, in particular function inlining, which in turn allows the interface to have very small functions (implemented by one or few machine instructions) without a severe performance penalty. In essence the algorithms are parametrized with a particular data structure and the interface is removed at compile time. Thus the resulting code is as efficient as if it would have been written for the special case.
  • Reuse of existing finite element packages with a large body of functionality.- In particular the finite element codes UG, ALBERTA, and ALUGrid have been adapted to the DUNE framework. Thus, parallel and adaptive meshes with multiple element types and refinement rules are available. All these packages can be linked together in one executable.
  • The framework consists of a number of modules which are downloadable as separate packages. The current core modules are:
  • dune-common- contains the basic classes used by all DUNE-modules. It provides some infrastructural classes for debugging and exception handling as well as a library to handle dense matrices and vectors.
  • dune-grid- is the most mature module. It defines nonconforming, hierarchically nested, multi-element-type, parallel grids in arbitrary space dimensions. Graphical output with several packages is available, e.g. file output to IBM data explorer and VTK (parallel XML format for unstructured grids). The graphics package Grape has been integrated in interactive mode.
  • dune-istl (Iterative Solver Template Library)- provides generic sparse matrix/vector classes and a variety of solvers based on these classes. A special feature is the use of templates to exploit the recursive block structure of finite element matrices at compile time. Available solvers include Krylov methods, (block-) incomplete decompositions and aggregation-based algebraic multigrid.
DUNE-ISTL
DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations (PDEs) with grid-based methods. It supports the easy implementation of methods like Finite Elements (FE), Finite Volumes (FV), and also Finite Differences (FD). DUNE is free software licensed under the GPL (version 2) with a so called "runtime exception" (see license). This licence is similar to the one under which the libstdc++ libraries are distributed. Thus it is possible to use DUNE even in proprietary software. The underlying idea of DUNE is to create slim interfaces allowing an efficient use of legacy and/or new libraries. Modern C++ programming techniques enable very different implementations of the same concept (i.e. grids, solvers, ...) using a common interface at a very low overhead. Thus DUNE ensures efficiency in scientific computations and supports high-performance computing applications. DUNE is based on the following main principles:
  • Separation of data structures and algorithms by abstract interfaces.- This provides more functionality with less code and also ensures maintainability and extendability of the framework.
  • Efficient implementation of these interfaces using generic programming techniques.
  • Static polymorphism allows the compiler to do more optimizations, in particular function inlining, which in turn allows the interface to have very small functions (implemented by one or few machine instructions) without a severe performance penalty. In essence the algorithms are parametrized with a particular data structure and the interface is removed at compile time. Thus the resulting code is as efficient as if it would have been written for the special case.
  • Reuse of existing finite element packages with a large body of functionality.- In particular the finite element codes UG, ALBERTA, and ALUGrid have been adapted to the DUNE framework. Thus, parallel and adaptive meshes with multiple element types and refinement rules are available. All these packages can be linked together in one executable.
  • The framework consists of a number of modules which are downloadable as separate packages. The current core modules are:
  • dune-common- contains the basic classes used by all DUNE-modules. It provides some infrastructural classes for debugging and exception handling as well as a library to handle dense matrices and vectors.
  • dune-grid- is the most mature module. It defines nonconforming, hierarchically nested, multi-element-type, parallel grids in arbitrary space dimensions. Graphical output with several packages is available, e.g. file output to IBM data explorer and VTK (parallel XML format for unstructured grids). The graphics package Grape has been integrated in interactive mode.
  • dune-istl (Iterative Solver Template Library)- provides generic sparse matrix/vector classes and a variety of solvers based on these classes. A special feature is the use of templates to exploit the recursive block structure of finite element matrices at compile time. Available solvers include Krylov methods, (block-) incomplete decompositions and aggregation-based algebraic multigrid.
Dajax
Dajax, the new easy to use ajax library for your django projects. All the power of ajax now available for django.
Darkvale Technologies Assistant
A program that executes natural language directives without machine learning. Its capabilities are meant to be extended by each user depending on their needs. The interaction takes the form of a dialogue between the assistant and the user. The software also allows the generation of programs from English directives.
Data Mining Template Library (DMTL)
DMTL (Data Mining Template Library) - A generic C++ based library for mining structured patterns such as sets, sequences, trees and graphs. The library provides implementation of popular frequent pattern mining algorithms.
DataMelt
DataMelt (DMelt) is an environment for numeric computation, statistical analysis, data mining, and graphical data visualization on the Java platform. This Java multiplatform program is integrated with a number of scripting languages: Jython (Python), Groovy, JRuby, BeanShell. DMelt can be used to plot functions and data in 2D and 3D, perform statistical tests, data mining, numeric computations, function minimization, linear algebra, solving systems of linear and differential equations. Linear, non-linear and symbolic regression are also available. Neural networks and various data-manipulation methods are integrated using powerful Java API. Elements of symbolic computations using Octave/Matlab scripting are supported.
Database Template Library
The Database Template Library makes ODBC recordsets look just like STL containers. Users move through containers using standard STL iterators, and if they insert(), erase(), or replace() records in the containers, changes are automatically committed to the database. Since 'dtl' complies with STL iterator and container standards, users can plug abstractions into a range of STL algorithms for data storage, searching, and manipulation. The C++ reflection mechanism used to bind to database tables lets users add generic indexing and lookup properties to the containers without requiring special code. Since the code takes full advantage of the template mechanism, 'dtl' adds minimal overhead (compared with using raw ODBC calls).
DataparkSearch
DataparkSearch is an Internet and Intranet search engine tool. Key features:
  • Support for http, https, ftp, nntp and news URL schemes.
  • htdb virtual URL scheme support for indexing SQL databases.
  • text/html, text/xml, text/plain, audio/mpeg (MP3) and image/gif mime types built-in support.
  • External parsers support for other document types.
  • Ability to index multilangual sites using content negotiagion.
  • Searching all of the word forms using ispell affixes and dictionaries.
  • Stopwords and synonyms lists.
  • Boolean query language support.
  • Results sorting by relevancy, popularity rank, last modified time and by importance (a multiplication of relevancy and popularity rank).
  • Various character sets support.
  • Accent insensitive search.
  • Phrases segmenting for Chinese, Japanese, Korean, and Thai.
  • mod_dpsearch - search module for Apache web server.
  • Internationalized Domain Names support
Date Calc
The Date::Calc package consists of a C library and a Perl module (which uses the C library internally) for all kinds of date calculations based on the Gregorian calendar (the one used in all Western countries today), thereby complying with all relevant norms and standards: ISO/R 2015-1971, DIN 1355 and, to some extent, ISO 8601 (where applicable). The package is designed as a toolbox, not a ready-made application. It provides extensive documentation and examples of use, multi-language support, and special functions for business needs. The C library is specifically designed so that it can be used stand-alone, without Perl. Version 5.0 features date objects with overloaded operators, and a set of modules for calculations which take legal holidays into account (both in Perl only).
Dbg
The dbg library is a set of C++ utilities to facilitate modern debugging idioms. It has been designed to support defensive programming techniques in modern C++ code. It integrates well with standard library usage and has been carefully designed to be easy to write, easy to read and very easy to use. 'dbg' provides various constraint checking utilities together with an integrated error logging facility. These utilities can be enabled and disabled at runtime, and in release builds, dbg library use can be compiled away to nothing.
Dbug
dbug is a macro-based library to see program flow, variables, timings, errors, warnings, etc.
Dead Souls
The Dead Souls MUD Library is a multi-user, text based adventure creation system. It lets you build adventure games which can be played over the Internet simultaneously by many people. It is for both experienced and beginner MUD admins. It includes an easy-to-use creation system.
Deal.II
'deal.II' is a software library that supports finite element computations on adaptive 1d, 2d, and 3d meshes. It comes with mesh handling, supports a large number of finite elements, can input and output in various formats, and has a large collection of support classes. The handling of different space dimensions is hidden behind C++ templates; this lets users treat problems in different space dimensions simultaneously within the same program, and to switch dimensions simply by recompilation. This means users can test their application in 2d, and then run production runs in 3d without having to debug the program again. It comes with full documentation of all APIs and 18 example programs showing how to build finite element programs from simple to very complex. The documentation now runs about 4000 pages.
Debea Database Library
Debea is an Object Relational Mapping library (ORM) for C++. It allows you to map C++ objects to relations in various SQL and file databases.
Decibel
Decibel is a realtime communication framework based on Telepathy. It is meant to integrate VoIP, text chat, CTI (computer telephone integration), and similar applications into the user's desktop. Decibel consists of a desktop neutral policy daemon called Houston and desktop specific components for user interaction.
Degate
Degate is a tool that aids VLSI- reverse engineering of digital logic in integrated circuits (ICs). Degate helps you to explore layered images from ICs. It matches standard cells on the imagery given by graphical templates and to some degree degate matches vias and wires and assists you in tracing circuit paths and in reconstructing the net list. Degate is not a completely automatic analyzing tool. Degate helps you with some automation in your manual chip reverse engineering process.
Deliantra Archetypes
Deliantra is a free software cooperative multiplayer RPG and adventure game, much similar in style (and setting) to nethack and moria, but is fully graphical and runs in realtime. It is set in a classical medieval environment with ubiquitous weapons and magic. What makes this game special is its depth and the sheer amount of maps to explore: The world is vast (multiple continents, over 4000 manually designed maps, hundreds of monsters and countless variations of generated content) and complex (16 unique races, 17 classes, 40 skills and hundreds of spells to choose from and combine with each other), so there is a lot to explore. The game play is open and sets very few limits on character development. And of course a lot of fun is to be had by playing cooperatively with others exploring the same world.
DemocracyOS
DemocracyOS is an online space for deliberation and voting on political proposals. It is a platform for a more open and participatory government. The software aims to stimulate better arguments and come to better rulings, as peers.
Detect
'detect' can be used in any program that needs hardware detection features such as configuration tools, installation programs, etc. You can use it to detect sound cards, CPUs, networking devices, webcams, joysticks, etc. It scans the IDE, PCI, ISA, USB, and SCSI busses to find hardware.
Developer's Image Library
Developer's Image Library (DevIL) is a cross-platform image library utilizing a simple syntax to load, save, convert, manipulate, filter, and display a variety of images with ease.
Device-Cdio
Device::Cdio is a interface to the GNU CD Input and Control library (libcdio) and it's ISO 9660 library (libiso9660) which are written in C. The library encapsulates CD-ROM reading and control and ISO 9660 handling. Perl programs wishing to be oblivious of the OS- and device-dependent properties of a CD-ROM can use this library.
Dezyne
The Dezyne language has formal semantics expressed in mCRL2 developed at the department of Mathematics and Computer Science of the Eindhoven University of Technology (TUE). Dezyne requires that every model is finite, deterministic and free of deadlocks, livelocks, and contract violations. This achieved by means of the language itself as well as by builtin verification through model checking. This allows the construction of complex systems by assembling independently verified components.
DiVinE
DiVinE is an extensible system for distributed formal verification of concurrent systems. DiVinE as such can be viewed from two very different points of view: as a tool for distributed state space analysis and LTL model-checking, and as a development and fast prototyping environment.
DiaCanvas2
DiaCanvas2 is a flexible diagramming widget based on GnomeCanvas. It uses its own constraint solver to maintain object relationships. It is Model/View/Controller-based and makes full use of GnomeCanvas' features, and can rotate/shear/resize/etc objects without recalculating shapes. It includes export facilities for both GnomePrint and SVG. Except for its look and feel, DiaCanvas is not related to the diagramming tool DIA.
Diet libc
Diet libc is a C library that is optimized for small size. It has has the bare minimum of files: the system call wrappers (including socket stuff) and malloc, etc. to create small statically linked binaries under Sparc, x86, PPC, ARM, MIPS, and Alpha-Linux.
Dimnum
The dimnum library contains templated C++ classes for storage and manipulation of dimensionful numbers, as encountered in physics and engineering. Since it uses templates, there is no size or speed penalty with respect to normal variables (depending on compiler optimisations).
Dinrhiw2
Primary aim of the dinrhiw is to be linear algebra library and machine learning library. For this reason dinrhiw implements PCA and neural network codes. Currently, the neural network code only supports:
  • hamiltonian monte carlo sampling (HMC) and simple bayesian neural network
  • second order L-BFGS search
  • gradient descent (backpropagation)
As well as mathematical routines for arbitrary precision mathematics, hermite curve interpolation and many other things.
DirectFB
'DirectFB' is a thin library that provides developers with hardware graphics acceleration, input device handling and abstraction, an integrated windowing system with support for translucent windows and multiple display layers on top of the framebuffer device. It is a complete hardware abstraction layer with software fallbacks for every graphics operation that is not supported by the underlying hardware.
Discourse
Discourse is a Web-based discussion platform designed to be flexible, stable, and modern.
Dmbcs-kraken-api
Kraken is a virtual currency exchange, which also handles fiat (real) currency amounts. Subscribers to the service have an account with associated funds attached. The web site (www.kraken.com) provides the user with an account overview (i.e. current balance), currency-pair exchange market status (history of prices and current order book), and the means to place entries on the order book; bids for a currency which can be immediately met with orders to sell the currency are automatically transacted, with the Kraken site taking a small and variable cut of the deal. Kraken also provide a stateless, web-based API by which all of the above actions can be undertaken programmatically. This is fully open, and described at the Kraken exchange web site. The DMBCS client-side C++ library implements all features of the API in a fully encapsulated C++ class, allowing users to implement algorithmic or robotic trading and dynamic exchange modelling.
Dnote
A simple a command line note-taking software that supports multi-device sync and a web interface. It is popular for building a personal knowledge base for its simplicity.
Doodle
Doodle quickly searches the documents on a computer, then builds an index using meta-data contained in the documents and allows fast searches on the resulting database. It supports approximate searches and full-text indexing, and comes with a library for accessing the doodle database and making it easy to integrate doodle's functionality into other applications or user interfaces. Users can keep the doodle database always up-to-date by updating the database on-the-fly by using 'doodled' and 'fam' whenever files on the system change. They can also build one doodle database for all users on a multi-user system without compromising user privacy.
DrMario (Uzebox)
Implementation of the DrMario game to run on the Uzeboz. This version of the game has 1 and 2 player modes.
Duktape
Duktape is easy to integrate into a C/C++ project: add duktape.c, duktape.h, and duk_config.h to your build, and use the Duktape API to call ECMAScript functions from C code and vice versa.

Main features

  • Embeddable, portable, compact: can run on platforms with 160kB flash and 64kB RAM
  • ECMAScript E5/E5.1, with some semantics updated from ES2015+
  • Partial support for ECMAScript 2015 (E6) and ECMAScript 2016 (E7), see Post-ES5 feature status and kangax/compat-table
  • ES2015 TypedArray and Node.js Buffer bindings
  • CBOR bindings
  • Encoding API bindings based on the WHATWG Encoding Living Standard
  • performance.now()
  • Built-in debugger
  • Built-in regular expression engine
  • Built-in Unicode support
  • Minimal, retargetable platform dependencies
  • Combined reference counting and mark-and-sweep garbage collection with finalization
  • Coroutines
  • Property virtualization using a subset of ECMAScript ES2015 Proxy object
  • Bytecode dump/load for caching compiled functions
  • Distributable includes an optional logging framework, CommonJS-based module loading implementations, etc
  • Liberal license (MIT)
Duro
The goal of the Duro project is to create a library which is as compliant with the proposed database language D as it is possible for a C library. This library is supposed to serve as a basis for a truly relational database management system (TRDBMS).
  • Tuples and tables (relvars).
  • Relational algebra: RENAME, select (restrict), project, EXTEND, JOIN, SEMIJOIN, UNION, INTERSECT, MINUS, SEMIMINUS, SUMMARIZE PER, DIVIDEBY PER, WRAP, UNWRAP, GROUP, and UNGROUP.
  • Virtual tables (views).
  • Locking and nested transactions.
  • Duro tables are true sets -- uniqueness of tuples (rows) is always enforced. When creating real tables, at least one candidate key must be supplied. A candidate key may be empty.
  • User-defined types (including type constraints) and operators.
  • Declarative integrity.
  • Tcl interface, including support for relational expressions in Tutorial D syntax and operators implemented in Tcl ("stored procedures").
  • Simple GUI admin tool.
xs Duro is implemented on top of the Berkeley DB database library.
DynObj
DynObj is a C/C++ library for cross compiler plugin libraries. It enables exposing and sharing run-time type information for C++ classes. This allows for loading binary plugins, and interacting with them in type safe ways:
  • A program working with sound can install additional effect filters while running.
  • A file manager can add plugins that handles new archive types.
  • Or it can add file popup menu handlers, or toolbar commands from plugins.
  • A text editor can add an editing mode (say Python editing) when the text editor is running.
  • So, plugins can make a static application a lot more dynamic. And DynObj does this in a generic, type safe way.
EHS
The Embedded HTTP Server (EHS) is a C++ class which can be inherited from to give HTTP server functionality to any class or application. It supports form data via POST or GET, and uploads via multi-part form attachments. It is useful for adding Web-based administration or statistics to any C++ program.
EMAN
EMAN is a scientific image processing suite designed mainly to perform single-particle reconstructions of individual molecules. In this method, a transmission electron microscope is used to collect images of thousands of individual molecules. A complex series of algorithms then turns the individual 2D images into a high-resolution 3D structure of the molecule. The core of EMAN is a C++ based scientific image processing library.
EMI FileUpload Library
eMI FileUpload Library is a simple cross-platform object-oriented PHP library intended to handle uploaded files. The library is essentially a wrapper around the cumbersome superglobal variable $_FILES. The superglobal is never modified by the library and retains its values until the script terminates.
EMI NumberToWord Library
eMI NumberToWord Library is a simple library that converts a number represented in digits (e.g. 500) into the equivalent in words (e.g. five hundred).
EMI TOC Generator
eMI TOC Generator is a simple cross-platform library that dynamically generates a table of contents (TOC) in an HTML 5 page on rendering.
EMI User Controls Library
eMI User Controls Library is a library for the .NET Framework that provides a closeable tab item for the tab control of the Windows Presentation Framework (WPF) and a file system browser window.
EMI eMailer
eMI eMailer is a simple cross-platform object-oriented SMTP client implemented in PHP. It is primarily intended to transfer MIME e-mail messages generated by PHP on the same host as the SMTP server of the sender.
ETS- Enthought Tool Suite
The Enthought Tool Suite (ETS) is a collection of components developed by Enthought and our partners, which we use every day to construct custom scientific applications. This project is a "meta-project wrapper" that bundles up all the other projects in ETS.
EXcavator
eXcavator is an XML query processing class for PHP. Queries are constructed using a small query language, and query results are returned as either loosely formed or strict XML, in formats suitable for both text and HTML. One of eXcavator's most useful features is its facility to insert query results into user-defined templates, which allow for a free interpolation of user text and the data extracted by the query. It runs on top of XML_PullParser, but uses a completely independent API. However, it does offer opportunities to use the facilities of both packages side by side for programmers familiar with both.
EZWGL
EZwgl is a library of C functions, based on Xlib, whose purpose is to provide a tool that simplifies the task of graphical user interface (GUI) programming under the X window system environment. It is best for building a nice graphical user interface for an application, or for graphics programming under the X window system programming environment. EZWGL supports application resources, geometry management and drag-and-drop. It also includes about 100 OpenGL(TM)-like graphics functions and procedures that provides high level support for 3D graphics, including features like zbuffer, double-buffer and lighting.
Easyval
'Easyval' is a basic implementation of interval arithmetic that uses hardware doubles as interval bounds. The first goal of this library is to respect the interval arithmetic containment criterium.
Ecc
'ecc' is a class library for working with elliptic curves in cryptography. It consists of a set of TCP/IP client server examples for digital signature, encryption, and key exchange (such as Diffie-Hellman key exchangei, Massey Omura encryption, or DSA style signatures in the elliptic curve case).
Edlib
Lightweight, super fast C/C++ library for sequence alignment using edit distance.
Edma Heckert gnu.tiny.png
EDMA is library that implements several object oriented features in plain C. The GNU/EDMA system is a framework designed to provide object oriented programming and component based features to generic applications, despite of the underlying programming language. The system is physically a library plus a set of language bindings that provides a development environment and a set of functions for object-oriented programming and component-based development. Its name is an acronym for Entorno de Desarrollo Modular y Abierto.
Efl
The Enlightenment Foundation Libraries (EFL) is a set of libraries providing building blocks used in the Enlightenment window manager. This package contains the Doxygen-generated HTML documentation and examples for the API of the EFL.
Electron
The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on Node.js and the Chromium Content Module (via libchromiumcontent).
Elektra
Elektra is a configuration management framework, it mounts configuration files into global keys database creating sort of virtual file system for easier access, changing and locating the configuration parameters. A wide range of plugins is available used to specify format (JSON, INI, XML and others), default settings , validation, etc. Use High-level API to elektrify your application for easier maintenance and generate type-safe configuration access code based on same specification used for validation. The core is the library implemented in C, bindings to another languages are provided.
Element Tree
The Element type is a simple but flexible container object, designed to store hierarchical data structures, such as simplified XML infosets, in memory. The element type can be described as a cross between a Python list and a Python dictionary. The ElementTree wrapper type adds code to load XML files as trees of Element objects, and save them back again. The Element type is available as a pure-Python implementation for Python 1.5.2 and later. A C implementation is also available, for use with CPython 2.1 and later. The core components of both libraries are also shipped with Python 2.5 and later.
Elib
Elib is designed as a collection of useful routines that don't have to be reinvented each time a new program is written. It contains code for container data structures, minibuffer and string handling functions missing in standard GNU Emacs, and routines for handling lists of cookies in a buffer.
  • Elib has been decommissioned as a separate package since its useful functions have long since been included in Emacs.
Emacs Common Lisp
Emacs Common Lisp is an implementation of Common Lisp, written in Emacs Lisp. The implementation provides a Common Lisp environment, separate from Emacs Lisp, running in Emacs. It does not intend to extend Emacs Lisp with Common Lisp functionality; however, Emacs Lisp functions can call Common Lisp functions and vice versa.
Enca
'Enca' (Extremely Naive Charset Analyser) detects the encoding of text files, based on knowledge of their language. It can also convert them to other encodings, letting you to recode files without knowing their current encoding. It supports most of Central and East European languages, and a few Unicode variants, independently of language.
Encuestame
Encuestame has been developed by @jotadeveloper and @dianmora since mid-2008 and was created to fill empty space in the survey online world, there are only a few options ready to use and others only under expensive rates, is the time for an open source option. Along the last years we have been adding new features, being able to connect Encuestame with the most famous Social Networks, trying to give you a project easy to be installed, to be usable and to be easy manageable. In mid-2011 we release the first version of Encuestame, since then we managed to make usable Encuestame in the new mobile world. Also we've enjoyed the support of companies like Atlassian and Jetbrains that have offered pen source licenses to our team. The history doesn't finish here, it will have more features coming soon.
Enlightenment
Enlightenment is a themeable, fast, flexible, and powerful window manager that runs on everything from small mobile devices to powerful multi-core desktops. The Enlightenment Foundation Libraries (EFL) comprise a suite of libraries to help you create beautiful user interfaces.
EnthoughtBase
* " This package has now been DEPRECATED since ETS 4.0. These functionalities have now been moved into other projects: 'etsconfig' is now part of traits, 'logger' is now part of apptools and 'util' is now part of pyface, and other packages. The etsproxy project allows you to run code that relied on this package or to convert source code to the new namespace with the 3to4 utility. " The EnthoughtBase project includes a few core packages that are used by many other projects in the Enthought Tool Suite:
  • etsconfig: Supports configuring settings that need to be shared across multiple projects or programs on the same system. Most significant of these is the GUI toolkit to be used. You can also configure locations for writing application data and user data, and the name of the company responsible for the software (which is used in the application and user data paths on some systems).
  • logger: Provides convenience functions for creating logging handlers.
  • util: Provides miscellaneous utility functions.
Epeios
The purpose of this project was to develop a framework to make powerful, reliable software components that could be used whatever the target platform, the environment or the interface in use. The project source code currently contains useful applications and undocumented related libraries. Among all the software components available, there is, for example, MMUAq, an application which allows to handle several mail accounts as a global one. As each one, it is based on the Epeios framework.
Epeios CGI libraries
This project is dedicated to portable libraries and software dealing with CGIs (Common Gateway Interface). It was a sub-project of the Epeios project before it was merged into the main project.
Ephemeris
'Ephemeris' reads, writes, and interpolates the JPL planetary ephemeris data that is the world standard planetary dataset. It should compile on any machine that uses gcc and supports IEEE floating point arithmetic, and has been tested under GNU/Linux. It uses an included library, gnulliver.c, that automatically handles integer and floating point Big-endian/Little-endian byte swapping to match Big-endian/network order on any computer. gnulliver.c can be used separately under the LGPL 2.1. This is a redesign of JPL's original FORTRAN code, available on JPL's FTP website (ftp://ssd.jpl.nasa.gov/pub/eph/export/), with some added flexibility (including patching some inconsistencies in the original JPL data files). 'Ephemeris' is not associated with JPL or NASA, but just uses JPL's data.
Epix
'ePiX', a collection of batch programs, creates mathematically accurate fgures, plots, and animations containing LaTeX typography. The input syntac is easy to learn. The output -- vector image files or LaTeX picture-like environments -- is expressly designed for use with LaTeX.
Epto
'epto' is a library for industrial strength shell script programming with sh. It features convenient error handling, tracing, logging, option handling, documentation template, process level transaction safety (sort of), and more. It takes less than five minutes of learning to start using it.
ExactImage
ExactImage is a fast C++ image processing library. Unlike ImageMagick, it allows operation in several color spaces and bit depths natively, resulting in much lower memory and computational requirements. Some optimized algorithms operate in 1/20 of the time ImageMagick requires, and displaying large images can be as fast as 1/10 of the time the "display" program takes.
ExifTool
From webpage: ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files. ExifTool supports many different metadata formats including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP and ID3, Lyrics3, as well as the maker notes of many digital cameras by Canon, Casio, DJI, FLIR, FujiFilm, GE, GoPro, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Motorola, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.
Exiv2
C++ metadata library and tools Exif, IPTC & XMP metadata and ICC Profile Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the ICC Profile embedded within digital images in various formats. Exiv2 is available as free software and is used in many projects including KDE and Gnome Desktops as well as many applications including GIMP, darktable, shotwell, GwenView and Luminance HDR.
Experimental Robotics Framework
The Experimental Robotics Framework is a framework for developing composable applications. The idea is to develop software components that interact with others previously developed in other applications and other components developed by other researchers. It is not a new concept in the field, it is very similar to IBM eclipse but in this case for 3d applications and based on C++ instead of Java.
FAM
FAM, the File Alteration Monitor, provides an API which applications can use to be notified when specific files or directories are changed. It comes in two parts: fam, the daemon which listens for requests and delivers notification, and libfam, a library which client applications can use to communicate with fam
FANN
Fast Artificial Neural Network Library (fann) implements multi-layer feedforward networks that support both fully connected and sparsely connected networks. It supports execution in fixed point arithmetic to allow for fast execution on systems with no floating point processor. To overcome the problems of integer overflow, the library calculates a position of the decimal point after training and guarantees that integer overflow cannot occur with this decimal point. FANN is designed to be fast, versatile, and easy to use. Several benchmarks have been executed to test its performance. It is significantly faster than other libraries on systems without a floating point processor, and comparable to other highly optimized libraries on systems with a floating point processor.


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.