In particular it includes:
- some extension of CONTRIBUTING.md
- one fix for Python 2.6 in tests/integration/cli_test.py
- one fix for Python 3.3 in tests/integration/service_test.py
- removal of unused imports
Make stream_output Python 3-compatible
Signed-off-by: Frank Sachsenheim <funkyfuture@riseup.net>
Define a schema that we can pass to jsonschema to validate against the
config a user has supplied. This will help catch a wide variety of common
errors that occur.
If the config does not pass schema validation then it raises an exception
and prints out human readable reasons.
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
The concurrent.futures backport doesn't play well with
KeyboardInterrupt, so I'm using Thread and Queue instead.
Since thread pooling would likely be a pain to implement, I've just
removed `COMPOSE_MAX_WORKERS` for now. We'll implement it later if we
decide we need it.
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Commands able to use this parallelisation are `stop`, `kill` and `rm`.
We're using a backported function from python 3, to allow us to make
the most of a pool of threads without having to write the low level
code for managing this ourselves.
A default value for number of threads is a low enough number so it
shouldn't cause performance problems but if someone knows the
capability of their system and wants to increase it, they can via
an environment variable DEFAULT_MAX_WORKERS
Signed-off-by: Mazz Mosley <mazz@houseofmnowster.com>
Leave the pinned versions in requirements.txt alone, as there's an
incompatibility between PyInstaller and requests 2.5.2 and 2.5.3, and by
extension with docker-py 1.1.0.
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
It was more permissive than docker-py's, resulting in an incompatible
version (2.5.x) being installed.
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
I updated requirements.txt but forgot about setup.py, so the version on
pypi is broken for people who already have docker-py 0.5.0 installed.
Closes#547.
Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
Installing the top-level tests package is asking for conflicts with
other python packages and isn't required to run fig. This simply lets
find_packages know to ignore tests and any sub-packages.