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

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.
Mapt Subscription
FREE
$29.99/m after trial
eBook
$14.00
RRP $19.99
Print + eBook
$32.99
RRP $32.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$14.00
$32.99
$29.99p/m after trial
RRP $19.99
RRP $32.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

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

Recommended for You