Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.335.157 Times

Pyrex 0.9.4.1

  Date Added: May 26, 2010  |  Visits: 869

Pyrex

Report Broken Link
Printer Friendly Version


Product Homepage
Download (100 downloads)



Pyrex is a Language for Writing Python Extension Modules. Pyrex is a language specially designed for writing Python extension modules. Its designed to bridge the gap between the nice, high-level, easy-to-use world of Python and the messy, low-level world of C. You may be wondering why anyone would want a special language for this. Python is really easy to extend using C or C++, isnt it? Why not just write your extension modules in one of those languages? Well, if youve ever written an extension module for Python, youll know that things are not as easy as all that. First of all, there is a fair bit of boilerplate code to write before you can even get off the ground. Then youre faced with the problem of converting between Python and C data types. For the basic types such as numbers and strings this is not too bad, but anything more elaborate and youre into picking Python objects apart using the Python/C API calls, which requires you to be meticulous about maintaining reference counts, checking for errors at every step and cleaning up properly if anything goes wrong. Any mistakes and you have a nasty crash thats very difficult to debug. Various tools have been developed to ease some of the burdens of producing extension code, of which perhaps SWIG is the best known. SWIG takes a definition file consisting of a mixture of C code and specialised declarations, and produces an extension module. It writes all the boilerplate for you, and in many cases you can use it without knowing about the Python/C API. But you need to use API calls if any substantial restructuring of the data is required between Python and C. Whats more, SWIG gives you no help at all if you want to create a new built-in Python type. It will generate pure-Python classes which wrap (in a slightly unsafe manner) pointers to C data structures, but creation of true extension types is outside its scope. Another notable attempt at making it easier to extend Python is PyInline , inspired by a similar facility for Perl. PyInline lets you embed pieces of C code in the midst of a Python file, and automatically extracts them and compiles them into an extension. But it only converts the basic types automatically, and as with SWIG, it doesnt address the creation of new Python types. Pyrex aims to go far beyond what any of these previous tools provides. Pyrex deals with the basic types just as easily as SWIG, but it also lets you write code to convert between arbitrary Python data structures and arbitrary C data structures, in a simple and natural way, without knowing anything about the Python/C API. Thats right -- nothing at all! Nor do you have to worry about reference counting or error checking -- its all taken care of automatically, behind the scenes, just as it is in interpreted Python code. And whats more, Pyrex lets you define new built-in Python types just as easily as you can define new classes in Python. Whats New in This Release: - Tiny bugfix to correct a tab/space problem in the distutils extension..

Requirements: No special requirements
Platforms: Linux
Keyword: Api C Api Extension Interpreters Language Programming Pyrex Python Swig Types Writing Python Extension Modules
Users rating: 0/10

License: Freeware Size: 174.08 KB
USER REVIEWS
More Reviews or Write Review


PYREX RELATED
Programming  -  NLPP-Native Language Programming Project 70
NLPP (The Native Language Programming Project) aims to permit foreign programmers to program using commands (such as if) in their own language (such as 'si' for Spanish). We also aim to create an easily extensible program so that programmers all...
328.15 KB  
Libraries  -  Pii - Functional Programming for Python 0.7
Functional Programming for Python. Provides a small mixin to provide 1) type constraints for named tuples 2) pre/postcondition typechecking for functions 3) syntactical sugar to make your code look pretty (accomplished through a PEP 302 import hook)
5.75 KB  
Libraries  -  PyICU 0.6
PyICU is a python extension wrapping IBMs ICU C++ API. PyICU is supported on Linux, Mac OS X and Windows. Binaries for PyICU are available below. See the README file for information about building PyICU from sources. As of release 0.5, SWIG is...
61.44 KB  
Libraries  -  Deviare API Hook 1.0.1
Deviare contains Hook Applications that let the user monitor API calls and watch values of all parameter types. It support structures, arrays and display them expanded. These applications contains source code to show how it is achieved and the...
11.62 MB  
Libraries  -  C/Invoke 1.0
C/Invoke is a library for connecting to C libraries at runtime. This differs from the typical method of interfacing with C, which involves writing static definitions which are then compiled to a machine-dependant format. C/Invoke provides a...
71.68 KB  
Libraries  -  Aapl C++ Template Library 2.14
Aapl is a C++ template library for generic programming. Aapl supports different generic programming paradigms by providing variations of standard data structures. For example, a by-value linked list template may be used to store a user supplied...
122.88 KB  
Programming  -  C-smile object-oriented language 1.0
C-smile OOL is a scripting language with C++-like grammar. It has compiler, VM running bytecodes and C++ extendible runtime. Intended to run in standlone and embedded mode.
256.53 KB  
Modules  -  Open Flash Chart API 6.x-2.6 / 5.x-2.6 1.0
The API provides a wide array of functions to be used by other modules.InstallationUnpack in your modules folder (usually /sites/all/modules/) and enable under Administer > Site Building > Modules. Requirements: - Drupal 5.x/6.x
 
Modules  -  Block API 6.x-1.0-beta2
Block API is an API to allow module developers to add new types of blocks with set templates, in a similar fashion to defining content types for the node system.Block API by itself is useless and should only be installed if another module requires...
10 KB  
Programming  -  Marvin3 programming language 3.0.0.63
Marvin3 is a new cross-platform stack-based language developed in Python. Marvin3 features object-oriented-programming, anonymous routines, eager lists, variables, lexical scope, combinators and support for modules.
30.28 KB  
NEW DOWNLOADS IN LINUX SOFTWARE, PROGRAMMING
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB