Mark Ramm wrote: >> This is a crude way of implementing the freezed-set of EggBasket if >> you prefer :) >> >> http://www.chrisarndt.de/projects/eggbasket/ >> > > Agreed, the way we're doing this now is not the critical issue, and > we're generating static interfaces just for speed, and easy-deployment > now. > > EggBasket is probably the right way to go in the future, but > installing will still come from a custom index, not pypi, so the > client interface will not change. ;) > > I must admit I don't like the use of private indexes for packages that are intended for public distribution, mainly because it's much nicer to say:
easy_install Foo than: easy_install -i http://some_url_i_always_need_to_look_up Foo I understand the rationale behind it and I always use private indexes for *private* deployments in order to get repeatable builds, but I don't think it is a good solution for anything you plan to distribute publicly: PyPI is the canonical place for that IMHO. Besides that, maintaining a private index is not fun :) (you have to manually keep it updated as the dependencies are upgraded, unless there's a buildbot doing it for you...) This is how I'm planning to handle distribution and dependency issues with in python-rum.org: - All eggs (Rum, tw.rum, RumAlchemy, etc...) list their dependencies with the minimum version guaranteed to work (and maximum if necessary, it isn't yet). - A buildbot [1] builds everything in a clean virtualenv every day (and on every push) pulling dependencies from PyPI. This is to simulate what a user downloading Rum would experiment in their system. If any new version of a a dependency is released the dependent package can be either fixed if possible or the metadata updated with an upper bound on the required version and a new minor release made ASAP. This step should be improved by fetching from the respective trunks in order to get an early warning. - Packages not available at PyPI are distributed from a private index and a "dependency_link" is added to setup.py to a page where *only* that dependency can be downloaded (eg: [2]). This is to avoid creating havoc all around with custom versions of other packages (as I once did by mistake with tw.org/download) - If Rum ever pins an old version of a dep. which ceases to be distributed at PyPI no problem: the buildbot barfs and we manually create a package and distribute it at pypi.python.rum.org/custom Alberto [1] http://buildbot.python-rum.org/waterfall [2] http://pypi.python-rum.org/custom/index/EggTranslations/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TurboGears Trunk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/turbogears-trunk?hl=en -~----------~----~----~----~------~----~------~--~---
