Semantic search

Jump to: navigation, search


FINAL CUT
The FINAL CUT is a C++ class library and widget toolkit with full mouse support for creating a text-based user interface. The library supports the programmer to develop an application for the text console. It allows the simultaneous handling of multiple text windows on the screen. The structure of the Qt framework was originally the inspiration for the C++ class design of FINAL CUT. It provides common controls like dialog boxes, push buttons, check boxes, radio buttons, input lines, list boxes, status bars and so on.
FLIF
FLIF is a novel lossless image format which outperforms existing image formats in terms of compression ratio. It works well on any kind of image (photographic, line art, computer graphics, etc.) and also supports animations. FLIF images (or animations) can be progressively decoded, which makes the format potentially very suitable for responsive web design. This is the reference implementation of FLIF, which includes a command-line tool (flif) to convert between FLIF and PNG/PNM/PAM, a decoding library (libflif_dec), an encoding library (libflif_enc), some scripts (gif2flif, apng2flif, raw2flif, ...), and a simple image/animation viewer (viewflif).
FXT
'FXT' is a C++ library containing code for various fast orthogonal transforms and related algorithms for real, complex, n-dim fourier transforms, hartley transform, 1dim and 2dim, number theoretic transforms, walsh, haar, and wavelet transforms, convolution, correlation and power spectrum, mass-storage FFTs and convolution, fast multiplication routines, sine and cosine transforms, and z-transform.
Factory C
Factory C is Factory C because it uses a factory table that uses a strategic factory method(s) thats the singleton class factory method to the class interface heap for a factory table class. There are 3 levels of OOP in Factory C and thats Virtual, Factory, and Complex. The Complex object uses a runtime object for its interface inside of its own builder table and heap containers for its class interface heap and class information heaps, and runtime objects for its interface registrations. This (Factory C) is for fully dynamic-at-runtime Object-Oriented Programming with no limitations on things like datatypes or multiple inheritance or coupling. As a presentation of hash tables or data structures Factory C uses a Virtual Table, Factory Table, and an Adapter Table. there is a single linked list template you can typename, also a vector and binary search tree (heap). but only the datastructures needed to implement Factory C are included. Also, part or the Object-Orientation of Factory C is that every primitive type has a constructor plus interface as a virtual table object and factory method plus interface heap as a factory table class. The Complex object is created using a small class builder that is implemented in C.
Farstream
The Farstream (formerly Farsight2) project is an effort to create a framework to deal with all known audio/video conferencing protocols. On one side it offers a generic API that makes it possible to write plugins for different streaming protocols, on the other side it offers an API for clients to use those plugins. This package provides Python bindings for Farstream.
Fast rendering toolkit
FRT is a toolkit for the generation of 3D animations using low-end machines (slow CPUs, low memory and small harddisks); of course, you can still use it with higher-end machines. The program is simple; the whole library is about 1000 lines of code. FRT has been designed with a *NIX-like operating system in mind: to avoid filling the harddisk, FRT establishes a master/slave relationship with mpeg_encode and renders frames on demand.
Fastclick
The aim is to make your application feel less laggy and more responsive while avoiding any interference with your current logic. FastClick is developed by FT Labs, part of the Financial Times.
Fbxkb
fbxkb is keyboard indicator and switcher that shows a flag of the current keyboard in a system tray area and allows you to switch to another one. It is NETWM compliant.
Feedback Cat
Feedback Cat is a 100% free and open-source WordPress plugin to survey your users and customers. Set it up in 2 minutes.
Ferriscreate
'ferriscreate' is a libferris client which can be used to create new objects in the filesystem.
Ffmpeg
FFmpeg is a complete solution to record, convert and stream audio and video. Its components include:
  • ffmpeg – Converts one video file format to another and supports grabbing and encoding in real time from a TV card.
  • ffserver – HTTP (RTSP is being developed) multimedia streaming server for live broadcasts that supports time shifting.
  • ffplay – simple media player based on SDL and the ffmpeg libraries
  • ffprobe – a media file prober
  • libavcodec – library containing all FFmpeg audio/video encoders and decoders (most developed from scratch for best performances and high reusability)
  • libavfilter – video and audio filtering library
  • libavformat – library of parsers and generators for all common audio/video formats
  • libavutil – utility library containing functions used by all FFmpeg components
  • libswscale – video scaler and pixel format converter
  • libswresample – audio resampler and sample format converter
  • libpostproc – video post-processing library
Fftw
C subroutine library for computing the Discrete Fourier Transform in one or more dimensions, of both real and complex data, and of arbitrary input size. The FFTW team's benchmarks, performed on a variety of platforms, show that FFTW's performance is typically superior to that of other publicly available FFT software. Moreover, FFTW's performance is portable: the program will perform well on most architectures without modification. However, FFTW appears to be the fastest program most of the time for in-order transforms, especially in the multi-dimensional and real-complex cases.
FireDNS
This is a candidate for deletion: Links broken. No links to page. Email to maintainer broken. Poppy-one (talk) 12:09, 30 July 2018 (EDT) 'libfiredns' is a library for handling asynchronous DNS requests. It provides a very simple interface for sending requests and parsing reponses, as well as low-timeout blocking functions. 'libfiredns' functions have much lower timeouts than the stock functions and tend to be faster because they send requests to all configured system nameservers at the same time.
FireString
This is a candidate for deletion: Links broken. No links to page. Email to maintainer broken. Poppy-one (talk) 12:18, 30 July 2018 (EDT) FireString is a library to make string handling easier in C. It provides replacements for some non-ANSI libc string functions, binary and length-safe string functions, and an interface for easy, intelligent configuration file parsing.
Firehose
Firehose is a simple library which stripes multiple, inexpensive, network devices to provide very high speed data transfers. It will support any number of devices as long as each device has a TCP/IP layer.
Firestr
Fire★ is a a simple platform for decentralized communication and computation. Provides a simple application platform for developing p2p applications and share these applications with others in a chat like user interface. You don't send a message to someone, you send an program, which can have rich content. All programs are wired up together automatically providing distributed communication, either through text, images, or games. The source code to all applications is available immediately to instantly clone and modify.
Flate
This is a candidate for deletion: Links broken. No links to page. Email to maintainer broken. Poppy-one (talk) 03:41, 31 July 2018 (EDT) Flate is a template library used to deal with HTML code in CGI applications. It includes C and Perl support. All HTML code is put in an external file (the template) and printed using the library functions: variables, zones (parts to be displayed or not), and tables (parts to be displayed 0 to n times). You don't need to modify/recompile your application when modifying HTML code, printing order doesn't matter in your CGI code, and your CGI code is cleaner.
Fontconfig
fontconfig is a library for customizing and configuring fonts in a system, providing configuration, enumeration and substitution of fonts to other programs. Applications can use fontconfig in two ways:
  • by querying it for the available fonts on the system, or
  • by querying it for a font matching certain parameters (comprising a pattern) as closely as possible.
To perform font matching, fontconfig stores typesetting information about all of the installed fonts, including the name of the font family, style, weight, dots per inch (DPI), and Unicode coverage. This information is also used to perform font substitution.

Features

fontconfig can:

  • discover new fonts when installed automatically, removing a common source of configuration problems.
  • perform font name substitution, so that appropriate alternative fonts can be selected if fonts are missing.
  • identify the set of fonts required to completely cover a set of languages.
  • have GUI configuration tools built as it uses an XML-based configuration file (though with autodiscovery, we believe this need is minimized).
  • efficiently and quickly find the fonts you need among the set of fonts you have installed, even if you have installed thousands of fonts, while minimizing memory usage.
  • be used in concert with the X Render Extension and FreeType to implement high quality, anti-aliased and subpixel rendered text on a display.

fontconfig does not:

  • render the fonts themselves (this is left to FreeType or other rendering mechanisms)
  • depend on the X Window System in any fashion, so that printer only applications do not have such dependencies
Fontutils Heckert gnu.tiny.png
The GNU Font Utilities (a.k.a. Fontutils) create fonts for use with Ghostscript or TeX. They also contain general conversion programs and other utilities. Some of the programs in Fontutils include bpltobzr, bzrto, charspace, fontconvert, gsrenderfont, imageto, imgrotate… The main purpose of these programs is to form a tool chain to generate Metafont or PostScript fonts from scanned images.
Form Alchemy
FormAlchemy eliminates boilerplate by autogenerating HTML input fields from a given model. FormAlchemy will try to figure out what kind of HTML code should be returned by introspecting the model's properties and generate ready-to-use HTML code that will fit the developer's application. Of course, FormAlchemy can't figure out everything, i.e, the developer might want to display only a few columns from the given model. Thus, FormAlchemy is also highly customizable.
Foundation
Foundation is a framework that enables rapid prototyping of websites and web-based applications. Its features include Grid layout, CLI wrappers, improved HTML forms, off-canvas layouts and responsive design.
FreeLing
The FreeLing package consists of a library providing language analysis services. FreeLing is designed to be used as an external library from any application requiring Natural Language Processing services (machine translators, intelligent web searchers, automatic summarizers, NL interfaces, etc.) Also, a simple main program is also provided as a basic interface to the library, which enables the user to analyze text files from the command line. Current version analyzes text in English, Spanish, Catalan, Galician, and Italian. New languages can be easily added if linguistic data are available.
  • Features:
  • Text tokenization
  • Sentence splitting.
  • Morphological analysis.
  • Named entity detection.
  • Date/number/currency/ratios recognition.
  • Physical magnitudes detection (speed, weight, temperature, density, etc.)
  • PoS tagging.
  • Named entity classification.
  • Chart-based shallow parsing.
  • WordNet based sense annotation
  • Dependency parsing.
FreeTube
FreeTube is a free software desktop YouTube player built with privacy in mind. Use YouTube without advertisments and prevent Google tracking from you with their cookies and JavaScript. Available for Windows, Mac & GNU/Linux thanks to Electron.
Freecell Solver
Freecell Solver is a library written in C, that automatically solves layouts of Freecell and similar Solitaire variants (including Simple Simon boards). It is accompanied by several stand-alone command line programs.
Freeipmi Heckert gnu.tiny.png
FreeIPMI is a collection of in-band and out-of-band IPMI software in accordance with the IPMI v1.5/2.0 specification. These programs provide a set of interfaces for platform management. Common functionality includes sensor monitoring, system event monitoring, power control and serial-over-LAN.
FriendlyCaptcha
From the website: FriendlyCaptcha is a tool for preventing spam on your website. Other CAPTCHAs are a burden on your users, FriendlyCaptcha respects your users. FriendlyCaptcha is a proof-of-work based CAPTCHA in which the user's device does all the work.
FtpUtil
ftputil is a high-level FTP client library for the Python programming language. ftputil implements a virtual file system for accessing FTP servers, that is, it can generate file-like objects for remote files. The library supports many functions similar to those in the os, os.path and shutil modules. ftputil has convenience functions for conditional uploads and downloads, and handles FTP clients and servers in different timezones.
FusionDirectory
The FusionDirectory project aim to fill this gap by providing a nice web application that allow you not only to manage your classical openldap data like users, groups, services... but also offer an API allowing to write new plugins to extent the application to be more useful to you. Bundled with more than 50 plugins today ranging from users management to service management and systems management, everything managed trough you ldap server.
  • User, group, roles , sudo ...
  • French education support : Supann, Sinaps, PArtage de Renater
  • Systems
  • Network services : SMTP / DNS / DHCP / Samba
and much more ... FusionDirectory is user-friendly and includes a number of features and modes including:
  • A copy and paste system
  • Template mode for all objects stored with FusionDirectory
  • Snapshot mode
  • Dashboard (user, password, expiration of users, installation and deployment)
  • trigger to create action on other systems after saving, modifying, removing
FuzzPy
Library for fuzzy sets, fuzzy graphs, and general fuzzy mathematics for Python.
G-golf Heckert gnu.tiny.png,
GNU G-Golf (GNOME: (Guile Object Library for)) G-Golf is a tool to develop fast and feature-rich graphical applications, with a clean and recognizable look and feel. Here is an overview of the GNOME platform libraries, accessible using G-Golf. In particular, libadwaita provides a number of widgets that change their layout based on the available space. This can be used to make applications adapt their UI between desktop and mobile devices. The GNOME Web (best known through its code name, Epiphany, is a good example of such an adaptive UI. G-Golf uses Glib, GObject and GObject Introspection. As it imports a Typelib (a GObject introspectable library), G-Golf defines GObject classes as GOOPS (the Guile Object Oriented System) classes. GObject methods are defined and added to their corresponding generic function. Simple functions are defined as scheme procedures.
G-wrap
'G-Wrap' is a tool (and Guile library) for generating function wrappers for inter-language calls. It currently supports generating Guile wrappers for C functions.
GAIL
'GAIL' is a GTK+ module that provides accessibility support for GTK+ and libgnomecanvas by implementing AtkObjects for widgets in the two libraries. For example, if the module is loaded in a program which calls gtk_widget_get_accessible() for a GtkEntry, an instance of GailEntry is returned. This module is normally used with the atk-bridge GTK+ module from at-spi to allow an assistive technology, e.g a screenreader, to query or drive the program.
GAUL
The Genetic Algorithm Utility Library (GAUL) is a programming library designed to assist in the development of code requiring genetic algorithms. The steady-state, generation based and the island model of evolution are supported, using the Darwinian, Lamarkian or Baldwininan evolutionary schemes. Standard mutation, crossover and selection operators are provided, while code hooks additionally allow custom operators. It provides data structures and functions for handling and manipulation of the data required for a genetic algorithm. Additional stochastic algorithms are provided for comparison to the genetic algorithms. Much of the functionality is also available through a simple S-Lang interface.
GDB-Machine Interface library
A GDB/MI interface library for C and C++. It implements the GDB/MI (GNU DeBugger/Machine Interface) protocol as a library so you can create a GDB frontend without writing the "dialog" with GDB. Unlinke CLI the MI is intended for programs and not humans.
GDL
The Gnu Data Language (GDL) is a free alternative to the data visualization and analysis tool, called IDL (Interactive Data Language), frequently used by scientists. GDL and its library routines are designed as a tool for numerical data analysis and visualisation. GDL is dynamically typed, vectorized and has object-oriented programming capabilities. The library routines handle numerical calculations, data visualisation, signal/image processing, file input/output (incl. graphical and scientific data formats such as TIFF, PNG, netCDF, HDF etc) and interaction with host OS. Despite its name, GDL is not a GNU package.
GDSL
The Generic Data Structures Library (GDSL) is a collection of routines for generic data structures manipulation. It is a portable and re-entrant library designed to let C programmers access common data structures with powerful algorithms and hidden implementation. Available structures are lists, queues, stacks, hash tables, binary trees, binary search trees, red-black trees, 2D arrays, and permutations.
GEGL
GEGL is a graph-based image processing framework offering non-destructive image processing and compositing on large images. It is suitable for projects ranging from small one-off projects to interactive applications.
GEOS
'GEOS' is a C++ implementation of the functions and predicates defined in the OpenGIS "Simple Features for SQL" specification. It includes high quality implementations of all important spatial relationships and operations, robust versions of all functions in the dimensionally extended 9 intersection predicate model, and implementations of the operators Buffer(), Union(), and Intersection() and all other SFSQL functions including Area(), Length(), Centroid(), etc.
GGZ Gaming Zone
The GGZ Gaming Zone develops a free gaming environment, based on a client-server architecture. More than 20 games are already available directly from the project, and integration into the major free desktops like KDE and GNOME is also being done. Player privacy, lack of advertisements and source code availability for game routine verification make this project a reliable platform for free games. Several independent game projects do already support playing over GGZ.
GJrand
A programmer's library for random numbers. Also random number generator testing code. Intended for simulation, games and "Monte-Carlo" algorithms.
GLTT
'GLTT' is a library that allows you to read and draw TrueType fonts in any OpenGL application. It supports bitmapped and anti-aliased font drawing as well as vectorized and polygonized drawing.
GMM
The Guarded Memory Move tool is useful for studying buffer overflows and catching them together with a "good" stack image. Once a stack overflow has been exploited, the back trace is already gone, as is information about parameters and local variables that are very important in understanding how the attacker is working out the exploit. The GMM library uses dynamic function call interception to catch the most common functions that attackers use to exploit stack buffers. It uses the LD_PRELOAD capability and offers two services: first, it avoids buffer overflow to allow the attacker to execute shell-code on your machine. Second, where an exploit is detected, it saves the stack content and triggers a segmentation fault. The resulting core dump has the necessary information to debug the exploit and fix the software.
GNUe Common Library
GNUe Common Library is the basis for the GNUe tools, such as Forms, Reports, Application Server, and Designer. It implements a database-abstraction layer that provides support for most major databases. A builtin XML-to-Object parser and Object-to-XML marshaller are used by Forms, Reports, and Designer to save and read Forms/Report definitions to and from an XML file. It also defines and implements an RPC abstraction layer that will allow server processes to define their public methods once and have them available XML-RPC and Pyro clients.
GNUe Forms
GNUe Forms is a generator for data aware user interfaces with support for different platforms and data sources. From an XML file containing both the layout definition and the program logic required, GNUe Forms generates native interactive data entry screens for a number of user interface frameworks, including GNOME, KDE, and a curses based text interface. GNUe Forms can interact with all data sources supported by GNUe Common, which includes GNUe AppServer, SQLite, MySQL, Firebird, PostgreSQL, MaxDB, or plain CSV files.
GOffice
GOffice is a library of document-centric objects and utilities building on top of GLib and Gtk+ and used by software such as Gnumeric.
GPGME
GnuPG Made Easy (GPGME) is a library designed to make access to GnuPG easier for applications. It provides a High-Level Crypto API for encryption, decryption, signing, signature verification and key management. Currently it uses GnuPG as its backend but the API isn't restricted to this engine; in fact, there is already a backend for CMS (S/MIME).
GPStk
'GPSTk' is a set of both fundamental and advanced GPS processing algorithms. The library provides functions including RINEX I/O, ephemeris calculation, atmospheric refraction models, and positioning algorithms. The applications include cycle slip detection and removal, calculation of the Total Electron Content (TEC) of the ionosphere, bindings to 'octave', and RINEX file manipulation.
GRX
GRX is a 2D graphics library originally written for DJGPP. It supports DOS, GNU/Linux console (svgalib and framebuffer drivers), X11, and Win32 (using the Mingw compiler).
GSConnect
GSConnect allows to connect savely your mobile device with the desktop on GNOME. Some features: - share files and links - sync contacts - send and receive messages - control media players - sync clipboard content
GSOAP
gSOAP is a toolkit for web services development. It includes utilities for conversion of C/C++ header files to SOAP stubs and generating C/C++ header files from WSDL. Also included are C/C++ development files needed for building SOAP client and server applications. gSOAP implements most current standards including SOAP 1.1/2, WSDL 1.1 and UDDI 2. It is compatible with many popular SOAP implmentations.
GStreamer-Editor
The GStreamer Pipeline Editor (gst-editor) is a graphical pipeline contruction and manipulation tool. Using the Gnome Canvas as the foundation, it lets users draw media pipelines very quickly. It's written as a library, so it can easily be embedded into applications, and reads and writes standard XML descriptions of pipelines. Additionally, it is threadsafe, supports rapid prototyping, has iterative, graphical bin sorting functionality, and is integrated with GStreamer's debugging subsystem.
GTS
The GNU Triangulated Surface Library (GTS) provides a set of useful functions to deal with 3D surfaces meshed with interconnected triangles. It features metric operations (area, volume, curvature, etc.), 2D Delaunay and constrained Delaunay triangulations, robust geometric predicates and set operations on surfaces (union, intersection, etc.), surface refinement and coarsening (multiresolution models), and bounding-boxes trees for collision/intersection detection.
GUASI
The GUASI library implements a thread based generic asyncronous execution engine, to be used to give otherwise syncronous calls an asyncronous behaviour. It can be used to wrap any syncronous call, so that it can be scheduled for execution, and whose result can be fetched at later time (hence not blocking the submitter thread). The GUASI library can be used as complement to standard event retrieval interfaces like poll(2), select(2) or epoll(4).
Gama Heckert gnu.tiny.png
Gama is a program for the adjustment of geodetic networks. It is useful in measurements where Global Positioning System (GPS) is not available, such as underground. It features the ability to adjust in local Cartesian coordinates as well as partial support for adjustments in global coordinate systems. Network adjustment in a local coordinate system and its functionality is represented by the program gama-local, which adjusts geodetic (free) networks of observed distances, directions, angles, height differences, 3D vectors and observed coordinates (coordinates with given variance-covariance matrix). Global coordinate network adjustment model is based on geocentric coordinate system (adjustment model on ellipsoid). Its functionality is represented by the program gama-g3.
GapBuffer
Gap buffers are efficient mutable sequences that are often used to store text in text editors. They utilize locality of modification to avoid copying large amounts of data and allocate extra elements to avoid memory allocation dominating performance.
GapMea
GapMea is an opensource database design tool written in Qt/C++. GapMea is a visual tool written in C++/QT which helps to design and understand databases. It's based on a french data analysis method named "Merise" and produce beautiful shemas of database objects you have to deal with. Once finished you can generate sql code and paste it into your favorite Database Command Line Interface to generate database. You can save your design in an open xml file format to share it with your development team. Screenshots of schemas will bring better understanding of your data in your software technical documentation.
Garlic-player
The garlic player is a SMIL compatible media player software for digital signage. It displays different digital signage content, such as images, videos, and interactive applications, on a screen. The garlic-player can be used and administrated locally or remote via Internet.
Gcc Heckert gnu.tiny.png
GCC is the GNU Compiler Collection. It provides compiler front-ends for several languages, including C, C++, Objective-C, Fortran, Ada, and Go. It also includes runtime support libraries for these languages. GCC provides many levels of source code error checking traditionally provided by other tools (such as lint), produces debugging information, and can perform many different optimizations to the resulting object code. GCC supports many different architectures and operating systems.
Gcin
'gcin' (Gtk Chinese INput application in X) is a Chinese input method server for Big5 Traditional Chinese character sets. It features a GTK user interface.
Gconf
GConf is a "registry" system, a library applications can use to store key-value pairs persistently. It's written for GNOME, but it does not require GNOME or even X to work. Use outside GNOME is encouraged and will be supported.
Gdbm Heckert gnu.tiny.png
GDBM is a library for manipulating hashed databases. It is used to store key/value pairs in a file in a manner similar to the Unix dbm library and provides interfaces to the traditional file format. This is a GNU package.
Gdome2
Gdome2, aka libgdome, is the DOM C library developed for the Gnome project (it can also be used stand-alone). The Document Object Model is a platform and language-neutral interface that lets programs and scripts dynamically access and update the content, structure and style of documents. A DOM implementation (also called a host implementation) takes a parsed XML or HTML document and makes it available for processing via the DOM interfaces. A browser contains a host implementation, for example. gdome2 currently supports the "Core", "XML", "Events" and "MutationEvents" modules.
Gearman
Gearman client, worker, and server libraries for Python.
Gecode
Gecode is an open, free, portable, accessible, and efficient environment for developing constraint-based systems and applications. It is written in C++.
Gedcom4j
gedcom4j is a Java library for loading (parsing) and saving GEDCOM 5.5 or 5.5.1 files to/from a Java object hierarchy, which can be manipulated by your code as you see fit. Please note that gedcom4j is not an application. It is a library (jar file) that can parse, manipulate, and write GEDCOM data from your own Java programs.
Gengetopt Heckert gnu.tiny.png
'gengetopt' takes an easy-to-do description of options and generates a C function that uses the GNU getopt_long(3) function to parse and validate the options. gengetopt is perfect if you don't want to write all the stuff required to call GNU getopt_long(3), or if you have a program and wish it took many options. The generated code works if you use autoconf or automake.
Geniustrader
GeniusTrader aims to be a full featured toolbox to create trading systems. Powerful systematic trading requires several things:
  • many indicators and corresponding signals
  • money management rules
    • deciding what is a reasonable amount of money to put on a single trade (to limit the risk associated to that trade)
    • combining different values within the portfolio (to limit the global risk)
  • flexibility to be able to test all
  • combinations with the above items
  • backtesting system with analysis of results
GeniusTrader already has support of most of this. GeniusTrader consists of a bunch of Perl modules associated to a few perl scripts.
Genshi
Genshi is a Python library that provides an integrated set of components for parsing, generating, and processing HTML, XML or other textual content for output generation on the web. The main feature is a template language that is smart about markup: unlike conventional template languages that only deal with bytes and (if you're lucky) characters, Genshi knows the difference between tags, attributes, and actual text nodes, and uses that knowledge to your advantage.
Geocode-glib
Geocode-glib allows you to do geocoding (going from a place name, to a longitude/latitude pair) and reverse geocoding (finding a place name from coordinates) using the Nominatim service. This library should be used in place of Geoclue's D-Bus API for geocoding and reverse geocoding.
GetOpts
This is yet another C++ version of the getopt function, that is, for parsing command line options and environment variables. However, unlike other versions, the design goals of this one are:
  • EASY to use
  • EASY to learn
  • mimc STL's streams
  • minimum code to type
  • smooth integration with STL types
  • Platform independant (ANSI C++)
  • EASY to extend for your own types
Gettext Heckert gnu.tiny.png
Gettext is a package providing a framework for translating the textual output of programs into multiple languages. It provides translators with the means to create message catalogs, and a runtime library to load translated messages from the catalogs. Nearly all GNU packages use Gettext.
Gexiv2
GExiv2 is a GObject wrapper around the Exiv2 photo metadata library. It allows for GNOME applications to easily inspect and update EXIF, IPTC, and XMP metadata in photo and video files of various formats. This package contains the shared library.
Ghostscript Heckert gnu.tiny.png
Ghostscript is an interpreter for the PostScript language and the PDF file format. It also includes a C library that implements the graphics capabilities of the PostScript language. It supports a wide variety of output file formats and printers.
Giac
Giac/Xcas is a free computer algebra system. It has a compatibility mode for maple, mupad and the TI89. It is available as a standalone program (graphic or text interfaces) or as a C++ library.
Giflib
giflib is a library for reading and writing gif images. It is API and ABI compatible with libungif which was in wide use while the LZW compression algorithm was patented.
Ginga
Ginga is the middleware specification for the Nipo-Brazilian Digital TV System (SBTVD, from the Portuguese Sistema Brasileiro de TV Digital). Ginga is also ITU-T Recommendation for IPTV Services. It is also considered in ITU-T recommendations for Cable Broadcast services (ITU-T J.200 Recommendation series: Rec. ITU-T J.200, Rec. ITU-T J.201 and Rec. ITU-T J.202) and for Terrestrial Broadcast services by ITU-R BT.1889, ITU-R BT.1699 and ITU-R BT.1722. Ginga was developed based on a set of standardized technologies but mainly on innovations developed by Brazilian researchers. Its current reference implementation was released under the GPL license. Ginga is divided into two main integrated subsystems, which allow the development of applications following two different programming paradigms. Those subsystems are called Ginga-NCL (for declarative NCL applications) and Ginga-J (for imperative Java applications).
Git-annex
git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when dealing with files larger than git can currently easily handle, whether due to limitations in memory, time, or disk space. It can store large files in many places, from local hard drives, to a large number of cloud storage services, including S3, WebDAV, and rsync, with a dozen cloud storage providers usable via plugins. Files can be stored encrypted with gpg, so that the cloud storage provider cannot see your data. git-annex keeps track of where each file is stored, so it knows how many copies are available, and has many facilities to ensure your data is preserved. git-annex can also be used to keep a folder in sync between computers, noticing when files are changed, and automatically committing them to git and transferring them to other computers. The git-annex webapp makes it easy to set up and use git-annex this way.
GitPython
GitPython is a python library used to interact with Git repositories. GitPython provides object model access to your git repository. Once you have created a repository object, you can traverse it to find parent commit(s), trees, blobs, etc. GitPython is a port of the grit library in Ruby created by Tom Preston-Werner and Chris Wanstrath.
Gksu
GKSu is a library that provides a Gtk+ frontend to su and sudo. It supports login shells and preserving environment when acting as a su frontend. It is useful to menu items or other graphical programs that need to ask a user's password to run another program as another user.
Glade
Glade is a rapid application development (RAD) tool to enable quick and easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment. The user interfaces designed in Glade are saved as XML and these can be loaded by applications dynamically as needed by using GtkBuilder or used directly to define a new GtkWidget derived object class using Gtk+ new template feature. The Glade XML files can also be used in numerous programming languages.
Glaxnimate
Glaxnimate is a vector graphics animation program which focuses on being quick and easy to use. It's designed to work well with short animations to show on the web, supporting several common web formats like GIF, WebP, Lottie, SVG, and others.
Gleem Heckert gnu.tiny.png
Gleem (OpenGL Extremely-Easy-to-use Manipulators) is a library for Java and C++ offering a set of 3D widgets that support direct user interaction with a 3D scene. These widgets are used to translate along a line, translate in a plane, and do three-dimensional translation and rotation.
Glib
GLib is the low-level core library that forms the basis for projects such as GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system. GLib provides the core application building blocks for libraries and applications written in C. It provides the core object system used in GNOME, the main loop implementation, and a large set of utility functions for strings and common data structures.
Glibbind
This is a candidate for deletion: Links broken. Email to maintainer broken. Poppy-one (talk) 15:24, 2 August 2018 (EDT) Glib Binding Properties binds properties in GLib and GTK+ objects. This lets you synchronize the properties of several objects; when one property changes the others automatically change accordingly, so you don't need to write callbacks watching for property change notifications. It supports one-way and mutual bindings and bindings with transformation by transformation functions.
Glpk
GLPK is a C library for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It supports the GNU MathProg modeling language, a subset of the AMPL language, and features a translator for the language. In addition to the C library, a stand-alone LP/MIP solver is included in the package. This is a GNU package.
Gmime
GMime provides a core library and set of utilities which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).
Gmp Heckert gnu.tiny.png
GMP is a library for arbitrary precision arithmetic, operating on signed integers, rational numbers and floating point numbers. The precision is only limited by the available memory. The library is highly optimized, with a design focus on execution speed. It is aimed at use in, for example, cryptography and computational algebra.
Gnash Heckert gnu.tiny.png
Gnash is a GNU Flash movie player. Flash is an animation file format pioneered by Macromedia which continues to be supported by their successor company, Adobe. Flash has been extended to include audio and video content, and programs written in ActionScript, an ECMAScript-compatible language. Gnash is based on GameSWF, and supports most SWF v7 features and some SWF v8 and v9. Features:
  • Runs as a standalone application - Gnash can run standalone to play flash movies.
  • IceCat plugin - Gnash can also run as a plugin from within IceCat.
  • SWF v7 compliant - Gnash can play many current flash movies.
  • XML Message server - Gnash also supports an XML based message system as is documented in the Flash Format specification.
  • High Quality Output - Gnash uses OpenGL for rendering the graphics.
Gnet
GNet is a simple network library. It is written in C, object-oriented, and built upon glib. It is meant to be small, fast, easy to use, and easy to port. The interface is similar to the interface for Java's network library. Features include:
  • TCP 'client' sockets
  • TCP 'server' sockets
  • v
  • USP
  • IP Multicast
  • Internet address abstraction
  • Non-blocking TCP sockets and address lookup
Gnome Application Library (gal)
Gal is the Gnome Application Library, a collection of widgets and other helper functions from Evolution and Gnumeric.
Gnome VFS
GnomeVFS is a library that allows applications to transparently access various types of filesystems through a uniform interface. GnomeVFS modules include support for things such as WebDAV, ftp, local filesystem, gzip, bzip2, cdda, and others. GNOME VFS is currently used as one of the foundations of the Nautilus file manager
Gnonlin
Gnonlin is a library for creating non-linear video editors. It works together with the GStreamer multimedia framework to give developers a powerful and flexible set of tools for quickly assembling applications which need to handle non-linear video editing.
Gnu3dkit
The GNU 3DKit is an object oriented graphics framework for creating 3D graphics applications in the Objective-C language. Its main application is to render 3D graphics in real-time on commodity hardware, using a scene graph architecture. It is based on OpenGL graphics library to achieve this goal. The GNU 3DKit was officially part of the GNU project as an extension to GNUStep .
Gnuae Heckert gnu.tiny.png
GnuAE is a GNOME/GTK compliant GUI for designing photovoltaic and wind powered houses with compliance to the National Electrical Code. As GnuAE has a database of components and current average prices, it can help you judge the total cost of a system by experimenting with different options like using a propane or DV fridge, or more or less reserve days or hours of sun. GnuAE is also designed to make it much easier to wire for NEC code compliance without studying all 800 some pages of the NEC specification. Even for an electrician, the interdependencies between calculations is daunting. While DC wiring is much simpler than AC wiring, most off-grid household systems are both. There is even a built in NEC calculator for people that have a good feel for what they are doing, but want to also experiment with differing conduit sizes, parallel wire runs, and voltage drop.
Gnudos Heckert gnu.tiny.png
GnuDOS is a set of programs designed to help new users of the GNU system in growing accustomed to the system, particularly users who might be coming from a DOS background. It consists of a file manager, a text editor and a form designer for the console as well as a core library for building similar utilities:
  • The core library (corelib) contains four utilities: Kbd (for keyboard handling), Screen (for screen drawing), Dialogs (for dialog boxes/window drawing), and Strings (for strings functions).
  • The software applications are three: Prime (console file manager), Mino (console text editor), and Fog (console form designer).
Gnulib Heckert gnu.tiny.png
Gnulib is intended to be the canonical source for most of the important "portability" and/or common files for GNU projects. These are files intended to be shared at the source level; Gnulib is not a library meant to be installed and linked against. Unlike most projects, Gnulib does not normally generate a source tarball distribution; instead, developers should just grab modules directly from the repository. While portability across operating systems is not one of GNU's primary goals, it has helped introduce many people to the GNU system, and is worthwhile when it can be achieved at a low cost. This collection helps lower that cost.
Gnupg
GnuPG is a complete implementation of the OpenPGP standard. It is used to encrypt and sign data and communication. It features powerful key management and the ability to access public key servers. This package, also known as GPG, is a command line tool with features for easy integration with other applications. A wealth of frontend applications and libraries are available.

Notes

Even if you have nothing to hide, using encryption helps protect the privacy of people you communicate with, and makes life difficult for bulk surveillance systems. If you do have something important to hide, you are in good company; GnuPG is one of the tools that Edward Snowden used to uncover the secrets of the NSA.

See also the Email Self-Defense site to learn how and why you should use GnuPG for your electronic communication.
Gnuprologjava Heckert gnu.tiny.png
"GNU Prolog for Java" is a library which is designed to embedd into Java applications which need Prolog to solve some tasks. The interpreter is intended for applications where Prolog performs combinatory search and Java does the rest. The library allows easy communication between Java and Prolog.
Gnurl Heckert gnu.tiny.png
Gnurl is a microfork of cURL, a command line tool for transferring data with URL syntax. While cURL supports many crypto backends, libgnurl only supports HTTP, HTTPS and GnuTLS.
Gnustep Heckert gnu.tiny.png
Provides an object oriented application development framework and tool set for use on a wide variety of platforms. It provides a generalized visual interface design and a cohesive user interface. It also uses a common imaging model called Display PostScript (based on PostScript) to do all its drawing, so the program is truly WYSIWYG. GNUstep is written in the Objective-C language, a simple yet powerful object-oriented language based on C that gives you the full power of an object-oriented language with exactly one syntax addition to C and a dozen or so additional keywords.
Gnustep-back , Heckert gnu.tiny.png
This is the back-end component for the GNUstep GUI Library. GNUstep is a cross-platform, object-oriented set of frameworks for desktop application development. The set of frameworks, based on Cocoa (previously OpenStep), enables developers to rapidly build sophisticated software by employing a large library of reusable software components. This GUI uses an abstraction layer to talk to the windowing system. It uses the GNUstep back library to handle all of the windowing-system-specific details. It currently works via a DPS emulation engine to emulate the DPS functions required by the front-end system. More recently, a back end based on Cairo was implemented. This is a high-performance 2D graphics library supporting vector and composing operations. Another back-end runs on top of the X Window System and uses only Xlib calls for graphics, but seems deprecated. (There is also a back end supporting the Windows GDI, allowing GNUstep applications to run on Windows)
Gnustep-base
The GNUstep Base Library is a library of general-purpose, non-graphical Objective C objects. For example, it includes classes for strings, object collections, byte streams, typed coders, invocations, notifications, notification dispatchers, moments in time, network ports, remote object messaging support (distributed objects), and event loops. It provides functionality that aims to implement the non-graphical portion of the Apple's Cocoa frameworks (the Foundation library) which came from the OpenStep standard.
Gnustep-gui
The GNUstep GUI Library is an object-oriented application programming interface (API) for writing graphical applications. These classes include graphical objects such as buttons, text fields, popup lists, browser lists, and windows; there are also many associated classes for handling events, colors, fonts, pasteboards and images. It is based on Cocoa (previously OpenStep). The library calls methods of the display server, while gnustep-back translates those calls to native calls of the operating system.
Gnutls Heckert gnu.tiny.png,
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them. It provides a simple C language application programming interface (API) to access the secure communications protocols as well as APIs to parse and write X.509, PKCS #12, and other required structures. The project strives to provide a secure communications back-end, simple to use and integrated with the rest of the base GNU/Linux libraries. A back-end designed to work and be secure out of the box, keeping the TLS and PKI complexity outside the applications.
Go
go is a small shell command for changing directories quickly. Typically you have a set of directories that you work in. Typing out the names of those dirs in full can be tedious.
Goblin Graph Library
The GOBLIN project consists of a C++ class library for a large series of graph optimization problems, GOSH, an extension of the Tcl/Tk scripting language to graph objects, and GOBLET, a graphical user interface to the library functions. GOBLET includes a graph editor, but provides only basic graph layout methods.
Goffice
GOffice is a GObject based C library. It provides easy API access to creating and manipulating graphs and canvases. It also includes a number of utilities and widgets that might be useful in office productivity software and similar. The GOffice code was originally a part of Gnumeric, but was split into a separate library in 2005. Today it is being used by projects such as Gnumeric, Gnucash, Abiword (optional), GChemUtils and more.
Google-adwords-dumper
google-adwords-dumper is a program to fetch basic data of an adwords account and some relevant performance reports of the account. It also fetches the data of child accounts if the given account is a master account.
Goose
Goose is a C++ library for statistical computation. Numerical functions include combinatorial functions, CDF and inverse CDF functions, and various gamma functions. The program includes a fast, high-quality Mersenne Twister-based random number generator, various statistical tests, an implementation of simple linear regression, kernel density estimation, and (optionally) multi-threaded resampling routines.
Goptical Heckert gnu.tiny.png
Goptical is a C++ optical design and simulation library. It provides model classes for optical components, surfaces and materials. It enables building optical systems by creating and placing various optical components in a 3d space and simulates light propagation through the system. Classical optical design analysis tools can be used on optical systems.
Grace Library
This is a candidate for deletion: Links broken. Email to maintainer broken. Poppy-one (talk) 14:34, 2 August 2018 (EDT) Grace is a C++ library/enhancement for creating multithreaded server applications. It delivers basic building blocks for stable, readable code and makes it easy to exchange data with other systems.
Grapefruit
GrapeFruit is a pure Python module that let you easily manipulate and convert color information. Its Primary goal is to be natural and flexible. The following color systems are supported by GrapeFruit:
  • RGB (sRGB)
  • HSL
  • HSV
  • YIQ
  • YUV
  • CIE-XYZ
  • CIE-LAB (with the illuminant you want)
  • CMY
  • CMYK
  • HTML/CSS color definition (#RRGGBB, #RGB or the X11 color name)
  • RYB (artistic color wheel)
Graphics3D
'Graphics3D' is a C++ library for game developers, researchers, and students. It is a base of robust and high performance code common to most 3D projects. It is not a standalone graphics or game engine--it is a set of pieces to jumpstart your own engine or graphics project. The library has two parts: G3D for pure math, and GLG3D for interacting with hardware acceleration via OpenGL. You can use G3D without GLG3D if you want to use another 3D API or don't like the OpenGL abstraction.
Gretl Heckert gnu.tiny.png
Gretl, an acronym for Gnu Regression Econometrics and Time-series Library, is a package for performing statistical computations for econometrics. It consists of both a command-line client and a graphical client. It features a variety of estimators such as least-squares and maximum likelihood; several time series methods such as ARIMA and GARCH; limited dependent variables such as logit, probit and tobit; and a powerful scripting language. It can output models as LaTeX files. It also may be linked to GNU R and GNU Octave for further data analysis.
Groupserver
GroupsServer is a server package for hosting mailing lists, like GNU Mailman, or Sympa. But like Discourse and Loomio, is also has a feature rich web interface, allowing each mailing list it hosts to also be used as if it were a web forum. In keeping with its name GroupServer refers to each mailing list forum as a 'group'. Users can send, receive, read, and reply, to group messages by email, or they can read and post to the group from the web interface. Group admins can manage and moderate their groups using email commands, as in older mailing list packages, or using the web interface. A single GroupServer instance can host multiple organisations, each with multiple groups.
Gsasl
GNU SASL an implementation of the Simple Authentication and Security Layer (SASL) framework, consisting of a library with several plugins, command-line application, test-suite, documentation and source code usage examples. GNU SASL consists of a library (`libgsasl'), a command line utility (`gsasl') to access the library from the shell, and a manual. The library includes support for the framework (with authentication functions and application data privacy and integrity functions) and at least partial support for the CRAM-MD5, EXTERNAL, GSSAPI, ANONYMOUS, PLAIN, SECURID, DIGEST-MD5, SCRAM-SHA-1, SCRAM-SHA-1-PLUS, LOGIN, and NTLM mechanisms.
Gscope: A Software Oscilloscope Library
Gscope is a software oscilloscope library build using the GTK and GNOME toolkits. Gscope can be used to monitor, display and debug various types of "real-time" data. Additionally, the scope can be used for graphing file data that is in a tuple format.
Gsequencer
Advanced GTK+ Sequencer (AGS) is intended to use for music composition. It features a piano roll, as well a synth, matrix editor, drum machine, soundfont2 player, mixer and an output panel. Further it has LADSPA, DSSI and Lv2 plugin support. It's designed to be highly configurable. You may add effects to its effect chain; and add or remove audio channels/pads. You may set up a fully functional network of engines, thus there is a link editor for linking audio lines. AGS requires a realtime kernel and ALSA support. AGS uses conditional locks to keep several threads in sync that's why you need at least a preemptable kernel. LADSPA support has been added to version 0.4.2 as well export to WAV. Version 0.5.x brings you first concurrent audio tree processing support. Version 0.6.x is dedicated to accessibility. You might control GSequencer by keyboard. As you move to a note it provides you an audible feedback. Version 0.7.x gives you the benefit of providing the libraries libags, libags-thread, libags-server, libags-audio and libgsequencer. It contains for now an automation editor. Open Sound System (OSS4) and JACK Audio Connection Kit support has been added recently. Now you may configure multiple soundcards. Since 0.7.111 there is MIDI input available. Let you record your MIDI instrument and doing live performance. Version 0.8.x extended MIDI support to import/export SMF. A built-in envelope editor and additional editing functionality like move/crop selected notes. Version 0.9.x added automation editor. Version 1.0.x released implemented sticky controls. Version 1.1.x segmented AgsNotation and AgsAutomation. Version 1.2.x improved audio backend support and improved accessibility by using Atk+ interfaces. Migrated to segmented AgsNotation , Version 1.3.x migrated to segmented AgsAutomation. Version 1.4.x AgsWave and AgsBuffer have arrived in libags_audio.so Version 2.0.x provides new machines AgsEqualizer10, AgsSpectrometer and AgsAudiorec. Wave form manipulation and recording capabilities. Version 2.1.x has got initial OSC content model support. The provided OSC server allows you to do remote control. Version 2.2.x support for GCC builtin vector functions and added complex data type support. Version 2.3.x added new machines AgsFMSynth, AgsFMSyncsynth and AgsPitchSampler. Support for WASAPI. Version 3.0.x added GObject-Introspection annotations. Implemented AgsServer providing basic HTTP authentication using XMLRPC library libsoup-2.4. Added online help browser to view the user manual within UI by using WebKit2Gtk-4.0. Further providing support for AGS-OSC-OVER-XMLRPC and migrated to Gtk-3. Allow the user to perform fast export to audio file with AgsAudiorec. Version 3.3.x provides a new effect processors, the ags-fx engine. All recalls have got a replacement in order to operate with one single iteration per tic. Further the staging program is modifiable. Version 3.4.x implemented AgsSFZSynthGenerator and AgsSF2SynthGenerator allowing you to pitch missing samples. Version 3.6.x implemented AgsGstreamerFile capable of reading common media files using gstreamer. Version 3.12.x implemented composite editor. Version 4.0.x migrated to Gtk4 and libsoup-3.0. Version 4.1.x implemented zoom in PDF manual. Version 5.0.x improved vst3 api reference manual. Version 5.2.x implemented tremolo, vibrato and wah-wah of SFZ and Soundfont2 synths. Version 5.4.x fixed automation editor. Version 6.0.x implemented initial MIDI v2.0 support. Version 6.1.x implemented note 256th support. Version 6.2.x fixed more accurate timing. Version 6.4.x implemented auto-scroll. Version 6.5.x fixed tool dialogs. Version 6.6.x refactored file dialog.
Gsl Heckert gnu.tiny.png
The GNU Scientific Library is a library for numerical analysis in C and C++. It includes a wide range of mathematical routines, with over 1000 functions in total. Subject areas covered by the library include: differential equations, linear algebra, Fast Fourier Transforms and random numbers.
Gslip Heckert gnu.tiny.png
Gnu gSlip is a C++ API extension of Dr. Weizenbaum's Symmetric List Processor (SLIP). It supports the construction, modification, and deletion of acyclic graphs, trees, and lists. The mechanics of graph manipulation are handled by the API subsystem and are hidden from the application, allowing the application to focus on the problem at hand rather the mechanics of cell manipulation.
Gss Heckert gnu.tiny.png
GNU Generic Security Service Library implements the GSS-API framework and a Kerberos V5 mechanism (through Shishi). GSS-API and Kerberos V5 is used by network clients and servers to perform authentication, often using the SSH protocol for remote access or SMTP/IMAP/POP3 for email. This package contains also a command line tool for GSS.
Gstreamer
GStreamer is a library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio mixing and video non-linear editing. Applications can take advantage of advances in codec and filter technology transparently. Developers can add new codecs and filters by writing a simple plugin with a clean, generic interface. This package provides the core library and elements.
Gtk+
GTK+ is a GUI Toolkit for creating graphical user interfaces. This package provides a complete set of widgets suitable for projects ranging from small one-off tools to complete application suites. In addition to basic widgets, such as buttons, check boxes, and text entries, it also provides Model-View-Controller (MVC) APIs for tree views, multi-line text fields, and menu and toolbar actions. GTK+ is the primary library used to construct user interfaces in GNOME. Its name stands for "GIMP Tool Kit", as originally it was explicitly written for that image manipulation program, and later extracted from it as a stand-alone library. Third-party language bindings designed for the GNU system are provided by the Guile-Gnome project.
Gtk2Hs
'Gtk2Hs' is a GUI library for Haskell based on Gtk. It features automatic memory management, Unicode support, and bindings for the Mozilla browser rendering engine. It also includes bindings for several Gnome modules: libglade, for loading GUIs from xml files at run-time, so you can design an interface visually using the Glade user interface builder; GConf, for storing application preferences; and SourceView, a source code editor widget with syntax highlighting.
GtkDatabox
The GtkDatabox widget (for use with the GTK+ widget set) is used to display large amounts of numerical data in graphical representation. Several sets of data may be shown at one time. You may zoom in and out and navigate via scrollbars. The display of data is rather fast, so you can use the widget for quickly changing data (i.e. an oscilloscope for example) as well. The widget has already been adapted to several scientific projects around the world.
GtkHTML
GtkHTML is a HTML rendering/editing library. It is not designed to be the ultimate HTML browser/editor; instead, it is designed to be easily embedded into applications that require lightweight HTML functionality.
Guetzli
Guetzli is known to be very resource intensive, requiring several orders of magnitude more processing time than other JPEG encoders, and a lot of memory. Guetzli supports only the top of JPEG's quality range (quantizer settings 84–100) and supports only sequential (non-"progressive") encoding. Guetzli is more effective with bigger files. Guetzli uses methods to optimize compression efficiency that target mainly the quantization step. It constructs custom quantization tables for each file, decides on color subsampling, and quantizes some adjacent DCT coefficients to zero, balancing benefits in the run-length encoding of coefficients and preservation of perceived image fidelity. Zeroing the right coefficients is the most effective tool in Guetzli, which is used as a makeshift means of spatially adaptive quantization. The optimizations are guided by Butteraugli. It is implemented as a command-line tool in C++.
Guile Heckert gnu.tiny.png
Guile is an implementation of the Scheme programming language, packaged for use in a wide variety of environments. In addition to implementing the R5RS, R6RS, and R7RS Scheme standards, Guile includes full access to POSIX system calls, networking support, multiple threads, dynamic linking, a foreign function call interface, powerful string processing, and HTTP client and server implementations. Guile can run interactively, as a script interpreter, and as a Scheme compiler to VM bytecode. It is also packaged as a library so that applications can easily incorporate a complete Scheme interpreter/VM. An application can use Guile as an extension language, a clean and powerful configuration language, or as multi-purpose "glue" to connect primitives provided by the application. It is easy to call Scheme code from C code and vice versa. Applications can add new functions, data types, control structures, and even syntax to Guile, to create a domain-specific language tailored to the task at hand.

Guile's VM

Guile contains an efficient compiler and virtual machine. It can be used out of the box to write programs in Scheme, or can easily be integrated with C and C++ programs.

Guile is the GNU Ubiquitous Intelligent Language for Extensions, and the official extension language of the GNU project.
Guile-cv Heckert gnu.tiny.png,

Guile-CV
Image Processing and Analysis in Guile
a Computer Vision functional programming library
Guile-CV is based on Vigra (Vision with Generic Algorithms), enhanced with additional algorithms (Image Textures, Delineate, Reconstruction and many more), all accessible through a nice, clean and easy to use high level API.
Guile-CV is natively multi-threaded, and takes advantage of multiple cores, using high-level and fine grained application-level parallelism constructs available in Guile, based on its support to POSIX threads.
Guile-gcrypt
Guile-Gcrypt is a cryptography library for Guile using Libgcrypt. The API provides a Guile 2.x interface to a subset of the GNU Libgcrypt crytographic library, which is itself used by the GNU Privacy Guard (GPG).
Guile-git
This package provides Guile bindings to libgit2, a library to manipulate repositories of the Git version control system.
Guile-json
Guile-JSON is a JSON module for Guile. It supports parsing and building JSON documents according to the http://json.org specification. These are the main features:
  • Strictly complies to JSON specification.
  • Build JSON documents programmatically via macros.
  • Unicode support for strings.
  • Allows JSON pretty printing.
Guile-ncurses Heckert gnu.tiny.png
Guile-Ncurses is a library for the Guile Scheme interpreter that provides functions for creating text user interfaces. The text user interface functionality is built on the ncurses libraries: curses, form, panel, and menu.
Guile-toxcore
Guile-toxcore provides high level Scheme bindings for the Tox protocol library, libtoxcore.
Guile-xcb
Guile XCB is an X11 client library written entirely in Guile. It makes use of the Guile compiler and virtual machine to turn XML descriptions of the X protocol provided by the XCB project into Guile object code files. Support is included for the core X protocol and twenty-seven extensions. Guile XCB also includes some simple code for running asynchronous event loops.
Gwenhywfar
'Gwenhywfar' is a multi-purpose library that provides useful functions such as configuration file handling, a full featured message generation and parsing engine, and an operating system abstraction layer. It is used by Libchipcard, OpenHBCI, AqMoney, and various other projects.
Gzochi
gzochi (/zoʊ-ʧi:/) is a framework for developing massively multiplayer online games. A server container provides services to deployed games, which are written in Guile Scheme, that abstract and simplify some of the most challenging and error-prone aspects of online game development: Concurrency, data persistence, and network communications. A very thin client library can be embedded to provide connectivity for client applications written in any language.
HCluster
A hierarchical clustering package for Scipy. This library provides Python functions for hierarchical clustering. Its features include:
  • generating hierarchical clusters from distance matrices
  • computing distance matrices from observation vectors
  • computing statistics on clusters
  • cutting linkages to generate flat clusters
  • and visualizing clusters with dendrograms.
HPAlib
The HPA library offers functions for high precision arithmetic, a high precision math library and functions which apply high precision computation. The math library support includes evaluation of trigonometric, inverse trigonometric, hyperbolic, inverse hyperbolic, logarithm and exponential functions at the same precision as the floating point math itself. The version 1.0 of the HPA library supports high precision complex arithmetic and includes an extended precision complex math library.
HTML Defaultify
'Defaultify' lets you populate any HTML form with default values that you specify-- it parses the HTML to find the tags representing form fields, and alters those tags so that the desired initial values will be set. It's useful for letting a user correct input errors, presenting a form to edit an existing database record (or user account information), maintaining a query form from one results page to the next, etc. HTML::Defaultify lets you completely separate the HTML from the program code, which means a non-technical designer can work on the HTML while a programmer works on the code. Also, it uses existing HTML, so you needn't rewrite old pages in a new format.
HTML Mason
HTML::Mason is a web site development and delivery system that constructs web pages and sites from shared, reusable building blocks called components. Components contain a mix of Perl and HTML, and can call each other and pass values back and forth like subroutines. They increase modularity and eliminate repetitive work. HTML::Mason is most powerful when used in conjunction with mod_perl, but can be used in standalone applications as well.
HTTPlib2
A comprehensive HTTP client library, httplib2 supports many features left out of other HTTP libraries.
Hachoir project- hachoir core
Hachoir is the french name for a mincer: a tool used by butchers to cut meat. Hachoir is also a tool written for hackers to cut a file or any binary stream. A file is split in a tree of fields where the smallest field can be just a bit. There are various field types: integer, string, bits, padding, sub file, etc. Hachoir has many interesting features:
  • Autofix: Hachoir is able to open invalid / truncated files
  • Lazy: Open a file is very fast since no information is read from file, data are read and/or computed when the user ask for it
  • Types: Hachoir has many predefined field types (integer, bit, string, etc.) and supports string with charset (ISO-8859-1, UTF-8, UTF-16, ...)
  • Addresses and sizes are stored in bit, so flags are stored as classic fields
  • Endian: You have to set endian once, and then number are converted in the right endian
  • Editor: Using Hachoir representation of data, you can edit, insert, remove data and then save in a new file.
  • Website: http://hachoir.org/wiki/hachoir-core
Hachoir project- hachoir regex
hachoir-regex is a Python library for regular expression (regex or regexp) manupulation. You can use a Pipe.pngb (or) and a+b (and) operators. Expressions are optimized during the construction: merge ranges, simplify repetitions, etc. It also contains a class for pattern matching allowing you to search multiple strings and regex at the same time.
Hachoir project- hachoir subfile
hachoir-subfile is a tool based on hachoir-parser to find subfiles in any binary stream. It searches images, videos, SWF files, and all sub files in a drive.
Haketilo
Haketilo is a program that makes it easy to use alternative JavaScript for web pages. Instead of using JavaScript served by the site, Haketilo gives to your browser software downloaded in advance from a repository, or software you've installed manually yourself. This makes it more convenient to use many sites that were previously difficult to use without running nonfree software, and it enables more user control on sites that already serve free JavaScript.
Ham Radio Control Libraries
The HAM radio equipment control libraries allow you to write amateur radio equipment control programs for transceivers which use CAT or similar computer interfaces for control.
HapCluster++
HapCluster++ is a software package for linkage disequilibrium mapping using coalescent theory. It is based on a Bayesian Markov-chain Monte Carlo (MCMC) method for fine-scale linkage-disequilibrium gene mapping using high-density marker maps. HapCluster++ is a C++ implementation of the method described in the paper "Fine Mapping of Disease Genes via Haplotype Clustering" by E.R.B. Waldron, J.C. Whitaker, and D.J. Balding. Genetic Epidemiology. 30: 170Ãâ179. (2006).
Harminv
Harminv is a program (and accompanying library) to solve the problem of harmonic inversion. Given a discrete-time, finite-length signal that consists of a sum of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it determines the frequencies, decay constants, amplitudes, and phases of those sinusoids. Harminv can, in principle, provide much better accuracy than straightforwardly extracting FFT peaks because it assumes a specific form for the signal. (Fourier transforms, in contrast, attempt to represent *any* data as a sum of sinusoidal components.) It is also often more robust than directly least-squares fitting the data (which can have problematic convergence). Harminv employs the "filter diagonalization method" (FDM) of Mandelshtam and Taylor.
Hasard
This is a candidate for deletion: Links broken. Email to maintainer broken. Poppy-one (talk) 15:09, 2 August 2018 (EDT) Hasard is a pseudo-random random number generator (PRNG) library. It includes multiple engines (algorithms), examples: Park-Miller, Mersenne Twister and GNU/Linux built-in random PRNG. It has simple API but with strong code, eg. PRNG seed can be generated using strong entropy (hardware random number generator like /dev/random on GNU/Linux). The library is written in C and a Python binding is available. "Hasard" is the french word for "randomness".
Hashit
Hashit is a library of generic hash tables that supports different collision handling methods with one common interface. Both data and keys can be of any data type. It is small and easy to use.
Hashlet
Hashlet is an application with a Command Line Interface (CLI) that controls the Cryptotronix Hashlet. The Cryptotronix Hashlet is open source hardware that implements SHA256, provides a hardware random number generator, and stores 256 bit keys in read and write protected memory. The hardware is designed for a BeagleBone Black but can be uses on an embedded GNU/Linux system that supports the I2C protocol and can supply 3.3 or 5 Volts to the device.
Hfloat
The Huge-float package is for computations with very long (huge!) floating point numbers. With hfloat you can compute pi to several million digits.
Highlight.js
Highlight.js is a syntax highlighter for the Web.
  • 135 languages and 65 styles (live demo)
  • Automatic language detection
  • Multi-language code highlighting
  • Available for Node.js
  • Works with any markup
  • Compatible with any JavaScript framework
Hipercontracer
High-Performance Connectivity Tracer (HiPerConTracer) is a ping/traceroute service. It performs regular ping and traceroute runs among sites and can export the results into an SQL or Non-SQL database.
Hk classes
'hk_classes' is a set of C++ libraries for rapid development of database applications with all features a modern database application should have, like forms and reports. hk_classes is database and GUI independent. It also includes command line tools to use hk_classes in scripts.
Hoard
Hoard is a fast, scalable and memory-efficient allocator for multiprocessors. It solves the heap contention problem caused when multiple threads call dynamic memory allocation functions like malloc() and free() (or new and delete), and can dramatically improve the performance of multithreaded programs running on multiprocessors. it is a drop-in replacement for malloc(), etc., so you don't have to change your source code.
Hocr
hebOCR (formerly HOCR) is a Hebrew character recognition c/c++ library. includes three demo applications:
  • hocr - command line Hebrew OCR tool.
  • hocr-gui - Gnome based graphical interface.
  • hocr-qt - QT based graphical interface, using the c++ bindings.
Honeycomb
Honeycomb is an object-oriented hover intent library. A lot of hover intent libraries give you a single in-point for invoking hover functionality, assuming you will always want action to take place on hover in and hover out. This can allow for fairly light weight libraries but can be very difficult to work with if you need any customization. If you have use cases for hover intent that aren't always straight forward, Honeycomb may be a good fit for you.
HotSwap
This is a candidate for deletion: Links broken. Email to maintainer broken. Poppy-one (talk) 16:46, 2 August 2018 (EDT) HotSwap provides a robust library for updating the implementation of an object at runtime (aka hotswapping). This is achieved through recompilation, dynamic class reloading, and object state migration throughout the life of an application. Hotswapping makes Java feel more like an interpreted language than a compiled language; it is fundamentally useful for runtime development of an application (application evolution or incremental development).
Hsclock
This is a candidate for deletion: Links broken. Email to maintainer broken. Poppy-one (talk) 16:57, 2 August 2018 (EDT) 'hsclock' is a multi-zone GTK clock that can also run in a tty. Currently configuration is solely by command line options. hsclock uses GTK timeouts to synchronize with the system clock, making display updates accurate to within milliseconds. The time output format can be set with a date-like format option.
Hy
Hy is a Lisp front-end to the Python AST / Bytecode. This allows you to use the Python VM just as Clojure uses the Java VM. Hy is special, since not only can Hy invoke Python, but Python can also interop with Hy in a clean way.
Hype Community
Hype community is a forum like Wordpress theme but also contains reddit elements.
IPStream
'IPStream' is a C++ crossplatform library for working with TCP/UDP protocols. It is multithreaded and relies on the Boost libraries for this (particularly Boost.Thread It makes working with TCP/UDP easier due to serialization operators usage.
IPlib
A Python module for converting and managing pairs of address/netmask in the CIDR notation. Some example scripts ('ipconv', 'nmconv' and 'cidrinfo') are included.
ISCII
ISCII Utilities contains two programs that analyze text files encoded according to the Indian Script Code for Information Interchange (ISCII), the Indian national standard. IsciiName identifies each code, printing the byte offset, the code in hex, and an explanation of the meaning of the code. ATR codes for writing system transition and display mode are interpreted. CountIsciiChars counts the codes in an ISCII file and classifies them according to their type and function. Its original purpose was to compute accurate letter counts for reading studies, but this information is also useful when processing ISCII-encoded text.
ISO Master
ISO Master is a graphical editor for ISO images with support for ISO9660, RockRidge, and Joliet file names. It is useful for extracting, deleting, or adding files and directories to or from an ISO image. It is based on the bkisofs and GTK2 libraries.
ISODate
This module implements ISO 8601 date, time and duration parsing. The implementation follows ISO8601:2004 standard, and implements only date/time representations mentioned in the standard. If something is not mentioned there, then it is treated as non existent, and not as an allowed option. For instance, ISO8601:2004 never mentions 2 digit years. So, it is not intended by this module to support 2 digit years. (while it may still be valid as ISO date, because it is not explicitly forbidden.) Another example is, when no time zone information is given for a time, then it should be interpreted as local time, and not UTC. As this module maps ISO 8601 dates/times to standard Python data types, like date, time, datetime and timedelta, it is not possible to convert all possible ISO 8601 dates/times. For instance, dates before 0001-01-01 are not allowed by the Python date and datetime classes.
IT++
IT++ is a C++ library of mathematical, signal processing, speech processing, and communications classes and functions. It is being developed by researchers in these areas and is widely used by researchers, both in the communications industry and universities. Since 2004, IT++ is also being developed as a part of the European Network of Excellence in Wireless Communications (NEWCOM). The kernel of the IT++ library are templated vector and matrix classes, and lots of functions for vectors and matrices. Such a kernel makes IT++ library similar to Matlab. IT++ makes an extensive use of existing free software libraries (but not only) for increased functionality, speed and accuracy. In particular BLAS, CBLAS, LAPACK and FFTW libraries might be used. Instead of NetLib's reference BLAS and LAPACK, some optimized platform-specific libraries can be used as well, i.e.:
  • ATLAS (Automatically Tuned Linear Algebra Software) - includes optimised BLAS, CBLAS and a limited set of LAPACK routines
  • MKL (Intel Math Kernel Library) - includes all required BLAS, CBLAS, LAPACK and FFT routines (FFTW not required)
  • ACML (AMD Core Math Library) - includes BLAS, LAPACK and FFT routines (FFTW not required)
It is possible to compile and use IT++ without any of the above listed libraries, but the functionality will be reduced. The IT++ library originates from the former department of Information Theory at the Chalmers University of Technology, Gothenburg, Sweden. Because the library is coded in C++, the name IT++ seemed like a good idea at the time. While departments come and go, IT++ have developed a life of its' own and is now released under the terms of the GNU General Public License (GPL) for you to enjoy. IT++ should work on GNU/Linux, Sun Solaris, Microsoft Windows (with Cygwin, MinGW/MSYS, or Microsoft Visual C++ .NET) and Mac OS X operating systems.
IUP
IUP is a multi-platform toolkit for building graphical user interfaces (GUIs). It offers a simple API in three basic languages: C, Lua and LED. IUP's purpose is to allow a program source code to be compiled in different systems without any modification. Its main advantages are: high performance, due to the fact that it uses native interface elements; and fast learning by the user, due to the simplicity of its API. More details at: http://webserver2.tecgraf.puc-rio.br/iup/en/prod.html
IbPy
IbPy is a third-party implementation of the API used for accessing the Interactive Brokers on-line trading system. IbPy implements functionality that the Python programmer can use to connect to IB, request stock ticker data, submit orders for stocks and options, and more.
Ibus Table Sasankadeva
Ibus-table that uses the Sasankadeva layout for typing Bengali or Sanskrit in Bengali script. Sasankadeva (Unicode) is semi-phonetic transliteration keyboard, i.e., a midway between the accuracy of grammatical typing and the ease of phonetic Indic typing. The ease has been ensured in many ways, including spelling statistics, character combinations and multiple options to be used as suits. Along with its own set of input keys, most popular input strings from widely used Avro Phonetic and itrans-Bangla are also supported. Apart from useful well-defined shortcuts that save time while typing, there are fixed phonetic-based layout for all usual character combinations in Indian Bengali, so that the user can practically type without looking at the screen if he chooses to. Also, suggestions come up to be selected from, if one is more comfortable with them. It aims at making an algorithm that provides space for both well-defined inputs with phonetic variations, has sets of methods that suits both professional and layman typing with one or two hands, that are easy to learn and easier to apply. The interface has been built in ibus-table environment. Official website: https://sites.google.com/view/sasankadeva
IceCat/Enhanced Desktop Notifications
Provides enhanced new mail desktop notifications using the notify-send library.
IceCat/RECAP
RECAP is a browser extension that improves the experience of using PACER, the electronic public access system for the U.S. Federal District and Bankruptcy Courts. It also helps you contribute records to a public archive hosted by the Internet Archive and it shows you when free documents are available on the archive.
IcedTea
IcedTea is a build and integration project for OpenJDK in which the GNU Classpath team is working. The project provides a harness to build the source code from openjdk.java.net using Free Software tools and dependencies.
Id3lib
'id3lib' is a software development library for reading, writing, and manipulating meta-information in digital audio files. Currently id3lib supports reading and writing of ID3v1 and ID3v2 tags and other associated tasks such as conversion between tagging formats, identifying valid tags, converting sizes, synchronisation, compression, and padding. It also has a high level of support for the ID3v2 standard, to produce tags that will continue to comply with the standard well into the future.
Ilib
Ilib is an image manipulation library for developers. It's capable of reading and writing images (PPM/PGM, PNG, JPEG, GIF, XPM, BMP) and many drawing functions including drawing lines and text using any BDF (X11) font. It's great for generating GIFs/PNGs from a CGI or generating graphs.
ImLib3D
ImLib3D is a C++ library and visualization system for 3D (volumetric) image processing. It provides a library for developing image processing software in C++, an executable, for using image processors from the command line, and an executable, which is an interactive GUI for 3D volumetric visualization.
Image Fusion Library
Library for image fusion (i.e. combining several images while preserving as much information from each image as possible) written in C++. Fast and memory efficient.
ImageJ
ImageJ is a public domain Java image processing program inspired by NIH Image for the Macintosh. It runs, either as an online applet or as a downloadable application, on any computer with a Java 1.4 or later virtual machine.
Imixs-Workflow
Imixs Workflow is an Open-Source-Project, providing technologies for building Business Process Management solutions. The project focus on human based workflows used to execute and control workflows in organisations and enterprises. In difference to task-oriented workflow engines, which focus on automated program flow control (tasks), Imixs Workflow is a representative of an event-based workflow engine. Here, the engine controls the status of a process instance within a defined state-diagram. By entering an event, the state of a process instance can be abandoned or changed. In human-centric workflow engines, events usually occur by an interaction of the actor with the system, for example by approving or rejecting a business transaction. They can also be triggered by scheduled events. An example of this is an escalation of an unfinished task.
Impress.js
Impress.js is an in-browser JavaScript presentation framework. It is inspired by Prezi and offers 3D animations support using CSS transitions. It is quite bare-bones and requires HTML, CSS and JavaScript knowledge to use.
InfiniSQL
InfiniSQL is a distributed in-memory NewSQL relational database management system (RDBMS). It excels at performing complex transactions which involve records on multiple server nodes. It is engineered around the actor model of concurrent programming, which enables unique scalability capabilities. InfiniSQL is currently in an alpha state, and the project is eagerly seeking developers, early adopters, and people who want to help build a community around it.
Infovore
Infovore is designed to merge large data sets such as Freebase and DBpedia, producing 100% valid RDF output at high speed because it uses the Hadoop Framework
Intclock
'intclock' provides a graphical multi-timezone clock that is customizable via a configuration window. It is based on hsclock. It has a Gtk2 configuration window that can save a configuration between runs. Layouts can be either 1 column, 1 row, table, or 1 clock at a time (with clock selection in popup menu). There are user-defined labels for timezones, and the window position can be specified and saved between runs.
Interpcom
'interpcom' is a command interpreter library for building scientific applications. It contains an expression evaluator that can be used to parse the arguments of the commands. It is possible to define "objects" which are arrays of numbers having a name, and structures. The program also supports threads (several programs running simultaneously), and it is very easy to add new commands.
Intervals
The "Interval Arithmetic for Ada" library provides an implementation of intervals for Ada. It includes arithmetic and relational operations.
Invizi
Invizi helps you track your cryptocurrency transactions. All your data is stored locally, encrypted and never leaves your computer. Invizi can calculate your profit and loss, your historical balance, your assets allocations and more. Your transactions can be automatically synchronized with exchanges, entered manually or imported via csv files.
Ipfs
pleas add
Irc
This library is intended to encapsulate the IRC protocol at a quite low level. It provides an event-driven IRC client framework. It has a fairly thorough support for the basic IRC protocol, CTCP and DCC connections.
Ivy-Python
Links & maintainer email broken. Changed homepage to archive.org link. Poppy-one (talk) 12:26, 6 August 2018 (EDT) Ivy is a lightweight software bus for quick-prototyping protocols. It allows applications to broadcast information through text messages, with a subscription mechanism based on regular expressions.
JACK Audio Connection Kit
JACK is a low-latency audio server. It can connect a number of different applications to an audio device, as well as allowing them to share audio between themselves. Its clients can run in their own processes (i.e., as normal applications), or can they can run within the JACK server (as a "plugin"). JACK is different from other audio server efforts in that it has been designed from the ground up to be suitable for professional audio work. This means that it focuses on two key areas: synchronous execution of all clients, and low latency operation.
JAMlib
JAMlib is a collection of subroutines that encapsulate much of the format-specific and tedious details of the JAM message base format. By using these routines, application programmers can concentrate on the higher-level issues of their programs instead of worrying about their JAM routines.
JBIG-KIT
JBIG-KIT implements a highly effective data compression algorithm for bi-level high-resolution images (ie faxes or scanned documents). It provides a portable C library of compression and decompression functions with a documented interface that can easily be included into image or document processing software. JBIG-KIT also provides ready-to-use compression and decompression programs with a simple command line interface (similar to the converters found in netpbm). It implements the specification ISO 11544 and ITU-T T.82, commonly referred to as the "JBIG1 standard".
JCIFS
'jCIFS' is an SMB client library that follows the CIFS specification supporting Unicode, named pipes, batching, multiplexing IO of threaded callers, encrypted authentication, full transactions, domain/workgroup/host/share/file enumeration, NetBIOS sockets and name services, the smb:// URL protocol handler, a java.io.File like API, RAP calls, NTLM HTTP Authentication, and more.
JCMS
A simple to use CMS for websites that uses markdown.
JDEE
The Java Development Environment for Emacs (JDEE) is an add on software package for Emacs that assists in the development of software in the Java Programming Language. JDEE provides many Emacs commands that help with editing, compiling, running, debugging, and browsing large Java programs.
JDynamiTe
JDynamiTe is a tool which allows you to dynamically create documents in any format from "template" documents. Some typical usage domains of JDynamiTe are:
  • dynamic Web pages creation,
  • text document generation,
  • source code generation...
In fact, it can be useful in any case where pre-defined documents (templates) have to be dynamically populated with data. The main benefit of JDynamiTe is to allow a true separation between data (content), presentation (container) and content generation code (written in Java). JDynamiTe does not include a specific template language, and it is not a complete framework. It is a simple "brick" in your software architecture, a "glue" between your data model and your presentation model.
JFreeChart
A free Java chart library. JFreeChart supports pie charts (2D and 3D), bar charts (horizontal and vertical, regular and stacked), line charts, scatter plots, time series charts, high-low-open-close charts, candlestick plots, Gantt charts, combined plots, thermometers, dials and more. JFreeChart can be used in applications, applets, servlets and JSP. JFreeChart's extensive feature set includes: - a consistent and well-documented API, supporting a wide range of chart types; - a flexible design that is easy to extend, and targets both server-side and client-side applications; - support for many output types, including Swing components, image files (including PNG and JPEG), and vector graphics file formats (including PDF, EPS and SVG); - JFreeChart is free software. It is distributed under the terms of the GNU Lesser General Public Licence (LGPL), which permits use in proprietary applications.
JIGS
JIGS (Java Interface for GnuStep) allows Java programmers to use the GNUstep libraries from Java, but it is more than a set of bindings for GNUstep from Java: it takes advantage of the fact that Objective-C and Java are very similar languages to make it possible to use Objective-C classes from Java using exactly the same API (and vice versa). Moreover, JIGS can generate automatically wrappers for your own Objective-C GNUstep libraries.
JMusic
'jMusic' provides a library of classes for generating and manipulating music, and is a solid framework for computer assisted composition in Java. jMusic supports composers by providing a music data structure based upon note/sound events, and methods for working with that musical data. jMusic can read and write MIDI files, audio files, and its own .jm files. jMusic is designed to be extendible, so you can build on its functionality by programming in Java to create your own music composition tools.
JSAM
JSON Storage Access Methods is a library for storage and retrieval of JavaScript Object Notation (JSON) encoded objects. Backends include:
  • file: directory of plain text JSON files
  • rcs: directory of plain text JSON files under RCS
  • cvs: directory of plain text JSON files under CVS (not tested)
  • svn: directory of plain text JSON files under SVN (not tested)
  • sqlite: object trees stored in an SQLite3 database
  • mysql: object trees stored in a MySQL database (barely tested)
  • Lookup methods include:
  • Collections: a jQuery-like method-chained interface
  • XPath-like query language (only supported for SQL backends)
JSONgrep
JSONgrep is a shell tool for extracting values from JSON documents. It supports shell-like globbing for property names, and emits the matched values separated by newlines.
JSONlib2
This is yet another library for reading/writing json. The goal is to be API compatible with simplejson, except that it is written purely in C and is thus 5x-20x faster for both encoding and decoding, depending on the data.
JUCE
'JUCE' is an C++ class library for developing cross-platform applications, especially highly-specialised user interfaces and applications handling graphics and sound. It's meant for developers who are building large, complex applications in C++ and who would like to use just one clean, high-level API rather than many different libraries for different purposes or platforms. Its features include fully lightweight components with transparency and effects, classes for strings, containers, XML, streams, file handling, messaging, and event queues, vector graphics, a custom font engine, image manipulation, OpenGL support, low-latency audio I/O using CoreAudio, DSound and ASIO, audio buffers and nodes, MIDI file and event manipulation, Internet streams, undo/redo support, and more.
JZlib
JZlib is a re-implementation of zlib in pure Java. The first and final aim for hacking this was to add packet compression support to pure Java SSH systems. It can inflate and deflate zlib data, but does not yet support gzip file handling supports. It does support all compression levels and flushing modes in zlib.
JabRef
JabRef is a graphical Java application for editing BibTeX (.bib) databases. JabRef lets you organize your entries into overlapping logical groups, and with a single click limit your view to a single group or an intersection or union of several groups. You can customize the entry information shown in the main window, and sort by any of the standard BibTeX fields. JabRef can autogenerate BibTeX keys for your entries. JabRef also lets you easily link to PDF or web sources for your reference entries. JabRef can import from and export to several formats, and you can customize export filters. JabRef can be run as a command line application to convert from any import format to any export format.
Jam.py
Jam.py is an object oriented, event driven framework for development of database applications with hierarchical structure, modular design and very tight DB/GUI coupling. The server side of Jam.py is written in Python, the client utilizes JavaScript, jQuery and Bootstrap.
Jamdict
Jamdict is a command-line application as well as a Python 3 package for querying and managing Japanese dictionaries and resources (Jim Breen's JMdict, KanjiDic2, KRADFILE, JMnedict)
Jaraco.classes
Utility to construct Python classes.
Jaraco.collections
Additional classes and models to Python stdlib's collections.
Jaraco.functools
Additional functions to Python's stdlib.
Jaraco.logging
Parses logging into arguments.
Jaraco.text
Module for text manipulation.
Java CentralPartsUnit
Java CentralPartsUnit is a very low level CPU emulation library, allowing you to build logic gates from other logic gates, or use the built-in logic, complex logic (binary addition/two's compliment), bitwise logic, or registers. All the power is in your hands, and anything is possible if you can think it into existence.
Javascript Crypto Library
Provides web developers with an extensive and efficient set of cryptographic functions. The library aims to obtain maximum execution speed while preserving modularity and reusability. Includes the fastest JavaScript implementation of AES.
Jel Heckert gnu.tiny.png
JEL (Java Expressions Library) is a library for evaluating a simple single line expressions in Java. The key feature of JEL is the fact that it is a compiler. It supports full set of Java operators and primitive types, allows to call both static and virtual methods of Java classes (with no additional runtime costs and no wrappers), and performs evaluation of constant subexpressions at a compile time.
Jirafeau
Jirafeau is a web application making your file sharing easy by just selecting a file and upload it. Once uploaded, your file can be shared using a link.
Jjmpeg
jjmpeg is a hand-rolled object-oriented native Java binding for a number libraries in FFmpeg together with some re-usable high level components that make reading and writing media files trivial. The various C structures are represented directly by garbage collectable Java objects and native accessors. Functions take native objects directly simplifying the internal Java-side scaffolding.
JobLib
A set of tools to run Python scripts as jobs; namely: persistence and lazy re-evaluation (between make and the memorize pattern), logging, and tools for reusing scripts. Joblib provides a set of tools to run Python scripts as jobs; namely:
  • 1. persistence and lazy re-evaluation (between make and the memorize pattern),
  • 2. logging,
  • 3. tools for reusing scripts.
  • The original focus was on scientific-computing scripts, but any long-running succession of operations can profit from the tools provided by joblib.
Json-Type
Json-Type is a fully-compliant RFC 8259 and ECMA 404 push parser -- validating UTF8 as per the Unicode Standard 8.0.0 -- and a very efficient on-the-fly type checker of JSON text. Json-Type has a two-tiered structure: the core of its functionality is enclosed in a dynamic library, while the front-end, the main program assembles the variety of use-cases of the library into a convenient and comprehensive command line interface.
JsonPickle
Python library for serializing any arbitrary object graph into JSON. It can take almost any Python object and turn the object into JSON. Additionally, it can reconstitute the object back into Python.
Jsonrpclib
This library implements the JSON-RPC 2.0 proposed specification in pure Python. It is designed to be as compatible with the syntax of xmlrpclib as possible (it extends where possible), so that projects using xmlrpclib could easily be modified to use JSON and experiment with the differences. It is backwards-compatible with the 1.0 specification, and supports all of the new proposed features of 2.0, including:
  • Batch submission (via MultiCall)
  • Keyword arguments
  • Notifications (both in a batch and 'normal')
  • Class translation using the 'jsonclass' key.
Jwsmtp
'jwsmtp' is a C/C++ library that facilitates sending email programmatically. It supports attachments, multiple recipients, Cc/Bcc recipients, both LOGIN and PLAIN authentication, and HTML and plain text formatting. The package does MX lookups or can send directly to an SMTP server.
KATCP
Karoo Array Telescope Communication Protocol library.
KMap IME
KMap IME is a Java based Input Method Editor. It enables the user to type any language/Unicode character. Using the kmap file format from Yudit it currently supports more than 100 different languages.
KSS (Kinetic Style Sheets) framework
KSS enables you write rich Ajax applications without having to code Javascript. It does this by using a CSS like resource, this is called a KSS file. All that you as a developer need to do is write files like these and implement server side Python. This Python package contains the Javascript engine and the server side infrastructure. The package forms the base for integration with specific web development frameworks. To see if there is support for your framework go to the KSS website.
KSquirrel-libs
ksquirrel-libs is a set of codecs for the KSquirrel image viewer. It supports dozens of image formats. Including: Windows bitmaps (.bmp), Compuserve GIF (static, animated), Windows icons (.ico), JPEG, JPEG2000, ZSoft PCX, Scalable Vector Graphics (.svg), Windows Metafile (.wmf), Portable Network Graphics, Portable Any Map (.pnm, .ppm, .pgm, .pbm), Sun Raster File (.ras), SGI, Targa (.tga), Tagged Image File Format, X Bitmaps (.xbm), X Pixmaps (.xpm), OpenEXR (.exr), PIX, SUN Icons, X Window Dump (.xwd), Photoshop PSD (RGB, CMYK, Greyscale, Indexed), FLI Animation, X cursors (static, animated), Wireless Bitmap, Photos from different cameras (CRW), Quake2 texture (.wal), HalfLife model (.mdl),* Commodore 64 KOALA (.koa), Dr. Halo CUT, Radiance HDR image (.hdr), Scitex CT, Homeworld LIF, MTV Ray tracer, AVS X, RAWRGB (internal, simple 24 or 32-bit format).
Kbde
'kbde' is a keyboard emulator whose goal is to provide tools for emulating keyboard input on keyboardless (x86) computers. It includes an emulator driver, a user-space program, and a library which make it easy to write applications that can create keyboard input emulation.
Kdtree
kdtree is a simple, easy to use C library for working with kd-trees. Kd-trees are an extension of binary search trees to k-dimensional data. They facilitate very fast searching, and nearest-neighbor queries. This particular implementation is designed to be efficient and very easy to use. It is completely written in ANSI/ISO C, and thus completely cross-platform.
Kepler
Kepler is a library of C routines for astronomical calculations. It features the following:
  • The entire VSOP87 theory for calculating the positions of the eight planets.
  • The entire ELP 2000-82B theory for calculating the position of the Moon.
  • An analytical theory for calculating Pluto's position for the period 1700AD-2100AD.
  • The ability to convert osculating orbital elements to heliocentric coordinates.
  • The latest IAU 2006 precession and IAU 2000A nutation models.
  • Routines for calculating sidereal time using the current IAU resolutions.
  • An implementation of the Ron/Vondrak theory of annual aberration.
  • Routines for Julian date calculations.
  • Routines for coordinate transformations, rotations and parallax corrections.
Kexi
KEXI is a visual database application builder tool by KDE, designed to fill the gap between spreadsheets and database solutions requiring more sophisticated development. KEXI can be used for designing and implementing databases, data inserting and processing, and performing queries.
KiCad
KiCad is electronic design automation (EDA) software made for designing schematics of electronic circuits and printed circuit boards (PCB). KiCad is developed by the KiCad Developers Team, and features an integrated environment with schematic capture, bill of materials list, PCB layout and much more. KiCad is cross-platform, written with WxWidgets and runs on FreeBSD, GNU/Linux, Microsoft Windows and Mac OS X. A lot of component libraries are available. Also migrating tools for components are available (from other EDA software tools). File formats are plain text and well documented, which is good for CVS or Subversion and to make automated component generation scripts. Multiple languages are supported, such as English, Portuguese, Spanish, Czech, Polish, French, German, and Russian. The 3D PCB viewer use 3D model from Wings3D CAD.
Kiss FFT
Kiss FFT is a small and simple FFT library. It has no complicated platform-specific optimizations, can do either fixed or floating point with just a recompile, and is efficient enough for all but the most demanding applications.
Kivy
Kivy is a framework for creating natural user interfaces. These are graphical user interfaces that support a variety of user input, including keyboard, mouse, tangible, multitouch and other natural inputs.
Kiwi
Kiwi consists of a set of classes and wrappers for PyGTK that were developed to provide a sort of framework for applications. Fully object-oriented, and roughly Smalltalk's MVC, Kiwi provides a simple, practical way to build forms, windows and widgets that transparently access and display your object data. Kiwi was primarily designed to make implementing the UI for Stoq easier.
Klimt
Klimt is a 3D library, targeted for PDAs and mobile phones. Its API is very similiar to that of OpenGL and OpenGL Pipe.pngES. We do not claim conformance with these APIs. Nevertheless, Klimt is able to run Coin3D, a large scene-graph base library that builds on top of OpenGL. This product is based on the published OpenGLî ES API, but is not an implementation which is certified or licensed by Silicon Graphics, Inc. under the OpenGLî ES API. OpenGLî and OpenGLî ES are registered trademarks of Silicon Graphics, Inc. in the United States and/or other countries worldwide. Klimt is independent of Silicon Graphics, Inc.
Knetfilter
Knetfilter is a KDE frontend to iptables. It is used with Linux 2.4 to manage the functionality of netfilter. Knetfilter lets you set up most common firewall configurations, as well as perform more sophisticated management of a complex firewall. It is also possible to use an integrated interface to tcpdump and nmap.
Kniffel
'Kniffel' features a library for dealing with first order predicate logic formulas and tools (command line and CGI versions included) that convert first order predicate logic to LaTeX, graphviz dot, and ASCII formats.
Koha
Koha is the first free software library automation package. In use worldwide, its development is steered by a growing community of users collaborating to achieve their technology goals. Koha’s feature set continues to evolve and expand to meet the needs of its user base. Full-featured ILS. In use worldwide in libraries of all sizes, Koha is a true enterprise-class ILS with comprehensive functionality including basic or advanced options. Koha includes modules for circulation, cataloging, acquisitions, serials, reserves, patron management, branch relationships, and more. Full text searching Koha uses an RDBMS coupled with an external search engine to provide powerful searching that is truly scalable Library Standards Compliant. Koha is built using library standards and protocols that ensure interoperability between Koha and other systems and technologies, while supporting existing workflows and tools. Web-based Interfaces. Koha’s OPAC, circ, management and self-checkout interfaces are all based on standards-compliant World Wide Web technologies–XHTML, CSS and Javascript–making Koha a truly platform-independent solution. No Vendor Lock-in. It is an important part of the free software promise that there is no vendor lock-in: libraries are free to install and use Koha themselves if the have the in-house expertise or to purchase support or development services from the best available sources. Libraries should be free to change support company and export their data at any time, make sure your support company allows this.
Kontalk
Kontalk is a free software, secure and distributed instant messaging driven by the community. Kontalk protocol is based on XMPP with end-to-end encryption in both server-to-server and server-to-client. Kontalks is basically for phone, but it's also available for desktop now (GNU/Linux, Windows, and macOS).
Kurso de Esperanto
Kurso de Esperanto is a multimedia computer program for teaching yourself Esperanto.
Kyoto Cabinet
Kyoto Cabinet is a library of routines for managing a database. The database is a simple data file containing records, each is a pair of a key and a value. Every key and value is serial bytes with variable length. Both binary data and character string can be used as a key and a value. There is neither concept of data tables nor data types. Records are organized in hash table. Kyoto Cabinet is developed as the successor of Tokyo Cabinet on the following purposes. They are achieved and Kyoto Cabinet replaces conventional DBM products.
  • improves space efficiency : smaller size of database file.
  • improves parallelism : higher performance in multi-thread environment.
  • improves portability : abstraction of the lower layer to support non-POSIX systems.
  • improves usability : simplified API, object-oriented design.
LAPACK
LAPACK is written in Fortran77 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision.
LIBrary for SECure ReMoval
Libsecrm (LIBrary for SECure ReMoval of files) is a library which ensures secure data deleting by intercepting calls to some C library functions and replacing them by its own substitutes. The data that would be deleted from a file is first securely wiped, then the original functions are called. Libsecrm also takes care of memory security - some of the memory allocation functions are intercepted, and the allocated memory is wiped before passing it to the calling program.
LIPS Scheme
LIPS is a powerful Scheme based lisp interpreter written in JavaScript. The name is a recursive acronym which stands for LIPS Is Pretty Simple. The interpreter has very good integration with JavaScript.
LTI-Lib
The LTI-Lib is an object oriented library with algorithms and data structures frequently used in image processing and computer vision. It was developed at the RWTH-Aachen University as a part of many research projects on computer vision dealing with robotics, object recognition, sign language, and gesture recognition. It provides an object oriented C++ library that includes fast algorithms, which can be used in real applications.
LTchinese
ltchinese - A library of utilities for the Chinese language (pinyin, zhuyin, encodings, phonetics, etc.) from http://lost-theory.org.
LUCAS
Lets users configure network servers and/or services centrally The traditonal way to manage UN*X boxes is doing configuring work on a per host basis. While this works quite well on single host setups, it quickly becomes a nightmare when it comes to clustered systems, load balancing systems or server farms, where configurations have to be shared/spread/replicated between several more or less independant machines. The LUCAS project aims at creating a framework, where configuration data may be conviniently kept in an central LDAP database and is automatically send to the desired destination from there.
LXML
Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API. lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It provides safe and convenient access to these libraries using the ElementTree API. It extends the ElementTree API significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, C14N and much more.


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.