Add Cython post.
authorW. Trevor King <wking@drexel.edu>
Sat, 10 Mar 2012 12:36:19 +0000 (07:36 -0500)
committerW. Trevor King <wking@drexel.edu>
Sat, 10 Mar 2012 12:36:19 +0000 (07:36 -0500)
posts/Cython.mdwn [new file with mode: 0644]
posts/pycomedi.mdwn

diff --git a/posts/Cython.mdwn b/posts/Cython.mdwn
new file mode 100644 (file)
index 0000000..53dc372
--- /dev/null
@@ -0,0 +1,30 @@
+[Cython][] is a Python-like language that makes it easy to write
+[[C]]-based extensions for [[Python]].  This is a Good Thing™, because
+people who will write good Python wrappers will be fluent in Python,
+but not necessarily in C.  Alternatives like [[SWIG]] allow you to
+specify wrappers in a C-like language, which makes thin wrappers easy,
+but can lead to a less idomatic wrapper API.  I should also point out
+[ctypes][], which has the advantage of avoiding compiled wrappers
+altogether, at the expense of dealing with linking explicitly in the
+Python code.
+
+The [Cython docs][docs] are fairly extensive, and I found them to be
+sufficient for writing my [[pycomedi]] wrapper around the [[Comedi]]
+library.  One annoying thing was that Cython does not support
+`__all__` ([cython-users][]).  I took [a stab at fixing this][github],
+but got sidetracked cleaning up the Cython parser ([cython-devel][],
+[later in cython-devel][later]).  I must have bit off more than I
+should have, since I eventually ran out of time to work on merging my
+code, and the Cython trunk moved off without me ;).
+
+
+[Cython]: http://cython.org/
+[ctypes]: http://docs.python.org/library/ctypes.html
+[docs]: http://docs.cython.org/
+[cython-users]:
+  http://groups.google.com/group/cython-users/browse_thread/thread/a17bb0f5e550c140
+[github]: https://github.com/wking/cython/branches
+[cython-devel]:
+  http://mail.python.org/pipermail/cython-devel/2011-February/000035.html
+[later]:
+  http://mail.python.org/pipermail/cython-devel/2011-March/000163.html
index 3391b4c7142785ef9207f487428e88c27b2e3812..77a578d7bfc76df6de8dded559e6f9ce07794b0c 100644 (file)
@@ -1,13 +1,11 @@
 [[!meta  title="pycomedi"]]
 [[!template id=gitrepo repo=pycomedi]]
 
-I was getting frustrated with [Comedi][]'s [[SWIG]] wrappers, so I
-wrote a more object-oriented wrapper using [Cython][].
+I was getting frustrated with [[Comedi]]'s [[SWIG]] wrappers, so I
+wrote a more object-oriented wrapper using [[Cython]].
 
 The `README` is posted on the [PyPI page][pypi].
 
-[Comedi]: http://www.comedi.org/
-[Cython]: http://cython.org/
 [pypi]: http://pypi.python.org/pypi/pycomedi/
 
 [[!tag tags/code]]