sfermigier / awesome-cython

A curated list of awesome Cython resources. Just a draft for now.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Cython

Awesome

A curated list of awesome Cython resources.


Projects

Resources

Academic Articles

  • Cython: The Best of Both Worlds - Article by Stefan Behnel; Robert Bradshaw; Craig Citro; Lisandro Dalcin; Dag Sverre Seljebotn; Kurt Smith; IEEE Software, 2011.

Books

Books on, or related to, Cython

Lectures

Other

Software

Cython implementation

  • Cython ★7367 - "The most widely used Python to C compiler".
  • Cython+ - Fork of Cython by the Cython+ project.

Cython librairies

Librairies specifically designed to complement Cython.

  • Cygnals ★36 - cysignals: interrupt and signal handling for Cython.
  • Pyrobuf ★541 - an alternative to Google's Python Protobuf library, than generates lightning-fast Cython code that's 2-4x faster than Google's Python Protobuf library using their C++ backend and 20-40x faster than Google's pure-python implementation.

Alternatives

  • Pythran ★1807 - An ahead of time compiler for a subset of the Python language, with a focus on scientific computing. It takes a Python module annotated with a few interface description and turns it into a native Python module with the same interface, but (hopefully) faster.
  • Numba ★7873 - A Just-In-Time Compiler for Numerical Functions in Python.

Some projects with more that 10 000 lines of Cython code

  • Pandas ★35468 - A Python package that provides fast, flexible, and expressive data structures designed to make working with "relational" or "labeled" data both easy and intuitive.
  • scipy ★10315 - Open-source software for mathematics, science, and engineering. It includes modules for statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more.
  • scikit-learn ★51583 - A Python module for machine learning built on top of SciPy.
  • spaCy ★24331 - Industrial-strength Natural Language Processing (NLP) with Python and Cython.

Some projects with more that 5 000 lines of Cython code

  • Numpy ★21625 - The fundamental package for scientific computing with Python.
  • Schrapnel ★215 - Shrapnel is a scalable, high-performance cooperative threading library for Python.
  • scikit-image ★5071 - Image processing in Python.
  • lxml ★2182 - The most feature-rich and easy-to-use library for processing XML and HTML in the Python language.
  • Pomegranate ★2962 - Fast, flexible and easy to use probabilistic modelling in Python.

Some projects with more that 1 000 lines of Cython code

  • BlackSheep ★1021 - Fast ASGI web framework and HTTP client for Python asyncio.
  • pyimgui ★880 - Python bindings for the amazing dear imgui C++ library - a Bloat-free Immediate Mode Graphical User Interface.
  • Antidote ★77 - Dependency injection for Python.

About

A curated list of awesome Cython resources. Just a draft for now.