Semantic search

Jump to: navigation, search


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.
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 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).
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
Chopstx
This library has support for threads, the USB CDC class, UARTs, GPIOs, PWMs, etc
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.
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.
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.
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.
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.


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.