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.
$19.99
$32.99
RRP $19.99
RRP $32.99
eBook
Print + eBook

Get unlimited access to this and 3,500 other courses today!

With unlimited access to a constantly growing library of over 3,500 courses, a subscription to Mapt gives you everything you need to get that next promotion or to land that dream job. Cancel anytime.

+ Collection
Free Sample

Book Details

ISBN 139781783280797
Paperback110 pages

Book Description

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.

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

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

Read More Reviews