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

paylogic / pip-accel
86%
master: 92%

Build:
Build:
LAST BUILD BRANCH: windows-support
DEFAULT BRANCH: master
Repo Added 11 May 2014 01:16AM UTC
Files 103
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

LAST BUILD ON BRANCH 0.16
branch: 0.16
CHANGE BRANCH
x
Reset
  • 0.16
  • 0.12.1
  • 0.12.10
  • 0.12.11
  • 0.12.2
  • 0.12.3
  • 0.12.4
  • 0.12.5
  • 0.12.6
  • 0.12.7
  • 0.12.8
  • 0.12.9
  • 0.13
  • 0.13.1
  • 0.13.2
  • 0.13.3
  • 0.13.4
  • 0.13.5
  • 0.14
  • 0.14.1
  • 0.14.2
  • 0.15
  • 0.17
  • 0.18
  • 0.19
  • 0.19.3
  • 0.20
  • 0.21.1
  • 0.22
  • 0.22.1
  • 0.22.2
  • 0.22.3
  • 0.22.4
  • 0.22.5
  • 0.23
  • 0.24
  • 0.25
  • 0.26.1
  • 0.26.2
  • 0.26.3
  • 0.27
  • 0.27.1
  • 0.28
  • 0.28.1
  • 0.28.2
  • 0.28.3
  • 0.29
  • 0.29.1
  • 0.29.2
  • 0.29.3
  • 0.30
  • 0.31
  • 0.31.1
  • 0.32
  • 0.32.1
  • 0.33
  • 0.33.2
  • 0.33.3
  • 0.33.4
  • 0.34
  • 0.35
  • 0.36.1
  • 0.36.2
  • 0.37
  • 0.37.1
  • 0.38
  • 0.39
  • 0.40
  • 0.41
  • 0.42
  • 0.42.1
  • 0.42.2
  • 0.42.4
  • 0.42.5
  • 0.43
  • HEAD
  • master
  • windows-support

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

Relevant lines Covered
Build:
Build:
798 RELEVANT LINES 687 COVERED LINES
2.57 HITS PER LINE
Source Files on 0.16
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
56 0.16 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 learn... push 16 Nov 2014 06:08PM UTC xolox travis-ci pending completion  
See All Builds (270)
  • Repo 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

© 2025 Coveralls, Inc