[py-svn] r7056 - py/dist/doc
hpk at codespeak.net
hpk at codespeak.net
Wed Oct 20 03:38:48 CEST 2004
Author: hpk
Date: Wed Oct 20 03:38:46 2004
New Revision: 7056
Modified:
py/dist/doc/future.txt
py/dist/doc/misc.txt
Log:
- future: added a new section about transparent compilation
- fixes to misc
Modified: py/dist/doc/future.txt
==============================================================================
--- py/dist/doc/future.txt (original)
+++ py/dist/doc/future.txt Wed Oct 20 03:38:46 2004
@@ -372,6 +372,56 @@
more experimentations and a comparison with xist_ i guess.
+.. _`compile-on-the-fly`:
+
+Crossing the barriers of compilation
+====================================
+
+Python developers are very used to the fact
+that compilation of python programs happens
+automatically. This is unlike Java and C where
+you need an explicit compilation step.
+With Python, the language does it for you.
+With the py lib we extend the **compile-on-the-fly**
+notion for other program source than Python.
+Well, we start with C-files files but want to make sure
+that the mechanism is extensible towards other languages.
+
+And of course, internally we just reuse `CPython's distutils`_
+which already provides the right abstractions to run the
+underlying system compiler.
+
+development convenience rules
+-----------------------------
+
+As described in the `getting started`_ chapter the main
+current method to utilize the py lib is to work from a
+subversion checkout. The **compile-on-the-fly** feature
+allows us to keep up with this work style. You don't have to
+issue any manual ``python setup.py install`` incantations
+and you don't have to remember dependency issues. You
+can easily add a small C-coded module and make it
+seemlessly available through the path object::
+
+ mod = somepath.getcompiled()
+
+And you can grab objects from the freshly
+compiled C-module.
+
+we need a persistent storage for the py lib
+-------------------------------------------
+
+A somewhat open question is where to store the underlying
+generated object and library files from `CPython's
+distutils`_. We probably want to have the possibility of a
+*persistent location* in order to avoid runtime-penalties. A
+*persistent location* for the py lib would be a good idea
+anyway. We could cache some of the expensive test setups, like
+the multi-revision subversion repository that is created for
+each run of the tests.
+
+.. _`CPython's distutils`: http://www.python.org/dev/doc/devel/lib/module-distutils.html
+
Extending rest-tests to check links
===================================
Modified: py/dist/doc/misc.txt
==============================================================================
--- py/dist/doc/misc.txt (original)
+++ py/dist/doc/misc.txt Wed Oct 20 03:38:46 2004
@@ -88,7 +88,7 @@
Currently, the py lib offers two ways to interact with
system executables. ``py.process.cmdexec()`` invokes
the shell in order to execute a string. The other
-one lets you directly execute a binary (XXX not implemented).
+one, ``localpath.sysexec()`` lets you directly execute a binary.
Both approaches will raise an exception in case of a return-
code other than 0 and otherwise return the stdout-output
@@ -110,7 +110,6 @@
- it only allows to execute executables from the local
filesystem
-
.. _sysexec:
local paths have ``sysexec``
@@ -118,8 +117,7 @@
The py lib currently offers a stripped down functionality of what
the new `PEP-324 subprocess module`_ offers. The main functionality
-of synchronously executing a system executable has a
-straightforward api::
+of synchronously executing a system executable has a straightforward API::
binsvn.sysexec('ls', 'http://codespeak.net/svn')
@@ -130,8 +128,14 @@
For a first go, we are just reusing the existing `subprocess
implementation`_ but don't expose any of its API apart
-from the above "execute()" method.
+from the above ``sysexec()`` method.
+
+Note, however, that we currently don't support the ``sysexec``
+interface on win32. We want to integrate our `compile-on-the-fly`_
+and use the ``_subprocess.c`` file from the `PEP-324 subprocess module`_.
+
+.. _`compile-on-the-fly`: future.html#compile-on-the-fly
.. _`future book`: future.html
.. _`PEP-324 subprocess module`: http://www.python.org/peps/pep-0324.html
.. _`subprocess implementation`: http://www.lysator.liu.se/~astrand/popen5/
More information about the pytest-commit
mailing list