Browse free open source Libraries and projects for Mac and Linux below. Use the toggles on the left to filter open source Libraries by OS, license, language, programming language, and project status.

  • Easily Host LLMs and Web Apps on Cloud Run Icon
    Easily Host LLMs and Web Apps on Cloud Run

    Run everything from popular models with on-demand NVIDIA L4 GPUs to web apps without infrastructure management.

    Run frontend and backend services, batch jobs, host LLMs, and queue processing workloads without the need to manage infrastructure. Cloud Run gives you on-demand GPU access for hosting LLMs and running real-time AI—with 5-second cold starts and automatic scale-to-zero so you only pay for actual usage. New customers get $300 in free credit to start.
    Try Cloud Run Free
  • AI-generated apps that pass security review Icon
    AI-generated apps that pass security review

    Stop waiting on engineering. Build production-ready internal tools with AI—on your company data, in your cloud.

    Retool lets you generate dashboards, admin panels, and workflows directly on your data. Type something like “Build me a revenue dashboard on my Stripe data” and get a working app with security, permissions, and compliance built in from day one. Whether on our cloud or self-hosted, create the internal software your team needs without compromising enterprise standards or control.
    Try Retool free
  • 1
    libusb

    libusb

    A cross-platform library that gives apps easy access to USB devices

    Library to enable user space application programs to communicate with USB devices
    Leader badge
    Downloads: 3,678 This Week
    Last Update:
    See Project
  • 2
    PHPMailer

    PHPMailer

    The classic email sending library for PHP

    PHPMailer – A full-featured email creation and transfer class for PHP. Support for UTF-8 content and 8bit, base64, binary, and quoted-printable encodings. SMTP authentication with LOGIN, PLAIN, CRAM-MD5, and XOAUTH2 mechanisms over SMTPS and SMTP+STARTTLS transports. Validates email addresses automatically. Many PHP developers need to send email from their code. The only PHP function that supports this directly is mail(). However, it does not provide any assistance for making use of popular features such as encryption, authentication, HTML messages, and attachments. Formatting email correctly is surprisingly difficult. There are myriad overlapping (and conflicting) standards, requiring tight adherence to horribly complicated formatting and encoding rules – the vast majority of code that you'll find online that uses the mail() function directly is just plain wrong, if not unsafe!
    Downloads: 166 This Week
    Last Update:
    See Project
  • 3
    Rekado

    Rekado

    Payload launcher and serial number checker for Nintendo Switch

    Payload launcher is written in Kotlin for Nintendo Switch. The application doesn't require Root on your device.
    Downloads: 79 This Week
    Last Update:
    See Project
  • 4

    ESP8266 Arduino Core

    ESP8266 core for Arduino

    ESP8266 Arduino Core is the Arduino core for the ESP8266 WiFi chip. It brings support for the ESP8266 chip to the Arduino environment, allowing you to write sketches, use familiar Arduino functions and libraries, and run these directly on ESP8266 without the need for an external microcontroller. ESP8266 Arduino core comes with libraries that enable it to perform a number of things. It can communicate over WiFi through the use of TCP and UDP; it can set up HTTP, mDNS, SSDP, and DNS servers; and it can perform OTA updates. ESP8266 Arduino core works with SD cards, servos, SPI and I2C peripherals.
    Downloads: 54 This Week
    Last Update:
    See Project
  • Managed MySQL, PostgreSQL, and SQL Databases on Google Cloud Icon
    Managed MySQL, PostgreSQL, and SQL Databases on Google Cloud

    Get back to your application and leave the database to us. Cloud SQL automatically handles backups, replication, and scaling.

    Cloud SQL is a fully managed relational database for MySQL, PostgreSQL, and SQL Server. We handle patching, backups, replication, encryption, and failover—so you can focus on your app. Migrate from on-prem or other clouds with free Database Migration Service. IDC found customers achieved 246% ROI. New customers get $300 in credits plus a 30-day free trial.
    Try Cloud SQL Free
  • 5
    libusb

    libusb

    A cross-platform library to access USB devices

    libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version. libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc. No special privilege or elevation is required for the application to communicate with a device. All versions of the USB protocol, from 1.0 to 3.1 (latest), are supported. libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems.
    Downloads: 41 This Week
    Last Update:
    See Project
  • 6
    DMX Library for Arduino

    DMX Library for Arduino

    DMX Library and usage examples for Arduino

    This Library includes a DMX Master, DMX Slave and various examples on how to use its implementation. This projects has been started to support the use of our Shielded DMX / RDM Shield for Arduino. The library is made available under the GNU Lesser General Public License If you would like to make contributions to the source code feel free to contact the project admin
    Leader badge
    Downloads: 53 This Week
    Last Update:
    See Project
  • 7
    TFT_eSPI

    TFT_eSPI

    Arduino and PlatformIO IDE compatible TFT library

    An Arduino IDE compatible graphics and fonts library for 32-bit processors. The library is targeted at 32-bit processors, it has been performance-optimized for STM32, ESP8266 and ESP32 types. The library can be loaded using the Arduino IDE's Library Manager. Direct Memory Access (DMA) can be used with the ESP32, RP2040, and STM32 processors to improve rendering performance. "Four wire" SPI and 8 bit parallel interfaces are supported. Due to the lack of GPIO pins, the 8-bit parallel interface is NOT supported on the ESP8266. 8 bit parallel interface TFTs (e.g. UNO format mcufriend shields) can use with the STM32 Nucleo 64/144 range or the UNO format ESP32. ILI9341 and ST7796 SPI-based displays are recommended as starting points for experimenting with this library. The library supports some TFT displays designed for the Raspberry Pi (RPi) that are based on a ILI9486 or ST7796 driver chip with a 480 x 320-pixel screen.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 8

    Face Recognition

    World's simplest facial recognition api for Python & the command line

    Face Recognition is the world's simplest face recognition library. It allows you to recognize and manipulate faces from Python or from the command line using dlib's (a C++ toolkit containing machine learning algorithms and tools) state-of-the-art face recognition built with deep learning. Face Recognition is highly accurate and is able to do a number of things. It can find faces in pictures, manipulate facial features in pictures, identify faces in pictures, and do face recognition on a folder of images from the command line. It could even do real-time face recognition and blur faces on videos when used with other Python libraries.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 9
    MQTTnet

    MQTTnet

    High performance .NET library for MQTT based communication

    MQTTnet is a high-performance .NET library for MQTT-based communication. It provides an MQTT client and an MQTT server (broker) and supports the MQTT protocol up to version 5. TLS support for client and server (but not UWP servers). Extensible communication channels (e.g. In-Memory, TCP, TCP+TLS, WS). Lightweight (only the low-level implementation of MQTT, no overhead). Performance optimized (processing ~150.000 messages/second). Uniform API across all supported versions of the MQTT protocol. Tested on the local machine (Intel i7 8700K) with MQTTnet client and server running in the same process using the TCP channel. The app for verification is part of this repository and stored in /Tests/MQTTnet.TestApp.NetCore. List of connected clients available. Supports connected clients with different protocol versions at the same time. Able to publish its own messages (no loopback client required). Able to receive every message (no loopback client required).
    Downloads: 7 This Week
    Last Update:
    See Project
  • Ship AI Apps Faster with Vertex AI Icon
    Ship AI Apps Faster with Vertex AI

    Go from idea to deployed AI app without managing infrastructure. Vertex AI offers one platform for the entire AI development lifecycle.

    Ship AI apps and features faster with Vertex AI—your end-to-end AI platform. Access Gemini 3 and 200+ foundation models, fine-tune for your needs, and deploy with enterprise-grade MLOps. Build chatbots, agents, or custom models. New customers get $300 in free credit.
    Try Vertex AI Free
  • 10
    spdlog

    spdlog

    Fast C++ logging library

    spdlog is a header only library. Just copy the files under include to your build tree and use a C++11 compiler. It provides a python like formatting API using the bundled fmt lib. spdlog takes the "include what you need" approach, your code should include the features that actually needed. For example, if you only need rotating logger, you need to include "spdlog/sinks/rotating_file_sink.h". spdlog provides various log targets, which are, rotating log files, daily log files, console logging (colors supported), syslog, Windows event log, and Windows debugger (OutputDebugString(..)). Easily extendable with custom log targets. Log filtering, log levels can be modified in runtime as well as in compile time. Support for loading log levels from argv or from environment var. Backtrace support, store debug messages in a ring buffer and display later on demand.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 11
    ArrayFire

    ArrayFire

    ArrayFire, a general purpose GPU library

    ArrayFire is a general-purpose tensor library that simplifies the process of software development for the parallel architectures found in CPUs, GPUs, and other hardware acceleration devices. The library serves users in every technical computing market. Data structures in ArrayFire are smartly managed to avoid costly memory transfers and to take advantage of each performance feature provided by the underlying hardware. The community of ArrayFire developers invites you to build with us if you're interested and able to write top performing tensor functions. Together we can fulfill The ArrayFire Mission under an excellent Code of Conduct that promotes a respectful and friendly building experience. Rigorous benchmarks and tests ensuring top performance and numerical accuracy. Cross-platform compatibility with support for CUDA, OpenCL, and native CPU on Windows, Mac, and Linux. Built-in visualization functions through Forge.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 12
    Imagen - Pytorch

    Imagen - Pytorch

    Implementation of Imagen, Google's Text-to-Image Neural Network

    Implementation of Imagen, Google's Text-to-Image Neural Network that beats DALL-E2, in Pytorch. It is the new SOTA for text-to-image synthesis. Architecturally, it is actually much simpler than DALL-E2. It consists of a cascading DDPM conditioned on text embeddings from a large pre-trained T5 model (attention network). It also contains dynamic clipping for improved classifier-free guidance, noise level conditioning, and a memory-efficient unit design. It appears neither CLIP nor prior network is needed after all. And so research continues. For simpler training, you can directly supply text strings instead of precomputing text encodings. (Although for scaling purposes, you will definitely want to precompute the textual embeddings + mask)
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13

    raspicam

    C++ library for controlling Raspberry Pi Camera (with/without OpenCV)

    This library allows to use the Raspberry Pi Camera. Main features: - Provides class RaspiCam for easy and full control of the camera - Provides class RaspiCam_Cv for easy control of the camera with OpenCV. - Easy compilation/installation using cmake. - No need to install development file of userland. Implementation is hidden. - Many examples
    Downloads: 18 This Week
    Last Update:
    See Project
  • 14
    7-Zip-JBinding

    7-Zip-JBinding

    Java wrapper for 7z archiver engine

    Native (JNI) cross-platform library to extract (password protected, multi-part) 7z Zip Rar Tar Split Lzma Iso HFS GZip Cpio BZip2 Z Arj Chm Lhz Cab Nsis Deb Rpm Wim Udf archives and create 7z, Zip, Tar, GZip & BZip2 from Java.
    Leader badge
    Downloads: 19 This Week
    Last Update:
    See Project
  • 15
    Better Auth

    Better Auth

    The most comprehensive authentication library for TypeScript

    Better Auth is framework-agnostic authentication (and authorization) library for TypeScript. It provides a comprehensive set of features out of the box and includes a plugin ecosystem that simplifies adding advanced functionalities with minimal code in a short amount of time. Whether you need 2FA, multi-tenant support, or other complex features. It lets you focus on building your actual application instead of reinventing the wheel.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    Elasticsearch Node.js client

    Elasticsearch Node.js client

    Elasticsearch client library for Node.js

    Node.js client for Elasticsearch. The client versioning follows the Elastic Stack versioning, this means that major, minor, and patch releases are done following a precise schedule that often does not coincide with the Node.js release times. Language clients are forward compatible; meaning that clients support communicating with greater or equal minor versions of Elasticsearch. Elasticsearch language clients are only backwards compatible with default distributions and without guarantees made. If you are using multiple versions of Elasticsearch, you need to use multiple versions of the client. In the past, install multiple versions of the same package was not possible, but with npm v6.9, you can do that via aliasing. You will require the packages from your code by using the alias you have defined.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    Go gRPC Middleware

    Go gRPC Middleware

    Golang gRPC Middlewares: interceptor chaining, auth, logging, retries

    gRPC Go has support for "interceptors", i.e. middleware that is executed either on the gRPC Server before the request is passed onto the user's application logic, or on the gRPC client either around the user call. It is a perfect way to implement common patterns: auth, logging, tracing, metrics, validation, retries, rate limiting, and more, which can be great generic building blocks that make it easy to build multiple microservices. Especially for observability signals (logging, tracing, metrics) interceptors offer semi-auto-instrumentation that improves the consistency of your observability and allows great correlation techniques (e.g. exemplars and trace ID in logs). Demo-ed in examples. This repository offers ready-to-use middleware that implements gRPC interceptors with examples. In some cases, dedicated projects offer great interceptors, so this repository skips those, and we link them in the interceptors list.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    Photobooth

    Photobooth

    A photobooth Web-Application for raspberry pi with gphoto2

    A Photobooth web interface for Raspberry Pi and Windows. Event-specific (e.g. wedding, birthday) config to show a symbol (e.g. heart) between some text on the start page. Green screen keying (chroma keying). Photo collage function: take 4 pictures in a row with or without interruption and let it generate a collage out of it. Save pictures with a Polaroid effect. Adjust take picture and print commands. And many more options to adjust and style the Photobooth for your personal needs.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    brain.js

    brain.js

    GPU accelerated Neural networks in JavaScript for Browsers

    GPU accelerated Neural networks in JavaScript for Browsers and Node.js. brain.js is a GPU accelerated library for Neural Networks written in JavaScript. Brain.js depends on a native module headless-go for GPU support. In most cases installing brain.js from npm should just work. However, if you run into problems, this means prebuilt binaries are not able to download from GitHub repositories and you might need to build it yourself. Brain.js is super simple to use. You do not need to know Neural Networks in detail to work with this. Brain.js performs computations using GPU and gracefully fallback to pure JavaScript when GPU is not available. Brain.js provides multiple neural network implementations as different neural nets can be trained to do different things well. Easily export and import trained models using JSON format or as a function. Host pre-trained models on your website easily.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    tapir

    tapir

    Declarative, type-safe web endpoints library

    Declarative, type-safe web endpoints library. With tapir, you can describe HTTP API endpoints as immutable Scala values. Each endpoint can contain a number of input and output parameters. Compile-time guarantees, develop-time completions, read-time information. Separate the shape of the endpoint (the "what"), from the server logic (the "how"). Generate documentation from endpoint descriptions. Leverage the metadata to report rich metrics and tracing information. Re-use common endpoint definitions, as well as individual inputs/outputs. Library, not a framework, integrates with your stack. Is your company already using tapir? We're continually expanding the "adopters" section in the documentation; the more the merrier! It would be great to feature your company's logo, but in order to do that, we'll need to write permission to avoid any legal misunderstandings.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    Arduino FOC

    Arduino FOC

    Arduino FOC for BLDC and Stepper motors

    We live in very exciting times 😃! BLDC motors are entering the hobby community more and more and many great projects have already emerged leveraging their far superior dynamics and power capabilities. BLDC motors have numerous advantages over regular DC motors but they have one big disadvantage, the complexity of control. Even though it has become relatively easy to design and manufacture PCBs and create our own hardware solutions for driving BLDC motors the proper low-cost solutions are yet to come. One of the reasons for this is the apparent complexity of writing the BLDC driving algorithms, Field oriented control (FOC) being an example of one of the most efficient ones. The solutions that can be found online are almost exclusively very specific for certain hardware configurations and the microcontroller architecture used. Additionally, most of the efforts at this moment are still channeled towards the high-power applications of the BLDC motors and proper low-cost FOC.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Coraza

    Coraza

    OWASP Coraza WAF is a golang modsecurity compatible firewall library

    Coraza is an open-source, enterprise-grade, high-performance Web Application Firewall (WAF) ready to protect your beloved applications. It is written in Go, supports ModSecurity SecLang rulesets and is 100% compatible with the OWASP Core Rule Set. Coraza is a drop-in alternative to replace the soon-to-be abandoned Trustwave ModSecurity Engine and supports industry-standard SecLang rule sets. Coraza runs the OWASP Core Rule Set (CRS) to protect your web applications from a wide range of attacks, including the OWASP Top Ten, with a minimum of false alerts. CRS protects from many common attack categories including: SQL Injection (SQLi), Cross Site Scripting (XSS), PHP & Java Code Injection, HTTPoxy, Shellshock, Scripting/Scanner/Bot Detection & Metadata & Error Leakages. Coraza is a library at its core, with many integrations to deploy on-premise Web Application Firewall instances.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    Faiss

    Faiss

    Library for efficient similarity search and clustering dense vectors

    Faiss is a library for efficient similarity search and clustering of dense vectors. It contains algorithms that search in sets of vectors of any size, up to ones that possibly do not fit in RAM. It also contains supporting code for evaluation and parameter tuning. Faiss is written in C++ with complete wrappers for Python/numpy. Some of the most useful algorithms are implemented on the GPU. It is developed by Facebook AI Research. Faiss contains several methods for similarity search. It assumes that the instances are represented as vectors and are identified by an integer, and that the vectors can be compared with L2 (Euclidean) distances or dot products. Vectors that are similar to a query vector are those that have the lowest L2 distance or the highest dot product with the query vector. It also supports cosine similarity, since this is a dot product on normalized vectors.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    KeyboardKit

    KeyboardKit

    KeyboardKit is a Swift library that helps you build custom keyboard

    KeyboardKit helps you build custom keyboard extensions with Swift and SwiftUI. KeyboardKit is a Swift-based SDK that helps you build custom keyboard extensions with Swift and SwiftUI. It extends the native keyboard APIs and provides you with a lot of functionality. The KeyboardKit project is open-source and completely free. It's hosted at GitHub, which is where you find information, documentation, sample code, demo apps etc. KeyboardKit Pro is a license-based extension to KeyboardKit. It unlocks a bunch of pro features, like more locales, localized system keyboards, local and remote autocomplete etc. KeyboardKit comes with support for 50+ locales, with more being added over time. KeyboardKit has tools for customizing everything from keys, key behavior, layout, callout actions, audio & haptic feedback, colors and styling, autocomplete etc. The KeyboardKit app let you create keyboards directly on your iPhone and iPad.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    MySensors

    MySensors

    MySensors library and examples

    MySensors is an open-source hardware and software community focusing on do-it-yourself home automation and Internet of Things. We're here to help people who'd like to create original and affordable sensors and actuators based on components like Arduino, ESP8266, Raspberry Pi, NRF24L01+ and RFM69. Does it sound complicated? Don’t worry, we’ll explain everything. We provide easy-to-follow build instructions, ready-to-use code examples, and adaptable open-source hardware designs. All of this runs on the MySensors software library for secure communication that has been battle-tested with more than 20 of the leading home automation controllers on the market. So, join in, have fun and create your own connected home experience! We've combined the Arduino platform with a small radio transceiver into a fun, flexible world of low cost wireless sensors.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • 4
  • 5
  • Next
MongoDB Logo MongoDB