Learning Cython Programming

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.

Learning Cython Programming

Learning
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.
$10.00
$32.99
RRP $19.99
RRP $32.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 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.

+ Collection
Free Sample

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
Summary
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
Summary
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
Summary
Chapter 4: Debugging Cython
Using GDB on your code
General Cython caveats
Calling into pure Python modules
Summary
Chapter 5: Advanced Cython
C++ constructs
Caveat on C++ usage
Python threading and GIL
More inspiration
Parsing large amounts of data
Summary
Chapter 6: Further Reading
Keyword cpdef
OpenMP support
Object initialization
Compile time
Python 3
Summary

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.

Authors

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
Summary
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
Summary
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
Summary
Chapter 4: Debugging Cython
Using GDB on your code
General Cython caveats
Calling into pure Python modules
Summary
Chapter 5: Advanced Cython
C++ constructs
Caveat on C++ usage
Python threading and GIL
More inspiration
Parsing large amounts of data
Summary
Chapter 6: Further Reading
Keyword cpdef
OpenMP support
Object initialization
Compile time
Python 3
Summary

Book Details

ISBN 139781783280797
Paperback110 pages
Read More