awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
cython avatar

cython/cython

0
View on GitHub↗
10,767 stars·1,612 forks·Cython·Apache-2.0·22 viewscython.org↗

Cython

Cython is a compiler that translates Python code into C or C++ to create high-performance extension modules. It functions as a static typing optimizer and a C extension generator, allowing developers to declare C types within Python code to reduce interpreter overhead and increase execution speed.

The project enables the wrapping of external C libraries to provide high-level interfaces to low-level system capabilities. It also serves as a native binary packager, capable of freezing scripts and their dependencies into standalone executable binaries for distribution.

The system covers a broad range of capabilities including native library wrapping, C extension development, and the embedding of a Python runtime environment into native C applications. It provides tools for loop execution optimization, memory reference control, and the packaging of compiled extensions into platform-specific wheels.

Build automation is supported through standard setup scripts and on-demand module compilation during import.

Features

  • C-Extensions - Provides tools for compiling Python code into C extensions to increase execution speed and memory efficiency.
  • Source-to-C Transpilers - Converts a Python-like source language into C or C++ code that interfaces directly with the Python C API.
  • Native Glue Code Generators - Automatically generates the boilerplate code required to map Python objects and functions to native C structures and calls.
  • Compiled Type Optimizations - Enables the declaration of specific C types for variables to generate more efficient machine code.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
  • Native Library Integrations - Builds high-level Python interfaces for existing C libraries to access low-level system capabilities and external functions.
  • C Function Bindings - Allows the declaration of C types, functions, and structs within modules to enable direct integration with external C libraries.
  • Native Library Wrappers - Cython enables interfacing with existing C functions to provide a high-level bridge to low-level system capabilities.
  • Execution Performance Optimizers - Converts Python code into C extensions to increase execution speed and reduce runtime overhead for compute-intensive tasks.
  • Type Annotations - Translates high-level type declarations into C-level types to generate optimized machine code and bypass Python dynamic lookup.
  • Type-Based Performance Optimization - Allows declaring C types within Python code to reduce interpreter overhead and increase execution speed.
  • Standalone Binary Generators - Packages a script and its dependencies into a standalone executable binary for distribution to end users.
  • Native Binary Packagers - Allows freezing scripts and their dependencies into standalone executable binaries for platform-specific distribution.
  • Runtime Embedding - Integrates a script execution environment into a native binary to run scripts from within a C application.
  • Reference Counting - Controls the lifecycle of Python objects using explicit rules for borrowed and new references within generated C code.
  • Native Memory Lifecycle Management - Provides mechanisms to manage the memory lifecycle of native objects using explicit reference counting control.
  • Loop Optimizations - Transforms integer loops into efficient C implementations to reduce runtime overhead and execution time.
  • Loop Vectorization - Transforms Python loops into efficient C implementations to remove interpreter overhead and increase execution speed.
  • Wheel Binary Compilation - Packages compiled extensions into platform-specific wheels to support distribution across various hardware architectures.
  • Code Quality and Analysis - Compiler for high-performance Python and C interoperability.
  • Language Implementations - Compiles Python code into C for performance optimization.
  • Language Interop - Compiler for writing Python extensions in C-like syntax.
  • Scripting and Bindings - Optimizing compiler for Python and C-extended Python code.
  • Star history

    Star history chart for cython/cythonStar history chart for cython/cython

    How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

    Projects sharing features with Cython

    These projects share indexed features with Cython. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
    • bytedeco/javacppbytedeco avatar

      bytedeco/javacpp

      4,697View on GitHub↗

      JavaCPP is a JNI C++ bridge and foreign function interface that provides a binding generator, a native library loader, and a native memory manager. It automates the creation of Java wrappers around native C++ headers and shared libraries to enable interoperability between the two languages. The project features a C++ binding generator that parses header files to automatically produce the necessary glue code and interfaces for calling native functions. It includes a native library loader that locates and extracts platform-specific binaries from the classpath into a local cache for runtime exec

      Javacc-plus-pluscpp
      View on GitHub↗4,697
    • pybind/pybind11pybind avatar

      pybind/pybind11

      17,913View on GitHub↗

      pybind11 is a header-only C++ binding library that exposes C++ functions and classes as Python modules. It serves as a language bridge, mapping native types, inheritance hierarchies, and lambda functions into compatible Python objects to enable high-performance native code execution. The library includes specialized integration for NumPy arrays, utilizing buffer protocols to bind native C++ data without copying memory. It provides a toolkit for mapping C++ standard library data structures and smart pointers into the Python environment while maintaining cross-language memory management. The p

      C++
      View on GitHub↗17,913
    • android/ndk-samplesandroid avatar

      android/ndk-samples

      10,513View on GitHub↗

      The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act

      C++
      View on GitHub↗10,513
    • rust-lang/rust-bindgenrust-lang avatar

      rust-lang/rust-bindgen

      5,212View on GitHub↗

      Rust-bindgen is a build-time foreign function interface binding generator and C header parser designed to automate cross-language interoperability. It functions as a tool to bridge Rust with C, C++, and Objective-C libraries by producing platform-specific declarations during the compilation process. The project distinguishes itself through its ability to handle complex C-family language constructs, including C++ inheritance and methods, as well as Objective-C classes and protocols. It ensures binary compatibility across different architectures by calculating target-aware memory layouts and va

      Rustbindingscodegenffi
      View on GitHub↗5,212
    Compare all 30 related projects→

    Frequently asked questions

    What does cython/cython do?

    Cython is a compiler that translates Python code into C or C++ to create high-performance extension modules. It functions as a static typing optimizer and a C extension generator, allowing developers to declare C types within Python code to reduce interpreter overhead and increase execution speed.

    What are the main features of cython/cython?

    The main features of cython/cython are: C-Extensions, Source-to-C Transpilers, Native Glue Code Generators, Compiled Type Optimizations, Native Library Integrations, C Function Bindings, Native Library Wrappers, Execution Performance Optimizers.

    Which projects share features with cython/cython?

    Projects with overlapping indexed features include: bytedeco/javacpp — JavaCPP is a JNI C++ bridge and foreign function interface that provides a binding generator, a native library loader,… pybind/pybind11 — pybind11 is a header-only C++ binding library that exposes C++ functions and classes as Python modules. It serves as a… android/ndk-samples — The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++… rust-lang/rust-bindgen — Rust-bindgen is a build-time foreign function interface binding generator and C header parser designed to automate… z-libs/zen-c — Zen-C is a multi-target systems language and source-to-source compiler that translates high-level logic into… gto76/python-cheatsheet — This project is a comprehensive technical reference and programming cheatsheet for the Python language. It serves as a…