Cargando…

Learning Cython programming : learn the fundamentals of Cython to extend the legacy of your applications /

Learn the fundamentals of Cython to extend the legacy of your applicationsAbout This Book Learn how to extend C applications with pure Python code Get more from Python - you'll not only learn Cython, you'll also unlock a greater understanding of how to harness Python Packed with tips and t...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Herron, Philip (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2016.
Edición:Second edition.
Colección:Community experience distilled.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Cover; Copyright; Credits; About the Author; Acknowledgments; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Cython Won't Bite; Installing Cython; Emacs mode; Getting the code examples; Getting started
  • Hello World; Using distutils with Cython; Calling C functions from Python; Type conversion in Cython; Summary; Chapter 2: Understanding Cython; Linking models; Cython keyword
  • cdef; Structs; Enums; Typedef and function pointers; The public keyword; Keyword cpdef; Logging from C/C++ into Python; Using Python ConfigParser from C/C++; Callbacks from Python to C/C++
  • Cython PXDIntegration with build systems; Python Distutils; GNU/Autotools; Summary; Chapter 3: Extending Applications; Cython pure Python code; Compiling pure Python code; Avoid Makefiles
  • pyximport; Python garbage collector; Extending Tmux; Tmux build system; Embedding Python; Cythonizing struct cmd_entry; Implementing a Tmux command; Hooking everything together; Summary; Chapter 4: Debugging Cython; Using GDB with Cython; Running cygdb; Cython caveats; Type checking; Dereference operator (*); Python exceptions; C/C++ iterators; Boolean error; Const keyword; Multiple Cython inputs
  • Struct initializationCalling into pure Python modules; Summary; Chapter 5: Advanced Cython; Cython and C++; Namespaces; Classes; C++ new and del keyword; Exceptions; Bool type; Overloading; Templates; Static class member attribute; Calling C++ functions
  • Caveat; Namespaces
  • Caveat; Python distutils; Python threading and GIL; Atomic instructions; Read/write lock; Cython keywords; Messaging server; Caveat on GIL; Unit testing the native code; Preventing subclassing; Parsing large amounts of data; Summary; Chapter 6: Further Reading; Overview; OpenMP support; Compile time preprocessor
  • Python 3PyPy; AutoPXD; Pyrex and Cython; SWIG and Cython; Cython and NumPy; Numba versus Cython; Parakeet and Numba; Relevant Links; Summary; Index