20 مستودعات
Wrappers that provide high-level language interfaces for libraries written in C.
Distinct from Native Library Integrations: Focuses on wrapping a specific C library (libcurl) for API access rather than general native integration frameworks.
Explore 20 awesome GitHub repositories matching programming languages & runtimes · C-Library Bindings. Refine with filters or upvote what's useful.
OpenCC is a library and command-line tool for converting text between Simplified Chinese, Traditional Chinese, and Japanese Kanji. It operates at both the individual character and multi-character phrase levels, and applies region-specific vocabulary choices for Mainland China, Taiwan, and Hong Kong during conversion. The conversion engine resolves ambiguous character mappings using semantic and contextual rules, normalizes variant character forms for consistent orthography, and sequences multiple dictionary files into a configurable pipeline. It supports embedding custom conversion rules dire
Provides C++ library with Python, Node.js, and command-line bindings for Chinese script conversion.
Xgo is a programming language that combines familiar constructs from languages like C/C++, Go, Python, and JavaScript with a natural language-style syntax that reads closer to plain English. It executes programs compatible with the Go language, allowing reuse of existing Go libraries and tooling, and supports mixing Go and XGo source files within a single package for gradual adoption of its simplified syntax. The language distinguishes itself through direct foreign function interface capabilities, enabling calls to C/C++ and Python libraries using specialized string literal syntax without man
Provides direct foreign function interface to C/C++, Python, and JavaScript libraries without manual bindings.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Reads annotated C/C++ headers and produces glue code for many scripting and compiled languages.
GmSSL is an open-source cryptographic library that implements the Chinese national cryptographic standards SM2, SM3, SM4, SM9, and ZUC as a unified algorithm suite. It provides a comprehensive set of cryptographic primitives including symmetric and asymmetric encryption, digital signatures, hashing, and key exchange, all built around these national standards for government and enterprise security applications. The library distinguishes itself through several integration capabilities. It includes an OpenSSL compatibility layer that maps GmSSL functions to OpenSSL API calls, enabling drop-in re
Integrating cryptographic functions into applications via API bindings for Java, PHP, and Go.
mlpack is a header-only C++ machine learning library that defines matrix types as compile-time templates, enabling flexible numeric precision and memory layout without runtime overhead. Its core identity is built around a template metaprogramming architecture that allows algorithms to be included selectively as independent modules, reducing binary size, and supports compile-time serialization of neural network parameters by deducing matrix types and structure at compile time. The library distinguishes itself through a multi-language binding framework that automatically generates bindings for
Generates bindings for Python, R, Julia, Go, and the command line from a single C++ API definition.
هذا هو مجموعة أدوات معالجة اللغة الطبيعية الصينية التي توفر مجموعة من الأدوات لتقسيم الكلمات، ووسم أجزاء الكلام، والتعرف على الكيانات المسماة. تتضمن محللاً تبعياً عصبياً لتحليل العلاقات النحوية والدلالية بين الكلمات ومجموعة تدريب للتعلم الآلي لإنشاء نماذج لغوية مخصصة باستخدام مجموعات بيانات مشروحة. تتميز مجموعة الأدوات بمرونة النشر، حيث توفر خادماً حاوياً (dockerized) وواجهة خدمة ويب تعرض قدرات المعالجة عبر API. وتدعم استخدام النماذج المدربة مسبقاً وتسمح بدمج المعاجم الخارجية وامتدادات قواميس الكلمات لتحسين دقة التحليل. بشكل عام، يغطي المشروع خط أنابيب كاملاً للمهام اللغوية، بما في ذلك تقسيم الجمل، ورسم الخرائط التبعية النحوية، ووسم الأدوار الدلالية. هذه القدرات متاحة من خلال واجهة سطر الأوامر، أو الوحدات المستقلة، أو خطوط أنابيب التحليل المتكاملة. المنطق الأساسي منفذ بلغة C++ مع روابط لغوية رسمية لـ Python وJava.
Provides official programmatic interfaces to the native C++ core via Java and Python bindings.
Ultralight is a GPU-accelerated HTML UI renderer and C++ framework designed for embedding web interfaces within native applications. It functions as a lightweight web browser and cross-platform UI framework that renders HTML, CSS, and JavaScript directly to CPU pixel buffers or GPU textures. The project distinguishes itself by allowing developers to emit raw geometry and draw calls via a custom GPU driver interface, eliminating intermediate CPU bitmaps. It provides deep integration between native logic and web environments through a C++ web interface library that binds native functions and ob
Provides multi-language bindings (C#, Rust, Java) to connect web front-ends with native C++ logic.
هذا المشروع هو ترجمة صينية لدليل شامل للغة البرمجة Go. يعمل كمورد تعليمي مترجم ودليل تقني مصمم لتقديم إرشادات حول قواعد اللغة، وتصميمها، وتطوير البرمجيات. يغطي المورد مجموعة واسعة من تعليم لغة Go، بما في ذلك تنفيذ أنماط البرمجة وتصميم الأنظمة. يتضمن دروساً وأمثلة مترجمة تركز على ميزات اللغة الأساسية مثل التزامن (concurrency) واستخدام الواجهات (interfaces). يمتد المحتوى ليشمل مجالات قدرات متنوعة، بما في ذلك أساسيات اللغة، ونمذجة البيانات، والانعكاس في وقت التشغيل (runtime reflection)، وإدارة الذاكرة. كما يوفر تغطية مفصلة لهندسة البرمجيات، ومعالجة الأخطاء، وضمان الجودة، وشبكات الويب. تم هيكلة التوثيق كدليل تقني يحتوي على محتوى مترجم، وتصويبات، وتصحيحات لضمان تعلم دقيق.
Details the creation of bindings for functions written in other languages to extend native capabilities.
Caffe هو إطار عمل للتعلم العميق عالي الأداء ومكتبة للشبكات العصبية التلافيفية مصممة لتدريب ونشر الشبكات العصبية. يعمل كمحرك تعلم آلي مسرع بواسطة GPU مع نواة منفذة بلغة C++ لتمكين عمليات الموترات (tensor) عالية الإنتاجية. يستخدم المشروع نظام تكوين تصريحي حيث يتم تعريف معماريات النماذج والمعاملات الفائقة في ملفات نصية خارجية، مما يفصل تصميم الشبكة عن كود التنفيذ. يتضمن نظام تسلسل للنماذج لتصدير الأوزان والطوبولوجيا المدربة إلى ملفات ثنائية للنشر الفعال عبر بيئات أجهزة مختلفة. يغطي إطار العمل مجموعة واسعة من القدرات، بما في ذلك تصميم معمارية الشبكة العصبية، والتدريب الخاضع للإشراف للنماذج مع التحسين القائم على التدرج، وسير عمل تصنيف الصور. يوفر أدوات لمعالجة البيانات مسبقاً، واستخراج الميزات العصبية، وضبط النماذج المدربة مسبقاً. نواة C++ متاحة من خلال واجهة متعددة اللغات مع روابط رسمية لـ Python وMATLAB.
Provides a unified system accessible via a CLI and official bindings for Python and MATLAB.
Remacs هو إعادة كتابة لمحرر النصوص Emacs تم تنفيذه بلغة Rust. إنه محرر نصوص قابل للبرمجة والتوسيع مصمم لتحسين أمان الذاكرة وأداء التنفيذ. يتضمن المشروع واجهة أصلية تقوم بتعيين وظائف وهياكل مكتبة C إلى Rust لتنفيذ المنطق الأصلي. يستخدم واجهات برمجة تطبيقات النظام الأصلية لعرض الواجهة الرسومية عبر الأنظمة الأساسية. يوفر المحرر تحرير النصوص في الوقت الفعلي ويدعم تطوير طرق إدخال مخصصة وقواميس لغة. تستخدم عملية التطوير بيئة حاوية لضمان تبعيات بناء وسلاسل أدوات متسقة.
Provides bindings that map binary functions and structures to execute native logic from external C libraries.
Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for making both synchronous and asynchronous network requests. The project acts as a parallel request manager, using a managed queue to execute multiple network requests concurrently. It further distinguishes itself as a mocking tool for stubbing requests with predefined responses and as a caching layer that stores responses to avoid redundant network calls. The library covers a broad range of capabilities including session cookie management, response body streaming for large files,
Functions as a Ruby wrapper for the C-based libcurl library to handle low-level socket and protocol management.
Pathfinder هو محرك رسومات عالي الأداء مصمم لعرض المتجهات المسرع بواسطة GPU والطباعة. يعمل كمحول نقطي يحول مسارات المتجهات المعقدة، والخطوط، وتنسيقات المستندات إلى بيانات بكسل عن طريق تفريغ حسابات الهندسة ومعالجة التغطية إلى تظليل حساب GPU. يتميز المحرك بقدرته على عرض رسومات المتجهات والنصوص في بيئات ثلاثية الأبعاد، مما يدعم تطوير واجهات المستخدم المكانية. يستخدم إزالة الانسداد القائمة على البلاط (tile-based occlusion culling) لتحسين عرض الأشكال المتداخلة وأعباء العمل المعقدة، بينما يستخدم تنعيم الحواف شبه المنحرف الكسري وأخذ العينات دون البكسل لضمان الوضوح البصري والحواف الناعمة. إلى جانب إمكانات العرض الأساسية، يوفر المشروع روابط ثنائية مستقرة تسمح بتضمينه كمكتبة داخل تطبيقات مكتوبة بلغات برمجة مختلفة. تتيح هذه البنية متعددة اللغات مخرجات مرئية متسقة عبر بيئات برمجية متنوعة، بما في ذلك تشغيل تنسيقات الرسوم المتحركة القائمة على المتجهات.
Provides multi-language bindings to embed high-performance vector rendering capabilities into various applications.
Zen-C is a multi-target systems language and source-to-source compiler that translates high-level logic into human-readable GNU C or C11 code. It functions as a JIT-enabled programming language with an in-process compiler for real-time interactive code evaluation and testing. The project serves as a CUDA GPU kernel generator, mapping specialized syntax to CUDA C++ using device attributes to target graphics hardware. It acts as an interoperability layer capable of emitting compatible code for C++, Objective-C, and Lisp to bridge native system frameworks and libraries. The language includes an
Connects native C++ headers and libraries with high-level logic by emitting compatible code.
Vulkan-Hpp is a header-only C++ binding library for the Vulkan graphics and compute API. It provides a type-safe wrapper around the Vulkan C API, allowing developers to interface with GPU hardware through a C++ interface that introduces no runtime CPU overhead. The library utilizes Resource Acquisition Is Initialization patterns to manage the lifecycle of Vulkan handles and objects, automating the release of GPU resources. It replaces C-style enumerations and bit-fields with strong typing and static type checking to catch invalid API parameter assignments during compilation. The project cove
Provides high-level C++ language bindings for the Vulkan C API.
GodotSteam is a game engine plugin and API wrapper that integrates the Steamworks SDK into the Godot engine. It serves as a bridge between the engine's scripting layer and platform services, allowing applications to access social features and platform-specific connectivity. The project utilizes a C++ wrapper and a C-compatible foreign function interface to bind the Steamworks SDK. It includes a session manager that handles application ID initialization and enforces that the application is launched through the Steam client to validate ownership and session integrity. The integration covers se
Binds the Steamworks C++ SDK to Godot using a GDExtension-based shared library for native performance.
This is an Android multimedia player designed to decode and play a wide variety of audio and video formats. It functions as a network media streamer and a multimedia library manager, indexing local files into a searchable database for organized access. The project includes a high-fidelity audio processor for routing signals through hardware interfaces like SPDIF and HDMI, and a Chromecast media controller for streaming content to external renderers and UPnP devices. It supports advanced visual rendering, including high dynamic range video with tonemapping, 360-degree video, and spatial audio.
Integrates a native C-based multimedia framework using C-library bindings for high-performance decoding.
This project provides Rust bindings for the Dear ImGui library, enabling the creation of high-performance graphical user interfaces using an immediate-mode paradigm. By defining interface elements directly within the application render loop, it eliminates the need for persistent object hierarchies, allowing for rapid prototyping and dynamic visual updates. The library distinguishes itself by wrapping complex native function signatures in type-safe builders, which improves developer ergonomics while maintaining the performance characteristics of the underlying C++ implementation. It utilizes a
Provides low-level foreign function interfaces to integrate custom graphical user interface components with native C++ libraries for high-performance rendering.
python-magic is a C-binding wrapper that provides a Python interface for the libmagic system library. It functions as a file signature analyzer and MIME type detector, identifying file formats by comparing header bytes against a database of known binary signatures. The library enables the identification of file types from both file paths and raw data buffers. It supports custom file signature matching through the injection of user-provided magic databases, allowing for the detection of specialized or proprietary formats. The project covers binary data analysis and MIME type mapping to transl
Provides a Python interface for programmatic access to the underlying libmagic C library.
Hora is a vector similarity search library written in Rust designed for efficient approximate nearest neighbor retrieval in high-dimensional data spaces. It functions as a compiled search engine that organizes vector spaces using hierarchical graphs, trees, and product quantization, while computing proximity through various mathematical distance formulas including Euclidean, Manhattan, cosine, and dot product calculations. The library supports high-performance execution through hardware-accelerated instruction sets and concurrent thread dispatch across multiple hardware processors. To accommo
Integrates high-speed vector search capabilities into Python, JavaScript, Java, and other tech stacks using native programming language bindings.
ICU4X is a modular internationalization library written in Rust, designed as a cross-platform toolkit for formatting text, dates, numbers, and identifiers according to specific regional and cultural rules. It decomposes internationalization features into independent micro-libraries and embeds optimized binary structures directly into application binaries during the build phase via compile-time code generation, or loads externalized cultural datasets dynamically on demand. The library utilizes zero-allocation data structuring to access internationalization properties directly from serialized
Produces foreign function interface wrappers to integrate core software libraries seamlessly across diverse programming language environments.