SDL_bgi is a graphics library based on SDL2. SDL_bgi is nearly fully compatible with BGI (graphics.h), the Borland Graphics Interface that was the de-facto standard in PC graphics back in DOS days. It's very easy to use, pretty fast, and it also provides extensions for ARGB colours, mouse support, and turtle graphics. It should run on any platform supported by SDL2.
libconfini is a simple INI parsing library with the ability to read disabled entries (i.e., valid entries nested in comments). libconfini does not store the data read from an INI file, but rather dispatches it, formatted, to a custom listener. The code is written in C (C99) and does not depend on any particular library, except for the C standard libraries stdio.h, stdlib.h and stdint.h.
Wine is an implementation of the Windows API on top of X and Unix. It does not require Microsoft Windows, but can use native Windows DLLs if they are available. It provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes.
FFmpeg is the leading framework for decoding, encoding, transcoding, muxing, demuxing, streaming, filtering and playing pretty much any media format. It supports widespread and standardized, proprietary and fringe file formats and encodings. It's comprised of the ffmpeg, ffserver, ffplay and ffprobe utilities. But also provides libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale and libswresample for application use. Its primary development attention is on security.
Zenroom is a brand new, small and portable virtual machine for cryptographic operations. The Zenroom VM has no external dependencies, is smaller than 2MB, runs in even less memory and is ready for experimental use on many target platforms: desktop, embedded, mobile, cloud and browsers (webassembly). The goal of this project is that of improving people's awareness of how their data is processed by algorithms, as well facilitate the work of developers to create along privacy by design principles
Poppler is librarified PDF rendering toolkit derived from the Xpdf 3.0 code base. It can utilize X11-independent rendering backends like Cairo, Splash, or Qt4 Arthur. It's not designed for platform-agnosticy, but proper BSD/Linux integration; is used by various PDF applications (Evince, Okular, TeXStudio, pdftotext, Zathura, Xournal, Inkscape), and comes with a set of command-line tools of its own.
tesseract-ocr is an OCR engine originally developed by Hewlett Packard and now sponsored by Google. It is highly accurate and will read a binary, gray, or color image and output text.
libmtp is an Initiator implementation of the Media Transfer Protocol (MTP) in the form of a library suitable primarily for POSIX compliant operating systems. We implement MTP Basic, the stuff proposed for standardization.
libpng is the PNG image format reference implementation. Portable Network Graphics are the most widely used raster image format, patent-free, based on lossless data compression, support indexed/paletted, grayscale, and 24 or 32 bit truecolor images with transparency. It's also an highly extensible container format, with built-in color profiles and representation information, textual meta data, filters, progressive interlacing, and permits animations in the derived APNG or MNG formats.
Simple asynchronous event loop for Linux.
Dasynq is an event loop library similar to libevent, libev and libuv. Key features/attributes are: written in portable C++ code (C++11); Thread safe — full support for use in a multi-threaded application; Header-only library — does not install a shared library; Supports file I/O, signals, process termination and timer events; Linux, OpenBSD, FreeBSD, MacOS — and portable to others. Like other such libraries, it is crossplatform / portable. Unlike most other such libraries, it is intended to be
A partial implementation of the C++ Standard Template Library optimized for size.
Libinklevel is a library that checks the status of printer ink levels. It works on Linux and FreeBSD. Supported are HP, Epson and Canon printers attached per USB. Canon BJNP network printers are supported too.
Cross-platform C library for reading values from and writing values to .xlsx files. XLSX I/O aims to provide a C library for reading and writing .xlsx files. The .xlsx file format is the native format used by Microsoft(R) Excel(TM) since version 2007. The library was written with the following goals in mind: - primary focus on data values organized in tables, on not layout or graphics - written in standard C, but allows being used by C++ - simple interface - small footprint - portable across d
Provides bindings for libUseful functions and some POSIX functions. This enables system programming with lua. Functions available allow unix socket, udp/tcp socket, and ssl/tls support; http/https support, cryptographic hashing, file system operations, terminal control and ANSI/vt100 escape sequences, process spawing/forking, and many other functions.
libUseful is a general 'C' library providing useful functions related to: resizable strings, lists and maps, unix and tcp sockets, SSL/TLS, cryptographic hashes, parsing of json, yaml and other markup languages, terminal output including ANSI/vt100 escape sequences, OAuth 2.0, etc, etc.
Libite (-lite) is a lightweight library of frog DNA. It can be used to fill the gaps in any dinosaur project. It holds useful functions and macros developed by both Finit and the OpenBSD project. Most notably the string functions: strlcpy(3), strlcat(3) and the highly useful *BSD sys/queue.h and sys/tree.h API's. Libite aims to fill in the gaps missing in GLIBC/EGLIBC. (It does not aimo to become another GLIB though.) One such gap in GLIBC is the missing _SAFE macros in sys/queue.h — highly rec
ivykis is a library for asynchronous I/O readiness notification. It is a thin, portable wrapper around OS-provided mechanisms such as /dev/poll, epoll_create(2), kqueue(2), poll(2), and port_create(3C). ivykis was mainly designed for building high-performance network servers, but can be used as building block for any kind of event-driven application that uses poll(2)able file descriptors as its inputs.
xmlwrapp is a modern style C++ library for working with XML data, built atop the venerable libxml2 C library.
The PUMA Repository is a collection of Pascal units for medical informatics. It is compatible with and was developed for Lazarus and Free Pascal. The units are also partially compatible with other Pascal dialects, including Delphi and Embarcadero RAD Studio. The HL7 Engine is a library of Pascal units that provide functions for parsing and compiling Health Level 7 messages as well as for reading and writing messages as files or streams.
libfaketime intercepts various system calls that programs use to retrieve the current date and time. It then reports modified (faked) dates and times (as specified by the user) to these programs. This means you can modify the system time a program sees without having to change the time system-wide.
Bullet is a 3D game multiphysics library that provides state of the art collision detection and soft body and rigid body dynamics. Bullet is integrated into Cinema 4D, Lightwave, and Blender. A Houdini and Maya Plugin is available. It has a modular extendible C++ design with hot-swap of most components. The back-ends were optimized for pthreads/Win32 Threads multi-threading and PS3 Cell SPU. Other features include discrete and continuous collision detection (CCD), swept collision queries, ray ca
libConfuse is a configuration file parser library, licensed under the terms of the ISC license, and written in C. It supports sections and (lists of) values (strings, integers, floats, booleans or other sections), as well as some other features (such as single/double-quoted strings, environment variable expansion, functions and nested include statements). It makes it very easy to add configuration file capability to a program using a simple API. The goal of libConfuse is not to be the configura
The Audio File Library provides a uniform API which abstracts away details of file formats and data formats. The same calls for opening a file, accessing and manipulating audio metadata (e.g. sample rate, sample format, textual information, MIDI parameters), and reading and writing sample data will work with any supported audio file format. The Audio File Library lets you work with audio data in whatever format is most convenient for you.
libtmt is the Tiny Mock Terminal Library. It provides emulation of a classic smart text terminal, by maintaining an in-memory screen image. Sending text and command sequences to libtmt causes it to update this in-memory image, which can then be examined and rendered however the user sees fit. libtmt is similar in purpose to libtsm, but considerably smaller (500 lines versus 6500 lines). libtmt is also, in this author's humble opinion, considerably easier to use.
libxmp is the backend library for XMP which provides playback of MOD audio files. Over 90 formats are supported, PC as well as ancient home computer variants, including standard MOD files, S3M, XM, and IT files.
FreeType is a freely available software library to render fonts. It is written in C, designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images) of most vector and bitmap font formats.
Distributed Multiplatform Framework is a component-based programming framework using XML (or currently a hardcoded variant) as the repository. The samples are implemented either in console or wxWidgets. This shows the independence of the GUI or UI. The screenshot shows a generated application using DevExpress.
Supplier is a simple memory management library. It should allow you to write high-level C code using the standard library. Good luck!
C implementation of NTRUEncrypt An implementation of the public-key encryption scheme NTRUEncrypt in C. NTRUEncrypt's main strengths are high performance and resistance to quantum computer attacks. Its main drawback is that it is patent encumbered. The patents expire in 2020; when built with the NTRU_AVOID_HAMMING_WT_PATENT flag, libntru becomes patent-free in 2017. For more information on the NTRUEncrypt algorithm, see the NTRU introduction page at http://tbuktu.github.com/ntru/
bigz is a simple but feature-rich C library for bignum calculations. It's the continuation of an old BigNum project originally begun as a research project. Current releases include many fixes, extensions and improvements. It's not as efficient as GMP, but comes with a smaller footprint, provides Z+Q infinite precision, and is rather portable and multi-thread safe.
Fimex is a the File Interpolation, Manipulation, and EXtraction library for gridded geospatial data. It converts between different, extensible data formats (currently netcdf, NcML, grib1/2, metgm, wdb, and felt). It enables you to change the projection and interpolation of scalar and vector grids. It makes it possible to subset the gridded data and to extract only parts of the files. The library is written in C/C++ and as extensions to Fortran and R. For simple usage, Fimex also comes with the c
libburnia is a project comprised of libraries and binaries for reading, mastering, and writing optical discs. It provides libburn, a CD/DVD/BD burn library, libisofs, a manipulation library for ISO 9660 filesystems, and libisoburn, a ISO 9660 multi-session library. On top of them there is cdrskin, a cdrecord emulator, and xorriso, a all-in-one application for ISO 9660 multi-session operations which additionaly provides a limited emulation of mkisofs.
Pipes is a small abstraction layer for PHPs iterators, providing a fluent and more concise interface. It ensures sequential execution, thereby conserving memory for any actions/callbacks that only affect a subset.
Synology APIs for .NET
libcfg+ is a C library that features multi- command line and configuration file parsing. It is possible to set up various special properties such as quoting characters, deliminator strings, file comment prefixes, multi-line postfixes, and more. It supports many data types such as booleans, integers, decimal numbers, strings with many additional data type flags (such as multiple values for a single option).
The Bricks collection is a set of Pascal units that provides a class library for rapid programming of high-performance computer simulations in life sciences. It also delivers a class library that facilitates the generation of block diagrams in software. CyberUnits is a reusable cross-platform class library for rapid programming of high-performance computer simulations in life sciences. It supports modelling for biomedical cybernetics and systems biology with Object Pascal, S and Matlab.
A service and API for using OpenGL through a socket.
Tiny Tcl 6.8 is a rommable, minimal Tcl implementation for embedded applications. Derived from the venerable Tcl 6.7 release, Tiny Tcl 6.8 has a solid Tcl feature set, excluding newer capabilities of Tcl 7 and 8 such as the bytecode compiler, namespaces, sockets, and async event handling, among others. Excluding C library functions, Tiny Tcl compiles down to less than 60 Kbytes on most machines, far smaller than any Tcl 7 or Tcl 8 derivatives.
SOLID (Software Library for Interference Detection) is a library for collision detection of three-dimensional objects undergoing rigid motion and deformation. SOLID is designed to be used in interactive 3D graphics applications, and is especially suited for collision detection of objects and worlds described in VRML. Object shapes are represented by primitive shapes (box, cone, cylinder, sphere), and complexes of polytopes (line segments, convex polygons, convex polyhedra). Motion is specified b
DynaMo is a software library providing classes that take care of the calculation of the motions of objects under the influence of force, torque, and impulse. It can also compute forces for you through the mechanism of constraints. These allow you to easily connect geometries to each other in various ways. A constraint only has to be specified once, and the library will continually enforce it from that moment on by applying the required reaction forces. Over a dozen constraints available, includi
smart_conditions is a C++11 library that lets you refactor repetitive and potentially unreadable/error-prone boolean conditions into something more readable and maintainable.
When parsing JSON messages, most C/C++ libraries employ a DOM-based approach, i.e. they work by building an in-memory representation of object, and the client can then create/read/update/delete the properties of the object as needed, and most importantly access them in whatever order. While this is very convenient and provides maximum flexibility, there are situations in which memory allocations must or should preferably be avoided. minijson_reader is a callback-based parser, which can effective
FrostWire is a media manager and fast BitTorrent file sharing client. Its focus lies on searching files and a friendly user interface, automatically scans all Torrent indexers, prefetches torrent files and localizes contained meta data for better searching. It provides a built-in media library and audio/video player, allows to share contents per WiFi; and is also available as Android app.
When writing JSON messages, some C/C++ libraries work by building an in-memory object for the sole purpose of serialising it as JSON. Many libraries comprise multiple header and source files and/or expose a complex API. minijson_writer is a simple decorator around a std::ostream. It directly writes on the stream without allocating additional memory, and does not throw exceptions unless the stream does. Despite being a single header file of ~500 lines, minijson_writer is complete and can be eas
Markdown Taglib is a JSP tag library to render Markdown text to HTML. It uses pegdown as dependency. Pegdown is a pure Java library for clean and lightweight Markdown processing.
Arara/Process is an abstraction library for process management. It utilizes PHPs ticks, PNCTL and POSIX functions for handling event process callbacks. It can also be used for daemon construction, or just process spawning and supervision.
[incr Tcl] is the most popular object-orientation language extensions for Tcl. Its object model is comparable to C++, includes multiple inheritance, classes and instances, and property and method visibility modifiers. It simplifies Tcl/Tk application building, both desktop apps or games; and generally structuring code flow, or chaining classes to C and C++ code. It also comes with new [incr Widgets] and [incr Tk] for building complex and custom widgets.
Pybind is a library that embeds Python and allows C++ code to utilize declared bindings. It comes without documentation or build scripts, depends on stdex2.
ELFIO is a header-only C++ library intended for reading and generating files in the ELF binary format
curlcpp is a C++ wrapper around cURL/libcurl. It abstracts connections and transfers in a more user-friendly and object-oriented API, through curl_easy, curl_multi and curl_share. It provides tracebacks, and a curl_writer interface for output capturing, and simplified data transfer handling via curl_reader/writer.
Rudiments is a C++ class library. It provides base functionality for things such as daemons, client and server implementations. It also wraps standard C functions for regexps, semaphores, signal handling, socket communication, string processing, command line and environment interfaces, crypt, device handling, file and directory processing, serial and modem ports, threading, and XML processing.
Pretty Good Privacy is already there. With GnuPG we have a great implementation. But the handling is too complicated for many people. They don't understand. That's the reason for pEp – pretty Easy privacy. It automates the usage of GnuPG, it automates keymanagement, it encrypts whenever possible while the user just presses “send”. And it's not only (but also) for E-Mail. It's for Whatsapp, Facebook messages, Jabber, and many more. And the best: when both sides are using a client with the p
PHPSecLib is a pure PHP userland collection of encryption functions. It comes with an arbitrary-precision integer arithmetic library, and PKCS#1 compliant RSA, DES, 3DES, RC4, Rijndael, AES, Blowfish, Twofish, and implementations of SSH-1, SSH-2, SFTP, and X.509.
Zilog Z80 is a C++ shared library and frontend for emulating the like named home computer system. It simulates all hardware pins of the Z80 chip (which was binary compatible to the i8080), and comes with a CP/M 2.2. emulator accessible vis telnet client. It alsp provides an disassembler and instruction set examiner, a ZX-80 and TK-80 emulator.
Xaut (formerly Xautomation) is a C library and a corresponding Python module to automate X11 mouse and keyboard events or manipulate windows and desktop properties. It also provides access to the X clipboards, state of num, caps and scroll lock keyboard states.