Open Source C Software - Page 71

C Software

C Clear Filters

Browse free open source C Software and projects below. Use the toggles on the left to filter open source C Software by OS, license, language, programming language, and project status.

  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end, so you can focus on your app.
    Try Free
  • 1
    UnQLite

    UnQLite

    An Embedded NoSQL, Transactional Database Engine

    UnQLite is an in-process software library that implements a self-contained, serverless, zero-configuration, transactional NoSQL database engine. UnQLite is a document store database similar to MongoDB, Redis, CouchDB, etc. as well as a standard Key/Value store similar to BerkeleyDB, LevelDB, etc. UnQLite is an embedded NoSQL (Key/Value store and Document-store) database engine. Unlike most other NoSQL databases, UnQLite does not have a separate server process. UnQLite reads and writes directly to ordinary disk files. A complete database with multiple collections is contained in a single disk file. The database file format is cross-platform, you can freely copy a database between 32-bit and 64-bit systems or between big-endian and little-endian architectures. UnQLite is a Self-Contained C library without dependency. Built with a powerful disk storage engine which support O(1) lookup.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 2
    Unified Communication X

    Unified Communication X

    Communication framework for data-centric high-performance applications

    Accelerate Your Network Performance with UCX. Collaboration between industry, laboratories, and academia to create an open-source, production-grade communication framework for data-centric and high-performance applications. Unified Communication X (UCX) is an award winning, optimized production proven communication framework for modern, high-bandwidth and low-latency networks. UCX exposes a set of abstract communication primitives which utilize the best of available hardware resources and offloads. These include RDMA (InfiniBand and RoCE), TCP, GPUs, shared Memory, and network atomic operations. UCX facilitates rapid development by providing a high-level API, masking the low-level details, while maintaining high-performance and scalability. UCX implements best practices for transfer of messages of all sizes, based on accumulated experience gained from applications running on the world’s largest datacenters and supercomputers.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 3
    Vanilla.PDF

    Vanilla.PDF

    Cross-platform SDK for creating and modifying PDF documents

    Vanilla.PDF is a modern, high-performance, open-source C++17 SDK designed for creating, editing, signing, and analyzing PDF documents across multiple platforms. It requires no external runtime dependencies, making it lightweight and ideal for embedding into desktop applications, servers, or automation pipelines. The SDK offers full cross-platform support including Windows, Linux, macOS, and Android, with builds available for major compilers and architectures. Vanilla.PDF supports advanced PDF features such as adding CMS (PKCS#7) digital signatures, modifying content streams and metadata, and working with encryption and permissions based on standard PDF security models. It includes tools for parsing PDF internals like cross-reference tables and objects, providing fine-grained document analysis capabilities. The project is unit-tested with continuous integration pipelines, supporting sanitizers for enhanced code quality and stability.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 4
    Watchy

    Watchy

    An open source E-ink smartwatch

    Watchy, an open-source E-Ink smartwatch. Watchy is an E-Paper watch with open-source hardware and software. It has a barebones design utilizing the PCB as the watch body, allowing it to be worn as-is, or further customized with different 3D printed cases and watch straps. It is a unique timepiece that is also a wearable development platform, allowing users to create their own experience. Ultra-low-power e-paper 1.54″ display with 200 x 200 resolution and wide viewing angle. Wi-Fi & Bluetooth LE connectivity. 3-axis accelerometer with gesture detection. Real-time clock for accurate timekeeping with calendar and alarm functions. Built-in USB-to-serial adapter for programming on the go. Watchy comes with comprehensive documentation and Arduino code examples that demonstrate every hardware feature. New watch faces and examples are regularly added.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 5
    Webots ROS2 Interface

    Webots ROS2 Interface

    Webots ROS 2 packages

    webots_ros2 is a package that provides the necessary interfaces to simulate a robot in the Webots open-source 3D robots simulator. It integrates with ROS2 using ROS2 messages, services and actions.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 6
    XBOOT

    XBOOT

    The extensible bootloader for embedded system

    xboot is a lightweight, modular embedded operating system designed for ARM-based microcontrollers and SoCs. It provides a complete runtime environment including a small kernel, device drivers, file systems, networking stack, GUI system, and scripting interface. xboot aims to be both educational and practical, offering a clear and portable codebase that can be adapted to various embedded platforms. Its minimal design and Lua scripting support make it suitable for quick prototyping and custom firmware development.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 7
    XNNPACK

    XNNPACK

    High-efficiency floating-point neural network inference operators

    XNNPACK is a highly optimized, low-level neural network inference library developed by Google for accelerating deep learning workloads across a variety of hardware architectures, including ARM, x86, WebAssembly, and RISC-V. Rather than serving as a standalone ML framework, XNNPACK provides high-performance computational primitives—such as convolutions, pooling, activation functions, and arithmetic operations—that are integrated into higher-level frameworks like TensorFlow Lite, PyTorch Mobile, ONNX Runtime, TensorFlow.js, and MediaPipe. The library is written in C/C++ and designed for maximum portability, efficiency, and performance, leveraging platform-specific instruction sets (e.g., NEON, AVX, SIMD) for optimized execution. It supports NHWC tensor layouts and allows flexible striding along the channel dimension to efficiently handle channel-split and concatenation operations without additional cost.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 8
    amdctl

    amdctl

    Set P-State voltages and clock speeds on recent AMD CPUs on Linux

    Set P-State voltages and clock speeds on recent AMD CPUs on Linux.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 9
    ascii from image

    ascii from image

    Literally just an image -> ascii image generator

    Converts images/video to ascii art.
    Downloads: 1 This Week
    Last Update:
    See Project
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 10
    clib

    clib

    C package manager-ish

    Package manager for the C programming language. Expects libcurl to be installed and linkable. Basically, the lazy-man's copy/paste promotes smaller C utilities, also serving as a nice way to discover these sort of libraries. From my experience C libraries are scattered all over the web and discovery is relatively poor. The footprint of these libraries is usually quite large and unfocused. The goal of clibs is to provide stand-alone "micro" C libraries for developers to quickly install without coupling to large frameworks. You should use clib(1) to fetch these files for you and check them into your repository, the end-user and contributors should not require having clib(1) installed. This allows clib(1) to fit into any new or existing C workflow without friction.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    cpufetch

    cpufetch

    Simple yet fancy CPU architecture fetching tool

    Simple yet fancy CPU architecture fetching tool. cpufetch is a command-line tool written in C that displays the CPU information in a clean and beautiful way.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    crun

    crun

    A fast and lightweight fully featured OCI runtime and C library

    A fast and low-memory footprint OCI Container Runtime fully written in C. While most of the tools used in the Linux containers ecosystem are written in Go, I believe C is a better fit for a lower-level tool like container runtime. runc, the most used implementation of the OCI runtime specs written in Go, re-execs itself and uses a module written in C for setting up the environment before the container process starts. crun aims to be also usable as a library that can be easily included in programs without requiring an external process for managing OCI containers.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    eCapture

    eCapture

    Capturing SSL/TLS plaintext without a CA certificate using eBPF

    Capture SSL/TLS text content without a CA certificate using eBPF. Supports Linux/Android kernel versions x86_64 4.18 and above, aarch64 5.5 and above. Does not support Windows and macOS systems.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    fluentbit

    fluentbit

    Fast and Lightweight Logs and Metrics processor for Linux, BSD, OSX

    Fluent Bit is a super-fast, lightweight, and highly scalable logging and metrics processor and forwarder. It is the preferred choice for cloud and containerized environments. A robust, lightweight, and portable architecture for high throughput with low CPU and memory usage from any data source to any destination. Proven across distributed cloud and container environments. Highly available with I/O handlers to store data for disaster recovery. Granular management of data parsing and routing. Filtering and enrichment to optimize security and minimize cost. The lightweight, asynchronous design optimizes resource usage: CPU, memory, disk I/O, network. No more OOM errors! Integration with all your technology, cloud-native services, containers, streaming processors, and data backends. Fully event-driven design leverages the operating system API for performance and reliability. All operations to collect and deliver data are asynchronous.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    i3-gaps

    i3-gaps

    A fork of the i3 window manager with gaps and some other features

    i3-gaps is a fork of i3wm, a tiling window manager for X11. It is kept up to date with upstream, adding a few additional features such as gaps between windows. In order to use gaps you need to disable window titlebars. This can be done by adding only one command line to your config. Gaps are the namesake feature of i3-gaps and add spacing between windows/containers. Gaps come in two flavors, inner and outer gaps wherein inner gaps are those between two adjacent containers (or a container and an edge) and outer gaps are an additional spacing along the screen edges. Gaps can be configured in your config either globally or per workspace, and can additionally be changed during runtime using commands (e.g., through i3-msg). Outer gaps are added to the inner gaps, i.e., the gaps between a screen edge and a container will be the sum of outer and inner gaps.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 16
    imgui_club

    imgui_club

    Nice things to use along dear imgui

    imgui_club is a companion collection to Dear ImGui that gathers small, officially maintained extensions and illustrative samples that don’t belong in the core library but are broadly useful. Instead of being a monolithic add-on, it focuses on targeted utilities that demonstrate patterns, widgets, and techniques the author and community rely on in real projects. You’ll find examples that show how to structure multi-context rendering, deal with threading concerns, and compose immediate-mode UIs that remain responsive under load. The code emphasizes clarity and portability, so you can lift snippets directly into your own ImGui applications without heavy refactoring. Because the repo lives alongside Dear ImGui, it reflects current best practices and idioms for the framework rather than drifting into unrelated experiments. It also points to a broader ecosystem of community extensions, making it a hub for discovering higher-level widgets and specialized components.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 17
    libCEED

    libCEED

    CEED Library: Code for Efficient Extensible Discretizations

    libCEED provides fast algebra for element-based discretizations, designed for performance portability, run-time flexibility, and clean embedding in higher-level libraries and applications. It offers a C99 interface as well as bindings for Fortran, Python, Julia, and Rust. While our focus is on high-order finite elements, the approach is mostly algebraic and thus applicable to other discretizations in factored form, as explained in the user manual and API implementation portion of the documentation. One of the challenges with high-order methods is that a global sparse matrix is no longer a good representation of a high-order linear operator, both with respect to the FLOPs needed for its evaluation, as well as the memory transfer needed for a matvec. Thus, high-order methods require a new "format" that still represents a linear (or more generally non-linear) operator, but not through a sparse matrix.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    libgit2

    libgit2

    A cross-platform, portable, linkable Git implementation library

    libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings. Libgit2 is developed with CMake, and this is be the easiest way to build a binary from the source. The CMake build system provides lots of options to configure the libgit2 build for your particular needs. It’s highly recommended that you build libgit2 as a static library for Xcode projects to simplify distribution significantly. libgit2 is used for powering Git GUI clients, such as gmaster and GitKraken and on Git hosting providers such as GitLab, Azure, GitHub, DevOps, among others. By clicking "merge pull request", we perform the merge. It is licensed under the GPLv2 license, so you can link it in its unmodified state with any type of software without releasing its source code.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    libhv

    libhv

    Network library for developing TCP/UDP/SSL/HTTP/WebSocket/MQTT client

    Like libevent, libev, and libuv, libhv provides event loop with non-blocking IO and timer, but simpler api and richer protocols. Cross-platform (Linux, Windows, MacOS, BSD, Solaris, Android, iOS) High-performance EventLoop (IO, timer, idle, custom) TCP/UDP client/server/proxy. TCP supports heartbeat, reconnect, upstream, MultiThread-safe write and close, etc. Built-in common unpacking modes (FixedLength, Delimiter, LengthField) RUDP support: WITH_KCP. SSL/TLS support: (via WITH_OPENSSL or WITH_GNUTLS or WITH_MBEDTLS) HTTP client/server (support https http1/x http2 grpc). HTTP supports static service, indexof service, proxy service, sync/async API handler. HTTP supports RESTful, router, middleware, keep-alive, chunked, SSE, etc. WebSocket client/server.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    libpostal

    libpostal

    A C library for parsing/normalizing street addresses around the world

    A C library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data. libpostal is a C library for parsing/normalizing street addresses around the world using statistical NLP and open data. The goal of this project is to understand location-based strings in every language, everywhere. Addresses and the locations they represent are essential for any application dealing with maps (place search, transportation, on-demand/delivery services, check-ins, reviews). Yet even the simplest addresses are packed with local conventions, abbreviations and context, making them difficult to index/query effectively with traditional full-text search engines. This library helps convert the free-form addresses that humans use into clean normalized forms suitable for machine comparison and full-text indexing. Though libpostal is not itself a full geocoder, it can be used as a preprocessing step to make any geocoding application smarter, and simpler.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    libuwsc

    libuwsc

    A Lightweight and fully asynchronous WebSocket client library

    A Lightweight and fully asynchronous WebSocket client library based on libev for Embedded Linux. And provide Lua-binding. libev tries to follow the UNIX toolbox philosophy of doing one thing only, as good as possible.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    libvips

    libvips

    A fast image processing library with low memory needs

    libvips is a demand-driven, horizontally threaded image processing library. Compared to similar libraries, libvips runs quickly and uses little memory. libvips is licensed under the LGPL 2.1+. It has around 300 operations covering arithmetic, histograms, convolution, morphological operations, frequency filtering, colour, resampling, statistics and others. It supports a large range of numeric types, from 8-bit int to 128-bit complex. Images can have any number of bands. It supports a good range of image formats, including JPEG, JPEG2000, JPEG-XL, TIFF, PNG, WebP, HEIC, AVIF, FITS, Matlab, OpenEXR, PDF, SVG, HDR, PPM / PGM / PFM, CSV, GIF, Analyze, NIfTI, DeepZoom, and OpenSlide. It can also load images via ImageMagick or GraphicsMagick, letting it work with formats like DICOM. It comes with bindings for C, C++, and the command-line. Full bindings are available for Ruby, Python, PHP, C# / .NET, Go, and Lua.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    llama2.c

    llama2.c

    Inference Llama 2 in one file of pure C

    llama2.c is a minimalist implementation of the Llama 2 language model architecture designed to run entirely in pure C. Created by Andrej Karpathy, this project offers an educational and lightweight framework for performing inference on small Llama 2 models without external dependencies. It provides a full training and inference pipeline: models can be trained in PyTorch and later executed using a concise 700-line C program (run.c). While it can technically load Meta’s official Llama 2 models, current support is limited to fp32 precision, meaning practical use is capped at models up to around 7B parameters. The goal of llama2.c is to demonstrate how a compact and transparent implementation can perform meaningful inference even with small models, emphasizing simplicity, clarity, and accessibility. The project builds upon lessons from nanoGPT and takes inspiration from llama.cpp, focusing instead on minimalism and educational value over large-scale performance.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    miniaudio

    miniaudio

    Audio playback and capture library written in C,

    miniaudio is written in C with no dependencies except the standard library and should compile cleanly on all major compilers without the need to install any additional development packages. All major desktop and mobile platforms are supported. miniaudio gives you complete flexibility. With the low-level API, just initialize a connection to the device and send or receive raw audio data. The modular design of miniaudio allows you to use the low-level API without compromising your ability to make use of other features like the node graph and resource manager. miniaudio's node graph system gives you an easy way to set up advanced mixing and effect graphs. Each node sends it's output to another node, and so on and so forth to produce all kinds of effects. You can even implement your own custom nodes and plug them in however you like. Plug multiple nodes into the same input node for mixing and use the splitter node for complex routing.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    minizip-ng

    minizip-ng

    Fork of the zip manipulation library found in the zlib distribution

    minizip-ng is a zip manipulation library written in C that is supported on Windows, macOS, and Linux. Minizip was originally developed by Gilles Vollant in 1998. It was first included in the zlib distribution as an additional code contribution starting in zlib 1.1.2. Since that time, it has been continually improved upon and contributed to by many people. The original project can still be found in the zlib distribution that is maintained by Mark Adler. The motivation behind this repository has been the need for new features and bug fixes to the original library which had not been maintained for a long period of time. The code has been largely refactored and rewritten in order to help improve maintainability and readability. A compatibility layer has been provided for consumers of the original minizip library.
    Downloads: 1 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB