This is a list of some of the stuff that we'd may like to see in Cython, and hopefully will be some of the coding sprints at http://wiki.sagemath.org/dev1 or perhaps even as Google Summer of Code projects.
CEPs are isolated ideas and concepts. They do not need to be full specifications; once it is believed that a concept is understood in enough detail that it won't be refactored into other pieces it is a good candidate for a CEP. However as CEPs are implemented they should develop towards a higher level of specificity (and eventually serve as documentation of the feature).
CEP 1xx - User experience
Improvement for specific usecases or libraries. These are bigger end-goals driving the development priorities and depends on other CEPs for the details.
- CEP 101 - Full Python 2.x syntax support (this is a 1.0 goal)
CEP 107 - a special compilation mode that adds safety checks at various places
CEP 2xx - Frontend
Build system, command-line interface, library interface
- CEP 202 - Plugin framework
CEP 3xx - Pure Python support
Supporting more features for pure Python code (without Cython syntax extensions)
CEP 301 - from blah import * (Done)
CEP 302 - with statements (Done)
CEP 304 - decorators (Done)
CEP 4xx - Support for wrapping existing C/C++/Fortran/... libraries
Improved support for features in C/C++/Fortran code that is wrapped, often through extensions in the Cython declaration language.
CEP 5xx - Cython language features
Development of Cython as a language that is not covered by the 3xx or 4xx series.
CEP 501 - Embedding Cython language extensions in valid Python syntax
CEP 516 - Division Semantics (Done)
CEP 517 - Array type (Not voted for yet)
CEP 518 - SIMD operations on Cython arrays (Not voted for yet)
CEP 6xx - Optimizations
Generating smarter output C code.
CEP 9xx - Cython internals
Changes in the internal Cython implementation.
Exploring new concepts
The uneval psuedo-function (unifying metaprogramming approaches)
- Supporting C-level conditional compilation (e.g. emitting #ifdef)
