Hi Benoit, This looks nice to me, very interesting that you already did it. I would (but that is just me) prefer to have the translatation automatic inside __init__.py, but the separate facade modules may be perhaps better for some esoteric things like debugger, frame resolution etc.
Sam, what do you think? Cheers, Roman PS: I got interested by the ctrigram module, what is it used for exactly? On Wed, Aug 3, 2011 at 8:20 PM, Benoit Thiell <bthi...@cfa.harvard.edu> wrote: > Hi Roman. > > I recently implemented something similar to what you proposed for the > ADS Python libraries. We have 3 C modules that need to be made > available for different architectures and versions of Python. > > Here is the implementation for the Looker module: > https://github.com/badzil/ADS-Python/blob/master/Looker.py > > Something similar could probably be done for Invenio. > > Benoit. > > On Wed, Aug 3, 2011 at 12:55 PM, Roman Chyla <roman.ch...@gmail.com> wrote: >> >> easy_install intbitset >> >> That would do pretty well (yum|apt get as well). >> >> OR, given the ticket from today about BibRank needing cythonisation; >> maybe we could just have all the c-extension modules in one place and >> retrieve them based on the Python version. Such as: >> >> from invenio.cmodules import intbitset >> >> invenio/cmodules/__init__.py will make sure that only Python2.4 is >> available if I run Invenio with Python2.4, but I can also put there >> Python2.6 version and it will work the same >> >> While this might not touch all installations, a few people will have >> the same problems as Benoit. intbitset inside Invenio makes it >> impossible to run the same code for several sites (or even machines) - >> on my side it is the search service that uses Solr. Because of >> intbitset I had to install new Invenio (where I could just run from >> the existing code base) > > I recently implemented something very similar to what you propose. In > the ADS Python libs, we have 3 C modules that need to be made > available for different computer architectures and versions of Python. > The problem is similar to the one we're discussing as the modules are > included in the Python libraries and at first it was possible to run > them only with one version of Python. > > Here is the implementation for one of the C-module: > https://github.com/badzil/ADS-Python/blob/master/Looker.py > > And the installation script for the C modules: > https://github.com/badzil/ADS-Python/blob/master/ads_c_modules/src/setup.py > > You might also want to take a look at the utilities to determine > platform and Python version: > https://github.com/badzil/ADS-Python/blob/master/ads_c_modules/utils.py > > -- > Benoit Thiell > The SAO/NASA Astrophysics Data System > http://adswww.harvard.edu/ >