Free Sample
+ Collection

Learning Cython Programming

Philip Herron

Developers who like C/C++ will love the added dynamism of Cython. This practical guide gives you everything you need to start programming with Cython and enhancing your existing applications. It could change your working life.
RRP $19.99
RRP $32.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781783280797
Paperback110 pages

About This Book

  • Extend C applications with pure Python code
  • Expand low-level C open source projects with pure Python – Tmux
  • Get the most out of highly computational Python code using Cython
  • Integrate your C applications with Python Distutils and Automake/Autoconf

Who This Book Is For

This book is for developers who love C/C++ for low latency and speed but who also require the ability to add more dynamic features to applications both fast and reliably. It will also show you how you can get new applications off the ground by reusing Python libraries to get started.

Table of Contents

Chapter 1: Cython Won't Bite
What this book is
What this book isn't
Installing Cython
Hello World
Module on your own
Chapter 2: Understanding Cython
Cython cdef
Python ConfigParser
Cython cdef syntax and usage reference
Typedef and function pointers
Scalable asynchronous servers
C sockets with libevent
Integration with build systems
Chapter 3: Extending Applications
Cython pure Python code
Python bindings
Python garbage collector
Extending Tmux
Embedding Python
Cythonizing struct cmd_entry
Implementing a Tmux command
Hooking everything together
Compiling pure Python code
Chapter 4: Debugging Cython
Using GDB on your code
General Cython caveats
Calling into pure Python modules
Chapter 5: Advanced Cython
C++ constructs
Caveat on C++ usage
Python threading and GIL
More inspiration
Parsing large amounts of data
Chapter 6: Further Reading
Keyword cpdef
OpenMP support
Object initialization
Compile time
Python 3

What You Will Learn

  • Reuse Python logging in C
  • Make an IRC bot out of your C application
  • Extend an application to have a web server for rest calls
  • Use Cython against your C++ code
  • Reuse Python ConfigParser in C
  • Create Python bindings to native libraries
  • Learn about threading and concurrency related to the GIL
  • Expand Terminal Multiplexer Tmux with Cython

In Detail

Cython is a very powerful combination of Python and C. Using Cython, you can write Python code that calls back and forth from and to C or C++ code natively at any point. It is a language with extra syntax allowing for optional static type declarations. It is also a very popular language as it can be used for multicore programming.

Learning Cython Programming will provide you with a detailed guide to extending your native applications in pure Python; imagine embedding a twisted web server into your native application with pure Python code. You will also learn how to get your new applications up and running by reusing Python’s extensive libraries such as Logging and Config Parser to name a few.

With Learning Cython Programming, you will learn that writing your own Python module in C from scratch is not only hard, but is also unsafe. Cython will automatically handle all type-conversion issues as well as garbage collection on your code. You can also still write all your code in Python but have it compiled and called directly in C as if it was just another function or data.

This book also demonstrates how you can take the open source project Tmux and extend it to add new commands directly in pure Python. With this book, you will learn everything you need to know to get up and running with Cython and how you can reuse examples in a practical way.


Read More