Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder4.news.weretis.net!rt.uk.eu.org!newsfeed.xs4all.nl!newsfeed1.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'tutorial': 0.03; 'cache': 0.07; 'fixes': 0.07; 'json': 0.07; 'pypi': 0.07; 'skip:` 10': 0.07; 'versions.': 0.07; 'anymore.': 0.09; 'assuming': 0.09; 'attributes': 0.09; 'experimental': 0.09; 'http': 0.09; 'indexes': 0.09; 'inherited': 0.09; 'lookup': 0.09; 'mixed': 0.09; 'overwrite': 0.09; 'parsing': 0.09; 'refresh': 0.09; 'replication': 0.09; 'trailing': 0.09; 'underscore': 0.09; 'api': 0.11; 'mostly': 0.14; 'thread': 0.14; '(both': 0.16; '2.0.0': 0.16; 'accepts': 0.16; 'caching': 0.16; 'clears': 0.16; 'code),': 0.16; 'command.': 0.16; 'krekel,': 0.16; 'merlinux': 0.16; 'navigation': 0.16; 'overwriting': 0.16; 'ported': 0.16; 'pypi.': 0.16; 'received:eu': 0.16; 'slash.': 0.16; 'subject:fixes': 0.16; 'subject:search': 0.16; 'sys.argv[0]': 0.16; 'to:addr:python- announce-list': 0.16; 'uploading': 0.16; 'wsgi': 0.16; 'index': 0.16; 'prevent': 0.16; 'fix': 0.17; '(not': 0.18; 'app': 0.19; 'trying': 0.19; 'packages.': 0.19; 'server,': 0.19; 'command': 0.22; 'gmbh': 0.22; 'installation': 0.23; 'header:User-Agent:1': 0.23; '(by': 0.24; 'config': 0.24; 'holger': 0.24; 'instead.': 0.24; 'package.': 0.24; 'proxy': 0.24; 'rid': 0.24; 'switched': 0.24; 'header': 0.24; 'initial': 0.24; 'file.': 0.24; '2.0': 0.26; 'switch': 0.26; 'subject:/': 0.26; 'host': 0.29; 'correct': 0.29; 'moved': 0.30; 'specified': 0.30; 'code': 0.31; 'easier': 0.31; 'serve': 0.31; 'extending': 0.31; 'index,': 0.31; 'allows': 0.31; 'file': 0.32; 'lists': 0.32; 'interface': 0.32; 'running': 0.33; 'framework': 0.33; 'implemented': 0.33; 'core': 0.34; 'basic': 0.35; 'except': 0.35; 'etc': 0.35; 'test': 0.35; 'but': 0.35; 'add': 0.35; 'version': 0.36; 'fun,': 0.36; 'in.': 0.36; 'real- time': 0.36; 'done': 0.36; 'next': 0.36; 'shows': 0.36; 'web,': 0.36; 'charset:us-ascii': 0.36; 'thanks': 0.36; 'behind': 0.37; 'list': 0.37; 'project': 0.37; 'architecture': 0.38; 'button': 0.38; 'implement': 0.38; 'server': 0.38; 'files': 0.38; 'skip:- 10': 0.38; 'rather': 0.38; 'structure': 0.39; 'supporting': 0.39; 'new': 0.61; 'providing': 0.61; 'simple': 0.61; 'content- disposition:inline': 0.62; 'to:addr:distutils-sig': 0.63; 'name': 0.63; 'skip:n 10': 0.64; 'map': 0.64; 'more': 0.64; 'different': 0.65; 'to:2**2': 0.65; 'within': 0.65; 'note:': 0.66; 'here': 0.66; 'latest': 0.67; 'side': 0.67; 'url:0': 0.67; 'results': 0.69; 'containing': 0.69; 'default': 0.69; 'limit': 0.70; 'search,': 0.74; 'introduce': 0.78; 'florian': 0.84; 'gone.': 0.84; 'here::': 0.84; 'malicious': 0.84; 'mirroring': 0.84; 'replica': 0.84; 'wheel': 0.84; 'canonical': 0.91; 'certificates': 0.91; 'use"': 0.91 Date: Tue, 15 Jul 2014 13:12:19 +0000 From: holger krekel To: devpi-dev , disutils-sig , python announce Subject: devpi-2.0.0: web/search UI, replication, fixes MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-06-14) X-Mailman-Approved-At: Tue, 15 Jul 2014 20:52:04 +0200 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: python-list@python.org List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Approved: python-announce-list@python.org Newsgroups: comp.lang.python.announce Message-ID: Lines: 137 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1405450325 news.xs4all.nl 2893 [2001:888:2000:d::a6]:34721 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python.announce:1330 devpi-2.0.0: web, search, replication for PyPI indexes ========================================================== The devpi system in version 2.0 brings tons of fixes and new features for the private github-style pypi caching server, most notably: - a new web interface featuring search of metadata and documentation as well as easier navigation and showing of test results per release file. - a new transactional storage system (based on sqlite) supporting real-time replication over http. - a new (experimental) hook system for extending server-side functionality. - ported to a solid web framework and wsgi-server: pyramid and waitress. Upgrade note: devpi-server-2.0 requires to ``--export`` your 1.2 server state and then using ``--import`` with the new version before you can serve your private packages through devpi-server-2.0.0. Also, please checkout the web plugin if you want to have a web interface:: http://doc.devpi.net/2.0/web.html Here is a Quickstart tutorial for efficient pypi-mirroring on your laptop:: http://doc.devpi.net/2.0/quickstart-pypimirror.html And if you want to manage your releases or implement staging as an individual or within an organisation:: http://doc.devpi.net/2.0/quickstart-releaseprocess.html If you want to host a devpi-server installation with nginx/supervisor and access it from clients from different hosts:: http://doc.devpi.net/2.0/quickstart-server.html More documentation here:: http://doc.devpi.net/2.0/ many many thanks to Florian Schulze who implemented the new ``devpi-web`` package and helped with many other improvements. have fun, Holger Krekel, merlinux GmbH 2.0.0 -------------- devpi-server: - major revamp of the internal core of devpi to support replication (both master and server code), a plugin architecture with the new devpi-web plugin providing a new web interface. Mostly done by Florian Schulze and Holger Krekel. - moved all html views except for files and the simple index to new devpi-web package. Thanks to Florian Schulze for the PR. - implement issue103: By default if you register a package in an index, no lookup on pypi is made for that package anymore. You have to add the package to the pypi_whitelist of the index to let pypi releases be mixed in. This is to prevent malicious uploads on pypi to overwrite private packages. - change json api to get rid of the different meaning of URLs with and without a trailing slash. "/{user}/" is now the same as "/user" and always lists indices. "/{user}/{index}" and "/{user}/{index}/ now always lists the index config and the contained per-stage projects (not inherited ones). - switch the wsgi app to use Pyramid and waitress for WSGI serving. - don't refresh releaselinks from the mirroring thread but rather rely on the next access to do it. - fix issue98: deleting a project config or a project version now accepts names which map to the canonical name of a project. - fix issue82 and fix issue81: root/pypi now provides the same attributes as normal indexes and results in a 409 MethodNotAllowed http code when trying to change the config. - fix issue91: make serverport available as well. Thanks David Bonner. - fix issue100: support large file uploads. As we switched away from bottle to pyramid, the body-size limit is gone. - fix issue99: make "devpi-server --start" etc work when devpi-server is not itself on PATH (by using sys.argv[0] for finding the binary) - fix issue84: uploading of wheels where the registered package name has an underscore works despite a wheel's metadata carrying hyphens instead. At submit-file time we now lookup the registered name and use that instead of assuming the one coming with the wheel is the correct one. - add refresh button on root/pypi project simple index pages which clears the internal cache to force a refetch from PyPI. - implement issue75: We use the custom X-Devpi-Auth header for authentication now, instead of overwriting the Authentication header. - added experimental support for using client certificates when running as a replica of a server running behind a proxy devpi-client: - Compatibility with devpi-server >= 2.0.0 - introduce "patchjson PATH JSONFILE" command which allows to send a request containing a json data structure to a specified path - fix issue85: "devpi list -v" now shows package names with latest versions. - implement issue75: We use the custom X-Devpi-Auth header for authentication now, instead of overwriting the Authentication header. - added experimental support for basic authentication by parsing user and password from the url given to the "devpi use" command. - issue74: added experimental support for client side certificates via "devpi use --client-cert" devpi-web: - initial release