Semantic search

Jump to: navigation, search
Search

Edit query Show embed code

The query [[Interface::library]] was answered by the SMWSQLStore3 in 0.0435 seconds.


Results 11 – 110    (Previous 100 | Next 100)   (20 | 50 | 100 | 250 | 500)   (JSON | CSV | RSS | RDF)


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

Rationale


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

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

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

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

Main Features

  • The libraries use 63-bit addressing of array elements (all indexes and length are represented by 64-bit long type). So, it's theoretically possible to create and process arrays and matrices containing up to 2^63-1 (~10^19) elements of any primitive or non-primitive types, if OS and hardware can provide necessary amount of memory or disk space.
  • Memory model concept allows storing AlgART arrays in different schemes, from simple Java arrays to mapped disk files; all necessary data transfers are performed automatically while every access to an element or a block of elements.
  • Most of algorithms are based on wide usage of lazy evaluations. Typical operations, like elementwise summing or geometrical matrix transformations, are implemented via lazy views of the source array or matrix.
    • For example, you can take a multidimensional matrix, rotate it (or perform any other affine or projective transform), and then extract a submatrix from the result. All these operations will be performed virtually (not requiring time), and actual calculations will be performed only at the moment of accessing elements, usually while copying the resulting matrix to a newly created one. Moreover, in many cases the libraries will "understand" itself, that the user wants to perform rotation or another transform, and will split the matrix into suitable rectangular blocks (fitting in RAM) and choose the best algorithm for this task at the moment of copying operation.
  • The libraries contain a wide set of image processing algorithms over matrices: linear filtering, mathematical morphology, rank operations, spectral transformation (FFT), etc.
  • There is also skeletonization and measuring of binary images.
Allegro
Allegro is multi-platform game programming library for C/C++ developers distributed freely, that provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers. It also provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed datafile and a GUI. It can also be used for other types of multimedia programming.
Alliance
Complete set of free CAD tools and portable libraries for VLSI design. It includes a VHDL compiler and simulator, logic synthesis tools, and automatic place and route tools. Advanced verification tools for functional abstraction and static timing analysis are part of the system. A complete set of portable CMOS libraries is provided, including a RAM generator, a ROM generator, and a data-path compiler.
Alogg
'alogg' is a library which makes it easier to use Ogg/Vorbis streams with Allegro. It offers facilities to decode, stream, and encode Ogg/Vorbis streams, and integrates those facilities with Allegro's datafile and sample loading routines. 'alogg' comes with a sample player, streamer, and encoder based on Allegro's sound routines.
Alpy
Alpy provides a Python binding to the C Allegro game programming library. This binding is mostly focused with providing a basic "raw" interface to the library, trying to preserve most of the Python API similar to the C version to ease the transition to C programmers.
Amara
Library for XML processing in Python, designed to balance the native idioms of Python with the native character of XML.
Anemone
Anemone is a Ruby library that makes it quick and painless to write programs that spider a website. It provides a simple DSL for performing actions on every page of a site, skipping certain URLs, and calculating the shortest path to a given page on a site. The multi-threaded design makes Anemone fast. The API makes it simple. And the expressiveness of Ruby makes it powerful.
AngelScript
The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. Featuring a syntax similar to C/C++, it has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer.
AntTweakBar
AntTweakBar allows programmers to quickly add a light and intuitive graphical user interface into graphic programs to interactively tweak them. It is a small and easy to use C/C++ library that can be readily integrated into OpenGL and DirectX applications. It targets graphical programs that need an easy way to tweak parameters and see the result in real-time like 3D demos, light inline game editors, small 3D applications, prototypes, debug facilities of weighter graphical programs, etc. Programmers are not required to design the graphical interface by providing coordinates or by using a visual UI editor. Controls are automatically organized following an optional given hierarchy. In most cases, only one line of code is needed to add a new variable to a tweak bar. AntTweakBar can be easily integrated with your own windowing system or with existing toolkits. Examples of integration with GLFW, SDL, GLU are provided.
Apophenia
'Apophenia' is a statistical library for C. It provides functions on the same level as those of the typical stats package (OLS, probit, singular value decomposition, &c.) but doesn't tie the user to an ad hoc language or environment. It uses the GNU Scientific Library for number crunching and SQLite for data management, so the library itself focuses on model estimation and quickly processing data.
AppTools
The AppTools project includes a set of packages that Enthought has found useful in creating a number of applications. They implement functionality that is commonly needed by many applications
  • enthought.appscripting: Framework for scripting applications.
  • enthought.help: Provides a plugin for displaying documents and examples and running demos in Envisage Workbench applications.
  • enthought.io: Provides an abstraction for files and folders in a file system.
  • enthought.naming: Manages naming contexts, supporting non-string data types and scoped preferences.
  • enthought.permissions: Supports limiting access to parts of an application unless the user is appropriately authorised (not full-blown security).
  • enthought.persistence: Supports pickling the state of a Python object to a dictionary, which can then be flexibly applied in restoring the state of the object.
  • enthought.preferences: Manages application preferences.
  • enthought.resource: Manages application resources such as images and sounds.
  • enthought.scripting: A framework for automatic recording of Python scripts.
  • enthought.sweet_pickle: Handles class-level versioning, to support loading of saved data that exist over several generations of internal class structures.
  • enthought.template: Supports creating templatizable object hierarchies.
  • enthought.type_manager: Manages type extensions, including factories to generate adapters, and hooks for methods and functions.
  • enthought.undo: Supports undoing and scripting application commands.
Argtable
Argtable is a freely available C/C++ programmer's library for parsing the command line arguments. Having only a few functions and a simple set of rules, it is capable of handling most aspects of command line parsing and error reporting with a minimum of fuss.
Armadillo: C++ library
Armadillo is a C++ linear algebra library (matrix and vector maths) aiming towards a good balance between efficiency and ease of use while staying lean. This library is useful if C++ has been decided as the language of choice (due to speed and/or integration capabilities), rather than another language like Matlab ® or GNU Octave. Armadillo uses a delayed evaluation approach in order to combine several operations into one and reduce (or eliminate) the need for temporaries. This is accomplished through extensive use of recursive templates and template meta-programming.
Aspell Heckert gnu.tiny.png
GNU Aspell is a spell checker that can be used either as a library or as an independent spell checker. It does a much better job of coming up with possible suggestions than other English language spell checkers. Other technical enhancements over Ispell include shared memory for dictionaries and intelligent handling of personal dictionaries when more than one Aspell process is open.
Async-timeout
Used in cases where part of the software being developed is time-sensitive, so that the code block doesn't wait too much time for certain event to complete.
At-spi
'at-spi' is a part of the Gnome Accessibility Project. It provides a Service Provider Interface for the Assistive Technologies available on the GNOME platform, and a library against which applications can be linked.
Atomthreads
Atomthreads is a free, lightweight, portable, real-time scheduler for embedded systems. It is targeted at systems that need only a scheduler and the usual RTOS primitives. No file system, IP stack or device drivers are included, but developers can bolt on their own as required. Atomthreads will always be a small number of C files which are easy to port to any platforms that require threading by adding a simple architecture-specific file.
Aubio
aubio is a library for audio labeling. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. The name aubio comes from 'audio' with a typo: several transcription errors are likely to be found in the results too. The aim of this project is to provide these automatic labeling features to other audio softwares. Functions can be used off-line in sound editors and software samplers, or online in audio effects and virtual instruments.
Autotrace
Autotrace is a program which converts bitmap images to vector images. It can import images in BMP, TGA, PNM, PPM, PGM, PBM and those supported by ImageMagick, and can output Postscript, svg, xfig, swf, pstoedit, emf, dxf, cgm, mif, p2e and sk
Avl Heckert gnu.tiny.png
libavl is a balanced tree library that comes with full documentation. It includes unthreaded, right threaded, and fully threaded variants of AVL tree, as well as unthreaded red-black trees. It features self-test routines as well as insertion, deletion, tree count, tree copy, tree walking and traversal, search, and threading and unthreading routines. Each function has a comment describing its interface, and each step in the algoritms the program uses has a comment also. Each source code file includes a built-in test routine.
B-Forms
'B-Forms' is an object-oriented PHP library for developing Webform-based applications. It supports tabular forms with multiple records of the same type being edited simultaneously, and provides security mechanism against data tampering. The library provides two base layouts that cover the the vast majority of cases. Only in very tricky form layouts would you have to write HTML code to specify the form layout. It also automatically saves and restores hidden fields. 'B-Forms' divides a script into three logical areas: form definition, data management, and form presentation. Forms have a powerful block architecture, each block typically representing a different data object within the form. Each block can be used to edit several objects at once- the library handles record management.
BLAS
The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations. The Level 1 BLAS perform scalar, vector and vector-vector operations, the Level 2 BLAS perform matrix-vector operations, and the Level 3 BLAS perform matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they are commonly used in the development of high quality linear algebra software, LAPACK for example.
BRL-CAD
BRL-CAD includes an interactive geometry editor, parallel ray-tracing support for rendering and geometric analysis, path-tracing for realistic image synthesis, network distributed framebuffer support, image-processing and signal-processing tools.
Babel
A collection of tools for internationalizing Python applications Babel is composed of two major parts:
  • tools to build and work with gettext message catalogs
  • a Python interface to the CLDR (Common Locale Data Repository), providing access to various locale display names, localized number and date formatting, etc.
Badger
Badger is a library used to generate badge sheets for events, given a PDF template and data for the badges.
Barcode Heckert gnu.tiny.png
GNU barcode is a tool to convert text strings to printed bars. It supports a variety of standard code to represent the strings and creates postscript output. Features include:
  • available as both a library and a command line frontend (so you can include barcode printing in your application)
  • supports UPC, EAN, ISBN, CODE39, and other encoding standards
  • Postscript and encapsulated postscript output (other backends can be added as needed)
  • Accepts sizes and positions as inches, millimeters, and centimeters
  • Can create tables of barcodes (to print labels on sticker pages)
Bcfg2
Bcfg2 allows you to describe and deploy complex configurations across pools of GNU/Linux and Unix systems, leading to a consistent, reproducible, and verifiable description of your environment. Bcfg2's visualization and reporting tools aid in your day-to-day administrative tasks. Its unique analysis features help you cope with the ever-increasing complexity of your networks.
Beanstalkc
beanstalkc is a simple beanstalkd client library for Python. beanstalkd is a fast, distributed, in-memory workqueue service.
BeeCrypt
BeeCrypt is a cryptography library that contains highly optimized C and assembler implementations of many well-known algorithms including Blowfish, MD5, SHA-1, Diffie-Hellman, and ElGamal. Unlike some other crypto libraries, BeeCrypt is not designed to solve one specific problem, like file encryption, but to be a general purpose toolkit which can be used in a variety of applications. There are also no patent or royalty issues associated with BeeCrypt.
Bennu
Bennu is a software library written in PHP that implements the functionality of the IETF iCalendar 2.0 specification (RFC 2445). Its purpose is to enable applications which have an interest in this format (e.g. calendaring, scheduler and organizer programs) to support iCalendar in an easy, powerful, and extensible way.
BigMath
Based partly on Knuth's Seminumerical Algorithms and written in C, BigMath aims to be light-weight and fast. Its original implementation was for use within a kernel extension - thus size and speed were essential. BigMath supports only integer math, including add, sub, mul, div, mod, modpow, modinv, pow, gcd, factorial, radix conversion, scientific notation and various comparisons.
Bill's OpenGL Library
BOGL - an OpenGL scenegraph/renderer supporting modern hardware (vertex and pixel programs via Cg, buffer objects, etc), freetype fonts, XML resource files, bezier patches, state sorting, separate render and simulation threads.
Binary I O library
'libbinio' uses its own protocol to store and retrieve binary data portably. It uses an fprintf/fscanf interface, exporting eight functions: fputf, vfputf, fgetf, vfgetf, fwputf, vfwputf, fwgetf, and vfwgetf. Rather than using data types such as "16 bits", it uses standard C types and uses printf/scanf-style argument lists (it even uses GNU argument checking if available). It should be a drop-in replacement for printf/scanf and still work perfectly well. It aims to be portable to every C89-conforming implementation, but can use C99 and GNU extensions if available.
Bioinformatics Template Library
This library focuses on the data structures and algorithms used in bioinformatics and molecular modelling, following closely the approach of the Standard Template Library (STL) to implement efficient generic programming modules using compile time mechanisms. Although the BTL was designed with biomolecular applications in mind it contains classes of more general utility: for instance, the Matrix class could be used for matrix algebra in many contexts.
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.
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 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.
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.
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).
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.
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.
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).
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 and open source 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).
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.
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.
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.
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.
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.
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.
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
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.
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.


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.