Pyrex (programming language)

Pyrex is a programming language for creating Python modules. Its syntax is very close to Python and it makes it easy for Python programmers to write non-Python supporting code for interfacing modules in a language which is as close to Python as possible. Python itself only provides a C API to write extension modules, which allows writing of functions and datatypes in C. These can then be accessed from Python. It is possible to wrap the functions and datatypes of existing C libraries as Python objects and therefore make them available to Python.

Comment
enPyrex is a programming language for creating Python modules. Its syntax is very close to Python and it makes it easy for Python programmers to write non-Python supporting code for interfacing modules in a language which is as close to Python as possible. Python itself only provides a C API to write extension modules, which allows writing of functions and datatypes in C. These can then be accessed from Python. It is possible to wrap the functions and datatypes of existing C libraries as Python objects and therefore make them available to Python.
Developer
enGreg Ewing
Genre
Programming language
Genre
Programming language
Has abstract
enPyrex is a programming language for creating Python modules. Its syntax is very close to Python and it makes it easy for Python programmers to write non-Python supporting code for interfacing modules in a language which is as close to Python as possible. Python itself only provides a C API to write extension modules, which allows writing of functions and datatypes in C. These can then be accessed from Python. It is possible to wrap the functions and datatypes of existing C libraries as Python objects and therefore make them available to Python. Pyrex allows the user to write extension modules in a Python-like language which may directly access the external C code. The similarity of Pyrex's syntax to Python's makes it easy to write Python modules, but there are some functional limitations. The programmer must specify the name of C-header files, enumerations, datatypes and functions needing to be accessed in the module, then they can be used as if they were Python objects. The Pyrex compiler will generate the necessary glue code automatically and compile the Pyrex code into a working Python module. There are tools like SWIG or Python's foreign function library ctypes which can be used for this task without requiring much additional code, but this is limited to making an external library available in Python code. If adjustments to the API are needed, glue code must again be written manually.
Hypernym
Language
Is primary topic of
Pyrex (programming language)
Label
enPyrex (programming language)
LatestReleaseDate
12 April 2010
Latest release date
12 April 2010
LatestReleaseVersion
.90
Latest release version
0.9.9
Link from a Wikipage to an external page
www.cosc.canterbury.ac.nz/~greg/python/Pyrex/
Link from a Wikipage to another Wikipage
Application programming interface
C (programming language)
Category:Free compilers and interpreters
Category:Python (programming language)
Cross-platform
Cython
Datatype
Enumerated type
Library (computer science)
Module (programming)
Programming language
Python (programming language)
Subroutine
SWIG
Name
enPyrex
Name
enPyrex
OperatingSystem
Cross-platform
Operating system
Cross-platform
ProgrammingLanguage
C (programming language)
Python (programming language)
Programming language
C (programming language)
Python (programming language)
Released
3 April 2002
Release date
3 April 2002
SameAs
3984F
m.092r2w
Pyrex
Pyrex (langage)
Pyrex (programming language)
Pyrex (язык программирования)
Q3411311
بايركس (لغة برمجة)
Subject
Category:Free compilers and interpreters
Category:Python (programming language)
Title
enPyrex
WasDerivedFrom
Pyrex (programming language)?oldid=1026837619&ns=0
WikiPageLength
4495
Wikipage page ID
3274540
Wikipage revision ID
1026837619
WikiPageUsesTemplate
Template:Citation needed
Template:Compu-prog-stub
Template:Discuss
Template:Infobox software
Template:Portal
Template:Reflist
Template:Start date and age
Template:URL
Wordnet_type
synset-software-noun-1