Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #1755

Introducing Wheelhouse

Return-Path <randy@thesyrings.us>
X-Original-To python-announce-list@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.022
X-Spam-Evidence '*H*': 0.96; '*S*': 0.00; 'received:209.85.223': 0.03; 'url:pypi': 0.03; 'cache': 0.05; 'versions,': 0.05; 'pypi': 0.07; 'run,': 0.07; 'steps:': 0.09; 'url:github': 0.09; 'sfxlen:2': 0.10; 'stored': 0.10; 'python': 0.11; '<>.': 0.11; 'certainty': 0.16; 'distinct': 0.16; 'dvcs': 0.16; 'pulling': 0.16; 'splits': 0.16; 'targeting': 0.16; 'conjunction': 0.18; 'removed.': 0.18; 'correctly.': 0.22; 'environments': 0.22; 'location,': 0.22; 'to:2**1': 0.22; 'specified': 0.23; 'testing': 0.25; 'install': 0.25; 'header:User-Agent:1': 0.26; 'installed': 0.26; 'putting': 0.31; 'code': 0.31; 'gets': 0.32; 'url:python': 0.33; 'builds': 0.33; 'utility': 0.33; 'integration': 0.34; 'maintaining': 0.34; 'running': 0.34; 'server': 0.34; 'received:google.com': 0.34; 'changed': 0.35; 'installing': 0.35; 'but': 0.36; 'received:209.85': 0.36; 'url:org': 0.36; 'project': 0.36; 'faster': 0.36; 'two': 0.37; 'setting': 0.37; 'instead': 0.38; 'received:209': 0.38; 'rather': 0.38; 'version': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'received:192': 0.39; 'build': 0.40; 'some': 0.40; 'further': 0.60; 'your': 0.60; 'increased': 0.61; 'more': 0.62; 'managing': 0.63; 'management': 0.63; 'skip:n 10': 0.63; 'latest': 0.64; 'world': 0.64; 'our': 0.64; 'due': 0.65; 'continuous': 0.66; 'production': 0.67; 'gain': 0.81; 'father': 0.84; 'husband': 0.84; 'links:': 0.84; 'much,': 0.84; 'url:latest': 0.84; 'wheel': 0.84; 'wheels': 0.84; '(mark': 0.93; 'production,': 0.93
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :subject:content-type; bh=qEvtwxxjPfHkIm4283CDNfPfP64Qf5UqVh8kRRMns9g=; b=Jk0+BpvChOB70YPjEjDajPk7OPvD9UVE0jlCs8lUKY3OtO+94S5IKkm5x/3t07FIX5 xk5pvzwB0AUwVurgTE4oLGfekLYnWVFAx1Dx000Ibn9CmIVgqKZHW+72ZFPMwkGwXYvP DK9vNSvR5tcROfudldgXxjx4HGXY7a0tAnKtBrGVRlneniCGGF7qVsa3eLnqpgnTyzux vQF81RKilmk1KVo2a2gkhZYxXIBo5Fuues2orshZZZYs3dZihBTmIshWkwrqZ97Q+OqE VJT7162+FzuWsR/etexztz/EWowm6CcKgD3SIczK6S6/sKtYYQSrIIcCwhWtzNyfAJ9+ +QGg==
X-Gm-Message-State ALoCoQkA4LSasNCiSREtYc9Fg4UabBUNuR2dfQudwmJ5atieD4ynooOV+oRYXCPA4GMH+jDww+rI
X-Received by 10.50.57.39 with SMTP id f7mr608620igq.35.1435291158822; Thu, 25 Jun 2015 20:59:18 -0700 (PDT)
Date Thu, 25 Jun 2015 23:59:15 -0400
From Randy Syring <randy@thesyrings.us>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version 1.0
To python-announce-list@python.org, distutils sig <distutils-sig@python.org>
Subject Introducing Wheelhouse
X-Mailman-Approved-At Fri, 26 Jun 2015 09:08:31 +0200
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
X-Content-Filtered-By Mailman/MimeDel 2.1.20+
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.20+
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
Approved python-announce-list@python.org
Newsgroups comp.lang.python.announce
Message-ID <mailman.101.1435302512.3674.python-announce-list@python.org> (permalink)
Lines 58
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1435302512 news.xs4all.nl 2826 [2001:888:2000:d::a6]:42753
X-Complaints-To abuse@xs4all.nl
X-Received-Bytes 6588
X-Received-Body-CRC 2963533322
Path csiph.com!usenet.pasdenom.info!news.stben.net!border1.nntp.ams1.giganews.com!nntp.giganews.com!bcyclone03.am1.xlned.com!bcyclone03.am1.xlned.com!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Xref csiph.com comp.lang.python.announce:1755

Show key headers only | View raw


Wheelhouse is a utility to help maintain a wheelhouse.

The code for this project is rather basic, but it's the concept that 
counts. Putting the
concept of a wheelhouse into practice has made managing dependencies for 
our projects across dev,
testing and production environments much, much easier.

Checkout Keg <https://github.com/level12/keg> to see a project which is 
using a wheelhouse in conjunction with tox to manage dependencies.


    What is a Wheelhouse?

A wheelhouse is a local cache of python packages in wheel format that 
gets committed with your code to your VCS. When installing packages 
during continuous integration and production, the wheels in the 
wheelhouse are used instead of depending on PyPI or some other network 
location.


      Advantages:

  * Wheels are stored in your DVCS bringing further clarity to exactly
    what packages are needed/expected and how they have changed over time.
  * CI builds are faster and more consistent. Due to the increased speed
    of installing wheels from a local cache instead of pulling them from
    a network location, we can have tox start with a new virtualenv
    before every run, thereby insuring all dependencies have been
    specified and installed into the wheelhouse correctly.
  * Production deployments are similarly fast and consistent. Since the
    CI and production servers both pull from the same wheelhouse we have
    higher certainty that our production code is running against the
    exact same packages that have been tested.
  * Since wheels are built on development or build machines, the need
    for development system packages to be installed on production
    servers is removed.
  * Targeting forks, development versions, unpublished, and/or private
    software for production is much easier than setting up & maintaining
    a private PyPI server like devpi <http://doc.devpi.net/latest/>.
  * Splits the package management process into two distinct steps:
     1. Build packages (from various locations, with specified version)
        and put wheels in the wheelhouse.
     2. Install the latest version of a package from the wheelhouse.


      Links:

https://pypi.python.org/pypi/Wheelhouse
https://github.com/level12/wheelhouse


*Randy Syring*
Husband | Father | Redeemed Sinner

/"For what does it profit a man to gain the whole world
and forfeit his soul?" (Mark 8:36 ESV)/

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

Introducing Wheelhouse Randy Syring <randy@thesyrings.us> - 2015-06-25 23:59 -0400

csiph-web