• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

paylogic / pip-accel / 56
86%
master: 92%

Build:
Build:
LAST BUILD BRANCH: windows-support
DEFAULT BRANCH: master
Ran 16 Nov 2014 06:08PM UTC
Jobs 3
Files 12
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
56

push

travis-ci

xolox
Refactor all the things!

On a more serious note:

* I originally wrote pip-accel as a collection of functions that took
  their configuration defaults from environment variables interpreted at
  module import time (yes, I know, very ugly, I learned my lesson on
  that one!)

* Then pip-accel became more and more complex and soon I was passing
  huge blobs of state back and forth between these "standalone"
  functions. Passing all of that state back and forth quickly became
  unwieldy but fixing it would require a big rewrite of pip-accel.

* I didn't feel up to the task of a big rewrite without more test
  coverage but I also didn't feel like extending the test suite because
  that had become a very ugly affair because of the environment
  variables.

* Given the points above you can see how I very uncomfortably painted
  myself into a corner on this one :-)

The solution was to sit down for a very long weekend and, well, refactor
all the things! (based on an actual planning, believe it or not :-)

The result:

* The "new" pip-accel is written in OOP and uses dependency injection to
  make sure that testers/embedders/extenders can comfortably inject
  their customized configuration into pip-accel without ugly tricks.

* Because pip-accel mirrors pip's command line interface there isn't any
  room to add custom command line options (a bit awkward). This explains
  why environment variables were used until now (a bit awkward as well
  :-). I've long wanted to add support for configuration files (as
  requested in issue #41) but that was non trivial to add before this
  refactoring. Based on the new pip-accel it should be more or less
  trivial to add support for configuration files! :-)

  See also issue #41 on GitHub:
  https://github.com/paylogic/pip-accel/issues/41

* I tried to improve the documentation as I went along because my goal
  is for pip-accel to be an easy to use API for pip and the binary
  distribution aspect that pip-accel adds to the... (continued)

557 of 557 new or added lines in 12 files covered. (100.0%)

687 of 798 relevant lines covered (86.09%)

2.57 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
100.0
pip_accel/config.py
2
100.0
pip_accel/caches/__init__.py
3
100.0
pip_accel/tests.py
6
100.0
pip_accel/caches/s3.py
7
100.0
pip_accel/cli.py
8
100.0
pip_accel/utils.py
10
100.0
pip_accel/bdist.py
13
100.0
pip_accel/__init__.py
21
100.0
pip_accel/deps/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 56.1 16 Nov 2014 06:08PM UTC 0
85.46
Travis Job 56.1
2 56.2 16 Nov 2014 06:08PM UTC 0
85.46
Travis Job 56.2
3 56.3 16 Nov 2014 06:11PM UTC 0
85.96
Travis Job 56.3
Source Files on build 56
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #56
  • ffe1f19e on github
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc