Skip to content

zinootje/cython-book

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README.org

https://travis-ci.org/redbrain/cython-book.png?branch=master

1 Learning Cython README

These are all the cython code examples used within the book for easy reference and for me to be able to maintain these in the future. To keep not only the book relevant but the code aswell.

Here are some useful links to relevant links that you would care about.

-Cython: http://www.cython.org/ -Cython Official Reference: http://docs.cython.org/ -Cython Wiki: http://wiki.cython.org/ -Special Thanks to: http://www.packtpub.com/ -Author Blog: http://redbrain.co.uk/

1.1 Chapter 1 Intro

Deals with just hello world and a simple walk through of your own module from scratch!

1.2 Chatper 2 Cdef and mixing C/Python

Here things get more interesting with reusing:

  • Python ConfigParser
  • Python logging

To extend new C projects to get them up and running FAST

Then iterating over the cdef usage as a reference and the cython public keyword usage and how to handle the new header file.

1.2.1 Messaging Server

Finally a fairly quick and hacky messaging server written in an hour in C and Cython using libevent over simple Sockets. Demonstrates how to get the most of cython to extend existing systems.

1.3 Chapter 3 Cython Conventions

There are 3 parts to this chapter firstly on how to use cython to generate Python’esque classes for your C/C++ types with respect to Memory Management.

1.3.1 Memory

Such as the __dealloc__ hook when python GC decides to delete your objects. As well as using malloc/sizeof etc from cython in the __cinit__ and __str__ hooks to make it really feel like just any normal python code.

1.3.2 Speed

Using cython to simply compile your python code to get speed ups in number crunching in the primes example from cython compared to a plain nearly word for word match in pure python

1.3.3 Extending Tmux

Extending existing Open Source projects using pure Cython instead of using C!

1.4 Chapter 4 Caveats and Debugging

This chapter deals with some caveats in Type Conversion you might come across and how to use cygdb on your code.

1.5 Chapter 5 Advanced Cython

Advanced topics with cython include using C++ with cython and how to interface with that. And a little intro on how to worry about the GIL releated to threading. And finally 2 more examples on how you could extend systems with cython.

1.6 Chapter 6 Cython extra’s

Rounding off the book with a discussion on Python 3 and PyPy. And a quick look at the Auto PXD tools for cython that are available.

About

Learning Cython packtpub.com code examples.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 79.6%
  • Roff 6.6%
  • Makefile 6.4%
  • Shell 4.1%
  • Python 1.7%
  • M4 0.8%
  • Other 0.8%