From 11848c9b1fb32f5479d99a00daccad7eb30dfe9d Mon Sep 17 00:00:00 2001 From: John Tyree Date: Thu, 28 Jan 2016 15:34:22 -0600 Subject: [PATCH 01/16] MAINT: work to speed up AssignmentSet --- simplesat/sat/assignment_set.py | 101 +++++++++++++-------- simplesat/sat/tests/test_assignment_set.py | 32 +++++-- simplesat/sat/tests/test_minisat.py | 6 +- 3 files changed, 88 insertions(+), 51 deletions(-) diff --git a/simplesat/sat/assignment_set.py b/simplesat/sat/assignment_set.py index d36b8d2..ad0998f 100644 --- a/simplesat/sat/assignment_set.py +++ b/simplesat/sat/assignment_set.py @@ -1,17 +1,9 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -from collections import OrderedDict - import six -class _MISSING(object): - def __str__(self): - return '' -MISSING = _MISSING() - - class AssignmentSet(object): """A collection of literals and their assignments.""" @@ -19,59 +11,79 @@ class AssignmentSet(object): def __init__(self, assignments=None): # Changelog is a dict of id -> (original value, new value) # FIXME: Verify that we really need ordering here - self._data = OrderedDict() + self._data = {} self._orig = {} + self._seen = set() self._cached_changelog = None - self._assigned_literals = set() + self._assigned_ids = set() + self.new_keys = set() for k, v in (assignments or {}).items(): self[k] = v def __setitem__(self, key, value): - assert key > 0 - prev_value = self.get(key) + abskey = abs(key) - if prev_value is not None: - self._assigned_literals.difference_update((key, -key)) + if abskey not in self._seen: + self.new_keys.add(abskey) - if value is not None: - self._assigned_literals.add(key if value else -key) + if value is None: + del self[key] + else: + self._update_diff(key, value) + self._data[key] = value + self._data[-key] = not value + self._assigned_ids.add(abs(key)) - self._update_diff(key, value) - self._data[key] = value + self._seen.add(abskey) def __delitem__(self, key): - self._update_diff(key, MISSING) - prev = self._data.pop(key) - if prev is not None: - self._assigned_literals.difference_update((key, -key)) + self._seen.discard(abs(key)) + if key not in self._data: + return + self._update_diff(key, None) + del self._data[key] + del self._data[-key] + self._assigned_ids.discard(abs(key)) def __getitem__(self, key): - return self._data[key] + val = self._data.get(key) + if val is None and abs(key) not in self._seen: + raise KeyError(key) + return val def get(self, key, default=None): return self._data.get(key, default) def __len__(self): - return len(self._data) + return len(self._seen) + + def __iter__(self): + return iter(self.keys()) def __contains__(self, key): - return key in self._data + return abs(key) in self._seen def items(self): - return list(self._data.items()) + return sorted( + (k, self._data.get(k)) + for k in self._seen) def iteritems(self): - return six.iteritems(self._data) + return iter(self.items()) def keys(self): - return list(self._data.keys()) + return [k for k, _ in self.items()] def values(self): - return list(self._data.values()) + return [v for _, v in self.items()] def _update_diff(self, key, value): - prev = self._data.get(key, MISSING) + # This must be called before _data is updated + if key < 0 and value is not None: + key = -key + value = not value + prev = self._data.get(key) self._orig.setdefault(key, prev) # If a value changes, dump the cached changelog self._cached_changelog = None @@ -81,7 +93,7 @@ def get_changelog(self): self._cached_changelog = { key: (old, new) for key, old in six.iteritems(self._orig) - for new in [self._data.get(key, MISSING)] + for new in [self._data.get(key)] if new != old } return self._cached_changelog @@ -90,24 +102,33 @@ def consume_changelog(self): old = self.get_changelog() self._orig = {} self._cached_changelog = {} + self.new_keys.clear() return old def copy(self): new = AssignmentSet() new._data = self._data.copy() new._orig = self._orig.copy() - new._assigned_literals = self._assigned_literals.copy() + new._seen = self._seen.copy() + new._assigned_ids = self._assigned_ids.copy() + new.new_keys = self.new_keys.copy() return new + def to_dict(self): + return dict(self.items()) + def value(self, lit): - """ Return the value of literal in terms of the positive. """ - if lit in self._assigned_literals: - return True - elif -lit in self._assigned_literals: - return False - else: - return None + """ Return the value of literal. """ + return self._data.get(lit) @property def num_assigned(self): - return len(self._assigned_literals) + return len(self._assigned_ids) + + @property + def assigned_ids(self): + return self._assigned_ids + + @property + def unassigned_ids(self): + return self._seen.difference(self._assigned_ids) diff --git a/simplesat/sat/tests/test_assignment_set.py b/simplesat/sat/tests/test_assignment_set.py index ca347b1..68e51df 100644 --- a/simplesat/sat/tests/test_assignment_set.py +++ b/simplesat/sat/tests/test_assignment_set.py @@ -3,7 +3,7 @@ import unittest -from ..assignment_set import AssignmentSet, MISSING +from ..assignment_set import AssignmentSet class TestAssignmentSet(unittest.TestCase): @@ -66,7 +66,7 @@ def test_container(self): del AS[5] self.assertNotIn(5, AS) - expected = [(1, True), (2, False), (4, None), (3, True)] + expected = [(1, True), (2, False), (3, True), (4, None)] manual_result = list(zip(AS.keys(), AS.values())) self.assertEqual(AS.items(), expected) @@ -94,9 +94,9 @@ def test_copy(self): copied = AS.copy() self.assertIsNot(copied._data, AS._data) - self.assertEqual(copied._data, expected) + self.assertEqual(copied.to_dict(), expected) - expected = {k: MISSING for k in expected} + expected = {k: None for k, v in expected.items() if v is not None} self.assertIsNot(copied._orig, AS._orig) self.assertEqual(copied._orig, expected) @@ -122,6 +122,22 @@ def test_value(self): self.assertIs(AS.value(3), None) self.assertIs(AS.value(-3), None) + del AS[2] + self.assertIs(AS.value(-2), None) + self.assertIs(AS.value(2), None) + + AS[1] = None + self.assertIs(AS.value(-1), None) + self.assertIs(AS.value(1), None) + + AS[3] = True + self.assertIs(AS.value(-3), False) + self.assertIs(AS.value(3), True) + + AS[3] = False + self.assertIs(AS.value(-3), True) + self.assertIs(AS.value(3), False) + def test_getitem(self): AS = AssignmentSet() @@ -147,15 +163,15 @@ def test_changelog(self): AS[1] = None - expected = {1: (MISSING, None)} + expected = {} self.assertEqual(AS.get_changelog(), expected) AS[2] = True - expected[2] = (MISSING, True) + expected[2] = (None, True) self.assertEqual(AS.get_changelog(), expected) AS[2] = False - expected[2] = (MISSING, False) + expected[2] = (None, False) self.assertEqual(AS.get_changelog(), expected) del AS[2] @@ -177,5 +193,5 @@ def test_changelog(self): self.assertEqual(AS.get_changelog(), expected) del AS[1] - expected = {1: (None, MISSING)} + expected = {} self.assertEqual(AS.get_changelog(), expected) diff --git a/simplesat/sat/tests/test_minisat.py b/simplesat/sat/tests/test_minisat.py index 6d72d0a..d873d49 100644 --- a/simplesat/sat/tests/test_minisat.py +++ b/simplesat/sat/tests/test_minisat.py @@ -278,7 +278,7 @@ def test_propagation_with_queue(self): # Then self.assertIsNone(conflict) - self.assertEqual(s.assignments._data, + self.assertEqual(s.assignments.to_dict(), {1: True, 2: False, 3: None, 4: None}) self.assertEqual(s.trail, [-2, 1]) six.assertCountEqual(self, s.watches[-1], [cl1, cl2]) @@ -302,7 +302,7 @@ def test_propagation_with_queue_multiple_implications(self): # Then self.assertIsNone(conflict) - self.assertEqual(s.assignments._data, + self.assertEqual(s.assignments.to_dict(), {1: False, 2: False, 3: False, 4: False}) self.assertEqual(s.trail, [-1, -2, -3, -4]) @@ -377,7 +377,7 @@ def test_undo_one(self): s.undo_one() # Then - self.assertEqual(s.assignments._data, {1: None, 2: None, 3: None}) + self.assertEqual(s.assignments.to_dict(), {1: None, 2: None, 3: None}) self.assertEqual(s.trail, [1, 2]) def test_cancel(self): From 45b6d1d8fca03c1c58997a2c98efb1514c5dd4c0 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Thu, 28 Jan 2016 15:35:00 -0600 Subject: [PATCH 02/16] MAINT: speed up the UndeterminedClausePolicy --- simplesat/sat/policy/policy.py | 2 +- simplesat/sat/policy/policy_logger.py | 37 ++++-- .../sat/policy/undetermined_clause_policy.py | 114 +++++++++--------- 3 files changed, 86 insertions(+), 67 deletions(-) diff --git a/simplesat/sat/policy/policy.py b/simplesat/sat/policy/policy.py index f0dd3ed..7339c8c 100644 --- a/simplesat/sat/policy/policy.py +++ b/simplesat/sat/policy/policy.py @@ -37,7 +37,7 @@ class DefaultPolicy(IPolicy): def add_requirements(self, assignments): pass - def get_next_package_id(self, assignments, _): + def get_next_package_id(self, assignments, *_): # Given a dictionary of partial assignments, get an undecided variable # to be decided next. undecided = ( diff --git a/simplesat/sat/policy/policy_logger.py b/simplesat/sat/policy/policy_logger.py index 60573bf..c7e8ef3 100644 --- a/simplesat/sat/policy/policy_logger.py +++ b/simplesat/sat/policy/policy_logger.py @@ -10,7 +10,7 @@ class PolicyLogger(IPolicy): def __init__(self, policy, args=None, kwargs=None): self._policy = policy self._log_pool = args[0] - self._log_installed = getattr(policy, '_installed_ids', set()).copy() + self._log_installed = set(getattr(policy, '_installed_ids', ())) self._log_preferred = getattr(policy, '_preferred_ids', set()).copy() self._log_args = args self._log_kwargs = kwargs @@ -27,7 +27,6 @@ def get_next_package_id(self, assignments, clauses): def add_requirements(self, package_ids): self._log_required.extend(package_ids) - self._log_preferred.difference_update(package_ids) self._log_installed.difference_update(package_ids) self._policy.add_requirements(package_ids) @@ -36,7 +35,7 @@ def _log_histogram(self, pkg_ids=None): pkg_ids = map(abs, self._log_suggestions) c = Counter(pkg_ids) lines = ( - "{:>25} {}".format(self._log_pretty_pkg_id(k), v) + "{:>25} {:>5}".format(self._log_pretty_pkg_id(k), v) for k, v in c.most_common() ) pretty = '\n'.join(lines) @@ -52,7 +51,7 @@ def _log_pretty_pkg_id(self, pkg_id): repo = 'installed' return "{:{fill}<30} {:3} {}".format(name_ver, pkg_id, repo, fill=fill) - def _log_report(self, detailed=True): + def _log_report(self, detailed=True, with_assignments=True): def pkg_name(pkg_id): return pkg_key(pkg_id)[0] @@ -64,7 +63,7 @@ def pkg_key(pkg_id): ids = map(abs, self._log_suggestions) report = [] changes = [] - if self._log_assignment_changes: + if self._log_assignment_changes and with_assignments: for pkg, change in self._log_assignment_changes[0].items(): name = self._log_pretty_pkg_id(pkg) if change[1] is not None: @@ -72,14 +71,29 @@ def pkg_key(pkg_id): report.append('\n'.join(changes)) required = set(self._log_required) - preferred = set(self._log_preferred) installed = set(self._log_installed) for (i, sugg) in enumerate(ids): pretty = self._log_pretty_pkg_id(sugg) R = 'R' if sugg in required else ' ' - P = 'P' if sugg in preferred else ' ' I = 'I' if sugg in installed else ' ' - changes = [] + change_str = "" + if with_assignments: + try: + changes = [] + items = self._log_assignment_changes[i + 1].items() + sorted_items = sorted(items, key=lambda p: pkg_key(p[0])) + for pkg, change in sorted_items: + if pkg_name(pkg) != pkg_name(sugg): + _pretty = self._log_pretty_pkg_id(pkg) + fro, to = map(str, change) + msg = "{:10} - {:10} : {}" + changes.append(msg.format(fro, to, _pretty)) + if changes: + change_str = '\n\t'.join([''] + changes) + except IndexError: + pass + msg = "{:>4} {}{} - {}{}" + report.append(msg.format(i, R, I, pretty, change_str)) try: change_items = self._log_assignment_changes[i + 1].items() if detailed: @@ -95,10 +109,11 @@ def pkg_key(pkg_id): changes = '\n\t\t'.join([''] + changes) else: changes = "" + if any(v[1] is None + for v in self._log_assignment_changes[i + 1].values()): + report.append("BACKTRACKED\n") except IndexError: - changes = "" - msg = "{:>4} {}{}{} - {}{}" - report.append(msg.format(i, R, P, I, pretty, changes)) + pass return '\n'.join(report) diff --git a/simplesat/sat/policy/undetermined_clause_policy.py b/simplesat/sat/policy/undetermined_clause_policy.py index 368a19a..7877117 100644 --- a/simplesat/sat/policy/undetermined_clause_policy.py +++ b/simplesat/sat/policy/undetermined_clause_policy.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +from collections import defaultdict + import six from simplesat.utils import DefaultOrderedDict @@ -17,8 +19,10 @@ class UndeterminedClausePolicy(IPolicy): def __init__(self, pool, installed_repository, prefer_installed=True): self._pool = pool self.prefer_installed = prefer_installed - self._installed_ids = set( - pool.package_id(package) for package in installed_repository + by_version = six.functools.partial(pkg_id_to_version, self._pool) + self._installed_ids = sorted( + (pool.package_id(package) for package in installed_repository), + key=by_version ) self._preferred_package_ids = { self._package_key(package_id): package_id @@ -26,6 +30,9 @@ def __init__(self, pool, installed_repository, prefer_installed=True): } self._decision_set = set() self._requirements = set() + self._unsatisfied_clauses = set() + self._id_to_clauses = defaultdict(list) + self._all_ids = set() def _package_key(self, package_id): package = self._pool._id_to_package[package_id] @@ -34,30 +41,47 @@ def _package_key(self, package_id): def add_requirements(self, package_ids): self._requirements.update(package_ids) + def _update_cache_from_assignments(self, assignments): + changelog = assignments.consume_changelog() + for key in six.iterkeys(changelog): + for clause in self._id_to_clauses[key]: + if not any(assignments.value(l) for l in clause.lits): + self._unsatisfied_clauses.add(clause) + else: + self._unsatisfied_clauses.discard(clause) + + def _build_id_to_clauses(self, clauses): + table = defaultdict(list) + for c in clauses: + for l in c.lits: + table[abs(l)].append(c) + self._all_ids = set(six.iterkeys(table)) + return dict(table) + def get_next_package_id(self, assignments, clauses): """Get the next unassigned package. """ + if assignments.new_keys: + self._id_to_clauses = self._build_id_to_clauses(clauses) + self._refresh_decision_set(assignments) candidate_id = None best = self._best_candidate if self.prefer_installed: - candidate_id = best(self._installed_ids, assignments) + candidate_id = self._best_sorted_candidate( + self._installed_ids, assignments) - candidate_id = ( - candidate_id or - self._best_candidate(self._requirements, assignments) or - self._best_candidate(self._decision_set, assignments) - ) + if candidate_id is None: + candidate_id = best(self._requirements, assignments) + + if candidate_id is None: + candidate_id = best(self._decision_set, assignments, update=True) if candidate_id is None: - self._decision_set.clear() - candidate_id = \ - self._handle_empty_decision_set(assignments, clauses) + self._refresh_decision_set(assignments) + candidate_id = best(self._decision_set, assignments) if candidate_id is None: - candidate_id = self._best_candidate( - self._decision_set, - assignments - ) + candidate_id = best(self._all_ids, assignments) assert assignments.get(candidate_id) is None, \ "Trying to assign to a variable which is already assigned." @@ -70,14 +94,19 @@ def get_next_package_id(self, assignments, clauses): return candidate_id def _without_assigned(self, package_ids, assignments): - return set( - pkg_id for pkg_id in package_ids - if assignments.get(pkg_id) is None - ) + return package_ids.difference(assignments.assigned_ids) + + def _best_sorted_candidate(self, package_ids, assignments): + for p_id in package_ids: + if p_id not in assignments.assigned_ids: + return p_id - def _best_candidate(self, package_ids, assignments): + def _best_candidate(self, package_ids, assignments, update=False): by_version = six.functools.partial(pkg_id_to_version, self._pool) unassigned = self._without_assigned(package_ids, assignments) + if update: + package_ids.clear() + package_ids.update(unassigned) try: return max(unassigned, key=by_version) except ValueError: @@ -86,51 +115,26 @@ def _best_candidate(self, package_ids, assignments): def _group_packages_by_name(self, decision_set): installed_packages = [] new_package_map = DefaultOrderedDict(list) + installed_ids = set(self._installed_ids) for package_id in sorted(decision_set): package = self._pool._id_to_package[package_id] - if package_id in self._installed_ids: + if package_id in installed_ids: installed_packages.append(package) else: new_package_map[package.name].append(package) return installed_packages, new_package_map - def _handle_empty_decision_set(self, assignments, clauses): - # TODO inefficient and verbose - - unassigned_ids = set( - literal for literal, status in six.iteritems(assignments) - if status is None + def _refresh_decision_set(self, assignments): + self._update_cache_from_assignments(assignments) + self._decision_set.clear() + self._decision_set.update( + abs(lit) + for clause in self._unsatisfied_clauses + for lit in clause.lits ) - assigned_ids = set(assignments.keys()) - unassigned_ids - - signed_assignments = set() - for variable in assigned_ids: - if assignments[variable]: - signed_assignments.add(variable) - else: - signed_assignments.add(-variable) - - for clause in clauses: - # TODO Need clause.undecided_literals property - if not signed_assignments.isdisjoint(clause.lits): - # Clause is true - continue - - variables = map(abs, clause.lits) - undecided = unassigned_ids.intersection(variables) - self._decision_set.update(lit for lit in undecided) - - if len(self._decision_set) == 0: - # This will happen if the remaining packages are irrelevant for - # the set of rules that we're trying to satisfy. In that case, - # just return one of the undecided IDs. - - # We use min to ensure determinisism - return min(unassigned_ids) - else: - return None + self._decision_set.difference_update(assignments.assigned_ids) LoggedUndeterminedClausePolicy = LoggedPolicy(UndeterminedClausePolicy) From ddc93b0f86647d28d486ccc47657757cde2e1bc8 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Fri, 22 Jan 2016 13:50:08 -0600 Subject: [PATCH 03/16] TST: add slow scenario for testing --- simplesat/tests/slow_bokeh_blaze.yaml | 2861 +++++++++++++++++++++++++ 1 file changed, 2861 insertions(+) create mode 100644 simplesat/tests/slow_bokeh_blaze.yaml diff --git a/simplesat/tests/slow_bokeh_blaze.yaml b/simplesat/tests/slow_bokeh_blaze.yaml new file mode 100644 index 0000000..9dd9890 --- /dev/null +++ b/simplesat/tests/slow_bokeh_blaze.yaml @@ -0,0 +1,2861 @@ +packages: + - _distribute_remove 1.0.0-1 + - abstract_rendering 0.5.1-1 + - agw 0.9.1-1 + - alabaster 0.7.3-1 + - alabaster 0.7.6-1 + - amqp 1.4.5-1 + - aniso8601 0.92-1 + - anyjson 0.3.3-2 + - anyjson 0.3.3-3 + - apipkg 1.4-1 + - appinst 2.0.4-1 + - appinst 2.1.0-1 + - appinst 2.1.1-1 + - appinst 2.1.2-1 + - appinst 2.1.5-1 + - apptools 3.4.1-1; depends (configobj) + - apptools 4.0.0-1; depends (configobj) + - apptools 4.0.1-1; depends (configobj) + - apptools 4.1.0-1; depends (configobj) + - apptools 4.2.0-1; depends (configobj) + - apptools 4.2.0-2; depends (configobj, envisage ^= 4.3.0, traitsui ^= 4.3.0) + - apptools 4.2.0-4; depends (configobj, envisage ^= 4.4.0, traitsui ^= 4.4.0) + - apptools 4.2.1-1; depends (configobj, envisage ^= 4.4.0, traitsui ^= 4.4.0) + - apptools 4.2.1-2; depends (envisage ^= 4.4.0, configobj ^= 5.0.5, traitsui ^= 4.4.0) + - apptools 4.2.1-3; depends (envisage ^= 4.4.0, configobj ^= 5.0.6, traitsui ^= 4.4.0) + - apptools 4.3.0-1; depends (envisage ^= 4.4.0, configobj ^= 5.0.6, traitsui ^= 4.4.0) + - apptools 4.3.0-2; depends (envisage ^= 4.4.0, configobj ^= 5.0.6, traitsui ^= 4.4.0) + - apptools 4.3.0-3; depends (envisage ^= 4.4.0, traitsui ^= 4.5.1, configobj ^= 5.0.6) + - apptools 4.3.0-4; depends (envisage ^= 4.4.0, traitsui ^= 4.5.1, configobj ^= 5.0.6) + - apptools 4.3.0-5; depends (envisage ^= 4.4.0, traitsui ^= 4.5.1, configobj ^= 5.0.6) + - apptools 4.3.0-6; depends (envisage ^= 4.4.0, traitsui ^= 4.5.1, configobj ^= 5.0.6) + - apptools 4.3.0-7; depends (envisage ^= 4.4.0, traitsui ^= 5.0.0, configobj ^= 5.0.6) + - apptools 4.3.0-8; depends (envisage ^= 4.4.0, traitsui ^= 5.0.0, configobj ^= 5.0.6) + - arch 3.0-2; depends (matplotlib ^= 1.4.3, scipy ^= 0.15.1) + - arch 3.0-3; depends (matplotlib ^= 1.4.3, scipy ^= 0.15.1, six ^= 1.9.0) + - arch 3.0-4; depends (matplotlib ^= 1.4.3, scipy ^= 0.15.1, six ^= 1.9.0) + - arch 3.0-5; depends (matplotlib ^= 1.4.3, scipy ^= 0.15.1, six ^= 1.9.0) + - arch 3.0-6; depends (matplotlib ^= 1.4.3, scipy ^= 0.16.0, six ^= 1.9.0) + - arch 3.0-7; depends (matplotlib ^= 1.4.3, scipy ^= 0.16.0, six ^= 1.10.0) + - arch 3.0-9; depends (matplotlib ^= 1.4.3, six ^= 1.10.0, scipy ^= 0.16.1) + - arch 3.0-10; depends (scipy ^= 0.16.1, matplotlib ^= 1.5.0, six ^= 1.10.0) + - arch 3.0-11; depends (scipy ^= 0.16.1, matplotlib ^= 1.5.0, six ^= 1.10.0) + - arch 3.0-12; depends (scipy ^= 0.16.1, six ^= 1.10.0, matplotlib ^= 1.5.1) + - argcomplete 0.8.1-1 + - argcomplete 0.8.3-1 + - argcomplete 0.8.4-1 + - argcomplete 0.8.9-1 + - argcomplete 1.0.0-1 + - astropy 0.2.4-1; depends (numpy ^= 1.7.1) + - astropy 0.2.4-2; depends (numpy ^= 1.8.0) + - astropy 0.3.0-1; depends (numpy ^= 1.8.0) + - astropy 0.3.2-1; depends (numpy ^= 1.8.0) + - astropy 0.3.2-2; depends (numpy ^= 1.8.1) + - astropy 0.4.1-1; depends (numpy ^= 1.8.1) + - astropy 0.4.2-1; depends (numpy ^= 1.8.1) + - astropy 0.4.4-1; depends (numpy ^= 1.8.1) + - astropy 1.0-1; depends (numpy ^= 1.8.1) + - astropy 1.0.1-1; depends (numpy ^= 1.8.1) + - astropy 1.0.2-1; depends (numpy ^= 1.8.1) + - astropy 1.0.2-2; depends (numpy ^= 1.9.2) + - astropy 1.0.3-1; depends (numpy ^= 1.9.2) + - astropy 1.0.4-1; depends (numpy ^= 1.9.2) + - astropy 1.0.4-2; depends (numpy ^= 1.9.2) + - astropy 1.0.7-1; depends (numpy ^= 1.9.2) + - atom 0.3.5-1 + - atom 0.3.8-1 + - atom 0.3.9-1 + - attrs 15.1.0-1 + - attrs 15.2.0-1 + - babel 1.3-1; depends (pytz ^= 2014.9.0) + - babel 2.1.1-1; depends (pytz ^= 2014.9.0) + - babel 2.1.1-2; depends (pytz ^= 2015.7) + - backports.lzma 0.0.3-1; depends (xz ^= 5.2.2, backports_lzma_remove ^= 1.0.0) + - backports_abc 0.4-1 + - backports_lzma 0.0.3-1; depends (xz ^= 5.2.2) + - backports_lzma_remove 1.0.0-1 + - basemap 1.0-2; depends (numpy ^= 1.5.1, matplotlib ^= 1.0.1) + - basemap 1.0-3; depends (matplotlib ^= 1.0.1, numpy ^= 1.6.0) + - basemap 1.0.1-1; depends (matplotlib ^= 1.0.1, numpy ^= 1.6.0) + - basemap 1.0.1-2; depends (numpy ^= 1.6.1, matplotlib ^= 1.0.1) + - basemap 1.0.1-3; depends (matplotlib ^= 1.1.0, numpy ^= 1.6.1) + - basemap 1.0.2-1; depends (matplotlib ^= 1.1.0, numpy ^= 1.6.1) + - basemap 1.0.6-1; depends (numpy ^= 1.6.1, matplotlib ^= 1.2.0) + - basemap 1.0.6-2; depends (numpy ^= 1.6.1, matplotlib ^= 1.2.0) + - basemap 1.0.6-3; depends (numpy ^= 1.7.1, matplotlib ^= 1.2.0) + - basemap 1.0.6-4; depends (numpy ^= 1.7.1, matplotlib ^= 1.2.1) + - basemap 1.0.6-5; depends (numpy ^= 1.7.1, matplotlib ^= 1.3.0) + - basemap 1.0.6-6; depends (numpy ^= 1.7.1, matplotlib ^= 1.3.1) + - basemap 1.0.6-7; depends (numpy ^= 1.8.0, matplotlib ^= 1.3.1) + - basemap 1.0.7-1; depends (numpy ^= 1.8.0, matplotlib ^= 1.3.1) + - basemap 1.0.7-2; depends (numpy ^= 1.8.1, matplotlib ^= 1.3.1) + - basemap 1.0.7-3; depends (matplotlib ^= 1.4.0, numpy ^= 1.8.1) + - basemap 1.0.7-4; depends (geos ^= 3.4.2, numpy ^= 1.8.1, matplotlib ^= 1.4.0) + - basemap 1.0.7-5; depends (geos ^= 3.4.2, numpy ^= 1.8.1, matplotlib ^= 1.4.2) + - basemap 1.0.7-6; depends (geos ^= 3.4.2, matplotlib ^= 1.4.3, numpy ^= 1.8.1) + - basemap 1.0.7-7; depends (geos ^= 3.4.2, matplotlib ^= 1.4.3, numpy ^= 1.9.2) + - basemap 1.0.7-8; depends (geos ^= 3.4.2, numpy ^= 1.9.2, matplotlib ^= 1.5.0) + - basemap 1.0.7-9; depends (numpy ^= 1.9.2, matplotlib ^= 1.5.0, geos ^= 3.5.0) + - basemap 1.0.7-10; depends (numpy ^= 1.9.2, matplotlib ^= 1.5.1, geos ^= 3.5.0) + - basemap_ld 1.0.1-1; depends (basemap ^= 1.0.1) + - basemap_ld 1.0.2-1; depends (basemap ^= 1.0.2) + - basemap_ld 1.0.6-1; depends (basemap ^= 1.0.6) + - basemap_ld 1.0.7-1; depends (basemap ^= 1.0.7) + - bcolz 0.7.1-1; depends (numpy ^= 1.8.1) + - bcolz 0.7.2-1; depends (numpy ^= 1.8.1) + - bcolz 0.8.0-1; depends (libblosc ^= 1.4.1, numpy ^= 1.8.1) + - bcolz 0.8.1-1; depends (libblosc ^= 1.4.1, numpy ^= 1.8.1) + - bcolz 0.8.1-2; depends (libblosc ^= 1.4.1, numpy ^= 1.9.2) + - bcolz 0.9.0-1; depends (libblosc ^= 1.4.1, numpy ^= 1.9.2) + - bcolz 0.10.0-1; depends (libblosc ^= 1.4.1, numpy ^= 1.9.2) + - bcolz 0.11.3-1; depends (numpy ^= 1.9.2) + - bcolz 0.11.3-2; depends (numpy ^= 1.9.2) + - bcolz 0.11.3-3; depends (numpy ^= 1.9.2) + - bcrypt 1.0.2-1; depends (cffi ^= 0.8.6) + - bcrypt 1.0.2-2; depends (cffi ^= 0.9.2) + - bcrypt 1.0.2-3; depends (cffi ^= 1.0.3) + - bcrypt 1.0.2-4; depends (cffi ^= 1.1.2) + - bcrypt 1.0.2-5; depends (cffi ^= 1.2.1) + - bcrypt 1.0.2-6; depends (cffi ^= 1.2.1) + - bcrypt 1.0.2-7; depends (cffi ^= 1.2.1) + - bcrypt 1.0.2-8; depends (cffi ^= 1.3.1) + - bcrypt 1.0.2-9; depends (cffi ^= 1.4.2) + - beautifulsoup4 4.3.2-1; depends (html5lib ^= 0.999, lxml ^= 3.4.0) + - beautifulsoup4 4.3.2-2; depends (html5lib ^= 0.999, lxml ^= 3.4.1) + - beautifulsoup4 4.3.2-3; depends (lxml ^= 3.4.2, html5lib ^= 0.999) + - beautifulsoup4 4.3.2-4; depends (lxml ^= 3.4.3, html5lib ^= 0.999) + - beautifulsoup4 4.3.2-5; depends (html5lib ^= 0.999, lxml ^= 3.4.4) + - beautifulsoup4 4.4.1-1; depends (html5lib ^= 0.999, lxml ^= 3.4.4) + - beautifulsoup4 4.4.1-2; depends (html5lib ^= 0.999, lxml ^= 3.5.0) + - biggus 0.7.0-1; depends (pep8 ^= 1.5.7, numpy ^= 1.8.1) + - biggus 0.7.0-2; depends (pep8 ^= 1.5.7, numpy ^= 1.8.1) + - biggus 0.7.0-3; depends (pep8 ^= 1.6.1, numpy ^= 1.8.1) + - biggus 0.7.0-4; depends (numpy ^= 1.8.1, pep8 ^= 1.6.2) + - biggus 0.7.0-5; depends (pep8 ^= 1.6.2, numpy ^= 1.9.2) + - billiard 3.3.0.18-1 + - billiard 3.3.0.18-2 + - biopython 1.56-1; depends (numpy ^= 1.5.1) + - biopython 1.57-1; depends (numpy ^= 1.5.1) + - biopython 1.57-2; depends (numpy ^= 1.6.0) + - biopython 1.57-3; depends (numpy ^= 1.6.1) + - biopython 1.58-1; depends (numpy) + - biopython 1.59-1; depends (numpy) + - biopython 1.59-2; depends (numpy) + - biopython 1.59-3; depends (numpy) + - biopython 1.62.0-1; depends (numpy ^= 1.8.0) + - biopython 1.64.0-1; depends (numpy ^= 1.8.0) + - biopython 1.64.0-2; depends (numpy ^= 1.8.1) + - biopython 1.65-1; depends (numpy ^= 1.8.1) + - biopython 1.65-2; depends (numpy ^= 1.9.2) + - biopython 1.66-1; depends (numpy ^= 1.9.2) + - bitarray 0.3.5-3 + - bitarray 0.5.0-1 + - bitarray 0.5.1-1 + - bitarray 0.5.2-1 + - bitarray 0.6.0-1 + - bitarray 0.7.0-1 + - bitarray 0.8.0-1 + - bitarray 0.8.1-1 + - blaze 0.7.0-1; depends (numpy ^= 1.8.1, pymongo ^= 2.7.2, numba ^= 0.15.1, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.15.2, toolz ^= 0.7.1, into ^= 0.1.3, psutil ^= 2.2.0, bcolz ^= 0.7.2, requests ^= 2.5.1, python_dateutil ^= 2.2.0, sqlalchemy ^= 0.9.8, pytables ^= 3.1.1) + - blaze 0.7.0-2; depends (numpy ^= 1.8.1, pymongo ^= 2.7.2, numba ^= 0.15.1, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.15.2, toolz ^= 0.7.1, psutil ^= 2.2.0, bcolz ^= 0.7.2, into ^= 0.1.4, requests ^= 2.5.1, python_dateutil ^= 2.2.0, sqlalchemy ^= 0.9.8, pytables ^= 3.1.1) + - blaze 0.7.0-3; depends (numpy ^= 1.8.1, pymongo ^= 2.7.2, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.15.2, toolz ^= 0.7.1, psutil ^= 2.2.0, sqlalchemy ^= 0.9.8, into ^= 0.1.4, requests ^= 2.5.1, python_dateutil ^= 2.2.0, pytables ^= 3.1.1, bcolz ^= 0.8.0, numba ^= 0.17.0) + - blaze 0.7.0-4; depends (numpy ^= 1.8.1, pymongo ^= 2.7.2, into ^= 0.2.1, h5py ^= 2.4.0, flask ^= 0.10.1, cytoolz ^= 0.7.1, datashape ^= 0.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.15.2, toolz ^= 0.7.1, psutil ^= 2.2.0, sqlalchemy ^= 0.9.8, numba ^= 0.17.0, requests ^= 2.5.1, python_dateutil ^= 2.2.0, pytables ^= 3.1.1, bcolz ^= 0.8.0) + - blaze 0.7.2-1; depends (numpy ^= 1.8.1, into ^= 0.2.2, pymongo ^= 2.7.2, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, pandas ^= 0.15.2, toolz ^= 0.7.1, psutil ^= 2.2.0, requests ^= 2.5.1, numba ^= 0.17.0, pytables ^= 3.1.1, python_dateutil ^= 2.2.0, sqlalchemy ^= 0.9.8, multipledispatch ^= 0.4.7, bcolz ^= 0.8.0) + - blaze 0.7.2-2; depends (numpy ^= 1.8.1, into ^= 0.2.2, requests ^= 2.5.1, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, pandas ^= 0.15.2, toolz ^= 0.7.1, psutil ^= 2.2.1, pymongo ^= 2.8, numba ^= 0.17.0, pytables ^= 3.1.1, python_dateutil ^= 2.2.0, sqlalchemy ^= 0.9.8, multipledispatch ^= 0.4.7, bcolz ^= 0.8.0) + - blaze 0.7.2-3; depends (numpy ^= 1.8.1, into ^= 0.2.2, sqlalchemy ^= 0.9.8, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, pandas ^= 0.15.2, toolz ^= 0.7.1, psutil ^= 2.2.1, pymongo ^= 2.8, numba ^= 0.17.0, pytables ^= 3.1.1, python_dateutil ^= 2.2.0, requests ^= 2.5.3, multipledispatch ^= 0.4.7, bcolz ^= 0.8.0) + - blaze 0.7.2-4; depends (numpy ^= 1.8.1, into ^= 0.2.2, sqlalchemy ^= 0.9.8, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, pandas ^= 0.15.2, toolz ^= 0.7.1, psutil ^= 2.2.1, pymongo ^= 2.8, numba ^= 0.17.0, pytables ^= 3.1.1, python_dateutil ^= 2.2.0, requests ^= 2.5.3, multipledispatch ^= 0.4.7, bcolz ^= 0.8.1) + - blaze 0.7.2-6; depends (requests ^= 2.6.0, numpy ^= 1.8.1, into ^= 0.2.2, cytoolz ^= 0.7.1, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, toolz ^= 0.7.1, psutil ^= 2.2.1, pymongo ^= 2.8, numba ^= 0.17.0, pytables ^= 3.1.1, python_dateutil ^= 2.2.0, sqlalchemy ^= 0.9.8, multipledispatch ^= 0.4.7, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.7.2-7; depends (requests ^= 2.6.0, numpy ^= 1.8.1, cytoolz ^= 0.7.2, sqlalchemy ^= 0.9.8, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, toolz ^= 0.7.1, psutil ^= 2.2.1, pymongo ^= 2.8, numba ^= 0.17.0, pytables ^= 3.1.1, python_dateutil ^= 2.2.0, into ^= 0.2.2, multipledispatch ^= 0.4.7, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.7.2-8; depends (requests ^= 2.6.0, numpy ^= 1.8.1, cytoolz ^= 0.7.2, sqlalchemy ^= 0.9.8, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, toolz ^= 0.7.1, psutil ^= 2.2.1, pymongo ^= 2.8, pytables ^= 3.1.1, numba ^= 0.18.1, python_dateutil ^= 2.2.0, into ^= 0.2.2, multipledispatch ^= 0.4.7, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.7.2-9; depends (requests ^= 2.6.0, numpy ^= 1.8.1, cytoolz ^= 0.7.2, h5py ^= 2.4.0, flask ^= 0.10.1, datashape ^= 0.4.3, toolz ^= 0.7.1, psutil ^= 2.2.1, pymongo ^= 2.8, sqlalchemy ^= 0.9.9, pytables ^= 3.1.1, numba ^= 0.18.1, python_dateutil ^= 2.2.0, into ^= 0.2.2, multipledispatch ^= 0.4.7, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.7.3-1; depends (requests ^= 2.6.0, numpy ^= 1.8.1, cytoolz ^= 0.7.2, toolz ^= 0.7.1, datashape ^= 0.4.4, flask ^= 0.10.1, odo ^= 0.3.1, multipledispatch ^= 0.4.7, h5py ^= 2.4.0, psutil ^= 2.2.1, pymongo ^= 2.8, sqlalchemy ^= 0.9.9, numba ^= 0.18.1, python_dateutil ^= 2.2.0, pytables ^= 3.1.1, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.7.3-2; depends (requests ^= 2.6.0, sqlalchemy ^= 1.0.0, numpy ^= 1.8.1, cytoolz ^= 0.7.2, datashape ^= 0.4.4, flask ^= 0.10.1, odo ^= 0.3.1, python_dateutil ^= 2.4.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, psutil ^= 2.2.1, numba ^= 0.18.2, h5py ^= 2.5.0, pymongo ^= 2.8, pytables ^= 3.1.1, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.7.3-3; depends (sqlalchemy ^= 1.0.1, numpy ^= 1.8.1, cytoolz ^= 0.7.2, datashape ^= 0.4.4, flask ^= 0.10.1, odo ^= 0.3.1, python_dateutil ^= 2.4.2, requests ^= 2.6.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, psutil ^= 2.2.1, numba ^= 0.18.2, h5py ^= 2.5.0, pymongo ^= 2.8, pytables ^= 3.1.1, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.7.3-4; depends (sqlalchemy ^= 1.0.1, requests ^= 2.6.2, cytoolz ^= 0.7.2, datashape ^= 0.4.4, flask ^= 0.10.1, python_dateutil ^= 2.4.2, odo ^= 0.3.1, numpy ^= 1.9.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, psutil ^= 2.2.1, numba ^= 0.18.2, h5py ^= 2.5.0, pymongo ^= 2.8, pytables ^= 3.1.1, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.8.0-1; depends (sqlalchemy ^= 1.0.4, requests ^= 2.6.2, cytoolz ^= 0.7.2, odo ^= 0.3.2, flask ^= 0.10.1, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, psutil ^= 2.2.1, numba ^= 0.18.2, h5py ^= 2.5.0, datashape ^= 0.4.5, pymongo ^= 2.8, pytables ^= 3.1.1, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.8.0-2; depends (sqlalchemy ^= 1.0.4, cytoolz ^= 0.7.2, requests ^= 2.7.0, odo ^= 0.3.2, flask ^= 0.10.1, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, psutil ^= 2.2.1, numba ^= 0.18.2, h5py ^= 2.5.0, datashape ^= 0.4.5, pymongo ^= 2.8, pytables ^= 3.1.1, bcolz ^= 0.8.1, pandas ^= 0.16.0) + - blaze 0.8.0-3; depends (sqlalchemy ^= 1.0.4, cytoolz ^= 0.7.2, requests ^= 2.7.0, odo ^= 0.3.2, flask ^= 0.10.1, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, pymongo ^= 2.8, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, psutil ^= 2.2.1, numba ^= 0.18.2, h5py ^= 2.5.0, datashape ^= 0.4.5, pandas ^= 0.16.1, pytables ^= 3.1.1, bcolz ^= 0.8.1) + - blaze 0.8.0-4; depends (sqlalchemy ^= 1.0.4, cytoolz ^= 0.7.2, requests ^= 2.7.0, odo ^= 0.3.2, datashape ^= 0.4.5, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, toolz ^= 0.7.2, multipledispatch ^= 0.4.7, psutil ^= 2.2.1, numba ^= 0.18.2, h5py ^= 2.5.0, flask ^= 0.10.1, bcolz ^= 0.9.0, pymongo ^= 2.8, pytables ^= 3.1.1, pandas ^= 0.16.1) + - blaze 0.8.0-6; depends (sqlalchemy ^= 1.0.4, cytoolz ^= 0.7.2, requests ^= 2.7.0, odo ^= 0.3.2, datashape ^= 0.4.5, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, toolz ^= 0.7.2, multipledispatch ^= 0.4.7, psutil ^= 2.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, flask ^= 0.10.1, bcolz ^= 0.9.0, numba ^= 0.19.2, pytables ^= 3.1.1, pandas ^= 0.16.2) + - blaze 0.8.0-7; depends (pytables ^= 3.2.0, cytoolz ^= 0.7.2, requests ^= 2.7.0, sqlalchemy ^= 1.0.4, odo ^= 0.3.2, datashape ^= 0.4.5, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, toolz ^= 0.7.2, multipledispatch ^= 0.4.7, psutil ^= 2.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, flask ^= 0.10.1, bcolz ^= 0.9.0, numba ^= 0.19.2, pandas ^= 0.16.2) + - blaze 0.8.0-8; depends (pytables ^= 3.2.0, cytoolz ^= 0.7.3, sqlalchemy ^= 1.0.6, odo ^= 0.3.2, datashape ^= 0.4.5, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, toolz ^= 0.7.2, multipledispatch ^= 0.4.7, psutil ^= 2.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, flask ^= 0.10.1, bcolz ^= 0.9.0, numba ^= 0.19.2, pandas ^= 0.16.2) + - blaze 0.8.0-9; depends (pytables ^= 3.2.0, cytoolz ^= 0.7.3, sqlalchemy ^= 1.0.6, odo ^= 0.3.2, datashape ^= 0.4.5, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, toolz ^= 0.7.2, multipledispatch ^= 0.4.7, psutil ^= 2.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, flask ^= 0.10.1, bcolz ^= 0.9.0, numba ^= 0.19.2, pandas ^= 0.16.2) + - blaze 0.8.2-1; depends (pytables ^= 3.2.0, cytoolz ^= 0.7.3, sqlalchemy ^= 1.0.6, odo ^= 0.3.2, datashape ^= 0.4.5, numba ^= 0.20.0, numpy ^= 1.9.2, toolz ^= 0.7.2, multipledispatch ^= 0.4.7, psutil ^= 2.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, flask ^= 0.10.1, bcolz ^= 0.9.0, python_dateutil ^= 2.4.2, pandas ^= 0.16.2) + - blaze 0.8.2-2; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, cytoolz ^= 0.7.3, sqlalchemy ^= 1.0.6, toolz ^= 0.7.4, flask ^= 0.10.1, datashape ^= 0.4.6, numba ^= 0.20.0, numpy ^= 1.9.2, psutil ^= 2.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, odo ^= 0.3.3, python_dateutil ^= 2.4.2, bcolz ^= 0.10.0, pandas ^= 0.16.2) + - blaze 0.8.2-3; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, cytoolz ^= 0.7.3, sqlalchemy ^= 1.0.6, toolz ^= 0.7.4, flask ^= 0.10.1, datashape ^= 0.4.6, numba ^= 0.20.0, numpy ^= 1.9.2, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, odo ^= 0.3.3, python_dateutil ^= 2.4.2, bcolz ^= 0.10.0, pandas ^= 0.16.2) + - blaze 0.8.2-4; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, sqlalchemy ^= 1.0.6, cytoolz ^= 0.7.3, numba ^= 0.21.0, toolz ^= 0.7.4, flask ^= 0.10.1, datashape ^= 0.4.6, numpy ^= 1.9.2, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, odo ^= 0.3.3, python_dateutil ^= 2.4.2, bcolz ^= 0.10.0, pandas ^= 0.16.2) + - blaze 0.8.2-5; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, cytoolz ^= 0.7.3, numba ^= 0.21.0, toolz ^= 0.7.4, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.6, numpy ^= 1.9.2, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, odo ^= 0.3.3, python_dateutil ^= 2.4.2, bcolz ^= 0.10.0, pandas ^= 0.16.2) + - blaze 0.8.3-1; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, cytoolz ^= 0.7.3, numba ^= 0.21.0, toolz ^= 0.7.4, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, python_dateutil ^= 2.4.2, bcolz ^= 0.10.0, pandas ^= 0.16.2) + - blaze 0.8.3-2; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, cytoolz ^= 0.7.3, numba ^= 0.21.0, toolz ^= 0.7.4, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3, pandas ^= 0.16.2) + - blaze 0.8.3-3; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, cytoolz ^= 0.7.3, numba ^= 0.21.0, toolz ^= 0.7.4, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, requests ^= 2.7.0, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3, pandas ^= 0.16.2) + - blaze 0.8.3-4; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, requests ^= 2.8.0, cytoolz ^= 0.7.3, numba ^= 0.21.0, toolz ^= 0.7.4, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3, pandas ^= 0.16.2) + - blaze 0.8.3-5; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, requests ^= 2.8.0, cytoolz ^= 0.7.3, numba ^= 0.21.0, toolz ^= 0.7.4, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3, pandas ^= 0.16.2) + - blaze 0.8.3-6; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, requests ^= 2.8.0, cytoolz ^= 0.7.3, numba ^= 0.21.0, pytables ^= 3.2.0, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3, toolz ^= 0.7.4) + - blaze 0.8.3-7; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, cytoolz ^= 0.7.3, requests ^= 2.8.0, pytables ^= 3.2.0, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, numba ^= 0.22.1, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3, toolz ^= 0.7.4) + - blaze 0.8.3-8; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, pytables ^= 3.2.2, cytoolz ^= 0.7.3, requests ^= 2.8.0, toolz ^= 0.7.4, sqlalchemy ^= 1.0.8, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, numba ^= 0.22.1, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3) + - blaze 0.8.3-9; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, pytables ^= 3.2.2, cytoolz ^= 0.7.3, requests ^= 2.8.0, toolz ^= 0.7.4, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, sqlalchemy ^= 1.0.10, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, numba ^= 0.22.1, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3) + - blaze 0.8.3-10; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, pytables ^= 3.2.2, cytoolz ^= 0.7.3, toolz ^= 0.7.4, requests ^= 2.9.0, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, sqlalchemy ^= 1.0.10, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, numba ^= 0.22.1, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3) + - blaze 0.8.3-11; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, cytoolz ^= 0.7.4, pytables ^= 3.2.2, toolz ^= 0.7.4, requests ^= 2.9.0, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, sqlalchemy ^= 1.0.10, psutil ^= 3.2.1, pymongo ^= 2.8, h5py ^= 2.5.0, numba ^= 0.22.1, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3) + - blaze 0.8.3-12; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, cytoolz ^= 0.7.4, pytables ^= 3.2.2, toolz ^= 0.7.4, requests ^= 2.9.0, flask ^= 0.10.1, datashape ^= 0.4.7, numpy ^= 1.9.2, odo ^= 0.3.4, sqlalchemy ^= 1.0.10, pymongo ^= 2.8, h5py ^= 2.5.0, psutil ^= 3.3.0, numba ^= 0.22.1, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3) + - blaze 0.8.3-13; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, cytoolz ^= 0.7.4, pytables ^= 3.2.2, toolz ^= 0.7.4, requests ^= 2.9.0, datashape ^= 0.5.0, psutil ^= 3.3.0, numpy ^= 1.9.2, odo ^= 0.3.4, sqlalchemy ^= 1.0.10, pymongo ^= 2.8, h5py ^= 2.5.0, flask ^= 0.10.1, numba ^= 0.22.1, python_dateutil ^= 2.4.2, bcolz ^= 0.11.3) + - blaze 0.8.3-14; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, cytoolz ^= 0.7.4, pytables ^= 3.2.2, toolz ^= 0.7.4, requests ^= 2.9.0, datashape ^= 0.5.0, python_dateutil ^= 2.4.2, psutil ^= 3.3.0, numpy ^= 1.9.2, odo ^= 0.3.4, sqlalchemy ^= 1.0.10, numba ^= 0.23.0, h5py ^= 2.5.0, flask ^= 0.10.1, pymongo ^= 2.8, bcolz ^= 0.11.3) + - blist 1.3.4-1 + - blist 1.3.6-1 + - blockcanvas 3.2.1-1 + - blockcanvas 4.0.0-1 + - blockcanvas 4.0.1-1 + - blockcanvas 4.0.3-1 + - blosc 1.2.3-1; depends (numpy ^= 1.8.0, libblosc ^= 1.3.5) + - blosc 1.2.3-2; depends (numpy ^= 1.8.1, libblosc ^= 1.3.5) + - blosc 1.2.3-3; depends (libblosc ^= 1.4.1, numpy ^= 1.8.1) + - blosc 1.2.3-4; depends (libblosc ^= 1.4.1, numpy ^= 1.9.2) + - blosc 1.2.8-1; depends (numpy ^= 1.9.2) + - blz 0.6.2-1; depends (numexpr ^= 2.2.2, libblosc ^= 1.3.5) + - blz 0.6.2-4; depends (libblosc ^= 1.3.5, numexpr ^= 2.4.0) + - blz 0.6.2-5; depends (libblosc ^= 1.4.1, numexpr ^= 2.4.0) + - blz 0.6.2-6; depends (libblosc ^= 1.4.1, numexpr ^= 2.4.0) + - bokeh 0.6.1-2; depends (pyzmq ^= 14.3.1, flask ^= 0.10.1, pandas ^= 0.15.0, tornado ^= 4.0.2, gevent ^= 1.0.1) + - bokeh 0.6.1-4; depends (flask ^= 0.10.1, pandas ^= 0.15.1, tornado ^= 4.0.2, pyzmq ^= 14.4.1, gevent ^= 1.0.1) + - bokeh 0.6.1-5; depends (flask ^= 0.10.1, pandas ^= 0.15.1, tornado ^= 4.0.2, pyzmq ^= 14.4.1, gevent ^= 1.0.1) + - bokeh 0.6.1-6; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.4.1, tornado ^= 4.0.2, gevent ^= 1.0.1) + - bokeh 0.6.1-7; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.4.1, tornado ^= 4.0.2, gevent ^= 1.0.1) + - bokeh 0.6.1-8; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.5.0, tornado ^= 4.0.2, gevent ^= 1.0.1) + - bokeh 0.7.1-1; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.5.0, tornado ^= 4.0.2, gevent ^= 1.0.1) + - bokeh 0.7.1-2; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.5.0, tornado ^= 4.1, gevent ^= 1.0.1) + - bokeh 0.7.1-3; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.5.0, tornado ^= 4.1, gevent ^= 1.0.1) + - bokeh 0.7.1-4; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.5.0, tornado ^= 4.1, gevent ^= 1.0.1) + - bokeh 0.8.0-1; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.5.0, tornado ^= 4.1, gevent ^= 1.0.1) + - bokeh 0.8.1-1; depends (pandas ^= 0.15.2, flask ^= 0.10.1, pyzmq ^= 14.5.0, tornado ^= 4.1, gevent ^= 1.0.1) + - bokeh 0.8.1-2; depends (flask ^= 0.10.1, tornado ^= 4.1, pyzmq ^= 14.5.0, pandas ^= 0.16.0, gevent ^= 1.0.1) + - bokeh 0.8.2-1; depends (flask ^= 0.10.1, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.7.2, pyzmq ^= 14.5.0, ipython ^= 3.0.0, pandas ^= 0.16.0, tornado ^= 4.1) + - bokeh 0.8.2-2; depends (flask ^= 0.10.1, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.7.3, pyzmq ^= 14.5.0, ipython ^= 3.0.0, pandas ^= 0.16.0, tornado ^= 4.1) + - bokeh 0.8.2-3; depends (flask ^= 0.10.1, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.7.3, pyzmq ^= 14.5.0, ipython ^= 3.1.0, pandas ^= 0.16.0, tornado ^= 4.1) + - bokeh 0.8.2-4; depends (pyzmq ^= 14.6.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.8.0, ipython ^= 3.1.0, pandas ^= 0.16.0, tornado ^= 4.1) + - bokeh 0.8.2-5; depends (pyzmq ^= 14.6.0, ipython ^= 3.1.0, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.8.0, flask ^= 0.10.1, pandas ^= 0.16.1, tornado ^= 4.1) + - bokeh 0.9.0-1; depends (pyzmq ^= 14.6.0, ipython ^= 3.1.0, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.8.0, flask ^= 0.10.1, pandas ^= 0.16.1, tornado ^= 4.1) + - bokeh 0.9.0-2; depends (pyzmq ^= 14.6.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.8.0, tornado ^= 4.1, ipython ^= 3.1.0, pandas ^= 0.16.2) + - bokeh 0.9.0-3; depends (ipython ^= 3.2.0, pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.8.0, tornado ^= 4.2, pandas ^= 0.16.2) + - bokeh 0.9.1-1; depends (ipython ^= 3.2.0, pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, gevent ^= 1.0.1, blaze ^= 0.8.0, tornado ^= 4.2, pandas ^= 0.16.2) + - bokeh 0.9.1-2; depends (ipython ^= 3.2.0, pyzmq ^= 14.7.0, gevent ^= 1.0.1, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.2, tornado ^= 4.2, pandas ^= 0.16.2) + - bokeh 0.9.1-3; depends (pyzmq ^= 14.7.0, gevent ^= 1.0.1, flask ^= 0.10.1, ipython ^= 3.2.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.2, tornado ^= 4.2, pandas ^= 0.16.2) + - bokeh 0.9.3-1; depends (pyzmq ^= 14.7.0, gevent ^= 1.0.1, flask ^= 0.10.1, ipython ^= 3.2.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.2, tornado ^= 4.2, pandas ^= 0.16.2) + - bokeh 0.9.3-2; depends (pyzmq ^= 14.7.0, gevent ^= 1.0.1, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.2, tornado ^= 4.2, ipython ^= 4.0.0, pandas ^= 0.16.2) + - bokeh 0.9.3-3; depends (pyzmq ^= 14.7.0, gevent ^= 1.0.1, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.2, tornado ^= 4.2.1, ipython ^= 4.0.0, pandas ^= 0.16.2) + - bokeh 0.10.0-1; depends (pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.3, gevent ^= 1.0.1, tornado ^= 4.2.1, ipython ^= 4.0.0, pandas ^= 0.16.2) + - bokeh 0.10.0-2; depends (pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.3, gevent ^= 1.0.1, tornado ^= 4.2.1, ipython ^= 4.0.0, pandas ^= 0.16.2) + - bokeh 0.10.0-3; depends (pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.3, gevent ^= 1.0.1, tornado ^= 4.2.1, ipython ^= 4.0.0, pandas ^= 0.16.2) + - bokeh 0.10.0-5; depends (pandas ^= 0.17.1, pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.3, gevent ^= 1.0.1, tornado ^= 4.2.1, ipython ^= 4.0.0) + - bokeh 0.10.0-7; depends (pandas ^= 0.17.1, pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.3, gevent ^= 1.0.2, tornado ^= 4.3, ipython ^= 4.0.0) + - bokeh 0.10.0-8; depends (pandas ^= 0.17.1, pyzmq ^= 14.7.0, flask ^= 0.10.1, abstract_rendering ^= 0.5.1, blaze ^= 0.8.3, gevent ^= 1.0.2, tornado ^= 4.3, ipython ^= 4.0.0) + - bokeh 0.11.0-1; depends (futures ^= 3.0.3, jinja2 ^= 2.8, numpy ^= 1.9.2, pyyaml ^= 3.11, requests ^= 2.9.0, python_dateutil ^= 2.4.2, tornado ^= 4.3, six ^= 1.10.0) + - boto 2.19.0-1; depends (rsa ^= 3.1.2, lxml ^= 3.2.3, pyyaml ^= 3.10, keyring ^= 0.9.2, paramiko ^= 1.10.1, requests ^= 1.2.3) + - boto 2.19.0-2; depends (pyyaml ^= 3.10, lxml ^= 3.3.5, keyring ^= 3.7.0, rsa ^= 3.1.2, paramiko ^= 1.10.1, requests ^= 2.2.1) + - boto 2.29.1-1; depends (requests ^= 2.3.0, rsa ^= 3.1.2, lxml ^= 3.3.5, keyring ^= 3.7.0, pyyaml ^= 3.10, paramiko ^= 1.14.0) + - boto 2.32.1-1; depends (requests ^= 2.3.0, lxml ^= 3.3.5, keyring ^= 3.7.0, pyyaml ^= 3.11, rsa ^= 3.1.2, paramiko ^= 1.14.0) + - boto 2.32.1-2; depends (lxml ^= 3.3.6, pyyaml ^= 3.11, rsa ^= 3.1.2, requests ^= 2.4.0, paramiko ^= 1.14.0, keyring ^= 4.0) + - boto 2.34.0-1; depends (pyyaml ^= 3.11, rsa ^= 3.1.2, paramiko ^= 1.15.1, requests ^= 2.4.3, keyring ^= 4.0, lxml ^= 3.4.0) + - boto 2.34.0-2; depends (rsa ^= 3.1.2, pyyaml ^= 3.11, lxml ^= 3.4.1, requests ^= 2.5.0, keyring ^= 4.0, paramiko ^= 1.15.1) + - boto 2.35.1-1; depends (lxml ^= 3.4.1, pyyaml ^= 3.11, rsa ^= 3.1.2, requests ^= 2.5.1, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.36.0-1; depends (lxml ^= 3.4.1, pyyaml ^= 3.11, rsa ^= 3.1.2, requests ^= 2.5.1, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.36.0-2; depends (lxml ^= 3.4.2, pyyaml ^= 3.11, rsa ^= 3.1.2, requests ^= 2.5.1, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.36.0-3; depends (lxml ^= 3.4.2, pyyaml ^= 3.11, rsa ^= 3.1.2, requests ^= 2.5.3, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.36.0-4; depends (requests ^= 2.6.0, lxml ^= 3.4.2, pyyaml ^= 3.11, rsa ^= 3.1.2, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.36.0-5; depends (requests ^= 2.6.2, lxml ^= 3.4.3, pyyaml ^= 3.11, rsa ^= 3.1.2, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.38.0-1; depends (requests ^= 2.6.2, lxml ^= 3.4.3, pyyaml ^= 3.11, rsa ^= 3.1.2, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.38.0-2; depends (requests ^= 2.7.0, lxml ^= 3.4.3, pyyaml ^= 3.11, rsa ^= 3.1.2, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.38.0-3; depends (requests ^= 2.7.0, pyyaml ^= 3.11, rsa ^= 3.1.2, lxml ^= 3.4.4, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.38.0-4; depends (requests ^= 2.8.0, pyyaml ^= 3.11, rsa ^= 3.1.2, lxml ^= 3.4.4, keyring ^= 4.0, paramiko ^= 1.15.2) + - boto 2.38.0-5; depends (rsa ^= 3.1.2, requests ^= 2.8.0, pyyaml ^= 3.11, paramiko ^= 1.16.0, lxml ^= 3.4.4, keyring ^= 4.0) + - boto 2.38.0-6; depends (rsa ^= 3.1.2, pyyaml ^= 3.11, requests ^= 2.9.0, lxml ^= 3.4.4, paramiko ^= 1.16.0, keyring ^= 4.0) + - boto 2.38.0-7; depends (rsa ^= 3.1.2, pyyaml ^= 3.11, requests ^= 2.9.0, paramiko ^= 1.16.0, lxml ^= 3.5.0, keyring ^= 4.0) + - bottleneck 0.6.0-2; depends (numpy ^= 1.7.1) + - bottleneck 0.6.0-3; depends (numpy ^= 1.7.1) + - bottleneck 0.7.0-1; depends (numpy ^= 1.7.1) + - bottleneck 0.7.0-2; depends (numpy ^= 1.8.0) + - bottleneck 0.7.0-4; depends (numpy ^= 1.8.0) + - bottleneck 0.7.0-5; depends (numpy ^= 1.8.1) + - bottleneck 0.7.0-6; depends (numpy ^= 1.9.2) + - bottleneck 1.0.0-1; depends (numpy ^= 1.9.2) + - bottleneck 1.0.0-2; depends (numpy ^= 1.9.2) + - brewer2mpl 1.3.1-2 + - brewer2mpl 1.4.0-3 + - brewer2mpl 1.4.0-4 + - brood_json_schemas 0.3.0-1 + - brood_json_schemas 0.4.0-1 + - bsdiff4 1.0.0-1 + - bsdiff4 1.0.1-1 + - bsdiff4 1.1.0-1 + - bsdiff4 1.1.1-1 + - bsdiff4 1.1.4-1 + - bz2file 0.98-1 + - cachecontrol 0.11.5-1; depends (requests ^= 2.7.0) + - cachecontrol 0.11.5-2; depends (requests ^= 2.8.0) + - cachecontrol 0.11.5-3; depends (requests ^= 2.9.0) + - cartopy 0.10.0-1; depends (scipy ^= 0.13.3, matplotlib ^= 1.3.1, libproj ^= 4.8.0, pil ^= 1.1.7, pyshp ^= 1.2.0, shapely ^= 1.2.17) + - cartopy 0.10.0-2; depends (pyshp ^= 1.2.0, scipy ^= 0.13.3, matplotlib ^= 1.3.1, pil ^= 1.1.7, shapely ^= 1.2.17) + - cartopy 0.10.0-3; depends (scipy ^= 0.13.3, matplotlib ^= 1.3.1, libproj ^= 4.8.0, pil ^= 1.1.7, pyshp ^= 1.2.0, shapely ^= 1.2.17) + - cartopy 0.10.0-4; depends (matplotlib ^= 1.3.1, libproj ^= 4.8.0, scipy ^= 0.14.0, pil ^= 1.1.7, pyshp ^= 1.2.0, shapely ^= 1.2.17) + - cartopy 0.10.0-5; depends (shapely ^= 1.3.2, matplotlib ^= 1.3.1, libproj ^= 4.8.0, scipy ^= 0.14.0, pil ^= 1.1.7, pyshp ^= 1.2.0) + - cartopy 0.10.0-8; depends (scipy ^= 0.14.0, shapely ^= 1.3.2, libproj ^= 4.8.0, matplotlib ^= 1.4.0, pil ^= 1.1.7, pyshp ^= 1.2.0) + - cartopy 0.11.0-1; depends (scipy ^= 0.14.0, shapely ^= 1.3.2, libproj ^= 4.8.0, matplotlib ^= 1.4.0, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.0-2; depends (shapely ^= 1.4.1, matplotlib ^= 1.4.0, libproj ^= 4.8.0, geos ^= 3.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0, scipy ^= 0.14.0) + - cartopy 0.11.0-3; depends (scipy ^= 0.14.0, libproj ^= 4.8.0, geos ^= 3.4.2, matplotlib ^= 1.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0, shapely ^= 1.4.1) + - cartopy 0.11.0-4; depends (shapely ^= 1.5.1, scipy ^= 0.14.0, libproj ^= 4.8.0, geos ^= 3.4.2, matplotlib ^= 1.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.0-5; depends (shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.14.1rc1, geos ^= 3.4.2, matplotlib ^= 1.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-1; depends (shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.14.1rc1, geos ^= 3.4.2, matplotlib ^= 1.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-2; depends (shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.15.1, geos ^= 3.4.2, matplotlib ^= 1.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-3; depends (shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.15.1, geos ^= 3.4.2, matplotlib ^= 1.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-4; depends (shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.15.1, geos ^= 3.4.2, matplotlib ^= 1.4.2, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-5; depends (shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.15.1, geos ^= 3.4.2, matplotlib ^= 1.4.3, pil ^= 1.1.7, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-6; depends (pillow ^= 2.8.1, shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.15.1, geos ^= 3.4.2, matplotlib ^= 1.4.3, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-7; depends (pillow ^= 2.9.0, shapely ^= 1.5.1, libproj ^= 4.8.0, scipy ^= 0.15.1, geos ^= 3.4.2, matplotlib ^= 1.4.3, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-8; depends (pillow ^= 2.9.0, scipy ^= 0.16.0, shapely ^= 1.5.1, libproj ^= 4.8.0, geos ^= 3.4.2, matplotlib ^= 1.4.3, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-9; depends (pillow ^= 2.9.0, scipy ^= 0.16.1, shapely ^= 1.5.1, libproj ^= 4.8.0, geos ^= 3.4.2, matplotlib ^= 1.4.3, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-10; depends (pillow ^= 2.9.0, scipy ^= 0.16.1, shapely ^= 1.5.1, libproj ^= 4.8.0, geos ^= 3.4.2, matplotlib ^= 1.5.0, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.11.2-11; depends (pillow ^= 2.9.0, scipy ^= 0.16.1, shapely ^= 1.5.1, libproj ^= 4.8.0, geos ^= 3.4.2, matplotlib ^= 1.5.0, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.13.0-1; depends (pillow ^= 2.9.0, scipy ^= 0.16.1, geos ^= 3.5.0, shapely ^= 1.5.13, libproj ^= 4.8.0, matplotlib ^= 1.5.0, owslib ^= 0.8.8, pyshp ^= 1.2.0) + - cartopy 0.13.0-2; depends (scipy ^= 0.16.1, geos ^= 3.5.0, shapely ^= 1.5.13, libproj ^= 4.8.0, matplotlib ^= 1.5.0, owslib ^= 0.8.8, pyshp ^= 1.2.0, pillow ^= 3.0.0) + - cartopy 0.13.0-3; depends (scipy ^= 0.16.1, geos ^= 3.5.0, shapely ^= 1.5.13, libproj ^= 4.8.0, matplotlib ^= 1.5.1, owslib ^= 0.8.8, pyshp ^= 1.2.0, pillow ^= 3.0.0) + - cartopy 0.13.0-4; depends (scipy ^= 0.16.1, geos ^= 3.5.0, shapely ^= 1.5.13, libproj ^= 4.8.0, matplotlib ^= 1.5.1, owslib ^= 0.8.8, pyshp ^= 1.2.0, pillow ^= 3.0.0) + - cassowarypy 0.27-1 + - casuarius 1.0b1-1 + - casuarius 1.0-1 + - casuarius 1.1-1 + - casuarius 1.1-2 + - casuarius 1.1-3 + - casuarius 1.1-5 + - casuarius 1.1-6 + - cdecimal 2.3-1 + - celery 3.1.13-2; depends (billiard ^= 3.3.0.18, pytz ^= 2013.8.0, kombu ^= 3.0.21) + - celery 3.1.13-3; depends (pytz ^= 2014.9.0, billiard ^= 3.3.0.18, kombu ^= 3.0.21) + - celery 3.1.19-1; depends (billiard ^= 3.3.0.18, pytz ^= 2015.7, kombu ^= 3.0.21) + - certifi 14.05.14-1 + - certifi 2015.11.20.1-1 + - cffi 0.8.2-1; depends (libffi ^= 3.0.13, pycparser ^= 2.10.0) + - cffi 0.8.6-1; depends (libffi ^= 3.0.13, pycparser ^= 2.10.0) + - cffi 0.9.2-1; depends (libffi ^= 3.0.13, pycparser ^= 2.10.0) + - cffi 0.9.2-2; depends (libffi ^= 3.0.13, pycparser ^= 2.12) + - cffi 1.0.3-1; depends (libffi ^= 3.0.13, pycparser ^= 2.13) + - cffi 1.1.2-1; depends (libffi ^= 3.0.13, pycparser ^= 2.13) + - cffi 1.2.1-1; depends (libffi ^= 3.0.13, pycparser ^= 2.14) + - cffi 1.2.1-2; depends (libffi ^= 3.0.13, pycparser ^= 2.14) + - cffi 1.3.1-1; depends (libffi ^= 3.0.13, pycparser ^= 2.14) + - cffi 1.4.2-1; depends (libffi ^= 3.0.13, pycparser ^= 2.14) + - chaco 3.4.0-1; depends (numpy ^= 1.5.1, enable ^= 3.4.0) + - chaco 4.0.0-1; depends (enable ^= 4.0.0, numpy ^= 1.6.0) + - chaco 4.0.0-2; depends (numpy ^= 1.6.1, enable ^= 4.0.0) + - chaco 4.0.1-1; depends (numpy ^= 1.6.1, enable ^= 4.0.0) + - chaco 4.1.0-1; depends (enable ^= 4.1.0, numpy ^= 1.6.1) + - chaco 4.2.0-1; depends (numpy ^= 1.6.1, enable ^= 4.2.0) + - chaco 4.3.0-1; depends (enable ^= 4.3.0, numpy ^= 1.6.1) + - chaco 4.3.0-2; depends (numpy ^= 1.7.1, enable ^= 4.3.0) + - chaco 4.3.0-3; depends (enable ^= 4.3.0, numpy ^= 1.8.0) + - chaco 4.4.1-1; depends (enable ^= 4.3.0, numpy ^= 1.8.0) + - chaco 4.4.1-2; depends (enable ^= 4.4.1, numpy ^= 1.8.0) + - chaco 4.4.1-3; depends (enable ^= 4.4.1, numpy ^= 1.8.1) + - chaco 4.5.0-1; depends (enable ^= 4.4.1, numpy ^= 1.8.1) + - chaco 4.5.0-2; depends (numpy ^= 1.8.1, enable ^= 4.5.1) + - chaco 4.5.0-3; depends (numpy ^= 1.9.2, enable ^= 4.5.1) + - chameleon 2.16-1 + - chameleon 2.18-1 + - chameleon 2.19-1 + - chameleon 2.20-1 + - chameleon 2.22-1 + - characteristic 14.3.0-1 + - chardet 2.3.0-1 + - cheetah 2.4.3-2 + - cheetah 2.4.4-1 + - chest 0.2.2-1; depends (heapdict ^= 1.0.0, numpy ^= 1.8.1) + - chest 0.2.2-2; depends (heapdict ^= 1.0.0, numpy ^= 1.9.2) + - chest 0.2.3-1; depends (heapdict ^= 1.0.0, numpy ^= 1.9.2) + - chest 0.2.3-2; depends (heapdict ^= 1.0.0, numpy ^= 1.9.2) + - click 2.1.0-1; depends (colorama ^= 0.3.1) + - click 3.3-1; depends (colorama ^= 0.3.1) + - click 3.3-2; depends (colorama ^= 0.3.3) + - click 4.0-1; depends (colorama ^= 0.3.3) + - click 4.1-1; depends (colorama ^= 0.3.3) + - click 6.2-1; depends (colorama ^= 0.3.3) + - clint 0.4.1-1 + - cloud 2.1.6-1 + - cloud 2.2.0-1 + - cloud 2.2.2-1 + - cloud 2.2.4-1 + - cloud 2.3.0-1 + - cloud 2.3.8-1 + - cloud 2.3.9-1 + - cloud 2.4.1-1 + - cloud 2.4.6-1 + - cloudpickle 0.1.1-1 + - cmake 2.6.2-1 + - cmake 2.8.1-1 + - cmake 2.8.2-1 + - cmake 2.8.3-1 + - cmake 2.8.3-2 + - cmake 3.0.2-1 + - cmake 3.0.2-2 + - cmake 3.1.1-1 + - codetools 3.2.0-1 + - codetools 4.0.0-1 + - codetools 4.1.0-1 + - codetools 4.1.0-2; depends (traits ^= 4.3.0) + - codetools 4.2.0-1; depends (traits ^= 4.4.0) + - codetools 4.2.0-2; depends (traits ^= 4.5.0) + - colorama 0.3.1-1 + - colorama 0.3.3-1 + - configobj 4.7.2-2 + - configobj 5.0.5-1 + - configobj 5.0.6-1 + - coverage 3.4-2 + - coverage 3.5-1 + - coverage 3.5.1-1 + - coverage 3.5.2-1 + - coverage 3.7.1-1 + - cryptography 0.6.1-1 + - cryptography 0.6.1-2; depends (cffi ^= 0.8.6) + - cryptography 0.6.1-3; depends (cffi ^= 0.9.2) + - cryptography 0.8.1-1; depends (setuptools ^= 14.3.1, six ^= 1.9.0, pyasn1 ^= 0.1.7, cffi ^= 0.9.2, enum34 ^= 1.0.4) + - cryptography 0.8.1-2; depends (setuptools ^= 14.3.1, six ^= 1.9.0, pyasn1 ^= 0.1.7, cffi ^= 0.9.2, enum34 ^= 1.0.4) + - cryptography 0.8.2-1; depends (setuptools ^= 14.3.1, six ^= 1.9.0, pyasn1 ^= 0.1.7, cffi ^= 0.9.2, enum34 ^= 1.0.4) + - cryptography 0.8.2-2; depends (six ^= 1.9.0, pyasn1 ^= 0.1.7, cffi ^= 0.9.2, setuptools ^= 15.1, enum34 ^= 1.0.4) + - cryptography 0.8.2-3; depends (six ^= 1.9.0, setuptools ^= 15.2, pyasn1 ^= 0.1.7, cffi ^= 0.9.2, enum34 ^= 1.0.4) + - cryptography 0.8.2-4; depends (cffi ^= 1.0.3, six ^= 1.9.0, pyasn1 ^= 0.1.7, setuptools ^= 15.2, enum34 ^= 1.0.4) + - cryptography 0.8.2-5; depends (cffi ^= 1.0.3, setuptools ^= 16.0, pyasn1 ^= 0.1.7, six ^= 1.9.0, enum34 ^= 1.0.4) + - cryptography 0.8.2-6; depends (cffi ^= 1.0.3, six ^= 1.9.0, pyasn1 ^= 0.1.7, setuptools ^= 17.1.1, enum34 ^= 1.0.4) + - cryptography 0.9.1-1; depends (cffi ^= 1.1.2, idna ^= 2.0, pyasn1 ^= 0.1.7, setuptools ^= 17.1.1, enum34 ^= 1.0.4, six ^= 1.9.0) + - cryptography 0.9.3-1; depends (cffi ^= 1.1.2, idna ^= 2.0, pyasn1 ^= 0.1.7, setuptools ^= 17.1.1, enum34 ^= 1.0.4, six ^= 1.9.0) + - cryptography 0.9.3-2; depends (cffi ^= 1.1.2, idna ^= 2.0, pyasn1 ^= 0.1.7, enum34 ^= 1.0.4, setuptools ^= 18.2, six ^= 1.9.0) + - cryptography 0.9.3-3; depends (setuptools ^= 18.2, idna ^= 2.0, pyasn1 ^= 0.1.7, cffi ^= 1.2.1, enum34 ^= 1.0.4, six ^= 1.9.0) + - cryptography 0.9.3-4; depends (pyasn1 ^= 0.1.9, setuptools ^= 18.2, idna ^= 2.0, cffi ^= 1.2.1, enum34 ^= 1.0.4, six ^= 1.9.0) + - cryptography 0.9.3-5; depends (pyasn1 ^= 0.1.9, setuptools ^= 18.2, idna ^= 2.0, cffi ^= 1.2.1, enum34 ^= 1.0.4, six ^= 1.9.0) + - cryptography 0.9.3-6; depends (pyasn1 ^= 0.1.9, idna ^= 2.0, six ^= 1.10.0, setuptools ^= 18.4, cffi ^= 1.2.1, enum34 ^= 1.0.4) + - cryptography 1.1.1-1; depends (setuptools ^= 18.4, idna ^= 2.0, six ^= 1.10.0, pyasn1 ^= 0.1.9, cffi ^= 1.3.1, enum34 ^= 1.0.4) + - cryptography 1.1.1-2; depends (pyasn1 ^= 0.1.9, idna ^= 2.0, six ^= 1.10.0, setuptools ^= 18.7.1, cffi ^= 1.3.1, enum34 ^= 1.0.4) + - cryptography 1.1.1-3; depends (pyasn1 ^= 0.1.9, idna ^= 2.0, six ^= 1.10.0, setuptools ^= 18.7.1, enum34 ^= 1.1.1, cffi ^= 1.3.1) + - cryptography 1.1.1-4; depends (pyasn1 ^= 0.1.9, idna ^= 2.0, six ^= 1.10.0, enum34 ^= 1.1.1, cffi ^= 1.3.1, setuptools ^= 19.1.1) + - cryptography 1.1.1-5; depends (pyasn1 ^= 0.1.9, cffi ^= 1.4.2, idna ^= 2.0, six ^= 1.10.0, enum34 ^= 1.1.1, setuptools ^= 19.1.1) + - cryptography_vectors 0.6.1-1 + - cryptography_vectors 0.8.1-1 + - cryptography_vectors 0.8.2-1 + - cryptography_vectors 0.9.1-1 + - cryptography_vectors 0.9.3-1 + - cryptography_vectors 1.1.1-1 + - cssselect 0.9.1-1 + - curl 7.23.1-1 + - curl 7.25.0-1 + - curl 7.25.0-2 + - curl 7.25.0-3 + - curl 7.25.0-6 + - curl 7.37.0-1 + - curl 7.38.0-1 + - curl 7.43.0-1 + - cycler 0.9.0-1 + - cycler 0.9.0-2 + - cython 0.13-2 + - cython 0.14-1 + - cython 0.14.1-1 + - cython 0.15-1 + - cython 0.15.1-1 + - cython 0.16-1 + - cython 0.19.1-1 + - cython 0.19.2-1 + - cython 0.20.2-1 + - cython 0.21-1 + - cython 0.21.1-1 + - cython 0.21.2-1 + - cython 0.22-1 + - cython 0.22.1-1 + - cython 0.23.4-1 + - cytoolz 0.7.0-1 + - cytoolz 0.7.1-1 + - cytoolz 0.7.2-1 + - cytoolz 0.7.3-1 + - cytoolz 0.7.4-1 + - dask 0.4.0-1; depends (toolz ^= 0.7.1, psutil ^= 2.2.1, chest ^= 0.2.2, networkx ^= 1.9.1) + - dask 0.5.0-1; depends (toolz ^= 0.7.2, psutil ^= 2.2.1, chest ^= 0.2.2, networkx ^= 1.9.1) + - dask 0.5.0-2; depends (toolz ^= 0.7.2, psutil ^= 2.2.1, chest ^= 0.2.2, networkx ^= 1.9.1) + - dask 0.6.0-1; depends (toolz ^= 0.7.2, psutil ^= 2.2.1, chest ^= 0.2.2, networkx ^= 1.9.1) + - dask 0.6.0-2; depends (toolz ^= 0.7.4, psutil ^= 2.2.1, chest ^= 0.2.2, networkx ^= 1.9.1) + - dask 0.6.0-3; depends (psutil ^= 2.2.1, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.6.0-4; depends (psutil ^= 3.2.1, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.6.0-5; depends (psutil ^= 3.2.1, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.7.3-1; depends (psutil ^= 3.2.1, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.7.3-2; depends (psutil ^= 3.2.1, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.7.3-3; depends (psutil ^= 3.2.1, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.7.5-1; depends (psutil ^= 3.2.1, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.7.5-2; depends (psutil ^= 3.3.0, toolz ^= 0.7.4, chest ^= 0.2.3, networkx ^= 1.10) + - dask 0.7.6-1; depends (cloudpickle ^= 0.1.1, pandas ^= 0.17.1, psutil ^= 3.3.0, toolz ^= 0.7.4, partd ^= 0.3.2) + - datashape 0.4.2-1 + - datashape 0.4.3-1 + - datashape 0.4.4-1 + - datashape 0.4.4-2 + - datashape 0.4.4-3 + - datashape 0.4.5-1; depends (python_dateutil ^= 2.4.2, numpy ^= 1.9.2, multipledispatch ^= 0.4.7) + - datashape 0.4.6-1; depends (multipledispatch ^= 0.4.8, python_dateutil ^= 2.4.2, numpy ^= 1.9.2) + - datashape 0.4.7-1; depends (multipledispatch ^= 0.4.8, python_dateutil ^= 2.4.2, numpy ^= 1.9.2) + - datashape 0.4.7-2; depends (multipledispatch ^= 0.4.8, python_dateutil ^= 2.4.2, numpy ^= 1.9.2) + - datashape 0.4.7-3; depends (multipledispatch ^= 0.4.8, python_dateutil ^= 2.4.2, numpy ^= 1.9.2) + - datashape 0.5.0-1; depends (multipledispatch ^= 0.4.8, python_dateutil ^= 2.4.2, numpy ^= 1.9.2) + - decorator 3.4.0-1 + - decorator 3.4.2-1 + - decorator 4.0.2-1 + - decorator 4.0.4-1 + - dill 0.2.2-1 + - dill 0.2.2-2 + - dill 0.2.3-1 + - dill 0.2.4-1 + - distribute 0.6.14-2 + - distribute 0.6.14-3 + - distribute 0.6.15-1 + - distribute 0.6.16-1 + - distribute 0.6.17-1 + - distribute 0.6.19-1 + - distribute 0.6.24-1 + - distribute 0.6.25-1 + - distribute 0.6.26-1 + - distribute 0.6.26-2 + - distribute 0.6.49-1 + - distribute_remove 1.0.0-2 + - distribute_remove 1.0.0-3 + - dnspython 1.12.0-1 + - doclinks 7.1-1; depends (appinst) + - doclinks 7.1-2; depends (appinst) + - doclinks 7.2-1; depends (appinst) + - doclinks 7.2-2; depends (appinst) + - doclinks 7.3-1; depends (appinst) + - doctest_tools 1.0a3-1 + - docutils 0.7-2 + - docutils 0.8.1-1 + - docutils 0.8.1-2 + - docutils 0.11-1 + - docutils 0.12-1 + - drmaa 0.4b3-1 + - dynd_python 0.6.6-1; depends (numpy ^= 1.8.1, libdynd ^= 0.6.6) + - dynd_python 0.6.6-2; depends (libdynd ^= 0.6.6, numpy ^= 1.9.2) + - dynd_python 0.6.6-3; depends (libdynd ^= 0.6.6, numpy ^= 1.9.2) + - ecdsa 0.11.0-1 + - ecdsa 0.13-1 + - enable 3.4.0-1; depends (numpy ^= 1.5.1, pil ^= 1.1.7) + - enable 4.0.0-1; depends (numpy ^= 1.6.0, pil ^= 1.1.7) + - enable 4.0.0-2; depends (numpy ^= 1.6.1, pil ^= 1.1.7) + - enable 4.1.0-1; depends (numpy ^= 1.6.1, pil ^= 1.1.7) + - enable 4.2.0-1; depends (numpy ^= 1.6.1, pil ^= 1.1.7) + - enable 4.3.0-1; depends (numpy ^= 1.6.1, pil ^= 1.1.7) + - enable 4.3.0-4; depends (numpy ^= 1.7.1, pil ^= 1.1.7) + - enable 4.3.0-5; depends (traits ^= 4.3.0, numpy ^= 1.7.1, pil ^= 1.1.7) + - enable 4.3.0-6; depends (traits ^= 4.3.0, numpy ^= 1.7.1, pil ^= 1.1.7) + - enable 4.3.0-7; depends (numpy ^= 1.7.1, traitsui ^= 4.3.0, pil ^= 1.1.7) + - enable 4.3.0-8; depends (numpy ^= 1.8.0, traitsui ^= 4.3.0, pil ^= 1.1.7) + - enable 4.3.0-10; depends (numpy ^= 1.8.0, pil ^= 1.1.7, traitsui ^= 4.4.0) + - enable 4.4.1-2; depends (numpy ^= 1.8.0, pil ^= 1.1.7, traitsui ^= 4.4.0) + - enable 4.4.1-3; depends (numpy ^= 1.8.0, pil ^= 1.1.7, traitsui ^= 4.4.0) + - enable 4.4.1-4; depends (numpy ^= 1.8.1, pil ^= 1.1.7, traitsui ^= 4.4.0) + - enable 4.4.1-5; depends (numpy ^= 1.8.1, pil ^= 1.1.7, traitsui ^= 4.4.0) + - enable 4.5.1-1; depends (traitsui ^= 4.4.0, numpy ^= 1.8.1, kiwisolver ^= 0.1.3, pil ^= 1.1.7, pyparsing ^= 2.0.3) + - enable 4.5.1-2; depends (traitsui ^= 4.4.0, numpy ^= 1.8.1, kiwisolver ^= 0.1.3, pil ^= 1.1.7, pyparsing ^= 2.0.3) + - enable 4.5.1-3; depends (traitsui ^= 4.4.0, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pil ^= 1.1.7, pyparsing ^= 2.0.3) + - enable 4.5.1-4; depends (pillow ^= 2.8.1, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3, traitsui ^= 4.4.0) + - enable 4.5.1-5; depends (pillow ^= 2.8.1, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3, traitsui ^= 4.5.1) + - enable 4.5.1-6; depends (pillow ^= 2.8.1, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3, traitsui ^= 4.5.1) + - enable 4.5.1-7; depends (pillow ^= 2.9.0, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3, traitsui ^= 4.5.1) + - enable 4.5.1-8; depends (pillow ^= 2.9.0, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3, traitsui ^= 4.5.1) + - enable 4.5.1-9; depends (pillow ^= 2.9.0, traitsui ^= 5.0.0, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3) + - enable 4.5.1-10; depends (pillow ^= 2.9.0, traitsui ^= 5.0.0, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3) + - enable 4.5.1-11; depends (pillow ^= 3.0.0, traitsui ^= 5.0.0, kiwisolver ^= 0.1.3, numpy ^= 1.9.2, pyparsing ^= 2.0.3) + - enaml 0.1a0-1; depends (ply) + - enaml 0.1-1; depends (traits ^= 4.1.0, casuarius ^= 1.0b1, ply) + - enaml 0.2.0-1; depends (casuarius ^= 1.0, traits ^= 4.2.0, ply) + - enaml 0.6.8-1; depends (traits ^= 4.3.0, casuarius ^= 1.1, ply) + - enaml 0.6.8-2; depends (traits ^= 4.3.0, casuarius ^= 1.1, ply) + - enaml 0.6.8-3; depends (traits ^= 4.3.0, casuarius ^= 1.1, ply) + - enaml 0.6.8-5; depends (traits ^= 4.4.0, casuarius ^= 1.1, ply) + - enaml 0.8.9-1; depends (atom ^= 0.3.5, casuarius ^= 1.1, ply ^= 3.4) + - enaml 0.9.4-1; depends (kiwisolver ^= 0.1.2, atom ^= 0.3.8, ply ^= 3.4) + - enaml 0.9.5-1; depends (kiwisolver ^= 0.1.2, ply ^= 3.4, atom ^= 0.3.9) + - enaml 0.9.8-1; depends (kiwisolver ^= 0.1.2, ply ^= 3.4, atom ^= 0.3.9) + - enaml 0.9.8-2; depends (kiwisolver ^= 0.1.3, ply ^= 3.4, atom ^= 0.3.9) + - enaml 0.9.8-3; depends (kiwisolver ^= 0.1.3, ply ^= 3.6, atom ^= 0.3.9) + - enaml 0.9.8-4; depends (kiwisolver ^= 0.1.3, ply ^= 3.8, atom ^= 0.3.9) + - encore 0.1-1 + - encore 0.2-2 + - encore 0.3-1 + - encore 0.4.0-1 + - encore 0.5.1-1 + - encore 0.5.1-3 + - encore 0.5.1-4 + - encore 0.5.1-5 + - encore 0.6.0-1 + - encore 0.6.0-2 + - encore 0.6.0-3 + - encore 0.6.0-4 + - encore 0.6.0-5 + - encore 0.6.0-6 + - encore 0.6.0-7 + - encore 0.6.0-8 + - encore 0.6.0-9 + - endist 1.2.2-1; depends (cheetah, distribute) + - endist 1.2.3-1; depends (cheetah, distribute) + - enstaller 4.3.0-1 + - enstaller 4.3.1-1 + - enstaller 4.3.2-1 + - enstaller 4.3.3-1 + - enstaller 4.3.4-1 + - enstaller 4.4.0-1 + - enstaller 4.4.1-1 + - enstaller 4.5.0-1 + - enstaller 4.5.1-1 + - enstaller 4.5.2-1 + - enstaller 4.5.3-1 + - enstaller 4.5.5-1 + - enstaller 4.5.5-2 + - enstaller 4.5.6-1 + - enstaller 4.6.0-1 + - enstaller 4.6.1-2 + - enstaller 4.6.2-1 + - enstaller 4.6.3-1 + - enstaller 4.6.4-1 + - enstaller 4.6.5-1 + - enstaller 4.7.3-1 + - enstaller 4.8.1-1 + - enstaller 4.8.3-1 + - enstaller 4.8.4-1 + - enstaller 4.8.5-1 + - enstaller 4.8.6-1 + - enstaller 4.8.7-1 + - enstaller 4.8.8-1 + - enstaller 4.8.9-1 + - enstaller 4.8.10-2 + - enthoughtbase 3.1.0-1 + - enum34 1.0.3-1 + - enum34 1.0.4-1 + - enum34 1.1.1-1 + - envisage 4.0.0-1 + - envisage 4.1.0-1 + - envisage 4.2.0-1 + - envisage 4.3.0-1 + - envisage 4.3.0-2; depends (traits ^= 4.3.0) + - envisage 4.4.0-1; depends (traits ^= 4.4.0) + - envisage 4.4.0-2; depends (traits ^= 4.5.0) + - envisagecore 3.2.0-1 + - envisageplugins 3.2.0-1; depends (envisagecore ^= 3.2.0, enthoughtbase ^= 3.1.0) + - epd 7.0-1; depends (pycrypto == 2.3-2, pygments == 1.4-1, pyopenssl == 0.11-2, pytz == 2010o-1, scikits.learn == 0.6-1, nose == 1.0.0-1, libyaml == 0.1.3-1, reportlab == 2.5-2, matplotlib == 1.0.1-1, codetools == 3.2.0-1, jinja2 == 2.5.5-3, traits == 3.6.0-1, zeromq == 2.0.10-1, html5lib == 0.90-2, grin == 1.2.1-2, traitsbackendqt == 3.6.0-1, scimath == 3.0.7-1, wxpython == 2.8.10.1-2, basemap == 1.0-2, python_dateutil == 1.5-2, blockcanvas == 3.2.1-1, sphinx == 1.0.7-1, mkl == 10.3-1, xlwt == 0.7.2-3, paramiko == 1.7.6-4, pyproj == 1.8.8-2, sqlalchemy == 0.6.6-1, pyaudio == 0.2.4-1, xlrd == 0.7.1-3, configobj == 4.7.2-2, lxml == 2.3-1, traitsgui == 3.6.0-1, hdf5 == 1.8.5.1-2, pyopengl == 3.0.1-2, enthoughtbase == 3.1.0-1, swig == 1.3.40-2, libxslt == 1.1.24-5, numexpr == 1.4.2-1, enable == 3.4.0-1, traitsbackendwx == 3.6.0-1, chaco == 3.4.0-1, scipy == 0.9.0rc2-1, pyzmq == 2.0.10-2, cloud == 2.2.0-1, distribute == 0.6.14-2, zope.interface == 3.6.1-2, simpy == 2.1.0-2, scikits.image == 0.2.2-2, pygarrayimage == 0.0.7-4, vtk == 5.6.0-2, ply == 3.3-3, etsdevtools == 3.1.1-1, fwrap == 0.1.1-1, scikits.statsmodels == 0.2.0-2, pyparsing == 1.5.5-3, foolscap == 0.6.1-1, libxml2 == 2.7.3-3, pyflakes == 0.4.0-2, netcdf4 == 0.9.3-2, envisagecore == 3.2.0-1, mayavi == 3.4.1-1, networkx == 1.4-1, pycluster == 1.50-2, scons == 2.0.1-2, epydoc == 3.0.1-5, pil == 1.1.7-3, pandas == 0.2-2, pyserial == 2.5-2, h5py == 1.3.1-1, cython == 0.14.1-1, idle == 2.7.1-1, pyyaml == 3.9-2, envisageplugins == 3.2.0-1, pyhdf == 0.8.3-4, scikits.timeseries == 0.91.3-2, pydot == 1.0.2-5, ipython == 0.10.1-2, pytables == 2.2.1-1, pyglet == 1.1.4-2, numpy == 1.5.1-1, freetype == 2.4.4-1, appinst == 2.0.4-1, docutils == 0.7-2, twisted == 10.2.0-1, graphcanvas == 3.0.0-1, lib_netcdf4 == 4.1.1-1, apptools == 3.4.1-1, sympy == 0.6.7-2, bitarray == 0.3.5-3, coverage == 3.4-2, ets == 3.6.0-1, biopython == 1.56-1, pyfits == 2.4.0-1) + - epd 7.0-2; depends (pycrypto == 2.3-2, pygments == 1.4-1, pyopenssl == 0.11-2, pytz == 2010o-1, scikits.learn == 0.6-1, nose == 1.0.0-1, libyaml == 0.1.3-1, reportlab == 2.5-2, matplotlib == 1.0.1-1, codetools == 3.2.0-1, pyzmq == 2.0.10.1-1, jinja2 == 2.5.5-3, traits == 3.6.0-1, zeromq == 2.0.10-1, html5lib == 0.90-2, grin == 1.2.1-2, traitsbackendqt == 3.6.0-1, scimath == 3.0.7-1, wxpython == 2.8.10.1-2, basemap == 1.0-2, python_dateutil == 1.5-2, blockcanvas == 3.2.1-1, sphinx == 1.0.7-1, mkl == 10.3-1, xlwt == 0.7.2-3, paramiko == 1.7.6-4, pyproj == 1.8.8-2, sqlalchemy == 0.6.6-1, pyaudio == 0.2.4-1, xlrd == 0.7.1-3, configobj == 4.7.2-2, lxml == 2.3-1, traitsgui == 3.6.0-1, hdf5 == 1.8.5.1-2, pyopengl == 3.0.1-2, enthoughtbase == 3.1.0-1, pyglet == 1.1.4-2, swig == 1.3.40-2, libxslt == 1.1.24-5, numexpr == 1.4.2-1, enable == 3.4.0-1, traitsbackendwx == 3.6.0-1, chaco == 3.4.0-1, scipy == 0.9.0rc2-1, cloud == 2.2.0-1, distribute == 0.6.14-2, zope.interface == 3.6.1-2, simpy == 2.1.0-2, scikits.image == 0.2.2-2, pygarrayimage == 0.0.7-4, vtk == 5.6.0-2, ply == 3.3-3, etsdevtools == 3.1.1-1, fwrap == 0.1.1-1, scikits.statsmodels == 0.2.0-2, pyparsing == 1.5.5-3, foolscap == 0.6.1-1, libxml2 == 2.7.3-3, pyflakes == 0.4.0-2, netcdf4 == 0.9.3-2, envisagecore == 3.2.0-1, mayavi == 3.4.1-2, networkx == 1.4-1, pycluster == 1.50-2, scons == 2.0.1-2, epydoc == 3.0.1-5, pandas == 0.2-3, pil == 1.1.7-3, pyserial == 2.5-2, h5py == 1.3.1-1, cython == 0.14.1-1, idle == 2.7.1-1, pyyaml == 3.9-2, envisageplugins == 3.2.0-1, pyhdf == 0.8.3-4, scikits.timeseries == 0.91.3-2, pydot == 1.0.2-5, ipython == 0.10.1-2, pytables == 2.2.1-1, numpy == 1.5.1-2, freetype == 2.4.4-1, appinst == 2.0.4-1, docutils == 0.7-2, twisted == 10.2.0-1, graphcanvas == 3.0.0-1, lib_netcdf4 == 4.1.1-1, apptools == 3.4.1-1, sympy == 0.6.7-2, bitarray == 0.3.5-3, coverage == 3.4-2, ets == 3.6.0-2, biopython == 1.56-1, pyfits == 2.4.0-1) + - epd 7.1-1; depends (pycrypto == 2.3-2, pygments == 1.4-1, mdp == 3.1-1, scikits.learn == 0.8-1, nose == 1.0.0-2, ipython == 0.11rc1-1, reportlab == 2.5-2, matplotlib == 1.0.1-2, libxslt == 1.1.24-5, jinja2 == 2.5.5-3, idle == 2.7.2-1, netcdf4 == 0.9.5-1, html5lib == 0.90-2, grin == 1.2.1-2, wxpython == 2.8.10.1-3, etsdevtools == 4.0.0-1, python_dateutil == 1.5-2, sphinx == 1.0.7-1, mkl == 10.3-1, xlwt == 0.7.2-3, mayavi == 4.0.0-1, zope.interface == 3.6.3-1, chaco == 4.0.0-1, envisage == 4.0.0-1, networkx == 1.5-1, sqlalchemy == 0.7.1-1, appinst == 2.1.0-1, pydot == 1.0.25-1, pyside == 1.0.3-2, pyaudio == 0.2.4-1, xlrd == 0.7.1-4, traits == 4.0.0-1, pyopenssl == 0.12-1, configobj == 4.7.2-2, lxml == 2.3-1, hdf5 == 1.8.5.1-2, pyopengl == 3.0.1-2, coverage == 3.5-1, pyyaml == 3.10-1, ply == 3.4-1, swig == 1.3.40-2, pyparsing == 1.5.6-1, pytables == 2.3b1.dev4669-1, examples == 7.1-1, zeromq == 2.1.7-1, biopython == 1.57-2, ets == 4.0.0-1, simpy == 2.1.0-2, scikits.image == 0.2.2-3, enable == 4.0.0-1, pygarrayimage == 0.0.7-4, vtk == 5.6.0-2, distribute == 0.6.19-1, fwrap == 0.1.1-2, scimath == 4.0.0-1, scikits.statsmodels == 0.2.0-2, blockcanvas == 4.0.0-1, apptools == 4.0.0-1, foolscap == 0.6.1-3, qt == 4.7.3-1, pyflakes == 0.4.0-3, cloud == 2.2.4-1, numexpr == 1.4.2-2, pandas == 0.3.0-2, sympy == 0.7.0-1, numpy == 1.6.0-5, paramiko == 1.7.7.1-1, bitarray == 0.3.5-3, pycluster == 1.50-3, scons == 2.0.1-2, epydoc == 3.0.1-5, etsproxy == 0.1.0-1, pyproj == 1.8.9-1, traitsui == 4.0.0-1, pil == 1.1.7-3, pyserial == 2.5-2, h5py == 1.3.1-2, libxml2 == 2.7.3-3, cython == 0.14.1-1, codetools == 4.0.0-1, pyhdf == 0.8.3-5, scikits.timeseries == 0.91.3-3, pyzmq == 2.1.7-1, basemap == 1.0.1-1, twisted == 11.0.0-2, libyaml == 0.1.4-1, pyglet == 1.1.4-2, freetype == 2.4.4-1, docutils == 0.7-2, lib_netcdf4 == 4.1.1-1, doclinks == 7.1-1, pytz == 2011g-1, scipy == 0.9.0-2, pyface == 4.0.0-1, graphcanvas == 4.0.0-1, pyfits == 2.4.0-2) + - epd 7.1-2; depends (pycrypto == 2.3-2, pygments == 1.4-1, scikits.learn == 0.8-2, mdp == 3.1-1, nose == 1.0.0-2, reportlab == 2.5-2, matplotlib == 1.0.1-3, libxslt == 1.1.24-5, sympy == 0.7.1-1, jinja2 == 2.5.5-3, pyside == 1.0.5-1, idle == 2.7.2-2, netcdf4 == 0.9.5-2, html5lib == 0.90-2, grin == 1.2.1-2, wxpython == 2.8.10.1-3, etsdevtools == 4.0.0-1, python_dateutil == 1.5-2, sphinx == 1.0.7-1, mkl == 10.3-1, xlwt == 0.7.2-3, mayavi == 4.0.0-1, numpy == 1.6.1-1, zope.interface == 3.6.3-1, pyzmq == 2.1.7-1, networkx == 1.5-1, sqlalchemy == 0.7.1-1, appinst == 2.1.0-1, pydot == 1.0.25-1, simpy == 2.1.0-2, pyaudio == 0.2.4-1, xlrd == 0.7.1-4, h5py == 2.0.0-1, pyopenssl == 0.12-1, configobj == 4.7.2-2, lxml == 2.3-1, hdf5 == 1.8.5.1-2, pyopengl == 3.0.1-2, coverage == 3.5-1, pyyaml == 3.10-1, ply == 3.4-1, swig == 1.3.40-2, numexpr == 1.4.2-3, pyparsing == 1.5.6-1, pytables == 2.3b1.dev4669-2, examples == 7.1-2, pytz == 2011g-1, zeromq == 2.1.7-1, biopython == 1.57-3, ets == 4.0.0-2, scikits.image == 0.2.2-4, enable == 4.0.0-2, pygarrayimage == 0.0.7-4, vtk == 5.6.0-2, distribute == 0.6.19-1, fwrap == 0.1.1-2, scikits.statsmodels == 0.2.0-2, blockcanvas == 4.0.0-1, scimath == 4.0.0-2, apptools == 4.0.0-1, qt == 4.7.3-2, ipython == 0.11-1, foolscap == 0.6.1-3, libxml2 == 2.7.3-3, pyflakes == 0.4.0-3, cloud == 2.2.4-1, pandas == 0.3.0-3, chaco == 4.0.0-2, paramiko == 1.7.7.1-1, scipy == 0.9.0-3, pycluster == 1.50-4, scons == 2.0.1-2, epydoc == 3.0.1-5, etsproxy == 0.1.0-1, pyproj == 1.8.9-1, pil == 1.1.7-3, pyserial == 2.5-2, traitsui == 4.0.0-1, cython == 0.14.1-1, codetools == 4.0.0-1, pyhdf == 0.8.3-6, scikits.timeseries == 0.91.3-4, envisage == 4.0.0-1, basemap == 1.0.1-2, twisted == 11.0.0-2, libyaml == 0.1.4-1, pyglet == 1.1.4-2, traits == 4.0.0-2, freetype == 2.4.4-1, docutils == 0.7-2, lib_netcdf4 == 4.1.1-1, doclinks == 7.1-2, bitarray == 0.3.5-3, pyface == 4.0.0-1, graphcanvas == 4.0.0-1, pyfits == 2.4.0-3) + - epd 7.2-1; depends (pygments == 1.4-1, simpy == 2.2-1, envisage == 4.1.0-1, blockcanvas == 4.0.1-1, reportlab == 2.5-2, coverage == 3.5.1-1, libxslt == 1.1.24-5, sympy == 0.7.1-1, libgdal == 1.8.1-1, pyfits == 3.0.3-1, pyside == 1.0.5-1, ply == 3.4-1, numexpr == 2.0-1, idle == 2.7.2-2, netcdf4 == 0.9.5-2, html5lib == 0.90-2, grin == 1.2.1-2, python_dateutil == 1.5-2, scikits.statsmodels == 0.3.1-1, wxpython == 2.8.10.1-3, etsdevtools == 4.0.0-1, pytables == 2.3.1-2, jinja2 == 2.6-1, mdp == 3.2-1, apptools == 4.0.1-1, mkl == 10.3-1, scikit_learn == 0.9-1, xlwt == 0.7.2-3, cloud == 2.3.9-1, numpy == 1.6.1-2, nose == 1.1.2-1, mayavi == 4.1.0-1, sqlalchemy == 0.7.1-1, lxml == 2.3.2-1, appinst == 2.1.0-1, networkx == 1.6-1, pydot == 1.0.25-1, pyflakes == 0.5.0-1, pyaudio == 0.2.4-1, xlrd == 0.7.1-4, h5py == 2.0.0-1, pyopenssl == 0.12-1, configobj == 4.7.2-2, gdal == 1.8.1-1, traits == 4.1.0-1, hdf5 == 1.8.5.1-2, cython == 0.15.1-1, pyyaml == 3.10-1, tornado == 2.1.1-1, pyface == 4.1.0-1, etsproxy == 0.1.1-1, swig == 1.3.40-2, pyparsing == 1.5.6-1, distribute == 0.6.24-1, examples == 7.2-1, chaco == 4.1.0-1, pyopengl == 3.0.1-2, pygarrayimage == 0.0.7-4, vtk == 5.6.0-2, enable == 4.1.0-1, ets == 4.1.0-1, bsdiff4 == 1.0.1-1, pyzmq == 2.1.11-1, pycrypto == 2.4.1-1, scikits.image == 0.4.2-1, fwrap == 0.1.1-3, qt == 4.7.3-2, libxml2 == 2.7.3-3, twisted == 11.1.0-2, ipython == 0.12-1, foolscap == 0.6.2-1, paramiko == 1.7.7.1-1, traitsui == 4.1.0-1, pycluster == 1.50-4, scons == 2.0.1-2, epydoc == 3.0.1-6, pytz == 2011n-1, pyproj == 1.8.9-1, pil == 1.1.7-3, zope.interface == 3.8.0-1, matplotlib == 1.1.0-1, pandas == 0.4.3-1, pyserial == 2.6-1, codetools == 4.0.0-1, pyhdf == 0.8.3-6, scikits.timeseries == 0.91.3-4, basemap == 1.0.1-3, scimath == 4.0.1-1, biopython == 1.58-1, libyaml == 0.1.4-1, scipy == 0.10.0-1, docutils == 0.8.1-1, pyglet == 1.1.4-2, freetype == 2.4.4-1, lib_netcdf4 == 4.1.1-1, pep8 == 0.6.1-1, bitarray == 0.3.5-3, sphinx == 1.1.2-1, doclinks == 7.2-1, graphcanvas == 4.0.0-2) + - epd 7.2-2; depends (pygments == 1.4-1, simpy == 2.2-1, envisage == 4.1.0-1, blockcanvas == 4.0.1-1, reportlab == 2.5-2, coverage == 3.5.1-1, libxslt == 1.1.24-5, sympy == 0.7.1-1, libgdal == 1.8.1-1, pyfits == 3.0.3-1, ply == 3.4-1, numexpr == 2.0-1, idle == 2.7.2-2, netcdf4 == 0.9.5-2, html5lib == 0.90-2, grin == 1.2.1-2, python_dateutil == 1.5-2, scikits.statsmodels == 0.3.1-1, wxpython == 2.8.10.1-3, etsdevtools == 4.0.0-1, pytables == 2.3.1-2, jinja2 == 2.6-1, mdp == 3.2-1, apptools == 4.0.1-1, mkl == 10.3-1, scikit_learn == 0.9-1, xlwt == 0.7.2-3, cloud == 2.3.9-1, numpy == 1.6.1-2, nose == 1.1.2-1, mayavi == 4.1.0-1, sqlalchemy == 0.7.1-1, lxml == 2.3.2-1, appinst == 2.1.0-1, networkx == 1.6-1, pydot == 1.0.25-1, pyflakes == 0.5.0-1, pyaudio == 0.2.4-1, xlrd == 0.7.1-4, h5py == 2.0.0-1, pyopenssl == 0.12-1, configobj == 4.7.2-2, traits == 4.1.0-1, hdf5 == 1.8.5.1-2, cython == 0.15.1-1, pyyaml == 3.10-1, tornado == 2.1.1-1, pyface == 4.1.0-1, etsproxy == 0.1.1-1, swig == 1.3.40-2, pyparsing == 1.5.6-1, distribute == 0.6.24-1, examples == 7.2-1, chaco == 4.1.0-1, pyopengl == 3.0.1-2, pygarrayimage == 0.0.7-4, vtk == 5.6.0-2, enable == 4.1.0-1, ets == 4.1.0-1, bsdiff4 == 1.0.1-1, pyzmq == 2.1.11-1, pycrypto == 2.4.1-1, scikits.image == 0.4.2-1, fwrap == 0.1.1-3, qt == 4.7.3-2, libxml2 == 2.7.3-3, twisted == 11.1.0-2, ipython == 0.12-1, foolscap == 0.6.2-1, paramiko == 1.7.7.1-1, traitsui == 4.1.0-1, pycluster == 1.50-4, scons == 2.0.1-2, epydoc == 3.0.1-6, pytz == 2011n-1, pyproj == 1.8.9-1, pil == 1.1.7-3, zope.interface == 3.8.0-1, matplotlib == 1.1.0-1, pandas == 0.6.1-1, pyserial == 2.6-1, codetools == 4.0.0-1, pyhdf == 0.8.3-6, scikits.timeseries == 0.91.3-4, pyside == 1.1.0-2, basemap == 1.0.1-3, scimath == 4.0.1-1, biopython == 1.58-1, libyaml == 0.1.4-1, scipy == 0.10.0-1, docutils == 0.8.1-1, gdal == 1.8.1-2, pyglet == 1.1.4-2, freetype == 2.4.4-1, lib_netcdf4 == 4.1.1-1, pep8 == 0.6.1-1, bitarray == 0.3.5-3, sphinx == 1.1.2-1, doclinks == 7.2-2, graphcanvas == 4.0.0-2) + - epd 7.3-1; depends (curl == 7.25.0-2, pygments == 1.4-1, pyproj == 1.9.0-1, simpy == 2.2-1, mdp == 3.2-1, blockcanvas == 4.0.1-1, envisage == 4.2.0-1, pyflakes == 0.5.0-1, coverage == 3.5.1-1, basemap == 1.0.2-1, examples == 7.3-1, libgdal == 1.8.1-1, scimath == 4.1.0-1, foolscap == 0.6.3-1, bitarray == 0.8.0-1, html5lib == 0.90-2, grin == 1.2.1-2, scikits.image == 0.5.0-1, wxpython == 2.8.10.1-3, etsdevtools == 4.0.0-1, lxml == 2.3.4-1, python_dateutil == 1.5-2, jinja2 == 2.6-2, mayavi == 4.2.0-1, mkl == 10.3-1, shapely == 1.2.14-1, numpy == 1.6.1-2, statsmodels == 0.4.0-1, doclinks == 7.3-1, nose == 1.1.2-1, encore == 0.2-2, h5py == 2.0.0-2, netcdf4 == 1.0-1, networkx == 1.6-1, reportlab == 2.5-2, lib_netcdf4 == 4.2-2, pyaudio == 0.2.4-1, xlwt == 0.7.3-1, libxml2 == 2.7.8-1, sqlalchemy == 0.7.6-1, pydot == 1.0.28-1, pyopenssl == 0.12-1, configobj == 4.7.2-2, vtk == 5.6.0-2, numexpr == 2.0.1-1, hdf5 == 1.8.9-1, scipy == 0.10.1-1, pyopengl == 3.0.1-2, pandas == 0.7.3-2, pyyaml == 3.10-1, pyfits == 3.0.6-1, ply == 3.4-1, etsproxy == 0.1.1-1, ipython == 0.12.1-2, feedparser == 5.1.1-1, pyparsing == 1.5.6-1, biopython == 1.59-1, blist == 1.3.4-1, jsonpickle == 0.4.0-1, pygarrayimage == 0.0.7-4, cloud == 2.4.6-1, pyzmq == 2.1.11-1, pycrypto == 2.4.1-1, traits == 4.2.0-1, tornado == 2.2-1, fwrap == 0.1.1-3, scikit_learn == 0.11-1, qt == 4.7.3-2, bsdiff4 == 1.1.1-1, idle == 2.7.3-1, pyface == 4.2.0-1, swig == 1.3.40-2, pytz == 2011n-1, zlib == 1.2.6-1, pythondoc == 2.7.3-1, paramiko == 1.7.7.1-1, pil == 1.1.7-3, keyring == 0.9-1, libxslt == 1.1.26-1, pycluster == 1.50-4, scons == 2.0.1-2, epydoc == 3.0.1-6, openpyxl == 1.5.8-1, apptools == 4.1.0-1, pep8 == 1.0.1-1, enaml == 0.2.0-1, zope.interface == 3.8.0-1, matplotlib == 1.1.0-1, appinst == 2.1.1-1, enable == 4.2.0-1, pyserial == 2.6-1, casuarius == 1.0-1, codetools == 4.0.0-1, ets == 4.2.0-1, pyhdf == 0.8.3-6, scikits.timeseries == 0.91.3-4, pytables == 2.3.1-4, pyside == 1.1.0-3, distribute == 0.6.26-1, libyaml == 0.1.4-1, twisted == 12.0.0-1, docutils == 0.8.1-1, gdal == 1.8.1-2, pyglet == 1.1.4-2, chaco == 4.2.0-1, sympy == 0.7.1-1, freetype == 2.4.4-1, cython == 0.16-1, sphinx == 1.1.2-1, graphcanvas == 4.0.0-3, xlrd == 0.7.6-1, traitsui == 4.2.0-1) + - epd 7.3-2; depends (curl == 7.25.0-3, pygments == 1.4-1, pyproj == 1.9.0-1, simpy == 2.2-1, mdp == 3.2-1, blockcanvas == 4.0.1-1, envisage == 4.2.0-1, pyflakes == 0.5.0-1, coverage == 3.5.1-1, basemap == 1.0.2-1, examples == 7.3-1, libgdal == 1.8.1-1, scimath == 4.1.0-1, foolscap == 0.6.3-1, bitarray == 0.8.0-1, html5lib == 0.90-2, grin == 1.2.1-2, scikits.image == 0.5.0-1, wxpython == 2.8.10.1-3, etsdevtools == 4.0.0-1, lxml == 2.3.4-1, python_dateutil == 1.5-2, jinja2 == 2.6-2, mayavi == 4.2.0-1, mkl == 10.3-1, shapely == 1.2.14-1, numpy == 1.6.1-3, statsmodels == 0.4.0-1, doclinks == 7.3-1, nose == 1.1.2-1, encore == 0.2-2, kernmagic == 0.1.0-1, h5py == 2.0.0-2, netcdf4 == 1.0-1, networkx == 1.6-1, reportlab == 2.5-2, lib_netcdf4 == 4.2-2, pyaudio == 0.2.4-1, xlwt == 0.7.3-1, libxml2 == 2.7.8-1, sqlalchemy == 0.7.6-1, pydot == 1.0.28-1, pyopenssl == 0.12-1, configobj == 4.7.2-2, vtk == 5.6.0-2, numexpr == 2.0.1-1, hdf5 == 1.8.9-1, twisted == 12.0.0-1, scipy == 0.10.1-1, pyopengl == 3.0.1-2, pandas == 0.7.3-2, pyyaml == 3.10-1, pyfits == 3.0.6-1, ply == 3.4-1, etsproxy == 0.1.1-1, feedparser == 5.1.1-1, pyparsing == 1.5.6-1, ipython == 0.12.1-3, biopython == 1.59-1, blist == 1.3.4-1, jsonpickle == 0.4.0-1, pygarrayimage == 0.0.7-4, cloud == 2.4.6-1, pyzmq == 2.1.11-1, pycrypto == 2.4.1-1, traits == 4.2.0-1, tornado == 2.2-1, fwrap == 0.1.1-3, scikit_learn == 0.11-1, qt == 4.7.3-2, bsdiff4 == 1.1.1-1, idle == 2.7.3-1, pyface == 4.2.0-1, swig == 1.3.40-2, openpyxl == 1.5.8-1, zlib == 1.2.6-1, pythondoc == 2.7.3-1, paramiko == 1.7.7.1-1, pep8 == 1.0.1-1, keyring == 0.9-1, libxslt == 1.1.26-1, pycluster == 1.50-4, scons == 2.0.1-2, appinst == 2.1.2-1, epydoc == 3.0.1-6, pytz == 2011n-1, apptools == 4.1.0-1, pil == 1.1.7-3, enaml == 0.2.0-1, zope.interface == 3.8.0-1, matplotlib == 1.1.0-1, enable == 4.2.0-1, pyserial == 2.6-1, casuarius == 1.0-1, codetools == 4.0.0-1, ets == 4.2.0-1, pyhdf == 0.8.3-6, scikits.timeseries == 0.91.3-4, pytables == 2.3.1-4, pyside == 1.1.0-3, distribute == 0.6.26-1, libyaml == 0.1.4-1, docutils == 0.8.1-2, gdal == 1.8.1-2, pyglet == 1.1.4-2, chaco == 4.2.0-1, sympy == 0.7.1-1, freetype == 2.4.4-1, cython == 0.16-1, sphinx == 1.1.2-1, graphcanvas == 4.0.0-3, xlrd == 0.7.6-1, traitsui == 4.2.0-1) + - epd_free 7.3-2; depends (enable == 4.2.0-1, pygments == 1.4-1, nose == 1.1.2-1, appinst == 2.1.2-1, kernmagic == 0.1.0-1, apptools == 4.1.0-1, pil == 1.1.7-3, enaml == 0.2.0-1, nomkl_scipy == 0.10.1-1, matplotlib == 1.1.0-1, cloud == 2.4.6-1, pythondoc == 2.7.3-1, pyzmq == 2.1.11-1, examples == 7.3-1, traits == 4.2.0-1, pyaudio == 0.2.4-1, casuarius == 1.0-1, tornado == 2.2-1, configobj == 4.7.2-2, distribute == 0.6.26-1, idle == 2.7.3-1, pyglet == 1.1.4-2, chaco == 4.2.0-1, freetype == 2.4.4-1, pyface == 4.2.0-1, pytz == 2011n-1, wxpython == 2.8.10.1-3, ply == 3.4-1, etsproxy == 0.1.1-1, python_dateutil == 1.5-2, jinja2 == 2.6-2, ipython == 0.12.1-3, nomkl_numpy == 1.6.1-1, traitsui == 4.2.0-1) + - epddocs 1.0-1 + - epdindex 1.0-1 + - epdindex 1.1-1 + - epdindex 1.2-1 + - epdtests 7.0-1 + - epdtests 7.1-1 + - epdtests 7.2-2 + - epdtests 7.3-1 + - epdtests 7.3-2 + - epydoc 3.0.1-4; depends (docutils ^= 0.7) + - epydoc 3.0.1-5; depends (docutils ^= 0.7) + - epydoc 3.0.1-6; depends (docutils ^= 0.8.1) + - ets 3.6.0-1; depends (traitsgui == 3.6.0-1, traitsbackendwx == 3.6.0-1, apptools == 3.4.1-1, codetools == 3.2.0-1, blockcanvas == 3.2.1-1, enable == 3.4.0-1, envisagecore == 3.2.0-1, mayavi == 3.4.1-1, traitsbackendqt == 3.6.0-1, chaco == 3.4.0-1, graphcanvas == 3.0.0-1, envisageplugins == 3.2.0-1, enthoughtbase == 3.1.0-1, traits == 3.6.0-1, scimath == 3.0.7-1, etsdevtools == 3.1.1-1) + - ets 3.6.0-2; depends (traitsgui == 3.6.0-1, traitsbackendwx == 3.6.0-1, apptools == 3.4.1-1, codetools == 3.2.0-1, blockcanvas == 3.2.1-1, traitsbackendqt == 3.6.0-1, enable == 3.4.0-1, envisagecore == 3.2.0-1, mayavi == 3.4.1-2, chaco == 3.4.0-1, graphcanvas == 3.0.0-1, envisageplugins == 3.2.0-1, enthoughtbase == 3.1.0-1, traits == 3.6.0-1, scimath == 3.0.7-1, etsdevtools == 3.1.1-1) + - ets 4.0.0-1; depends (apptools == 4.0.0-1, envisage == 4.0.0-1, traitsui == 4.0.0-1, mayavi == 4.0.0-1, etsproxy == 0.1.0-1, pyface == 4.0.0-1, etsdevtools == 4.0.0-1, graphcanvas == 4.0.0-1, codetools == 4.0.0-1, traits == 4.0.0-1, scimath == 4.0.0-1, enable == 4.0.0-1, blockcanvas == 4.0.0-1, chaco == 4.0.0-1) + - ets 4.0.0-2; depends (apptools == 4.0.0-1, envisage == 4.0.0-1, traitsui == 4.0.0-1, mayavi == 4.0.0-1, etsproxy == 0.1.0-1, pyface == 4.0.0-1, graphcanvas == 4.0.0-1, blockcanvas == 4.0.0-1, codetools == 4.0.0-1, traits == 4.0.0-2, chaco == 4.0.0-2, etsdevtools == 4.0.0-1, enable == 4.0.0-2, scimath == 4.0.0-2) + - ets 4.1.0-1; depends (etsproxy == 0.1.1-1, scimath == 4.0.1-1, enable == 4.1.0-1, mayavi == 4.1.0-1, traits == 4.1.0-1, apptools == 4.0.1-1, envisage == 4.1.0-1, graphcanvas == 4.0.0-2, blockcanvas == 4.0.1-1, chaco == 4.1.0-1, codetools == 4.0.0-1, etsdevtools == 4.0.0-1, traitsui == 4.1.0-1, pyface == 4.1.0-1) + - ets 4.2.0-1; depends (etsproxy == 0.1.1-1, mayavi == 4.2.0-1, chaco == 4.2.0-1, encore == 0.2-2, enable == 4.2.0-1, traits == 4.2.0-1, apptools == 4.1.0-1, blockcanvas == 4.0.1-1, enaml == 0.2.0-1, envisage == 4.2.0-1, codetools == 4.0.0-1, pyface == 4.2.0-1, traitsui == 4.2.0-1, etsdevtools == 4.0.0-1, scimath == 4.1.0-1, graphcanvas == 4.0.0-3) + - ets 4.3.0-1; depends (chaco == 4.3.0-1, scimath == 4.1.2-1, encore == 0.3-1, traitsui == 4.3.0-1, etsproxy == 0.1.2-1, graphcanvas == 4.0.2-1, mayavi == 4.3.0-1, pyface == 4.3.0-1, traits == 4.3.0-1, blockcanvas == 4.0.3-1, apptools == 4.2.0-1, enaml == 0.6.8-1, casuarius == 1.1-1, enable == 4.3.0-1, etsdevtools == 4.0.2-1, codetools == 4.1.0-1, envisage == 4.3.0-1) + - ets 4.3.0-3; depends (chaco == 4.3.0-2, encore == 0.3-1, scimath == 4.1.2-2, etsdevtools == 4.0.2-1, etsproxy == 0.1.2-1, pyface == 4.3.0-2, graphcanvas == 4.0.2-1, traitsui == 4.3.0-2, mayavi == 4.3.0-3, apptools == 4.2.0-2, traits == 4.3.0-2, casuarius == 1.1-1, enaml == 0.6.8-2, envisage == 4.3.0-2, codetools == 4.1.0-2, enable == 4.3.0-5, blockcanvas == 4.0.3-1) + - ets 4.3.0-5; depends (chaco == 4.3.0-3, etsdevtools == 4.0.2-1, graphcanvas == 4.0.2-2, etsproxy == 0.1.2-1, encore == 0.4.0-1, traitsui == 4.3.0-2, pyface == 4.3.0-2, enable == 4.3.0-8, apptools == 4.2.0-2, traits == 4.3.0-3, mayavi == 4.3.0-4, casuarius == 1.1-2, enaml == 0.6.8-3, envisage == 4.3.0-2, codetools == 4.1.0-2, scimath == 4.1.2-3, blockcanvas == 4.0.3-1) + - ets 4.4.1-1; depends (traitsui == 4.4.0-1, codetools == 4.2.0-1, enable == 4.3.0-10, envisage == 4.4.0-1, graphcanvas == 4.0.2-2, etsdevtools == 4.0.2-1, etsproxy == 0.1.2-1, encore == 0.4.0-1, apptools == 4.2.0-4, mayavi == 4.3.0-5, blockcanvas == 4.0.3-1, scimath == 4.1.2-3, casuarius == 1.1-3, enaml == 0.6.8-5, pyface == 4.4.0-1, chaco == 4.4.1-1, traits == 4.4.0-1) + - ets 4.4.2-1; depends (codetools == 4.2.0-2, etsdevtools == 4.0.2-1, enable == 4.4.1-2, encore == 0.5.1-1, pyface == 4.4.0-2, etsproxy == 0.1.2-1, envisage == 4.4.0-2, graphcanvas == 4.0.2-3, traits == 4.5.0-1, mayavi == 4.3.1-1, traitsui == 4.4.0-2, blockcanvas == 4.0.3-1, scimath == 4.1.2-3, apptools == 4.2.1-1, chaco == 4.4.1-2) + - ets 4.4.3-1; depends (enable == 4.4.1-5, codetools == 4.2.0-2, graphcanvas == 4.0.2-5, envisage == 4.4.0-2, traitsui == 4.4.0-2, pyface == 4.4.0-2, etsproxy == 0.1.2-1, encore == 0.5.1-4, mayavi == 4.3.1-2, scimath == 4.1.2-4, blockcanvas == 4.0.3-1, apptools == 4.2.1-3, chaco == 4.5.0-1, etsdevtools == 4.0.2-1, traits == 4.5.0-1) + - ets 4.4.3-2; depends (enable == 4.4.1-5, codetools == 4.2.0-2, graphcanvas == 4.0.2-5, envisage == 4.4.0-2, traitsui == 4.4.0-2, pyface == 4.4.0-2, etsproxy == 0.1.2-1, encore == 0.5.1-5, mayavi == 4.3.1-2, scimath == 4.1.2-4, blockcanvas == 4.0.3-1, apptools == 4.2.1-3, chaco == 4.5.0-1, etsdevtools == 4.0.2-1, traits == 4.5.0-1) + - ets 4.4.4-1; depends (enable == 4.4.1-5, encore == 0.6.0-1, graphcanvas == 4.0.2-5, envisage == 4.4.0-2, traitsui == 4.4.0-2, pyface == 4.4.0-2, etsproxy == 0.1.2-1, codetools == 4.2.0-2, mayavi == 4.3.1-2, scimath == 4.1.2-4, blockcanvas == 4.0.3-1, apptools == 4.2.1-3, chaco == 4.5.0-1, etsdevtools == 4.0.2-1, traits == 4.5.0-1) + - ets 4.4.4-2; depends (traitsui == 4.5.1-1, enable == 4.5.1-5, codetools == 4.2.0-2, pyface == 4.5.0-1, encore == 0.6.0-5, envisage == 4.4.0-2, graphcanvas == 4.0.2-6, etsproxy == 0.1.2-1, traits == 4.5.0-1, scimath == 4.1.2-5, blockcanvas == 4.0.3-1, mayavi == 4.4.0-4, chaco == 4.5.0-3, etsdevtools == 4.0.2-1, apptools == 4.3.0-3) + - ets 4.4.4-3; depends (traitsui == 4.5.1-1, codetools == 4.2.0-2, etsdevtools == 4.0.2-1, encore == 0.6.0-6, envisage == 4.4.0-2, graphcanvas == 4.0.2-6, etsproxy == 0.1.2-1, enable == 4.5.1-6, traits == 4.5.0-1, scimath == 4.1.2-5, blockcanvas == 4.0.3-1, chaco == 4.5.0-3, pyface == 4.5.0-1, apptools == 4.3.0-5, mayavi == 4.4.2-1) + - etsdevtools 3.1.1-1 + - etsdevtools 4.0.0-1 + - etsdevtools 4.0.2-1 + - etsproxy 0.1.0-1 + - etsproxy 0.1.1-1 + - etsproxy 0.1.2-1 + - examples 7.1-1; depends (appinst) + - examples 7.1-2; depends (appinst) + - examples 7.2-1; depends (appinst) + - examples 7.3-1; depends (appinst) + - execnet 1.2.0-1 + - execnet 1.4.1-1; depends (gevent ^= 1.0.2, apipkg ^= 1.4) + - expat 2.0.1-1 + - expat 2.0.1-2 + - expat 2.0.1-3 + - fabric 1.10.0-1; depends (paramiko ^= 1.15.1) + - fabric 1.10.1-1; depends (paramiko ^= 1.15.2) + - fabric 1.10.2-1; depends (paramiko ^= 1.16.0) + - fastnumpy 1.0-2; depends (numpy ^= 1.5.1, mkl ^= 10.3) + - fastnumpy 1.0-3; depends (numpy ^= 1.6.1, mkl ^= 10.3) + - fastnumpy 1.0-5; depends (numpy ^= 1.7.1, mkl ^= 10.3) + - fastnumpy 1.0-6; depends (numpy ^= 1.8.0, mkl ^= 10.3) + - fastnumpy 1.0-7; depends (numpy ^= 1.8.1, mkl ^= 10.3) + - fastnumpy 1.0-8; depends (numpy ^= 1.9.2, mkl ^= 10.3) + - faulthandler 2.3-1 + - faulthandler 2.4-1 + - faulthandler 2.4-2 + - feedparser 5.1-1 + - feedparser 5.1.1-1 + - feedparser 5.1.3-1 + - feedparser 5.2.0-1 + - fiona 1.0.2-1; depends (libgdal ^= 1.10.1, libpng ^= 1.2.40, six ^= 1.3.0) + - fiona 1.0.2-2; depends (libgdal ^= 1.10.1, six ^= 1.4.1, libpng ^= 1.2.40) + - fiona 1.0.3-1; depends (libgdal ^= 1.10.1, six ^= 1.4.1, libpng ^= 1.2.40) + - fiona 1.0.3-2; depends (libgdal ^= 1.10.1, six ^= 1.4.1, libpng ^= 1.2.40) + - fiona 1.0.3-3; depends (libpng ^= 1.2.40, libgdal ^= 1.11.0, six ^= 1.4.1) + - fiona 1.0.3-4; depends (six ^= 1.7.2, libpng ^= 1.2.40, libgdal ^= 1.11.0) + - fiona 1.1.5-1; depends (six ^= 1.7.2, libpng ^= 1.2.40, libgdal ^= 1.11.0) + - fiona 1.1.5-2; depends (six ^= 1.7.2, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.1.5-3; depends (six ^= 1.7.2, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.1.5-4; depends (six ^= 1.7.3, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.2.0-5; depends (six ^= 1.7.3, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.2.0-6; depends (six ^= 1.7.3, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.2.0-7; depends (six ^= 1.8.0, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.4.8-1; depends (six ^= 1.8.0, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.4.8-2; depends (six ^= 1.9.0, libgdal ^= 1.11.0, libpng ^= 1.6.12) + - fiona 1.4.8-4; depends (libgdal ^= 1.11.2, six ^= 1.9.0, libpng ^= 1.6.12) + - fiona 1.4.8-5; depends (libgdal ^= 1.11.2, six ^= 1.9.0, libpng ^= 1.6.12) + - fiona 1.4.8-7; depends (six ^= 1.10.0, libgdal ^= 1.11.2, libpng ^= 1.6.12) + - fiona 1.6.2-1; depends (six ^= 1.10.0, libgdal ^= 2.0.1, libpng ^= 1.6.12) + - fipy 2.1-2; depends (distribute, pysparse ^= 1.2.dev213) + - fipy 3.1-1; depends (distribute ^= 0.6.49, pysparse ^= 1.2.dev213) + - fipy 3.1-2; depends (setuptools ^= 14.3.1, pysparse ^= 1.2.dev213) + - fipy 3.1-3; depends (pysparse ^= 1.2.dev213, setuptools ^= 15.1) + - fipy 3.1-4; depends (pysparse ^= 1.2.dev213, setuptools ^= 15.2) + - fipy 3.1-5; depends (setuptools ^= 16.0, pysparse ^= 1.2.dev213) + - fipy 3.1-6; depends (pysparse ^= 1.2.dev213, setuptools ^= 17.1.1) + - fipy 3.1-7; depends (setuptools ^= 18.2, pysparse ^= 1.2.dev213) + - fipy 3.1-8; depends (setuptools ^= 18.4, pysparse ^= 1.2.dev213) + - fipy 3.1-9; depends (setuptools ^= 18.7.1, pysparse ^= 1.2.dev213) + - fipy 3.1-10; depends (setuptools ^= 19.1.1, pysparse ^= 1.2.dev213) + - flake8 2.0.0-1; depends (mccabe ^= 0.2.1, pyflakes ^= 0.7.3, pep8 ^= 1.4.6) + - flake8 2.0.0-2; depends (mccabe ^= 0.2.1, pyflakes ^= 0.7.3, pep8 ^= 1.4.6) + - flake8 2.1.0-1; depends (mccabe ^= 0.2.1, pep8 ^= 1.5.7, pyflakes ^= 0.8.1) + - flake8 2.2.3-1; depends (mccabe ^= 0.2.1, pep8 ^= 1.5.7, pyflakes ^= 0.8.1) + - flake8 2.2.5-1; depends (mccabe ^= 0.2.1, pep8 ^= 1.5.7, pyflakes ^= 0.8.1) + - flake8 2.3.0-1; depends (mccabe ^= 0.3, pep8 ^= 1.6.1, pyflakes ^= 0.8.1) + - flake8 2.3.0-2; depends (mccabe ^= 0.3, pyflakes ^= 0.8.1, pep8 ^= 1.6.2) + - flake8 2.4.1-1; depends (mccabe ^= 0.3, pep8 ^= 1.6.2, pyflakes ^= 0.9.2) + - flake8 2.4.1-2; depends (mccabe ^= 0.3, pyflakes ^= 1.0.0, pep8 ^= 1.6.2) + - flake8 2.4.1-3; depends (mccabe ^= 0.3, pyflakes ^= 1.0.0, pep8 ^= 1.6.2) + - flask 0.10.1-1; depends (werkzeug ^= 0.9.4, itsdangerous ^= 0.23.0, jinja2 ^= 2.6) + - flask 0.10.1-2; depends (werkzeug ^= 0.9.4, itsdangerous ^= 0.23.0, jinja2 ^= 2.7.1) + - flask 0.10.1-3; depends (jinja2 ^= 2.7.3, itsdangerous ^= 0.23.0, werkzeug ^= 0.9.4) + - flask 0.10.1-4; depends (werkzeug ^= 0.9.6, jinja2 ^= 2.7.3, itsdangerous ^= 0.24.0) + - flask 0.10.1-5; depends (werkzeug ^= 0.10.1, jinja2 ^= 2.7.3, itsdangerous ^= 0.24.0) + - flask 0.10.1-6; depends (werkzeug ^= 0.10.4, jinja2 ^= 2.7.3, itsdangerous ^= 0.24.0) + - flask 0.10.1-7; depends (jinja2 ^= 2.8, werkzeug ^= 0.10.4, itsdangerous ^= 0.24.0) + - flask 0.10.1-8; depends (jinja2 ^= 2.8, werkzeug ^= 0.11.2, itsdangerous ^= 0.24.0) + - flask 0.10.1-9; depends (jinja2 ^= 2.8, werkzeug ^= 0.11.3, itsdangerous ^= 0.24.0) + - flask_babel 0.9-1; depends (babel ^= 1.3, speaklater ^= 1.3, jinja2 ^= 2.7.3, flask ^= 0.10.1) + - flask_babel 0.9-2; depends (jinja2 ^= 2.8, babel ^= 2.1.1, speaklater ^= 1.3, flask ^= 0.10.1) + - flask_compress 1.0.2-1; depends (flask ^= 0.10.1) + - flask_compress 1.2.0-1; depends (flask ^= 0.10.1) + - flask_compress 1.3.0-1; depends (flask ^= 0.10.1) + - flask_login 0.2.11-1 + - flask_restful 0.3.2-1; depends (aniso8601 ^= 0.92, flask ^= 0.10.1, pytz ^= 2014.9.0, six ^= 1.9.0) + - flask_restful 0.3.2-2; depends (aniso8601 ^= 0.92, flask ^= 0.10.1, six ^= 1.10.0, pytz ^= 2014.9.0) + - flask_restful 0.3.2-3; depends (aniso8601 ^= 0.92, flask ^= 0.10.1, six ^= 1.10.0, pytz ^= 2015.7) + - flask_restful_swagger 0.19-1; depends (flask_restful ^= 0.3.2) + - flask_restplus 0.7.1-1; depends (flask_restful ^= 0.3.2) + - flask_restplus 0.7.1-2; depends (flask_restful ^= 0.3.2) + - flask_wtf 0.11-1; depends (flask ^= 0.10.1, wtforms ^= 2.0.2) + - foolscap 0.5.1-3; depends (pyopenssl ^= 0.11, twisted ^= 10.2.0) + - foolscap 0.6.1-1; depends (pyopenssl ^= 0.11, twisted ^= 10.2.0) + - foolscap 0.6.1-2; depends (pyopenssl ^= 0.11, twisted ^= 11.0.0) + - foolscap 0.6.1-3; depends (twisted ^= 11.0.0, pyopenssl ^= 0.12) + - foolscap 0.6.2-1; depends (twisted ^= 11.1.0, pyopenssl ^= 0.12) + - foolscap 0.6.3-1; depends (twisted ^= 12.0.0, pyopenssl ^= 0.12) + - foolscap 0.6.3-3; depends (twisted ^= 12.0.0, pyopenssl ^= 0.13.1) + - foolscap 0.6.3-4; depends (twisted ^= 14.0.0, pyopenssl ^= 0.13.1) + - foolscap 0.7.0-1; depends (twisted ^= 14.0.2, pyopenssl ^= 0.13.1) + - foolscap 0.7.0-3; depends (pyopenssl ^= 0.14, twisted ^= 14.0.2) + - foolscap 0.7.0-4; depends (pyopenssl ^= 0.14, twisted ^= 15.1.0) + - foolscap 0.7.0-5; depends (pyopenssl ^= 0.15.1, twisted ^= 15.1.0) + - foolscap 0.7.0-6; depends (pyopenssl ^= 0.15.1, twisted ^= 15.2.1) + - foolscap 0.7.0-7; depends (pyopenssl ^= 0.15.1, twisted ^= 15.4.0) + - foolscap 0.7.0-8; depends (pyopenssl ^= 0.15.1, twisted ^= 15.5.0) + - freeglut 2.4.0-2 + - freeglut 2.6.0-1 + - freeglut 2.8.1-1 + - freetype 2.3.7-1 + - freetype 2.3.11-1 + - freetype 2.4.4-1 + - freetype 2.4.4-4 + - freetype 2.4.4-5 + - freetype 2.5.3-1 + - freetype 2.5.3-2 + - freetype 2.5.3-3; depends (libpng ^= 1.6.12) + - freetype 2.5.3-4; depends (libpng ^= 1.6.12) + - funcsigs 0.4-1 + - future 0.13.1-1 + - future 0.14.1-1 + - future 0.14.2-1 + - future 0.14.3-1 + - future 0.15.2-1 + - futures 2.1.4-1 + - futures 2.1.4-2 + - futures 2.1.6-1 + - futures 2.2.0-1 + - futures 3.0.3-1 + - fwrap 0.1.1-1; depends (cython ^= 0.14.1, numpy ^= 1.5.1) + - fwrap 0.1.1-2; depends (cython ^= 0.14.1, numpy) + - fwrap 0.1.1-3; depends (cython, numpy) + - fwrap 0.1.1-4; depends (cython, numpy) + - fwrap 0.1.1-5; depends (cython, numpy) + - fwrap 0.1.1-6; depends (cython, numpy) + - fwrap 0.1.1-8; depends (cython, numpy) + - fwrap 0.1.1-9; depends (cython, numpy) + - fwrap 0.1.1-10; depends (cython, numpy) + - fwrap 0.1.1-11; depends (cython, numpy) + - fwrap 0.1.1-12; depends (cython, numpy) + - fwrap 0.1.1-13; depends (cython, numpy) + - fwrap 0.1.1-14; depends (cython, numpy) + - fwrap 0.1.1-15; depends (cython, numpy) + - fwrap 0.1.1-16; depends (cython, numpy) + - gdal 1.7.1-1; depends (numpy, libgdal ^= 1.7.2) + - gdal 1.8.1-1; depends (numpy ^= 1.6.1, libgdal ^= 1.8.1) + - gdal 1.8.1-2; depends (numpy ^= 1.6.1, libgdal ^= 1.8.1) + - gdal 1.9.0-3; depends (numpy ^= 1.7.1, libgdal ^= 1.9.0) + - gdal 1.10.0-1; depends (numpy ^= 1.7.1, libgdal ^= 1.10.0) + - gdal 1.10.0-2; depends (numpy ^= 1.7.1, libgdal ^= 1.10.1) + - gdal 1.10.0-3; depends (libgdal ^= 1.10.1, numpy ^= 1.8.0) + - gdal 1.10.0-4; depends (libgdal ^= 1.10.1, numpy ^= 1.8.0) + - gdal 1.10.0-5; depends (numpy ^= 1.8.0, libgdal ^= 1.11.0) + - gdal 1.10.0-6; depends (numpy ^= 1.8.0, libgdal ^= 1.11.0) + - gdal 1.11.0-1; depends (numpy ^= 1.8.0, libgdal ^= 1.11.0) + - gdal 1.11.0-2; depends (numpy ^= 1.8.0, libgdal ^= 1.11.0) + - gdal 1.11.0-3; depends (numpy ^= 1.8.1, libgdal ^= 1.11.0) + - gdal 1.11.0-4; depends (numpy ^= 1.8.1, libgdal ^= 1.11.0) + - gdal 1.11.0-5; depends (numpy ^= 1.8.1, libgdal ^= 1.11.0) + - gdal 1.11.1-1; depends (numpy ^= 1.8.1, libgdal ^= 1.11.0) + - gdal 1.11.2-1; depends (numpy ^= 1.8.1, libgdal ^= 1.11.2) + - gdal 1.11.2-2; depends (numpy ^= 1.9.2, libgdal ^= 1.11.2) + - gdal 1.11.2-4; depends (numpy ^= 1.9.2, libgdal ^= 1.11.2) + - gdal 2.0.1-1; depends (numpy ^= 1.9.2, libgdal ^= 2.0.1) + - gdata 2.0.18-1 + - geojson 1.0.8-1 + - geos 3.4.2-1 + - geos 3.5.0-1 + - gevent 0.13.8-1; depends (libevent ^= 2.0.21, greenlet ^= 0.4.1) + - gevent 1.0.0-1; depends (greenlet ^= 0.4.2) + - gevent 1.0.1-1; depends (greenlet ^= 0.4.2) + - gevent 1.0.1-2; depends (greenlet ^= 0.4.4) + - gevent 1.0.1-3; depends (greenlet ^= 0.4.4) + - gevent 1.0.1-4; depends (greenlet ^= 0.4.5) + - gevent 1.0.1-5; depends (greenlet ^= 0.4.6) + - gevent 1.0.2-1; depends (greenlet ^= 0.4.9) + - gevent_websocket 0.9.3-1 + - gitdb 0.6.4-1; depends (smmap ^= 0.9.0) + - gitpython 1.0.0-1; depends (gitdb ^= 0.6.4) + - glib 2.36.1-1; depends (libffi ^= 3.0.13, libxml2 ^= 2.7.8) + - glib 2.36.1-2; depends (libffi ^= 3.0.13, libxml2 ^= 2.9.2) + - gmp 5.0.0-1 + - gmp 5.0.1-1 + - gmpy 1.11-1; depends (gmp ^= 5.0.0) + - gmpy 1.11-2; depends (gmp ^= 5.0.1) + - gmpy 1.11-3; depends (gmp ^= 5.0.1) + - gnureadline 6.2.5-1; depends (libncurses ^= 5.9) + - gnureadline 6.3.3-1; depends (libncurses ^= 5.9) + - googlecl 0.9.12-1 + - graphcanvas 3.0.0-1; depends (networkx ^= 1.4, enable ^= 3.4.0) + - graphcanvas 4.0.0-1; depends (networkx ^= 1.5, enable ^= 4.0.0) + - graphcanvas 4.0.0-2; depends (enable ^= 4.1.0, networkx ^= 1.6) + - graphcanvas 4.0.0-3; depends (networkx ^= 1.6, enable ^= 4.2.0) + - graphcanvas 4.0.2-1; depends (enable ^= 4.3.0, networkx ^= 1.6) + - graphcanvas 4.0.2-2; depends (networkx ^= 1.8.1, enable ^= 4.3.0) + - graphcanvas 4.0.2-3; depends (enable ^= 4.4.1, networkx ^= 1.8.1) + - graphcanvas 4.0.2-4; depends (enable ^= 4.4.1, networkx ^= 1.9) + - graphcanvas 4.0.2-5; depends (enable ^= 4.4.1, networkx ^= 1.9.1) + - graphcanvas 4.0.2-6; depends (enable ^= 4.5.1, networkx ^= 1.9.1) + - graphcanvas 4.0.2-7; depends (enable ^= 4.5.1, networkx ^= 1.10) + - greenlet 0.4.1-1 + - greenlet 0.4.2-1 + - greenlet 0.4.4-1 + - greenlet 0.4.4-2 + - greenlet 0.4.5-1 + - greenlet 0.4.6-1 + - greenlet 0.4.9-1 + - grib_api 1.9.9-1 + - grin 1.2.1-2 + - gst_plugins_base 0.10.36-2; depends (libtheora ^= 1.1.1, gstreamer ^= 0.10.36) + - gstreamer 0.10.36-1; depends (libxml2 ^= 2.7.8, glib ^= 2.36.1) + - gstreamer 0.10.36-2; depends (libxml2 ^= 2.7.8, glib ^= 2.36.1) + - gstreamer 0.10.36-3; depends (libxml2 ^= 2.9.2, glib ^= 2.36.1) + - gunicorn 18.0-1; depends (gevent ^= 1.0.0, greenlet ^= 0.4.2) + - gunicorn 19.1.0-1; depends (gevent ^= 1.0.1, greenlet ^= 0.4.2) + - gunicorn 19.1.1-1; depends (gevent ^= 1.0.1, greenlet ^= 0.4.4) + - gunicorn 19.1.1-3; depends (gevent ^= 1.0.1, greenlet ^= 0.4.5) + - gunicorn 19.3.0-1; depends (gevent ^= 1.0.1, greenlet ^= 0.4.5) + - gunicorn 19.3.0-2; depends (greenlet ^= 0.4.6, gevent ^= 1.0.1) + - gunicorn 19.3.0-3; depends (greenlet ^= 0.4.6, gevent ^= 1.0.1) + - gunicorn 19.3.0-4; depends (greenlet ^= 0.4.6, gevent ^= 1.0.1) + - gunicorn 19.4.1-1; depends (gevent ^= 1.0.2, greenlet ^= 0.4.9) + - h5py 1.3.1-1; depends (numpy ^= 1.5.1) + - h5py 1.3.1-2; depends (numpy ^= 1.6.0) + - h5py 2.0.0-1; depends (numpy ^= 1.6.1, hdf5 ^= 1.8.5.1) + - h5py 2.0.0-2; depends (hdf5 ^= 1.8.9, numpy ^= 1.6.1) + - h5py 2.1.3-2; depends (hdf5 ^= 1.8.9, numpy ^= 1.7.1) + - h5py 2.2.0-1; depends (numpy ^= 1.7.1, hdf5 ^= 1.8.11) + - h5py 2.2.0-2; depends (numpy ^= 1.8.0, hdf5 ^= 1.8.11) + - h5py 2.2.1-1; depends (numpy ^= 1.8.0, hdf5 ^= 1.8.11) + - h5py 2.3.0-1; depends (numpy ^= 1.8.0, hdf5 ^= 1.8.11) + - h5py 2.3.0-2; depends (numpy ^= 1.8.1, hdf5 ^= 1.8.11) + - h5py 2.3.1-1; depends (numpy ^= 1.8.1, hdf5 ^= 1.8.11) + - h5py 2.4.0-1; depends (numpy ^= 1.8.1, hdf5 ^= 1.8.11) + - h5py 2.4.0-2; depends (numpy ^= 1.8.1, hdf5 ^= 1.8.14) + - h5py 2.5.0-1; depends (numpy ^= 1.8.1, hdf5 ^= 1.8.14) + - h5py 2.5.0-2; depends (numpy ^= 1.9.2, hdf5 ^= 1.8.14) + - h5py 2.5.0-3; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2) + - h5py 2.5.0-4; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2) + - haas 0.6.0-1; depends (stevedore ^= 1.1.0, enum34 ^= 1.0.4) + - haas 0.6.0-2; depends (stevedore ^= 1.2.0, enum34 ^= 1.0.4) + - haas 0.6.0-3; depends (stevedore ^= 1.2.0, six ^= 1.9.0, enum34 ^= 1.0.4) + - haas 0.6.2-1; depends (stevedore ^= 1.2.0, six ^= 1.9.0, enum34 ^= 1.0.4) + - haas 0.6.2-2; depends (stevedore ^= 1.2.0, six ^= 1.9.0, enum34 ^= 1.0.4) + - haas 0.6.2-3; depends (stevedore ^= 1.2.0, six ^= 1.10.0, enum34 ^= 1.0.4) + - haas 0.6.2-4; depends (stevedore ^= 1.2.0, six ^= 1.10.0, enum34 ^= 1.1.1) + - hatcher 0.4.2-1; depends (okonomiyaki ^= 0.3.3, pyyaml ^= 3.11, click ^= 3.3, tabulate ^= 0.7.3, clint ^= 0.4.1, requests ^= 2.5.0, six ^= 1.8.0) + - hatcher 0.4.2-2; depends (clint ^= 0.4.1, okonomiyaki ^= 0.3.3, pyyaml ^= 3.11, tabulate ^= 0.7.3, requests ^= 2.5.1, click ^= 3.3, six ^= 1.8.0) + - hatcher 0.4.2-3; depends (clint ^= 0.4.1, okonomiyaki ^= 0.3.3, pyyaml ^= 3.11, requests ^= 2.5.1, click ^= 3.3, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.4.2-4; depends (okonomiyaki ^= 0.3.3, pyyaml ^= 3.11, requests ^= 2.5.3, clint ^= 0.4.1, click ^= 3.3, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.5.0-1; depends (okonomiyaki ^= 0.3.3, pyyaml ^= 3.11, requests ^= 2.5.3, clint ^= 0.4.1, click ^= 3.3, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.5.0-2; depends (requests ^= 2.6.0, okonomiyaki ^= 0.3.3, pyyaml ^= 3.11, clint ^= 0.4.1, click ^= 3.3, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.6.0-1; depends (requests ^= 2.6.0, okonomiyaki ^= 0.3.3, pyyaml ^= 3.11, clint ^= 0.4.1, click ^= 3.3, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.6.0-2; depends (requests ^= 2.6.0, pyyaml ^= 3.11, clint ^= 0.4.1, click ^= 3.3, tabulate ^= 0.7.3, okonomiyaki ^= 0.5.0, six ^= 1.9.0) + - hatcher 0.7.0-1; depends (requests ^= 2.6.0, pyyaml ^= 3.11, clint ^= 0.4.1, click ^= 3.3, tabulate ^= 0.7.3, okonomiyaki ^= 0.5.0, six ^= 1.9.0) + - hatcher 0.7.3-1; depends (requests ^= 2.6.0, click ^= 4.0, pyyaml ^= 3.11, clint ^= 0.4.1, tabulate ^= 0.7.3, okonomiyaki ^= 0.5.0, six ^= 1.9.0) + - hatcher 0.8.0-1; depends (requests ^= 2.6.0, click ^= 4.0, pyyaml ^= 3.11, tabulate ^= 0.7.3, okonomiyaki ^= 0.5.0, six ^= 1.9.0) + - hatcher 0.8.1-1; depends (requests ^= 2.6.0, click ^= 4.0, pyyaml ^= 3.11, okonomiyaki ^= 0.5.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.1-2; depends (requests ^= 2.6.0, click ^= 4.0, pyyaml ^= 3.11, okonomiyaki ^= 0.5.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.1-3; depends (requests ^= 2.6.2, click ^= 4.0, pyyaml ^= 3.11, okonomiyaki ^= 0.5.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.2-1; depends (requests ^= 2.6.2, click ^= 4.0, pyyaml ^= 3.11, okonomiyaki ^= 0.5.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.2-2; depends (requests ^= 2.7.0, click ^= 4.0, pyyaml ^= 3.11, okonomiyaki ^= 0.5.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.3-1; depends (requests ^= 2.7.0, click ^= 4.0, pyyaml ^= 3.11, okonomiyaki ^= 0.5.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.4-1; depends (requests ^= 2.7.0, click ^= 4.0, pyyaml ^= 3.11, okonomiyaki ^= 0.7.0, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.4-2; depends (okonomiyaki ^= 0.8.0, click ^= 4.0, pyyaml ^= 3.11, tabulate ^= 0.7.3, six ^= 1.9.0, requests ^= 2.7.0) + - hatcher 0.8.5-1; depends (okonomiyaki ^= 0.9.0, requests ^= 2.7.0, click ^= 4.0, pyyaml ^= 3.11, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.7-1; depends (okonomiyaki ^= 0.9.0, requests ^= 2.7.0, click ^= 4.0, pyyaml ^= 3.11, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.7-2; depends (okonomiyaki ^= 0.9.0, requests ^= 2.7.0, click ^= 4.1, pyyaml ^= 3.11, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.8-1; depends (requests ^= 2.7.0, click ^= 4.1, pyyaml ^= 3.11, okonomiyaki ^= 0.12.0, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.8-2; depends (requests ^= 2.7.0, click ^= 4.1, pyyaml ^= 3.11, okonomiyaki ^= 0.13.0, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.8-3; depends (requests ^= 2.7.0, click ^= 4.1, pyyaml ^= 3.11, okonomiyaki ^= 0.13.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.8-4; depends (click ^= 4.1, requests ^= 2.8.0, pyyaml ^= 3.11, okonomiyaki ^= 0.13.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.8-5; depends (click ^= 4.1, requests ^= 2.8.0, pyyaml ^= 3.11, okonomiyaki ^= 0.13.1, tabulate ^= 0.7.3, six ^= 1.9.0) + - hatcher 0.8.8-6; depends (click ^= 4.1, requests ^= 2.8.0, pyyaml ^= 3.11, okonomiyaki ^= 0.13.1, tabulate ^= 0.7.3, six ^= 1.10.0) + - hatcher 0.9.0-1; depends (click ^= 4.1, requests ^= 2.8.0, pyyaml ^= 3.11, okonomiyaki ^= 0.13.1, tabulate ^= 0.7.3, six ^= 1.10.0) + - hatcher 0.9.1-1; depends (click ^= 4.1, requests ^= 2.8.0, pyyaml ^= 3.11, okonomiyaki ^= 0.14.0, tabulate ^= 0.7.3, six ^= 1.10.0) + - hatcher 0.9.1-2; depends (click ^= 4.1, six ^= 1.10.0, requests ^= 2.9.0, okonomiyaki ^= 0.14.0, tabulate ^= 0.7.3, pyyaml ^= 3.11) + - hatcher 0.9.2-1; depends (six ^= 1.10.0, requests ^= 2.9.0, okonomiyaki ^= 0.14.0, click ^= 6.2, tabulate ^= 0.7.3, pyyaml ^= 3.11) + - hdf4 4.2r3-1 + - hdf5 1.8.1-1 + - hdf5 1.8.3-1 + - hdf5 1.8.4-1 + - hdf5 1.8.5.1-1 + - hdf5 1.8.5.1-2 + - hdf5 1.8.9-1 + - hdf5 1.8.9-4 + - hdf5 1.8.11-1 + - hdf5 1.8.14-1 + - hdf5 1.8.15.1-1 + - heapdict 1.0.0-1 + - heapdict 1.0.0-2 + - hello_world 1.0-1 + - html5lib 0.90-2 + - html5lib 0.95-1 + - html5lib 0.999-1 + - htmltemplate 1.5.0-1 + - htmltemplate 1.5.0-2 + - httpbin 0.4.0-1; depends (decorator ^= 4.0.4, flask ^= 0.10.1, six ^= 1.10.0, markupsafe ^= 0.23, itsdangerous ^= 0.24.0) + - httpretty 0.8.10-1 + - humanize 0.5.1-1 + - hypothesis 1.12.0-1 + - idle 2.7.1-1; depends (appinst) + - idle 2.7.2-1; depends (appinst) + - idle 2.7.2-2; depends (appinst) + - idle 2.7.3-1; depends (appinst) + - idna 2.0-1 + - into 0.1.3-1; depends (numpy ^= 1.8.1, datashape ^= 0.4.2, pytables ^= 3.1.1, pandas ^= 0.15.2, toolz ^= 0.7.1, sqlalchemy ^= 0.9.8, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, multipledispatch ^= 0.4.7) + - into 0.1.4-1; depends (numpy ^= 1.8.1, datashape ^= 0.4.2, pytables ^= 3.1.1, pandas ^= 0.15.2, toolz ^= 0.7.1, sqlalchemy ^= 0.9.8, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, multipledispatch ^= 0.4.7) + - into 0.1.4-2; depends (numpy ^= 1.8.1, datashape ^= 0.4.2, pytables ^= 3.1.1, pandas ^= 0.15.2, toolz ^= 0.7.1, sqlalchemy ^= 0.9.8, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, multipledispatch ^= 0.4.7) + - into 0.2.1-1; depends (numpy ^= 1.8.1, datashape ^= 0.4.2, pytables ^= 3.1.1, pandas ^= 0.15.2, toolz ^= 0.7.1, sqlalchemy ^= 0.9.8, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, multipledispatch ^= 0.4.7) + - into 0.2.2-1; depends (numpy ^= 1.8.1, datashape ^= 0.4.3, multipledispatch ^= 0.4.7, pandas ^= 0.15.2, toolz ^= 0.7.1, sqlalchemy ^= 0.9.8, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, pytables ^= 3.1.1) + - into 0.2.2-2; depends (numpy ^= 1.8.1, datashape ^= 0.4.3, multipledispatch ^= 0.4.7, pandas ^= 0.15.2, toolz ^= 0.7.1, sqlalchemy ^= 0.9.8, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, pytables ^= 3.1.1) + - into 0.2.2-3; depends (numpy ^= 1.8.1, datashape ^= 0.4.3, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, sqlalchemy ^= 0.9.8, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, pytables ^= 3.1.1, pandas ^= 0.16.0) + - into 0.2.2-4; depends (numpy ^= 1.8.1, datashape ^= 0.4.3, multipledispatch ^= 0.4.7, toolz ^= 0.7.1, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, pytables ^= 3.1.1, pandas ^= 0.16.0, sqlalchemy ^= 0.9.9) + - ipaddress 1.0.7-1 + - ipaddress 1.0.15-1 + - ipykernel 4.0.3-2; depends (traitlets ^= 4.0.0, jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0) + - ipykernel 4.1.0-1; depends (traitlets ^= 4.0.0, jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0) + - ipykernel 4.1.0-2; depends (traitlets ^= 4.0.0, jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0) + - ipykernel 4.1.0-3; depends (traitlets ^= 4.0.0, jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0) + - ipykernel 4.1.0-4; depends (traitlets ^= 4.0.0, jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0) + - ipykernel 4.2.0-1; depends (traitlets ^= 4.0.0, ipython4 ^= 4.0.1, jupyter_client ^= 4.1.1) + - ipyparallel 4.0.2-1; depends (pyzmq ^= 14.7.0, decorator ^= 4.0.2, ipykernel ^= 4.1.0, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0) + - ipyparallel 4.1.0-1; depends (decorator ^= 4.0.4, pyzmq ^= 14.7.0, ipython_genutils ^= 0.1.0, ipython4 ^= 4.0.1, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - ipyparallel 4.1.0-2; depends (decorator ^= 4.0.4, pyzmq ^= 15.1.0, ipython_genutils ^= 0.1.0, ipython4 ^= 4.0.1, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - ipython 0.10.1-2; depends (appinst) + - ipython 0.10.2-1; depends (appinst) + - ipython 0.10.2-2; depends (appinst) + - ipython 0.11rc1-1; depends (appinst) + - ipython 0.11rc4-1; depends (appinst) + - ipython 0.11-1; depends (appinst) + - ipython 0.12rc1-1; depends (appinst) + - ipython 0.12-1; depends (appinst) + - ipython 0.12-2; depends (appinst) + - ipython 0.12.1-1; depends (appinst) + - ipython 0.12.1-2; depends (appinst) + - ipython 0.12.1-3; depends (appinst) + - ipython 0.13.1-1; depends (appinst) + - ipython 0.13.1-2; depends (appinst) + - ipython 1.0.0-1; depends (pyzmq ^= 2.2.0, appinst, tornado ^= 2.2, pygments ^= 1.6.0, jinja2 ^= 2.6) + - ipython 1.0.0-2; depends (pyzmq ^= 2.2.0, appinst, tornado ^= 2.2, pygments ^= 1.6.0, jinja2 ^= 2.6) + - ipython 1.1.0-1; depends (pyzmq ^= 2.2.0, appinst, tornado ^= 2.2, pygments ^= 1.6.0, jinja2 ^= 2.6) + - ipython 1.1.0-2; depends (pyzmq ^= 2.2.0, appinst, pygments ^= 1.6.0, jinja2 ^= 2.6, tornado ^= 3.1.1) + - ipython 1.1.0-3; depends (pyzmq ^= 2.2.0, appinst, pygments ^= 1.6.0, jinja2 ^= 2.7.1, tornado ^= 3.1.1) + - ipython 1.1.0-6; depends (pyzmq ^= 2.2.0, appinst, pygments ^= 1.6.0, jinja2 ^= 2.7.1, tornado ^= 3.1.1) + - ipython 1.2.1-2; depends (pyzmq ^= 2.2.0, appinst, pygments ^= 1.6.0, jinja2 ^= 2.7.1, tornado ^= 3.1.1) + - ipython 1.2.1-3; depends (appinst, pyzmq ^= 14.1.1, pygments ^= 1.6.0, jinja2 ^= 2.7.1, tornado ^= 3.1.1) + - ipython 2.0.0-1; depends (appinst, pyzmq ^= 14.1.1, pygments ^= 1.6.0, jinja2 ^= 2.7.1, tornado ^= 3.1.1) + - ipython 2.1.0-1; depends (appinst, pyzmq ^= 14.1.1, pygments ^= 1.6.0, jinja2 ^= 2.7.1, tornado ^= 3.1.1) + - ipython 2.1.0-2; depends (appinst, pyzmq ^= 14.1.1, jinja2 ^= 2.7.3, pygments ^= 1.6.0, tornado ^= 3.1.1) + - ipython 2.1.0-3; depends (tornado ^= 3.2.2, appinst, pyzmq ^= 14.1.1, jinja2 ^= 2.7.3, pygments ^= 1.6.0) + - ipython 2.1.0-6; depends (pyzmq ^= 14.3.1, tornado ^= 3.2.2, appinst, jinja2 ^= 2.7.3, pygments ^= 1.6.0) + - ipython 2.2.0-1; depends (pyzmq ^= 14.3.1, tornado ^= 3.2.2, appinst, jinja2 ^= 2.7.3, pygments ^= 1.6.0) + - ipython 2.2.0-2; depends (pyzmq ^= 14.3.1, appinst, jinja2 ^= 2.7.3, pygments ^= 1.6.0, tornado ^= 4.0.1) + - ipython 2.2.0-3; depends (pyzmq ^= 14.3.1, tornado ^= 4.0.2, appinst, jinja2 ^= 2.7.3, pygments ^= 1.6.0) + - ipython 2.3.0-1; depends (pyzmq ^= 14.3.1, tornado ^= 4.0.2, appinst, jinja2 ^= 2.7.3, pygments ^= 1.6.0) + - ipython 2.3.1-1; depends (pyzmq ^= 14.3.1, tornado ^= 4.0.2, appinst, jinja2 ^= 2.7.3, pygments ^= 2.0.1) + - ipython 2.3.1-2; depends (tornado ^= 4.0.2, appinst, pyzmq ^= 14.4.1, jinja2 ^= 2.7.3, pygments ^= 2.0.1) + - ipython 2.3.1-3; depends (tornado ^= 4.0.2, appinst, pyzmq ^= 14.4.1, jinja2 ^= 2.7.3, pygments ^= 2.0.2) + - ipython 2.3.1-4; depends (tornado ^= 4.0.2, appinst, jinja2 ^= 2.7.3, pygments ^= 2.0.2, pyzmq ^= 14.5.0) + - ipython 2.4.1-1; depends (appinst, tornado ^= 4.1, jinja2 ^= 2.7.3, pygments ^= 2.0.2, pyzmq ^= 14.5.0) + - ipython 3.0.0-1; depends (jsonschema ^= 2.4.0, appinst, jinja2 ^= 2.7.3, terminado ^= 0.5, mistune ^= 0.5, pyzmq ^= 14.5.0, pygments ^= 2.0.2, tornado ^= 4.1) + - ipython 3.0.0-2; depends (jsonschema ^= 2.4.0, appinst, jinja2 ^= 2.7.3, terminado ^= 0.5, mistune ^= 0.5, pyzmq ^= 14.5.0, pygments ^= 2.0.2, tornado ^= 4.1) + - ipython 3.0.0-3; depends (jsonschema ^= 2.4.0, appinst, jinja2 ^= 2.7.3, terminado ^= 0.5, mistune ^= 0.5.1, pyzmq ^= 14.5.0, pygments ^= 2.0.2, tornado ^= 4.1) + - ipython 3.1.0-1; depends (jsonschema ^= 2.4.0, appinst, jinja2 ^= 2.7.3, terminado ^= 0.5, mistune ^= 0.5.1, pyzmq ^= 14.5.0, pygments ^= 2.0.2, tornado ^= 4.1) + - ipython 3.1.0-2; depends (pyzmq ^= 14.6.0, jsonschema ^= 2.4.0, appinst, jinja2 ^= 2.7.3, terminado ^= 0.5, mistune ^= 0.5.1, pygments ^= 2.0.2, tornado ^= 4.1) + - ipython 3.2.0-1; depends (jsonschema ^= 2.4.0, appinst, jinja2 ^= 2.7.3, pyzmq ^= 14.7.0, terminado ^= 0.5, mistune ^= 0.6, tornado ^= 4.2, pygments ^= 2.0.2) + - ipython 3.2.1-1; depends (jsonschema ^= 2.4.0, appinst, jinja2 ^= 2.7.3, pyzmq ^= 14.7.0, terminado ^= 0.5, mistune ^= 0.6, tornado ^= 4.2, pygments ^= 2.0.2) + - ipython 4.0.0-2; depends (jupyter ^= 1.0.0) + - ipython 4.0.0-3; depends (jupyter ^= 1.0.0) + - ipython4 4.0.0-2; depends (traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, decorator ^= 4.0.2, simplegeneric ^= 0.8.1, pexpect ^= 3.3, gnureadline ^= 6.2.5) + - ipython4 4.0.0-3; depends (traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, decorator ^= 4.0.2, simplegeneric ^= 0.8.1, gnureadline ^= 6.2.5) + - ipython4 4.0.0-4; depends (traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, decorator ^= 4.0.2, simplegeneric ^= 0.8.1, pexpect ^= 3.3, gnureadline ^= 6.2.5) + - ipython4 4.0.0-5; depends (traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, decorator ^= 4.0.2, simplegeneric ^= 0.8.1, gnureadline ^= 6.3.3, pexpect ^= 3.3) + - ipython4 4.0.0-7; depends (traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, decorator ^= 4.0.2, simplegeneric ^= 0.8.1, gnureadline ^= 6.3.3, pexpect ^= 3.3) + - ipython4 4.0.0-8; depends (traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, decorator ^= 4.0.2, simplegeneric ^= 0.8.1, gnureadline ^= 6.3.3, pexpect ^= 3.3) + - ipython4 4.0.0-9; depends (traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, decorator ^= 4.0.2, simplegeneric ^= 0.8.1, gnureadline ^= 6.3.3, pexpect ^= 3.3) + - ipython4 4.0.1-1; depends (decorator ^= 4.0.4, traitlets ^= 4.0.0, appinst, pickleshare ^= 0.5, simplegeneric ^= 0.8.1, gnureadline ^= 6.3.3, pexpect ^= 3.3) + - ipython_genutils 0.1.0-1 + - ipywidgets 4.0.2-2; depends (ipython_genutils ^= 0.1.0, traitlets ^= 4.0.0, ipython4 ^= 4.0.0, notebook ^= 4.0.4, ipykernel ^= 4.0.3) + - ipywidgets 4.0.3-1; depends (ipython_genutils ^= 0.1.0, traitlets ^= 4.0.0, ipython4 ^= 4.0.0, notebook ^= 4.0.5, ipykernel ^= 4.0.3) + - ipywidgets 4.0.3-2; depends (ipython_genutils ^= 0.1.0, ipykernel ^= 4.1.0, ipython4 ^= 4.0.0, notebook ^= 4.0.5, traitlets ^= 4.0.0) + - ipywidgets 4.1.1-1; depends (ipython_genutils ^= 0.1.0, traitlets ^= 4.0.0, ipython4 ^= 4.0.1, ipykernel ^= 4.2.0, notebook ^= 4.0.6) + - iris 1.6.1-1; depends (numpy ^= 1.8.0, libudunits ^= 2.2.11, scipy ^= 0.14.0, matplotlib ^= 1.3.1, gdal ^= 1.10.0, pandas ^= 0.14.0, shapely ^= 1.2.17, pygrib ^= 1.9.2, pyke ^= 1.1.1, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.0.7, cartopy ^= 0.10.0) + - iris 1.6.1-2; depends (numpy ^= 1.8.0, libudunits ^= 2.2.11, scipy ^= 0.14.0, gdal ^= 1.11.0, matplotlib ^= 1.3.1, pandas ^= 0.14.0, pygrib ^= 1.9.2, pyke ^= 1.1.1, pil ^= 1.1.7, expat ^= 2.0.1, shapely ^= 1.2.17, cartopy ^= 0.10.0, netcdf4 ^= 1.1.0) + - iris 1.6.1-3; depends (numpy ^= 1.8.0, libudunits ^= 2.2.11, gdal ^= 1.11.0, matplotlib ^= 1.3.1, pandas ^= 0.14.0, scipy ^= 0.14.0, pyke ^= 1.1.1, pil ^= 1.1.7, expat ^= 2.0.1, shapely ^= 1.2.17, cartopy ^= 0.10.0, pygrib ^= 1.9.9, netcdf4 ^= 1.1.0) + - iris 1.6.1-4; depends (numpy ^= 1.8.0, libudunits ^= 2.2.11, gdal ^= 1.11.0, matplotlib ^= 1.3.1, pandas ^= 0.14.0, scipy ^= 0.14.0, pyke ^= 1.1.1, shapely ^= 1.3.2, pil ^= 1.1.7, expat ^= 2.0.1, cartopy ^= 0.10.0, pygrib ^= 1.9.9, netcdf4 ^= 1.1.0) + - iris 1.6.1-6; depends (numpy ^= 1.8.0, libudunits ^= 2.2.11, gdal ^= 1.11.0, matplotlib ^= 1.3.1, pandas ^= 0.14.1, scipy ^= 0.14.0, pyke ^= 1.1.1, shapely ^= 1.3.2, pil ^= 1.1.7, expat ^= 2.0.1, cartopy ^= 0.10.0, pygrib ^= 1.9.9, netcdf4 ^= 1.1.0) + - iris 1.6.1-8; depends (numpy ^= 1.8.1, libudunits ^= 2.2.11, scipy ^= 0.14.0, gdal ^= 1.11.0, shapely ^= 1.3.2, pandas ^= 0.14.1, matplotlib ^= 1.4.0, pyke ^= 1.1.1, pil ^= 1.1.7, expat ^= 2.0.1, cartopy ^= 0.10.0, pygrib ^= 1.9.9, netcdf4 ^= 1.1.0) + - iris 1.6.1-9; depends (numpy ^= 1.8.1, libudunits ^= 2.2.11, scipy ^= 0.14.0, gdal ^= 1.11.0, shapely ^= 1.3.2, pandas ^= 0.14.1, matplotlib ^= 1.4.0, pyke ^= 1.1.1, pil ^= 1.1.7, expat ^= 2.0.1, cartopy ^= 0.10.0, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9) + - iris 1.7.1-1; depends (numpy ^= 1.8.1, biggus ^= 0.7.0, libudunits ^= 2.2.11, scipy ^= 0.14.0, gdal ^= 1.11.0, shapely ^= 1.3.2, pandas ^= 0.14.1, matplotlib ^= 1.4.0, pyke ^= 1.1.1, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9) + - iris 1.7.1-2; depends (numpy ^= 1.8.1, biggus ^= 0.7.0, libudunits ^= 2.2.11, scipy ^= 0.14.0, gdal ^= 1.11.0, pandas ^= 0.14.1, matplotlib ^= 1.4.0, pyke ^= 1.1.1, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, shapely ^= 1.4.1, pygrib ^= 1.9.9) + - iris 1.7.1-3; depends (numpy ^= 1.8.1, biggus ^= 0.7.0, libudunits ^= 2.2.11, scipy ^= 0.14.0, gdal ^= 1.11.0, pyke ^= 1.1.1, matplotlib ^= 1.4.0, pandas ^= 0.15.0, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, shapely ^= 1.4.1, pygrib ^= 1.9.9) + - iris 1.7.1-4; depends (numpy ^= 1.8.1, biggus ^= 0.7.0, libudunits ^= 2.2.11, gdal ^= 1.11.0, pyke ^= 1.1.1, scipy ^= 0.14.0, pandas ^= 0.15.0, matplotlib ^= 1.4.2, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, shapely ^= 1.4.1, pygrib ^= 1.9.9) + - iris 1.7.1-5; depends (numpy ^= 1.8.1, biggus ^= 0.7.0, libudunits ^= 2.2.11, gdal ^= 1.11.1, pyke ^= 1.1.1, scipy ^= 0.14.0, pandas ^= 0.15.0, matplotlib ^= 1.4.2, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, shapely ^= 1.4.1, pygrib ^= 1.9.9) + - iris 1.7.1-7; depends (numpy ^= 1.8.1, biggus ^= 0.7.0, libudunits ^= 2.2.11, gdal ^= 1.11.1, pandas ^= 0.15.1, scipy ^= 0.14.0, pyke ^= 1.1.1, matplotlib ^= 1.4.2, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.1-8; depends (numpy ^= 1.8.1, biggus ^= 0.7.0, libudunits ^= 2.2.11, gdal ^= 1.11.1, pandas ^= 0.15.2, scipy ^= 0.14.0, pyke ^= 1.1.1, matplotlib ^= 1.4.2, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.3-1; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, shapely ^= 1.5.1, biggus ^= 0.7.0, gdal ^= 1.11.1, pandas ^= 0.15.2, scipy ^= 0.14.0, pyke ^= 1.1.1, matplotlib ^= 1.4.2, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9) + - iris 1.7.3-2; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, shapely ^= 1.5.1, biggus ^= 0.7.0, gdal ^= 1.11.1, scipy ^= 0.14.1rc1, pandas ^= 0.15.2, pyke ^= 1.1.1, matplotlib ^= 1.4.2, cartopy ^= 0.11.0, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9) + - iris 1.7.3-3; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, gdal ^= 1.11.1, scipy ^= 0.14.1rc1, pandas ^= 0.15.2, pyke ^= 1.1.1, matplotlib ^= 1.4.2, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.3-4; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, gdal ^= 1.11.1, scipy ^= 0.15.1, pandas ^= 0.15.2, pyke ^= 1.1.1, matplotlib ^= 1.4.2, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.3-5; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, gdal ^= 1.11.1, pyke ^= 1.1.1, scipy ^= 0.15.1, pandas ^= 0.15.2, matplotlib ^= 1.4.3, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.3-6; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, gdal ^= 1.11.2, pyke ^= 1.1.1, scipy ^= 0.15.1, pandas ^= 0.15.2, matplotlib ^= 1.4.3, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.3-7; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, gdal ^= 1.11.2, pyke ^= 1.1.1, pygrib ^= 1.9.9, scipy ^= 0.15.1, matplotlib ^= 1.4.3, pil ^= 1.1.7, expat ^= 2.0.1, netcdf4 ^= 1.1.1, pandas ^= 0.16.0, shapely ^= 1.5.1) + - iris 1.7.3-8; depends (libudunits ^= 2.2.17, numpy ^= 1.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, netcdf4 ^= 1.1.7.1, gdal ^= 1.11.2, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, pil ^= 1.1.7, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.0, shapely ^= 1.5.1) + - iris 1.7.3-9; depends (libudunits ^= 2.2.17, cartopy ^= 0.11.2, biggus ^= 0.7.0, netcdf4 ^= 1.1.7.1, gdal ^= 1.11.2, numpy ^= 1.9.2, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, pil ^= 1.1.7, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.0, shapely ^= 1.5.1) + - iris 1.7.3-10; depends (libudunits ^= 2.2.17, pillow ^= 2.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, netcdf4 ^= 1.1.7.1, gdal ^= 1.11.2, numpy ^= 1.9.2, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.0, shapely ^= 1.5.1) + - iris 1.7.3-11; depends (libudunits ^= 2.2.17, pillow ^= 2.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, netcdf4 ^= 1.1.7.1, gdal ^= 1.11.2, numpy ^= 1.9.2, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.0, shapely ^= 1.5.1) + - iris 1.7.3-12; depends (libudunits ^= 2.2.17, pillow ^= 2.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, netcdf4 ^= 1.1.7.1, gdal ^= 1.11.2, numpy ^= 1.9.2, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.1, shapely ^= 1.5.1) + - iris 1.7.3-13; depends (libudunits ^= 2.2.17, shapely ^= 1.5.1, pillow ^= 2.8.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, netcdf4 ^= 1.1.7.1, gdal ^= 1.11.2, numpy ^= 1.9.2, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.2) + - iris 1.7.3-14; depends (libudunits ^= 2.2.17, pillow ^= 2.9.0, shapely ^= 1.5.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, netcdf4 ^= 1.1.7.1, gdal ^= 1.11.2, numpy ^= 1.9.2, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.2) + - iris 1.7.3-15; depends (libudunits ^= 2.2.17, pillow ^= 2.9.0, shapely ^= 1.5.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, numpy ^= 1.9.2, gdal ^= 1.11.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, scipy ^= 0.15.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.2) + - iris 1.7.3-16; depends (libudunits ^= 2.2.17, pillow ^= 2.9.0, shapely ^= 1.5.1, scipy ^= 0.16.0, cartopy ^= 0.11.2, biggus ^= 0.7.0, numpy ^= 1.9.2, gdal ^= 1.11.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.2) + - iris 1.7.3-17; depends (libudunits ^= 2.2.17, pillow ^= 2.9.0, shapely ^= 1.5.1, scipy ^= 0.16.0, cartopy ^= 0.11.2, biggus ^= 0.7.0, numpy ^= 1.9.2, gdal ^= 1.11.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pygrib ^= 1.9.9, pandas ^= 0.16.2) + - iris 1.7.3-19; depends (libudunits ^= 2.2.17, pandas ^= 0.17.1, scipy ^= 0.16.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, numpy ^= 1.9.2, gdal ^= 1.11.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, matplotlib ^= 1.4.3, expat ^= 2.0.1, pillow ^= 2.9.0, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.3-20; depends (libudunits ^= 2.2.17, pandas ^= 0.17.1, scipy ^= 0.16.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, numpy ^= 1.9.2, gdal ^= 1.11.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, matplotlib ^= 1.5.0, expat ^= 2.0.1, pillow ^= 2.9.0, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.7.3-21; depends (libudunits ^= 2.2.17, pandas ^= 0.17.1, scipy ^= 0.16.1, gdal ^= 2.0.1, cartopy ^= 0.11.2, biggus ^= 0.7.0, numpy ^= 1.9.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, matplotlib ^= 1.5.0, expat ^= 2.0.1, pillow ^= 2.9.0, pygrib ^= 1.9.9, shapely ^= 1.5.1) + - iris 1.8.1-1; depends (libudunits ^= 2.2.17, pandas ^= 0.17.1, scipy ^= 0.16.1, gdal ^= 2.0.1, shapely ^= 1.5.13, biggus ^= 0.7.0, cartopy ^= 0.13.0, numpy ^= 1.9.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, matplotlib ^= 1.5.0, expat ^= 2.0.1, pillow ^= 2.9.0, pygrib ^= 1.9.9) + - iris 1.8.1-2; depends (libudunits ^= 2.2.17, pandas ^= 0.17.1, scipy ^= 0.16.1, gdal ^= 2.0.1, shapely ^= 1.5.13, biggus ^= 0.7.0, cartopy ^= 0.13.0, numpy ^= 1.9.2, netcdf4 ^= 1.2.0, pyke ^= 1.1.1, matplotlib ^= 1.5.0, expat ^= 2.0.1, pygrib ^= 1.9.9, pillow ^= 3.0.0) + - iris 1.8.1-3; depends (libudunits ^= 2.2.17, pandas ^= 0.17.1, scipy ^= 0.16.1, gdal ^= 2.0.1, biggus ^= 0.7.0, cartopy ^= 0.13.0, shapely ^= 1.5.13, numpy ^= 1.9.2, netcdf4 ^= 1.2.2, pyke ^= 1.1.1, matplotlib ^= 1.5.0, expat ^= 2.0.1, pygrib ^= 1.9.9, pillow ^= 3.0.0) + - iris 1.8.1-4; depends (libudunits ^= 2.2.17, pandas ^= 0.17.1, scipy ^= 0.16.1, gdal ^= 2.0.1, biggus ^= 0.7.0, cartopy ^= 0.13.0, shapely ^= 1.5.13, numpy ^= 1.9.2, netcdf4 ^= 1.2.2, pyke ^= 1.1.1, matplotlib ^= 1.5.1, expat ^= 2.0.1, pygrib ^= 1.9.9, pillow ^= 3.0.0) + - iso8601 0.1.10-1 + - isodate 0.5.1-1 + - itsdangerous 0.23.0-1 + - itsdangerous 0.24.0-1 + - jasper 1.9-1 + - jdcal 1.0.0-1 + - jdcal 1.2-1 + - jedi 0.9.0-1 + - jedi 0.9.0-2 + - jinja2 2.5.5-2; depends (pygments ^= 1.3.1) + - jinja2 2.5.5-3; depends (pygments ^= 1.4) + - jinja2 2.6-1; depends (pygments ^= 1.4) + - jinja2 2.6-2 + - jinja2 2.7.1-1; depends (markupsafe ^= 0.18) + - jinja2 2.7.3-1; depends (markupsafe ^= 0.18) + - jinja2 2.7.3-2; depends (markupsafe ^= 0.23) + - jinja2 2.8-1; depends (markupsafe ^= 0.23) + - joblib 0.8.4-1 + - jsonpickle 0.3.1-1 + - jsonpickle 0.4.0-1 + - jsonschema 2.4.0-1 + - jupyter 1.0.0-1; depends (qtconsole ^= 4.0.1, nbconvert ^= 4.0.0, ipykernel ^= 4.0.3, jupyter_console ^= 4.0.2, ipywidgets ^= 4.0.2, notebook ^= 4.0.4) + - jupyter 1.0.0-3; depends (qtconsole ^= 4.0.1, nbconvert ^= 4.0.0, ipykernel ^= 4.0.3, jupyter_console ^= 4.0.2, ipywidgets ^= 4.0.3, notebook ^= 4.0.5) + - jupyter 1.0.0-4; depends (qtconsole ^= 4.0.1, ipykernel ^= 4.1.0, nbconvert ^= 4.0.0, jupyter_console ^= 4.0.2, ipywidgets ^= 4.0.3, notebook ^= 4.0.5) + - jupyter 1.0.0-5; depends (qtconsole ^= 4.0.1, ipykernel ^= 4.1.0, nbconvert ^= 4.0.0, jupyter_console ^= 4.0.2, ipywidgets ^= 4.0.3, notebook ^= 4.0.5) + - jupyter 1.0.0-6; depends (qtconsole ^= 4.1.1, nbconvert ^= 4.1.0, jupyter_console ^= 4.0.3, ipywidgets ^= 4.1.1, ipykernel ^= 4.2.0, notebook ^= 4.0.6) + - jupyter_client 4.0.0-1; depends (traitlets ^= 4.0.0, jupyter_core ^= 4.0.4, pyzmq ^= 14.7.0) + - jupyter_client 4.0.0-2; depends (traitlets ^= 4.0.0, pyzmq ^= 14.7.0, jupyter_core ^= 4.0.6) + - jupyter_client 4.1.1-1; depends (traitlets ^= 4.0.0, pyzmq ^= 14.7.0, jupyter_core ^= 4.0.6) + - jupyter_client 4.1.1-2; depends (traitlets ^= 4.0.0, pyzmq ^= 15.1.0, jupyter_core ^= 4.0.6) + - jupyter_console 4.0.2-2; depends (jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0, ipykernel ^= 4.0.3) + - jupyter_console 4.0.2-3; depends (ipykernel ^= 4.1.0, jupyter_client ^= 4.0.0, ipython4 ^= 4.0.0) + - jupyter_console 4.0.3-1; depends (ipython4 ^= 4.0.1, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - jupyter_core 4.0.4-1; depends (traitlets ^= 4.0.0) + - jupyter_core 4.0.6-1; depends (traitlets ^= 4.0.0) + - jupyter_core 4.0.6-2; depends (traitlets ^= 4.0.0) + - jupyter_core 4.0.6-3; depends (traitlets ^= 4.0.0) + - jupyter_core 4.0.6-4; depends (traitlets ^= 4.0.0) + - kernmagic 0.1.0-1; depends (ipython ^= 0.12.1) + - kernmagic 0.2.0-1; depends (ipython ^= 0.13.1) + - kernmagic 0.2.0-2; depends (ipython ^= 1.0.0) + - kernmagic 0.2.0-4; depends (ipython ^= 3.1.0) + - kernmagic 0.2.0-5; depends (ipython ^= 3.2.0) + - kernmagic 0.2.0-6; depends (ipython ^= 3.2.1) + - kernmagic 0.2.0-7; depends (ipython4 ^= 4.0.0) + - kernmagic 0.2.0-8; depends (ipython4 ^= 4.0.1) + - keyring 0.5.1-1 + - keyring 0.6.2-1 + - keyring 0.7.1-1 + - keyring 0.9-1 + - keyring 0.9.2-1 + - keyring 3.7.0-1 + - keyring 4.0-1 + - keyring 4.0-3 + - keyring 4.0-4 + - keyring 4.0-5 + - kiwisolver 0.1.2-1 + - kiwisolver 0.1.3-1 + - kiwisolver 0.1.3-2 + - kombu 3.0.21-2; depends (amqp ^= 1.4.5, anyjson ^= 0.3.3) + - kombu 3.0.21-3; depends (amqp ^= 1.4.5, anyjson ^= 0.3.3) + - larry 0.4.0-2; depends (h5py ^= 1.3.1, numpy ^= 1.5.1) + - larry 0.4.0-3; depends (h5py ^= 1.3.1, numpy ^= 1.6.0) + - larry 0.6.0-3; depends (numpy ^= 1.7.1, h5py ^= 2.1.3, bottleneck ^= 0.6.0) + - larry 0.6.0-4; depends (numpy ^= 1.7.1, bottleneck ^= 0.7.0, h5py ^= 2.2.0) + - larry 0.6.0-5; depends (bottleneck ^= 0.7.0, numpy ^= 1.8.0, h5py ^= 2.2.0) + - larry 0.6.0-6; depends (bottleneck ^= 0.7.0, numpy ^= 1.8.0, h5py ^= 2.2.1) + - larry 0.6.0-8; depends (bottleneck ^= 0.7.0, h5py ^= 2.3.0, numpy ^= 1.8.1) + - larry 0.6.0-9; depends (bottleneck ^= 0.7.0, numpy ^= 1.8.1, h5py ^= 2.3.1) + - larry 0.6.0-10; depends (h5py ^= 2.4.0, bottleneck ^= 0.7.0, numpy ^= 1.8.1) + - larry 0.6.0-11; depends (bottleneck ^= 0.7.0, numpy ^= 1.8.1, h5py ^= 2.5.0) + - larry 0.6.0-12; depends (bottleneck ^= 0.7.0, numpy ^= 1.9.2, h5py ^= 2.5.0) + - larry 0.6.0-13; depends (bottleneck ^= 1.0.0, numpy ^= 1.9.2, h5py ^= 2.5.0) + - lib_netcdf3 3.6.2-6 + - lib_netcdf4 4.0-1 + - lib_netcdf4 4.0-3 + - lib_netcdf4 4.0.1-1 + - lib_netcdf4 4.1.1-1 + - lib_netcdf4 4.1.1-2; depends (curl ^= 7.25.0) + - lib_netcdf4 4.2-1; depends (hdf5 ^= 1.8.9, curl ^= 7.25.0) + - lib_netcdf4 4.2-2; depends (hdf5 ^= 1.8.9, curl ^= 7.25.0) + - lib_netcdf4 4.3.0-1; depends (hdf5 ^= 1.8.9, curl ^= 7.25.0) + - lib_netcdf4 4.3.0-2; depends (hdf5 ^= 1.8.9, curl ^= 7.25.0) + - lib_netcdf4 4.3.0-3; depends (hdf5 ^= 1.8.9, curl ^= 7.25.0) + - lib_netcdf4 4.3.0-4; depends (curl ^= 7.25.0, hdf5 ^= 1.8.11) + - lib_netcdf4 4.3.2-1; depends (hdf5 ^= 1.8.11, curl ^= 7.37.0) + - lib_netcdf4 4.3.2-2; depends (hdf5 ^= 1.8.11, curl ^= 7.38.0) + - lib_netcdf4 4.3.2-3; depends (curl ^= 7.38.0, hdf5 ^= 1.8.14) + - lib_netcdf4 4.3.3.1-1; depends (hdf5 ^= 1.8.15.1, curl ^= 7.43.0) + - libblosc 1.3.5-1 + - libblosc 1.4.1-1 + - libdynd 0.6.6-1 + - libevent 2.0.21-1 + - libffi 3.0.13-1 + - libffi 3.0.13-2 + - libgdal 1.7.2-1; depends (expat ^= 2.0.1) + - libgdal 1.8.1-1 + - libgdal 1.9.0-2 + - libgdal 1.10.0-1; depends (hdf5 ^= 1.8.9, curl ^= 7.25.0) + - libgdal 1.10.0-2; depends (hdf5 ^= 1.8.9, libxml2 ^= 2.7.8, curl ^= 7.25.0, expat ^= 2.0.1) + - libgdal 1.10.1-1; depends (hdf5 ^= 1.8.9, libxml2 ^= 2.7.8, curl ^= 7.25.0, expat ^= 2.0.1) + - libgdal 1.10.1-2; depends (libxml2 ^= 2.7.8, curl ^= 7.25.0, hdf5 ^= 1.8.11, expat ^= 2.0.1) + - libgdal 1.10.1-4; depends (libxml2 ^= 2.7.8, curl ^= 7.25.0, hdf5 ^= 1.8.11, expat ^= 2.0.1) + - libgdal 1.11.0-1; depends (lib_netcdf4 ^= 4.3.0, libxml2 ^= 2.7.8, curl ^= 7.25.0, hdf5 ^= 1.8.11, expat ^= 2.0.1) + - libgdal 1.11.0-2; depends (lib_netcdf4 ^= 4.3.0, libxml2 ^= 2.7.8, curl ^= 7.25.0, hdf5 ^= 1.8.11, expat ^= 2.0.1) + - libgdal 1.11.0-3; depends (lib_netcdf4 ^= 4.3.0, libxml2 ^= 2.7.8, curl ^= 7.25.0, hdf5 ^= 1.8.11, expat ^= 2.0.1) + - libgdal 1.11.0-4; depends (libxml2 ^= 2.7.8, lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11, expat ^= 2.0.1, curl ^= 7.37.0) + - libgdal 1.11.0-5; depends (libxml2 ^= 2.7.8, lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11, curl ^= 7.38.0, expat ^= 2.0.1) + - libgdal 1.11.0-6; depends (lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11, libxml2 ^= 2.9.2, curl ^= 7.38.0, expat ^= 2.0.1) + - libgdal 1.11.0-7; depends (lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11, curl ^= 7.38.0, libxml2 ^= 2.9.2, expat ^= 2.0.1, libpng ^= 1.6.12) + - libgdal 1.11.0-8; depends (lib_netcdf4 ^= 4.3.2, curl ^= 7.38.0, hdf5 ^= 1.8.14, libxml2 ^= 2.9.2, expat ^= 2.0.1, libpng ^= 1.6.12) + - libgdal 1.11.2-1; depends (lib_netcdf4 ^= 4.3.2, curl ^= 7.38.0, hdf5 ^= 1.8.14, libxml2 ^= 2.9.2, expat ^= 2.0.1, libpng ^= 1.6.12) + - libgdal 1.11.2-2; depends (hdf5 ^= 1.8.15.1, curl ^= 7.43.0, lib_netcdf4 ^= 4.3.3.1, libxml2 ^= 2.9.2, expat ^= 2.0.1, libpng ^= 1.6.12) + - libgdal 2.0.1-1; depends (hdf5 ^= 1.8.15.1, curl ^= 7.43.0, lib_netcdf4 ^= 4.3.3.1, libxml2 ^= 2.9.2, expat ^= 2.0.1, libpng ^= 1.6.12) + - libgfortran 3.0.0-1 + - libgfortran 3.0.0-2 + - libgnomevfs 2.0-1 + - libjpeg 7.0-2 + - libjpeg 7.0-3 + - libncurses 5.9-1 + - libopenjpeg 2.1.0-1; depends (libpng ^= 1.6.12) + - libopenjpeg 2.1.0-2; depends (libpng ^= 1.6.12) + - libpng 1.2.40-4 + - libpng 1.2.40-5 + - libpng 1.6.12-1 + - libpng 1.6.12-3 + - libproj 4.8.0-1 + - libproj 4.8.0-2 + - libproj 4.8.0-3 + - libsodium 1.0.3-1 + - libtheora 1.1.1-1 + - libudunits 2.2.11-1; depends (expat ^= 2.0.1) + - libudunits 2.2.17-2; depends (expat ^= 2.0.1) + - libxml2 2.6.32-1 + - libxml2 2.7.3-1 + - libxml2 2.7.3-3 + - libxml2 2.7.8-1; depends (zlib ^= 1.2.6) + - libxml2 2.7.8-3 + - libxml2 2.7.8-4 + - libxml2 2.9.2-1 + - libxml2 2.9.2-2 + - libxslt 1.1.24-1; depends (libxml2 ^= 2.6.32) + - libxslt 1.1.24-3; depends (libxml2 ^= 2.7.3) + - libxslt 1.1.24-5; depends (libxml2 ^= 2.7.3) + - libxslt 1.1.26-1; depends (libxml2 ^= 2.7.8) + - libxslt 1.1.26-3; depends (libxml2 ^= 2.7.8) + - libxslt 1.1.28-1; depends (libxml2 ^= 2.9.2) + - libxslt 1.1.28-2; depends (libxml2 ^= 2.9.2) + - libxslt 1.1.28-3; depends (libxml2 ^= 2.9.2) + - libyaml 0.1.3-1 + - libyaml 0.1.4-1 + - line_profiler 1.0-1 + - linecache2 1.0.0-1 + - llvm 3.2-1 + - llvm 3.3-1 + - llvm 3.5.1-1 + - llvm 3.6.1-1 + - llvmlite 0.2.2-1; depends (enum34 ^= 1.0.4) + - llvmlite 0.4.0-1; depends (enum34 ^= 1.0.4) + - llvmlite 0.5.0-1; depends (enum34 ^= 1.0.4) + - llvmlite 0.6.0-1; depends (enum34 ^= 1.0.4) + - llvmlite 0.7.0-1; depends (enum34 ^= 1.0.4) + - llvmlite 0.8.0-1; depends (enum34 ^= 1.0.4) + - llvmlite 0.8.0-2; depends (enum34 ^= 1.1.1) + - llvmmath 0.1.0-1; depends (numpy ^= 1.7.1, llvmpy ^= 0.11.3) + - llvmmath 0.1.1-1; depends (numpy ^= 1.7.1, llvmpy ^= 0.11.3) + - llvmmath 0.1.1-2; depends (numpy ^= 1.7.1, llvmpy ^= 0.12.0) + - llvmmath 0.1.1-3; depends (numpy ^= 1.8.0, llvmpy ^= 0.12.0) + - llvmmath 0.1.1-4; depends (numpy ^= 1.8.0, llvmpy ^= 0.12.1) + - llvmmath 0.1.1-5; depends (llvmpy ^= 0.12.6, numpy ^= 1.8.0) + - llvmmath 0.1.1-6; depends (llvmpy ^= 0.12.6, numpy ^= 1.8.1) + - llvmmath 0.1.2-1; depends (llvmpy ^= 0.12.7, numpy ^= 1.8.1) + - llvmpy 0.11.3-1 + - llvmpy 0.12.0-1 + - llvmpy 0.12.1-1 + - llvmpy 0.12.6-1 + - llvmpy 0.12.7-1 + - lmfit 0.9.2-1; depends (scipy ^= 0.16.1, numpy ^= 1.9.2) + - locket 0.2.0-1 + - lockfile 0.10.2-1; depends (pbr ^= 1.2.0) + - lockfile 0.10.2-2; depends (pbr ^= 1.8.1) + - logbook 0.9.0-1 + - lxml 2.2.8-2; depends (libxml2 ^= 2.7.3, libxslt ^= 1.1.24) + - lxml 2.3-1; depends (libxml2 ^= 2.7.3, libxslt ^= 1.1.24) + - lxml 2.3.1-1; depends (libxml2 ^= 2.7.3, libxslt ^= 1.1.24) + - lxml 2.3.2-1; depends (libxml2 ^= 2.7.3, libxslt ^= 1.1.24) + - lxml 2.3.3-1; depends (libxml2 ^= 2.7.3, libxslt ^= 1.1.24) + - lxml 2.3.3-2; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 2.3.4-1; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 2.3.4-4; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 2.3.4-6; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 3.2.3-1; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 3.3.5-1; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 3.3.6-1; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 3.4.0-1; depends (libxslt ^= 1.1.26, libxml2 ^= 2.7.8) + - lxml 3.4.0-2; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - lxml 3.4.1-1; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - lxml 3.4.2-1; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - lxml 3.4.3-1; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - lxml 3.4.4-1; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - lxml 3.4.4-2; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - lxml 3.4.4-3; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - lxml 3.5.0-1; depends (libxslt ^= 1.1.28, libxml2 ^= 2.9.2) + - m2crypto 0.22.3-1 + - mahotas 1.3.0-1; depends (numpy ^= 1.9.2) + - mahotas 1.3.0-2; depends (numpy ^= 1.9.2) + - mahotas 1.3.0-3; depends (numpy ^= 1.9.2) + - mahotas 1.3.0-4; depends (numpy ^= 1.9.2) + - mahotas 1.3.0-5; depends (numpy ^= 1.9.2) + - markupsafe 0.18-1 + - markupsafe 0.18-2 + - markupsafe 0.23-1 + - matplotlib 1.0.0-2; depends (configobj, wxpython ^= 2.8.10.1, pytz, numpy ^= 1.5.1, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.0.1-1; depends (configobj, wxpython ^= 2.8.10.1, pytz, numpy ^= 1.5.1, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.0.1-2; depends (configobj, wxpython ^= 2.8.10.1, numpy ^= 1.6.0, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.0.1-3; depends (configobj, wxpython ^= 2.8.10.1, numpy ^= 1.6.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.1.0-1; depends (configobj, wxpython ^= 2.8.10.1, numpy ^= 1.6.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.1.0-2; depends (configobj, wxpython ^= 2.8.10.1, numpy ^= 1.6.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.2.0-4; depends (configobj, python_dateutil, pytz, numpy ^= 1.6.1, wxpython ^= 2.8.10.1) + - matplotlib 1.2.0-7; depends (configobj, numpy ^= 1.7.1, wxpython ^= 2.8.10.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.2.1-1; depends (configobj, numpy ^= 1.7.1, wxpython ^= 2.8.10.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.3.0-1; depends (configobj, numpy ^= 1.7.1, wxpython ^= 2.8.10.1, pyparsing ^= 1.5.6, pytz, python_dateutil, tornado ^= 2.2, freetype ^= 2.4.4) + - matplotlib 1.3.0-2; depends (configobj, numpy ^= 1.7.1, wxpython ^= 2.8.10.1, pyparsing ^= 1.5.6, tornado ^= 3.1.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.3.1-1; depends (configobj, numpy ^= 1.7.1, wxpython ^= 2.8.10.1, pyparsing ^= 1.5.6, tornado ^= 3.1.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.3.1-2; depends (configobj, wxpython ^= 2.8.10.1, numpy ^= 1.8.0, pyparsing ^= 1.5.6, tornado ^= 3.1.1, pytz, python_dateutil, freetype ^= 2.4.4) + - matplotlib 1.3.1-3; depends (configobj, wxpython ^= 2.8.10.1, numpy ^= 1.8.0, pyparsing ^= 1.5.6, tornado ^= 3.1.1, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.4.4) + - matplotlib 1.3.1-4; depends (wxpython ^= 2.8.10.1, numpy ^= 1.8.0, pyparsing ^= 2.0.2, tornado ^= 3.1.1, configobj ^= 5.0.5, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.4.4) + - matplotlib 1.3.1-5; depends (wxpython ^= 2.8.10.1, numpy ^= 1.8.0, pyparsing ^= 2.0.2, tornado ^= 3.1.1, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.5) + - matplotlib 1.3.1-6; depends (wxpython ^= 2.8.10.1, numpy ^= 1.8.0, pyparsing ^= 2.0.2, tornado ^= 3.1.1, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.5) + - matplotlib 1.3.1-7; depends (wxpython ^= 2.8.10.1, numpy ^= 1.8.0, pyparsing ^= 2.0.2, python_dateutil ^= 2.2.0, tornado ^= 3.2.2, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.5) + - matplotlib 1.3.1-8; depends (wxpython ^= 2.8.10.1, numpy ^= 1.8.0, pyparsing ^= 2.0.2, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, tornado ^= 3.2.2, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.5) + - matplotlib 1.3.1-9; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, wxpython ^= 2.8.10.1, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, tornado ^= 3.2.2, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.5) + - matplotlib 1.4.0-1; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, wxpython ^= 2.8.10.1, tornado ^= 4.0.1, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.5) + - matplotlib 1.4.0-2; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, wxpython ^= 2.8.10.1, tornado ^= 4.0.1, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.4.0-3; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, tornado ^= 4.0.2, wxpython ^= 2.8.10.1, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.4.0-4; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, tornado ^= 4.0.2, wxpython ^= 2.8.10.1, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.4.2-1; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, tornado ^= 4.0.2, wxpython ^= 2.8.10.1, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.4.2-2; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, tornado ^= 4.0.2, wxpython ^= 2.8.10.1, pytz ^= 2014.9.0, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.4.2-3; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, wxpython ^= 2.8.10.1, pytz ^= 2014.9.0, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, freetype ^= 2.5.3, configobj ^= 5.0.6, tornado ^= 4.1) + - matplotlib 1.4.3-1; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.2, wxpython ^= 2.8.10.1, pytz ^= 2014.9.0, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, freetype ^= 2.5.3, configobj ^= 5.0.6, tornado ^= 4.1) + - matplotlib 1.4.3-2; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.3, wxpython ^= 2.8.10.1, pytz ^= 2014.9.0, libpng ^= 1.6.12, python_dateutil ^= 2.2.0, freetype ^= 2.5.3, configobj ^= 5.0.6, tornado ^= 4.1) + - matplotlib 1.4.3-3; depends (numpy ^= 1.8.1, pyparsing ^= 2.0.3, python_dateutil ^= 2.4.2, wxpython ^= 2.8.10.1, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6, tornado ^= 4.1) + - matplotlib 1.4.3-4; depends (wxpython ^= 2.8.10.1, pyparsing ^= 2.0.3, numpy ^= 1.9.2, python_dateutil ^= 2.4.2, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6, tornado ^= 4.1) + - matplotlib 1.4.3-5; depends (wxpython ^= 2.8.10.1, tornado ^= 4.2, pyparsing ^= 2.0.3, numpy ^= 1.9.2, python_dateutil ^= 2.4.2, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.4.3-6; depends (wxpython ^= 2.8.10.1, tornado ^= 4.2, pyparsing ^= 2.0.3, numpy ^= 1.9.2, python_dateutil ^= 2.4.2, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.4.3-7; depends (wxpython ^= 2.8.10.1, pyparsing ^= 2.0.3, numpy ^= 1.9.2, python_dateutil ^= 2.4.2, tornado ^= 4.2.1, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.5.0-1; depends (pyparsing ^= 2.0.3, wxpython ^= 3.0.2.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, cycler ^= 0.9.0, tornado ^= 4.2.1, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.5.0-2; depends (pyparsing ^= 2.0.3, wxpython ^= 3.0.2.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, cycler ^= 0.9.0, tornado ^= 4.3, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.5.0-3; depends (pyparsing ^= 2.0.3, wxpython ^= 3.0.2.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, cycler ^= 0.9.0, tornado ^= 4.3, pytz ^= 2014.9.0, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.5.0-4; depends (pyparsing ^= 2.0.3, wxpython ^= 3.0.2.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, cycler ^= 0.9.0, tornado ^= 4.3, pytz ^= 2015.7, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib 1.5.1-1; depends (pyparsing ^= 2.0.3, wxpython ^= 3.0.2.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, cycler ^= 0.9.0, tornado ^= 4.3, pytz ^= 2015.7, libpng ^= 1.6.12, freetype ^= 2.5.3, configobj ^= 5.0.6) + - matplotlib_tests 1.5.0-1; depends (matplotlib ^= 1.5.0) + - matplotlib_tests 1.5.0-2; depends (matplotlib ^= 1.5.1) + - matplotlib_tests 1.5.1-1; depends (matplotlib ^= 1.5.1) + - mayavi 3.4.1-1; depends (appinst, vtk ^= 5.6.0, envisageplugins ^= 3.2.0, traits ^= 3.6.0, apptools ^= 3.4.1, traitsgui ^= 3.6.0, enthoughtbase ^= 3.1.0) + - mayavi 3.4.1-2; depends (appinst, vtk ^= 5.6.0, envisageplugins ^= 3.2.0, traits ^= 3.6.0, apptools ^= 3.4.1, traitsgui ^= 3.6.0, enthoughtbase ^= 3.1.0) + - mayavi 4.0.0-1; depends (envisage ^= 4.0.0, appinst, traitsui ^= 4.0.0, apptools ^= 4.0.0, vtk ^= 5.6.0) + - mayavi 4.1.0-1; depends (envisage ^= 4.1.0, appinst, vtk ^= 5.6.0, apptools ^= 4.0.1, traitsui ^= 4.1.0) + - mayavi 4.2.0-1; depends (apptools ^= 4.1.0, appinst, vtk ^= 5.6.0, envisage ^= 4.2.0, traitsui ^= 4.2.0) + - mayavi 4.3.0-1; depends (appinst, envisage ^= 4.3.0, traitsui ^= 4.3.0, apptools ^= 4.2.0, vtk ^= 5.6.0) + - mayavi 4.3.0-3; depends (appinst, envisage ^= 4.3.0, traitsui ^= 4.3.0, apptools ^= 4.2.0, vtk ^= 5.6.0) + - mayavi 4.3.0-4; depends (appinst, envisage ^= 4.3.0, traitsui ^= 4.3.0, apptools ^= 4.2.0, vtk ^= 5.6.0) + - mayavi 4.3.0-5; depends (envisage ^= 4.4.0, appinst, vtk ^= 5.6.0, apptools ^= 4.2.0, traitsui ^= 4.4.0) + - mayavi 4.3.1-1; depends (envisage ^= 4.4.0, vtk ^= 5.10.1, appinst, traitsui ^= 4.4.0, apptools ^= 4.2.1) + - mayavi 4.3.1-2; depends (envisage ^= 4.4.0, vtk ^= 5.10.1, appinst, traitsui ^= 4.4.0, apptools ^= 4.2.1) + - mayavi 4.4.0-1; depends (envisage ^= 4.4.0, vtk ^= 5.10.1, appinst, traitsui ^= 4.4.0, apptools ^= 4.2.1) + - mayavi 4.4.0-2; depends (envisage ^= 4.4.0, vtk ^= 5.10.1, appinst, apptools ^= 4.3.0, traitsui ^= 4.4.0) + - mayavi 4.4.0-3; depends (envisage ^= 4.4.0, vtk ^= 5.10.1, appinst, apptools ^= 4.3.0, traitsui ^= 4.4.0) + - mayavi 4.4.0-4; depends (envisage ^= 4.4.0, vtk ^= 5.10.1, appinst, apptools ^= 4.3.0, traitsui ^= 4.5.1) + - mayavi 4.4.2-1; depends (envisage ^= 4.4.0, vtk ^= 6.2.0, appinst, apptools ^= 4.3.0, traitsui ^= 4.5.1) + - mayavi 4.4.3-1; depends (envisage ^= 4.4.0, vtk ^= 6.3.0, appinst, apptools ^= 4.3.0, traitsui ^= 4.5.1) + - mayavi 4.4.3-2; depends (envisage ^= 4.4.0, vtk ^= 6.3.0, appinst, apptools ^= 4.3.0, traitsui ^= 5.0.0) + - mccabe 0.2.1-1 + - mccabe 0.2.1-2 + - mccabe 0.3-1 + - mdp 3.1-1; depends (numpy) + - mdp 3.2-1; depends (numpy) + - mdp 3.3-1; depends (numpy ^= 1.6.1) + - mdp 3.3-2; depends (numpy ^= 1.7.1) + - mdp 3.3-3; depends (numpy ^= 1.7.1) + - mdp 3.3-4; depends (numpy ^= 1.8.0) + - mdp 3.3-6; depends (numpy ^= 1.8.1) + - mdp 3.3-7; depends (numpy ^= 1.8.1) + - mdp 3.3-8; depends (numpy ^= 1.8.1) + - mdp 3.3-9; depends (numpy ^= 1.8.1) + - mdp 3.3-10; depends (numpy ^= 1.9.2) + - mdp 3.3-11; depends (numpy ^= 1.9.2) + - meld3 0.6.10-1 + - meld3 1.0.0-1 + - meld3 1.0.2-1 + - memory_profiler 0.30-1; depends (psutil ^= 1.2.1) + - memory_profiler 0.31.0-1; depends (psutil ^= 2.1.1) + - memory_profiler 0.31.0-2; depends (psutil ^= 2.2.0) + - memory_profiler 0.31.0-3; depends (psutil ^= 2.2.1) + - memory_profiler 0.33-1; depends (psutil ^= 3.2.1) + - memory_profiler 0.33-2; depends (psutil ^= 3.3.0) + - meta 0.4.2.dev-1 + - meta 0.4.2.dev-2 + - meta 0.4.2.dev2-1 + - mistune 0.5-1 + - mistune 0.5.1-1 + - mistune 0.6-1 + - mistune 0.6-2 + - mistune 0.7.1-1 + - mkl 10.2-1 + - mkl 10.2-2 + - mkl 10.3-1 + - mkl 10.3-2 + - mkl_service 1.0-1; depends (mkl ^= 10.3) + - mlab 1.1.4-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1) + - mlab 1.1.4-2; depends (numpy ^= 1.8.1, scipy ^= 0.14.1rc1) + - mlab 1.1.4-3; depends (numpy ^= 1.8.1, scipy ^= 0.15.1) + - mlab 1.1.4-4; depends (numpy ^= 1.9.2, scipy ^= 0.15.1) + - mlab 1.1.4-5; depends (scipy ^= 0.16.0, numpy ^= 1.9.2) + - mlab 1.1.4-6; depends (scipy ^= 0.16.1, numpy ^= 1.9.2) + - mock 1.0.1-1 + - mock 1.3.0-1; depends (pbr ^= 1.8.1, funcsigs ^= 0.4, six ^= 1.9.0) + - mock 1.3.0-2; depends (six ^= 1.10.0, pbr ^= 1.8.1, funcsigs ^= 0.4) + - mock 1.3.0-3; depends (six ^= 1.10.0, pbr ^= 1.8.1, funcsigs ^= 0.4) + - moto 0.4.6-1; depends (xmltodict ^= 0.9.2, jinja2 ^= 2.7.3, requests ^= 2.7.0, flask ^= 0.10.1, httpretty ^= 0.8.10, six ^= 1.9.0, boto ^= 2.38.0) + - moto 0.4.6-2; depends (xmltodict ^= 0.9.2, requests ^= 2.7.0, jinja2 ^= 2.8, flask ^= 0.10.1, httpretty ^= 0.8.10, six ^= 1.9.0, boto ^= 2.38.0) + - moto 0.4.6-3; depends (xmltodict ^= 0.9.2, requests ^= 2.8.0, jinja2 ^= 2.8, flask ^= 0.10.1, httpretty ^= 0.8.10, six ^= 1.9.0, boto ^= 2.38.0) + - moto 0.4.6-4; depends (xmltodict ^= 0.9.2, requests ^= 2.8.0, jinja2 ^= 2.8, flask ^= 0.10.1, six ^= 1.10.0, httpretty ^= 0.8.10, boto ^= 2.38.0) + - moto 0.4.6-5; depends (xmltodict ^= 0.9.2, jinja2 ^= 2.8, flask ^= 0.10.1, six ^= 1.10.0, requests ^= 2.9.0, httpretty ^= 0.8.10, boto ^= 2.38.0) + - mpi4py 1.2.1-2; depends (mpich2 ^= 1.1) + - mpi4py 1.2.2-1; depends (mpich2 ^= 1.4.1) + - mpich2 1.0.7-2 + - mpich2 1.1-1 + - mpich2 1.4.1-1 + - msgpack 0.3.0-1 + - msgpack 0.3.0-2 + - msgpack 0.4.0-1 + - msgpack 0.4.2-4 + - msgpack_python 0.4.5-1 + - msgpack_python 0.4.6-1 + - msgpack_python 0.4.6-2 + - msgpack_python 0.4.6-3 + - msgpack_python 0.4.6-4 + - multimethods 1.0.0-1 + - multipledispatch 0.4.7-1 + - multipledispatch 0.4.8-1 + - nbconvert 4.0.0-1; depends (mistune ^= 0.7.1, traitlets ^= 4.0.0, jinja2 ^= 2.7.3, jupyter_core ^= 4.0.4, nbformat ^= 4.0.0, pygments ^= 2.0.2) + - nbconvert 4.0.0-2; depends (mistune ^= 0.7.1, traitlets ^= 4.0.0, jinja2 ^= 2.7.3, jupyter_core ^= 4.0.6, nbformat ^= 4.0.0, pygments ^= 2.0.2) + - nbconvert 4.0.0-3; depends (mistune ^= 0.7.1, traitlets ^= 4.0.0, jinja2 ^= 2.7.3, jupyter_core ^= 4.0.6, nbformat ^= 4.0.0, pygments ^= 2.0.2) + - nbconvert 4.0.0-4; depends (mistune ^= 0.7.1, traitlets ^= 4.0.0, jinja2 ^= 2.8, jupyter_core ^= 4.0.6, nbformat ^= 4.0.0, pygments ^= 2.0.2) + - nbconvert 4.0.0-5; depends (mistune ^= 0.7.1, traitlets ^= 4.0.0, jinja2 ^= 2.8, jupyter_core ^= 4.0.6, nbformat ^= 4.0.0, pygments ^= 2.0.2) + - nbconvert 4.1.0-1; depends (mistune ^= 0.7.1, traitlets ^= 4.0.0, jinja2 ^= 2.8, jupyter_core ^= 4.0.6, nbformat ^= 4.0.1, pygments ^= 2.0.2) + - nbconvert 4.1.0-2; depends (mistune ^= 0.7.1, traitlets ^= 4.0.0, jinja2 ^= 2.8, jupyter_core ^= 4.0.6, nbformat ^= 4.0.1, pygments ^= 2.0.2) + - nbformat 4.0.0-1; depends (ipython_genutils ^= 0.1.0, jsonschema ^= 2.4.0, jupyter_core ^= 4.0.4, traitlets ^= 4.0.0) + - nbformat 4.0.0-2; depends (ipython_genutils ^= 0.1.0, jsonschema ^= 2.4.0, traitlets ^= 4.0.0, jupyter_core ^= 4.0.6) + - nbformat 4.0.1-1; depends (ipython_genutils ^= 0.1.0, jsonschema ^= 2.4.0, traitlets ^= 4.0.0, jupyter_core ^= 4.0.6) + - ndg_httpsclient 0.3.2-1; depends (pyasn1 ^= 0.1.7, pyopenssl ^= 0.13.1) + - ndg_httpsclient 0.3.2-2; depends (pyopenssl ^= 0.14, pyasn1 ^= 0.1.7) + - ndg_httpsclient 0.3.3-1; depends (pyopenssl ^= 0.14, pyasn1 ^= 0.1.7) + - ndg_httpsclient 0.3.3-2; depends (pyopenssl ^= 0.15.1, pyasn1 ^= 0.1.7) + - ndg_httpsclient 0.3.3-3; depends (pyopenssl ^= 0.15.1, pyasn1 ^= 0.1.9) + - netcdf 3.6.2-6 + - netcdf 4.0-1 + - netcdf4 0.9.3-2; depends (lib_netcdf4 == 4.1.1-1, hdf5 ^= 1.8.5.1, numpy ^= 1.5.1) + - netcdf4 0.9.4-1; depends (lib_netcdf4 == 4.1.1-1, hdf5 ^= 1.8.5.1, numpy ^= 1.6.0) + - netcdf4 0.9.5-1; depends (lib_netcdf4 == 4.1.1-1, hdf5 ^= 1.8.5.1, numpy ^= 1.6.0) + - netcdf4 0.9.5-2; depends (numpy ^= 1.6.1, lib_netcdf4 == 4.1.1-1, hdf5 ^= 1.8.5.1) + - netcdf4 0.9.8-1; depends (numpy ^= 1.6.1, lib_netcdf4 == 4.1.1-1, hdf5 ^= 1.8.5.1) + - netcdf4 0.9.9-1; depends (lib_netcdf4 == 4.1.1-2, numpy ^= 1.6.1, hdf5 ^= 1.8.5.1) + - netcdf4 1.0-1; depends (hdf5 ^= 1.8.9, numpy ^= 1.6.1, lib_netcdf4 ^= 4.2) + - netcdf4 1.0-4; depends (lib_netcdf4 ^= 4.3.0, hdf5 ^= 1.8.9, numpy ^= 1.7.1) + - netcdf4 1.0.5-1; depends (lib_netcdf4 ^= 4.3.0, numpy ^= 1.7.1, hdf5 ^= 1.8.11) + - netcdf4 1.0.5-2; depends (lib_netcdf4 ^= 4.3.0, numpy ^= 1.8.0, hdf5 ^= 1.8.11) + - netcdf4 1.0.7-1; depends (lib_netcdf4 ^= 4.3.0, numpy ^= 1.8.0, hdf5 ^= 1.8.11) + - netcdf4 1.1.0-1; depends (numpy ^= 1.8.0, lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11) + - netcdf4 1.1.0-2; depends (lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11, numpy ^= 1.8.1) + - netcdf4 1.1.1-1; depends (lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11, numpy ^= 1.8.1) + - netcdf4 1.1.1-2; depends (lib_netcdf4 ^= 4.3.2, hdf5 ^= 1.8.11, numpy ^= 1.8.1) + - netcdf4 1.1.1-3; depends (lib_netcdf4 ^= 4.3.2, numpy ^= 1.8.1, hdf5 ^= 1.8.14) + - netcdf4 1.1.7.1-1; depends (lib_netcdf4 ^= 4.3.2, numpy ^= 1.8.1, hdf5 ^= 1.8.14) + - netcdf4 1.1.7.1-2; depends (lib_netcdf4 ^= 4.3.2, numpy ^= 1.9.2, hdf5 ^= 1.8.14) + - netcdf4 1.1.7.1-3; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2, lib_netcdf4 ^= 4.3.3.1) + - netcdf4 1.2.0-1; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2, lib_netcdf4 ^= 4.3.3.1) + - netcdf4 1.2.2-1; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2, lib_netcdf4 ^= 4.3.3.1) + - networkx 1.3-2; depends (numpy) + - networkx 1.4-1; depends (numpy) + - networkx 1.5-1; depends (numpy) + - networkx 1.6-1; depends (numpy) + - networkx 1.6-2; depends (numpy) + - networkx 1.8.1-1; depends (numpy) + - networkx 1.8.1-2; depends (numpy) + - networkx 1.8.1-3; depends (numpy) + - networkx 1.9-1; depends (numpy, decorator ^= 3.4.0) + - networkx 1.9.1-1; depends (numpy ^= 1.8.1, decorator ^= 3.4.0) + - networkx 1.9.1-2; depends (numpy ^= 1.8.1, decorator ^= 3.4.2) + - networkx 1.9.1-3; depends (numpy ^= 1.9.2, decorator ^= 3.4.2) + - networkx 1.10-1; depends (numpy ^= 1.9.2, decorator ^= 4.0.2) + - networkx 1.10-2; depends (decorator ^= 4.0.4, numpy ^= 1.9.2) + - nltk 2.0.1rc1-1; depends (pyyaml ^= 3.9) + - nltk 2.0.1rc1-2; depends (pyyaml) + - nltk 2.0.1-1; depends (pyyaml, numpy) + - nltk 2.0.1-2; depends (pyyaml, numpy) + - nltk 2.0.1-3; depends (pyyaml, numpy) + - nltk 2.0.1-4; depends (pyyaml, numpy) + - nltk 3.0.0b1-1; depends (pyyaml, numpy) + - nltk 3.0.0b2-2; depends (pyyaml, numpy) + - nltk 3.0.0-1; depends (pyyaml, numpy) + - nltk 3.0.1-1; depends (pyyaml, numpy) + - nltk 3.0.2-1; depends (pyyaml, numpy) + - nltk 3.0.2-2; depends (pyyaml, numpy) + - nltk 3.0.3-1; depends (pyyaml, numpy) + - nltk 3.1-1; depends (pyyaml, numpy) + - nose 0.11.4-2 + - nose 1.0.0-1 + - nose 1.0.0-2 + - nose 1.1.2-1 + - nose 1.2.1-1 + - nose 1.3.0-1 + - nose 1.3.3-1 + - nose 1.3.4-1 + - notebook 4.0.4-1; depends (traitlets ^= 4.0.0, jinja2 ^= 2.7.3, terminado ^= 0.5, jupyter_core ^= 4.0.4, nbconvert ^= 4.0.0, ipykernel ^= 4.0.3, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, nbformat ^= 4.0.0, tornado ^= 4.2) + - notebook 4.0.5-2; depends (traitlets ^= 4.0.0, nbformat ^= 4.0.0, jinja2 ^= 2.7.3, terminado ^= 0.5, nbconvert ^= 4.0.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, ipykernel ^= 4.0.3, tornado ^= 4.2) + - notebook 4.0.5-3; depends (traitlets ^= 4.0.0, nbformat ^= 4.0.0, jinja2 ^= 2.7.3, terminado ^= 0.5, nbconvert ^= 4.0.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, ipykernel ^= 4.0.3, tornado ^= 4.2.1) + - notebook 4.0.5-4; depends (traitlets ^= 4.0.0, nbformat ^= 4.0.0, jinja2 ^= 2.8, terminado ^= 0.5, nbconvert ^= 4.0.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, ipykernel ^= 4.0.3, tornado ^= 4.2.1) + - notebook 4.0.5-5; depends (traitlets ^= 4.0.0, jinja2 ^= 2.8, ipykernel ^= 4.1.0, nbconvert ^= 4.0.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, terminado ^= 0.5, nbformat ^= 4.0.0, tornado ^= 4.2.1) + - notebook 4.0.5-6; depends (traitlets ^= 4.0.0, jinja2 ^= 2.8, ipykernel ^= 4.1.0, nbconvert ^= 4.0.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, terminado ^= 0.5, nbformat ^= 4.0.0, tornado ^= 4.2.1) + - notebook 4.0.5-7; depends (traitlets ^= 4.0.0, jinja2 ^= 2.8, ipykernel ^= 4.1.0, nbconvert ^= 4.0.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, terminado ^= 0.5, nbformat ^= 4.0.0, tornado ^= 4.2.1) + - notebook 4.0.5-8; depends (traitlets ^= 4.0.0, jinja2 ^= 2.8, ipykernel ^= 4.1.0, nbconvert ^= 4.0.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, jupyter_client ^= 4.0.0, terminado ^= 0.5, nbformat ^= 4.0.0, tornado ^= 4.2.1) + - notebook 4.0.6-1; depends (traitlets ^= 4.0.0, jinja2 ^= 2.8, terminado ^= 0.5, nbconvert ^= 4.1.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, nbformat ^= 4.0.1, tornado ^= 4.2.1, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - notebook 4.0.6-2; depends (traitlets ^= 4.0.0, jinja2 ^= 2.8, terminado ^= 0.5, nbconvert ^= 4.1.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, nbformat ^= 4.0.1, tornado ^= 4.3, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - notebook 4.0.6-3; depends (traitlets ^= 4.0.0, jinja2 ^= 2.8, terminado ^= 0.5, nbconvert ^= 4.1.0, jupyter_core ^= 4.0.6, ipython_genutils ^= 0.1.0, nbformat ^= 4.0.1, tornado ^= 4.3, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - numba 0.9.0-1; depends (numpy ^= 1.7.1, llvmpy ^= 0.11.3, meta ^= 0.4.2.dev, llvmmath ^= 0.1.0) + - numba 0.9.0-2; depends (numpy ^= 1.7.1, llvmpy ^= 0.11.3, meta ^= 0.4.2.dev, llvmmath ^= 0.1.0) + - numba 0.10.0-1; depends (numpy ^= 1.7.1, llvmpy ^= 0.11.3, meta ^= 0.4.2.dev, llvmmath ^= 0.1.1) + - numba 0.10.2-1; depends (numpy ^= 1.7.1, meta ^= 0.4.2.dev, llvmpy ^= 0.12.0, llvmmath ^= 0.1.1) + - numba 0.10.2-3; depends (numpy ^= 1.8.0, meta ^= 0.4.2.dev, llvmpy ^= 0.12.0, llvmmath ^= 0.1.1) + - numba 0.11.1-1; depends (numpy ^= 1.8.0, llvmpy ^= 0.12.1, meta ^= 0.4.2.dev, llvmmath ^= 0.1.1) + - numba 0.13.0-1; depends (numpy ^= 1.8.0, llvmpy ^= 0.12.1, meta ^= 0.4.2.dev, llvmmath ^= 0.1.1) + - numba 0.13.2-1; depends (llvmpy ^= 0.12.6, numpy ^= 1.8.0, meta ^= 0.4.2.dev, llvmmath ^= 0.1.1) + - numba 0.13.2-4; depends (llvmpy ^= 0.12.6, numpy ^= 1.8.1, meta ^= 0.4.2.dev, llvmmath ^= 0.1.1) + - numba 0.13.4-1; depends (llvmpy ^= 0.12.7, numpy ^= 1.8.1, llvmmath ^= 0.1.2, meta ^= 0.4.2.dev) + - numba 0.14.0-1; depends (llvmpy ^= 0.12.7, numpy ^= 1.8.1, llvmmath ^= 0.1.2, meta ^= 0.4.2.dev) + - numba 0.14.0-2; depends (llvmpy ^= 0.12.7, numpy ^= 1.8.1, meta ^= 0.4.2.dev2, llvmmath ^= 0.1.2) + - numba 0.15.1-1; depends (llvmpy ^= 0.12.7, numpy ^= 1.8.1, meta ^= 0.4.2.dev2, llvmmath ^= 0.1.2) + - numba 0.17.0-1; depends (numpy ^= 1.8.1, llvmlite ^= 0.2.2, funcsigs ^= 0.4) + - numba 0.18.1-1; depends (llvmlite ^= 0.4.0, numpy ^= 1.8.1, funcsigs ^= 0.4) + - numba 0.18.2-1; depends (llvmlite ^= 0.4.0, numpy ^= 1.8.1, funcsigs ^= 0.4) + - numba 0.18.2-2; depends (llvmlite ^= 0.4.0, numpy ^= 1.9.2, funcsigs ^= 0.4) + - numba 0.19.2-1; depends (numpy ^= 1.9.2, llvmlite ^= 0.5.0, funcsigs ^= 0.4) + - numba 0.20.0-1; depends (llvmlite ^= 0.6.0, numpy ^= 1.9.2, funcsigs ^= 0.4) + - numba 0.21.0-1; depends (singledispatch ^= 3.4.0.3, numpy ^= 1.9.2, llvmlite ^= 0.7.0, funcsigs ^= 0.4) + - numba 0.21.0-2; depends (singledispatch ^= 3.4.0.3, numpy ^= 1.9.2, llvmlite ^= 0.7.0, funcsigs ^= 0.4) + - numba 0.22.1-1; depends (singledispatch ^= 3.4.0.3, numpy ^= 1.9.2, llvmlite ^= 0.8.0, funcsigs ^= 0.4) + - numba 0.23.0-1; depends (singledispatch ^= 3.4.0.3, numpy ^= 1.9.2, llvmlite ^= 0.8.0, funcsigs ^= 0.4) + - numexpr 1.4.1-2; depends (numpy ^= 1.5.1, mkl ^= 10.3) + - numexpr 1.4.2-1; depends (numpy ^= 1.5.1, mkl ^= 10.3) + - numexpr 1.4.2-2; depends (numpy ^= 1.6.0, mkl ^= 10.3) + - numexpr 1.4.2-3; depends (numpy ^= 1.6.1, mkl ^= 10.3) + - numexpr 2.0-1; depends (numpy ^= 1.6.1, mkl ^= 10.3) + - numexpr 2.0.1-1; depends (numpy ^= 1.6.1, mkl ^= 10.3) + - numexpr 2.0.1-3; depends (numpy ^= 1.7.1, mkl ^= 10.3) + - numexpr 2.2.2-1; depends (numpy ^= 1.7.1, mkl ^= 10.3) + - numexpr 2.2.2-2; depends (numpy ^= 1.8.0, mkl ^= 10.3) + - numexpr 2.2.2-4; depends (numpy ^= 1.8.0, mkl ^= 10.3) + - numexpr 2.4.0-1; depends (numpy ^= 1.8.0, mkl ^= 10.3) + - numexpr 2.4.0-2; depends (numpy ^= 1.8.1, mkl ^= 10.3) + - numexpr 2.4.0-3; depends (numpy ^= 1.9.2, mkl ^= 10.3) + - numpy 1.5.1-1; depends (mkl == 10.3-1) + - numpy 1.5.1-2; depends (mkl == 10.3-1) + - numpy 1.6.0b2-1; depends (mkl == 10.3-1) + - numpy 1.6.0-1; depends (mkl == 10.3-1) + - numpy 1.6.0-2; depends (mkl == 10.3-1) + - numpy 1.6.0-3; depends (mkl == 10.3-1) + - numpy 1.6.0-4; depends (mkl == 10.3-1) + - numpy 1.6.0-5; depends (mkl == 10.3-1) + - numpy 1.6.1-1; depends (mkl == 10.3-1) + - numpy 1.6.1-2; depends (mkl == 10.3-1) + - numpy 1.6.1-3; depends (mkl == 10.3-1) + - numpy 1.6.1-5; depends (mkl == 10.3-1) + - numpy 1.7.1-1; depends (mkl == 10.3-1) + - numpy 1.7.1-2; depends (mkl == 10.3-1) + - numpy 1.7.1-3; depends (mkl == 10.3-1) + - numpy 1.8.0-1; depends (mkl == 10.3-1) + - numpy 1.8.0-2; depends (mkl == 10.3-1) + - numpy 1.8.0-3; depends (mkl == 10.3-1) + - numpy 1.8.1-1; depends (mkl == 10.3-1) + - numpy 1.8.1-2; depends (mkl == 10.3-1) + - numpy 1.8.1-3; depends (libgfortran ^= 3.0.0, mkl == 10.3-1) + - numpy 1.9.2-1; depends (libgfortran ^= 3.0.0, mkl == 10.3-1) + - numpy 1.9.2-2; depends (libgfortran ^= 3.0.0, mkl ^= 10.3) + - numpydoc 0.5-1; depends (numpy ^= 1.8.1, matplotlib ^= 1.4.2, sphinx ^= 1.2.3) + - numpydoc 0.5-2; depends (matplotlib ^= 1.4.3, numpy ^= 1.8.1, sphinx ^= 1.2.3) + - numpydoc 0.5-3; depends (sphinx ^= 1.3.1, matplotlib ^= 1.4.3, numpy ^= 1.8.1) + - numpydoc 0.5-4; depends (sphinx ^= 1.3.1, matplotlib ^= 1.4.3, numpy ^= 1.9.2) + - numpydoc 0.5-5; depends (numpy ^= 1.9.2, matplotlib ^= 1.5.0, sphinx ^= 1.3.1) + - numpydoc 0.5-6; depends (sphinx ^= 1.3.1, numpy ^= 1.9.2, matplotlib ^= 1.5.1) + - odo 0.3.1-1; depends (numpy ^= 1.8.1, datashape ^= 0.4.4, pytables ^= 3.1.1, toolz ^= 0.7.1, networkx ^= 1.9.1, python_dateutil ^= 2.2.0, multipledispatch ^= 0.4.7, pandas ^= 0.16.0, sqlalchemy ^= 0.9.9) + - odo 0.3.1-2; depends (sqlalchemy ^= 1.0.0, numpy ^= 1.8.1, datashape ^= 0.4.4, python_dateutil ^= 2.4.2, pytables ^= 3.1.1, toolz ^= 0.7.1, networkx ^= 1.9.1, multipledispatch ^= 0.4.7, pandas ^= 0.16.0) + - odo 0.3.1-3; depends (sqlalchemy ^= 1.0.1, numpy ^= 1.8.1, datashape ^= 0.4.4, python_dateutil ^= 2.4.2, pytables ^= 3.1.1, toolz ^= 0.7.1, networkx ^= 1.9.1, multipledispatch ^= 0.4.7, pandas ^= 0.16.0) + - odo 0.3.1-4; depends (sqlalchemy ^= 1.0.1, datashape ^= 0.4.4, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, pytables ^= 3.1.1, toolz ^= 0.7.1, networkx ^= 1.9.1, multipledispatch ^= 0.4.7, pandas ^= 0.16.0) + - odo 0.3.2-1; depends (sqlalchemy ^= 1.0.4, datashape ^= 0.4.5, numpy ^= 1.9.2, pytables ^= 3.1.1, toolz ^= 0.7.1, networkx ^= 1.9.1, python_dateutil ^= 2.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.16.0) + - odo 0.3.2-2; depends (sqlalchemy ^= 1.0.4, datashape ^= 0.4.5, numpy ^= 1.9.2, pytables ^= 3.1.1, toolz ^= 0.7.1, networkx ^= 1.9.1, python_dateutil ^= 2.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.16.1) + - odo 0.3.2-3; depends (sqlalchemy ^= 1.0.4, datashape ^= 0.4.5, numpy ^= 1.9.2, pytables ^= 3.1.1, toolz ^= 0.7.2, networkx ^= 1.9.1, python_dateutil ^= 2.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.16.1) + - odo 0.3.2-4; depends (sqlalchemy ^= 1.0.4, datashape ^= 0.4.5, numpy ^= 1.9.2, pytables ^= 3.1.1, toolz ^= 0.7.2, networkx ^= 1.9.1, python_dateutil ^= 2.4.2, multipledispatch ^= 0.4.7, pandas ^= 0.16.2) + - odo 0.3.2-5; depends (pytables ^= 3.2.0, sqlalchemy ^= 1.0.4, datashape ^= 0.4.5, numpy ^= 1.9.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.2, networkx ^= 1.9.1, python_dateutil ^= 2.4.2, pandas ^= 0.16.2) + - odo 0.3.2-6; depends (pytables ^= 3.2.0, sqlalchemy ^= 1.0.6, datashape ^= 0.4.5, numpy ^= 1.9.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.2, networkx ^= 1.9.1, python_dateutil ^= 2.4.2, pandas ^= 0.16.2) + - odo 0.3.2-7; depends (pytables ^= 3.2.0, sqlalchemy ^= 1.0.6, datashape ^= 0.4.5, numpy ^= 1.9.2, multipledispatch ^= 0.4.7, toolz ^= 0.7.2, networkx ^= 1.9.1, python_dateutil ^= 2.4.2, pandas ^= 0.16.2) + - odo 0.3.3-1; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, sqlalchemy ^= 1.0.6, python_dateutil ^= 2.4.2, datashape ^= 0.4.6, numpy ^= 1.9.2, toolz ^= 0.7.4, networkx ^= 1.9.1, pandas ^= 0.16.2) + - odo 0.3.3-2; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, networkx ^= 1.10, sqlalchemy ^= 1.0.6, python_dateutil ^= 2.4.2, datashape ^= 0.4.6, numpy ^= 1.9.2, toolz ^= 0.7.4, pandas ^= 0.16.2) + - odo 0.3.3-3; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, networkx ^= 1.10, sqlalchemy ^= 1.0.8, python_dateutil ^= 2.4.2, datashape ^= 0.4.6, numpy ^= 1.9.2, toolz ^= 0.7.4, pandas ^= 0.16.2) + - odo 0.3.4-1; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, networkx ^= 1.10, sqlalchemy ^= 1.0.8, python_dateutil ^= 2.4.2, datashape ^= 0.4.7, numpy ^= 1.9.2, toolz ^= 0.7.4, pandas ^= 0.16.2) + - odo 0.3.4-2; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, networkx ^= 1.10, sqlalchemy ^= 1.0.8, python_dateutil ^= 2.4.2, datashape ^= 0.4.7, numpy ^= 1.9.2, toolz ^= 0.7.4, pandas ^= 0.16.2) + - odo 0.3.4-3; depends (multipledispatch ^= 0.4.8, pytables ^= 3.2.0, networkx ^= 1.10, sqlalchemy ^= 1.0.8, python_dateutil ^= 2.4.2, datashape ^= 0.4.7, numpy ^= 1.9.2, toolz ^= 0.7.4, pandas ^= 0.16.2) + - odo 0.3.4-4; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, networkx ^= 1.10, pytables ^= 3.2.0, sqlalchemy ^= 1.0.8, python_dateutil ^= 2.4.2, datashape ^= 0.4.7, numpy ^= 1.9.2, toolz ^= 0.7.4) + - odo 0.3.4-5; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, networkx ^= 1.10, pytables ^= 3.2.0, sqlalchemy ^= 1.0.8, python_dateutil ^= 2.4.2, datashape ^= 0.4.7, numpy ^= 1.9.2, toolz ^= 0.7.4) + - odo 0.3.4-6; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, pytables ^= 3.2.2, networkx ^= 1.10, sqlalchemy ^= 1.0.8, python_dateutil ^= 2.4.2, datashape ^= 0.4.7, numpy ^= 1.9.2, toolz ^= 0.7.4) + - odo 0.3.4-7; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, pytables ^= 3.2.2, networkx ^= 1.10, python_dateutil ^= 2.4.2, datashape ^= 0.4.7, numpy ^= 1.9.2, sqlalchemy ^= 1.0.10, toolz ^= 0.7.4) + - odo 0.3.4-8; depends (multipledispatch ^= 0.4.8, pandas ^= 0.17.1, pytables ^= 3.2.2, networkx ^= 1.10, datashape ^= 0.5.0, numpy ^= 1.9.2, sqlalchemy ^= 1.0.10, toolz ^= 0.7.4, python_dateutil ^= 2.4.2) + - okonomiyaki 0.2.1-1 + - okonomiyaki 0.3.1-1 + - okonomiyaki 0.3.2-1 + - okonomiyaki 0.3.3-1 + - okonomiyaki 0.3.3-2 + - okonomiyaki 0.5.0-1 + - okonomiyaki 0.5.0-2; depends (six ^= 1.9.0) + - okonomiyaki 0.5.1-1; depends (six ^= 1.9.0) + - okonomiyaki 0.7.0-1; depends (six ^= 1.9.0) + - okonomiyaki 0.7.0-2; depends (zipfile2 ^= 0.0.6, six ^= 1.9.0) + - okonomiyaki 0.8.0-1; depends (zipfile2 ^= 0.0.6, six ^= 1.9.0) + - okonomiyaki 0.8.0-2; depends (zipfile2 ^= 0.0.7, six ^= 1.9.0) + - okonomiyaki 0.9.0-1; depends (zipfile2 ^= 0.0.7, six ^= 1.9.0) + - okonomiyaki 0.9.0-3; depends (six ^= 1.9.0, zipfile2 ^= 0.0.8) + - okonomiyaki 0.12.0-1; depends (zipfile2 ^= 0.0.11, jsonschema ^= 2.4.0, six ^= 1.9.0, attrs ^= 15.1.0) + - okonomiyaki 0.13.0-1; depends (zipfile2 ^= 0.0.11, jsonschema ^= 2.4.0, six ^= 1.9.0, attrs ^= 15.1.0) + - okonomiyaki 0.13.1-1; depends (zipfile2 ^= 0.0.11, jsonschema ^= 2.4.0, six ^= 1.9.0, attrs ^= 15.1.0) + - okonomiyaki 0.13.1-2; depends (zipfile2 ^= 0.0.11, jsonschema ^= 2.4.0, six ^= 1.9.0, attrs ^= 15.1.0) + - okonomiyaki 0.13.1-3; depends (zipfile2 ^= 0.0.11, jsonschema ^= 2.4.0, six ^= 1.10.0, attrs ^= 15.1.0) + - okonomiyaki 0.13.1-4; depends (zipfile2 ^= 0.0.11, jsonschema ^= 2.4.0, six ^= 1.10.0, attrs ^= 15.1.0) + - okonomiyaki 0.14.0-1; depends (zipfile2 ^= 0.0.11, jsonschema ^= 2.4.0, six ^= 1.10.0, attrs ^= 15.1.0) + - okonomiyaki 0.14.0-2; depends (attrs ^= 15.2.0, jsonschema ^= 2.4.0, six ^= 1.10.0, zipfile2 ^= 0.0.11) + - opencv 2.4.5-2; depends (numpy ^= 1.7.1) + - opencv 2.4.5-3; depends (numpy ^= 1.8.0) + - opencv 2.4.5-4; depends (numpy ^= 1.8.0, libpng ^= 1.6.12) + - opencv 2.4.5-5; depends (numpy ^= 1.8.1, libpng ^= 1.6.12) + - opencv 2.4.9-1; depends (numpy ^= 1.8.1, libpng ^= 1.6.12) + - opencv 2.4.9-2; depends (numpy ^= 1.9.2, libpng ^= 1.6.12) + - openopt 0.28-2; depends (numpy) + - openpyxl 1.5.8-1 + - openpyxl 1.8.5-1 + - openpyxl 2.0.3-1; depends (jdcal ^= 1.0.0) + - openpyxl 2.3.0-1; depends (jdcal ^= 1.0.0) + - openpyxl 2.3.1-1; depends (jdcal ^= 1.0.0, lxml ^= 3.4.4) + - openpyxl 2.3.1-2; depends (jdcal ^= 1.2, lxml ^= 3.4.4) + - openpyxl 2.3.1-3; depends (jdcal ^= 1.2, lxml ^= 3.5.0) + - owslib 0.8.8-1; depends (python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, lxml ^= 3.3.6) + - owslib 0.8.8-2; depends (python_dateutil ^= 2.2.0, lxml ^= 3.4.0, pytz ^= 2013.8.0) + - owslib 0.8.8-3; depends (python_dateutil ^= 2.2.0, pytz ^= 2014.9.0, lxml ^= 3.4.0) + - owslib 0.8.8-4; depends (python_dateutil ^= 2.2.0, pytz ^= 2014.9.0, lxml ^= 3.4.1) + - owslib 0.8.8-5; depends (lxml ^= 3.4.2, python_dateutil ^= 2.2.0, pytz ^= 2014.9.0) + - owslib 0.8.8-6; depends (lxml ^= 3.4.2, pytz ^= 2014.9.0, python_dateutil ^= 2.4.2) + - owslib 0.8.8-7; depends (pytz ^= 2014.9.0, lxml ^= 3.4.3, python_dateutil ^= 2.4.2) + - owslib 0.8.8-8; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, lxml ^= 3.4.4) + - owslib 0.8.8-9; depends (pytz ^= 2015.7, python_dateutil ^= 2.4.2, lxml ^= 3.4.4) + - owslib 0.8.8-10; depends (pytz ^= 2015.7, python_dateutil ^= 2.4.2, lxml ^= 3.5.0) + - pandas 0.2-2; depends (python_dateutil, numpy ^= 1.5.1, scikits.statsmodels) + - pandas 0.2-3; depends (python_dateutil, numpy ^= 1.5.1, scikits.statsmodels) + - pandas 0.3.0-1; depends (python_dateutil, numpy ^= 1.5.1, scikits.statsmodels) + - pandas 0.3.0-2; depends (python_dateutil, numpy ^= 1.6.0, scikits.statsmodels) + - pandas 0.3.0-3; depends (python_dateutil, numpy ^= 1.6.1, scikits.statsmodels) + - pandas 0.4.3-1; depends (python_dateutil, numpy ^= 1.6.1, scikits.statsmodels) + - pandas 0.6.1-1; depends (python_dateutil, numpy ^= 1.6.1, scikits.statsmodels) + - pandas 0.7.0-1; depends (python_dateutil, numpy ^= 1.6.1, scikits.statsmodels) + - pandas 0.7.1-1; depends (python_dateutil, numpy ^= 1.6.1, scikits.statsmodels) + - pandas 0.7.2-1; depends (python_dateutil, numpy ^= 1.6.1, scikits.statsmodels) + - pandas 0.7.3-1; depends (python_dateutil, numpy ^= 1.6.1, scikits.statsmodels) + - pandas 0.7.3-2; depends (statsmodels, python_dateutil, numpy ^= 1.6.1) + - pandas 0.8.0rc2-1; depends (statsmodels, python_dateutil, numpy ^= 1.6.1) + - pandas 0.9.0-1; depends (statsmodels, python_dateutil, numpy ^= 1.6.1) + - pandas 0.9.1-1; depends (python_dateutil, numpy ^= 1.6.1) + - pandas 0.10.0-1; depends (python_dateutil, numpy ^= 1.6.1) + - pandas 0.10.1-1; depends (python_dateutil, numpy ^= 1.6.1) + - pandas 0.11.0-1; depends (python_dateutil, numpy ^= 1.6.1) + - pandas 0.11.0-2; depends (numpy ^= 1.7.1, python_dateutil) + - pandas 0.11.0-3; depends (numpy ^= 1.7.1, python_dateutil) + - pandas 0.12.0-1; depends (numpy ^= 1.7.1, python_dateutil) + - pandas 0.12.0-2; depends (numpy ^= 1.7.1, python_dateutil, pytz ^= 2011n) + - pandas 0.12.0-3; depends (python_dateutil, numpy ^= 1.8.0, pytz ^= 2011n) + - pandas 0.12.0-4; depends (python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, numpy ^= 1.8.0) + - pandas 0.13.1-1; depends (python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, numpy ^= 1.8.0) + - pandas 0.14.0-1; depends (python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, numpy ^= 1.8.0) + - pandas 0.14.1-1; depends (python_dateutil ^= 2.2.0, pytz ^= 2013.8.0, numpy ^= 1.8.0) + - pandas 0.14.1-2; depends (python_dateutil ^= 2.2.0, numpy ^= 1.8.1, pytz ^= 2013.8.0) + - pandas 0.14.1-3; depends (python_dateutil ^= 2.2.0, distribute ^= 0.6.49, numpy ^= 1.8.1, pytz ^= 2013.8.0) + - pandas 0.15.0-1; depends (python_dateutil ^= 2.2.0, distribute ^= 0.6.49, numpy ^= 1.8.1, pytz ^= 2013.8.0) + - pandas 0.15.0-2; depends (python_dateutil ^= 2.2.0, distribute ^= 0.6.49, numpy ^= 1.8.1, pytz ^= 2014.9.0) + - pandas 0.15.1-1; depends (python_dateutil ^= 2.2.0, distribute ^= 0.6.49, numpy ^= 1.8.1, pytz ^= 2014.9.0) + - pandas 0.15.2-1; depends (python_dateutil ^= 2.2.0, distribute ^= 0.6.49, numpy ^= 1.8.1, pytz ^= 2014.9.0) + - pandas 0.15.2-2; depends (python_dateutil ^= 2.2.0, pytz ^= 2014.9.0, numpy ^= 1.8.1, setuptools ^= 14.3.1) + - pandas 0.16.0-1; depends (python_dateutil ^= 2.2.0, pytz ^= 2014.9.0, numpy ^= 1.8.1, setuptools ^= 14.3.1) + - pandas 0.16.0-2; depends (pytz ^= 2014.9.0, setuptools ^= 14.3.1, numpy ^= 1.8.1, python_dateutil ^= 2.4.2) + - pandas 0.16.0-3; depends (pytz ^= 2014.9.0, numpy ^= 1.8.1, python_dateutil ^= 2.4.2, setuptools ^= 15.1) + - pandas 0.16.0-4; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 15.1) + - pandas 0.16.0-5; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 15.2) + - pandas 0.16.1-1; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 15.2) + - pandas 0.16.1-2; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 16.0) + - pandas 0.16.1-3; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 17.1.1) + - pandas 0.16.2-1; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 17.1.1) + - pandas 0.16.2-2; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 18.2) + - pandas 0.16.2-3; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, setuptools ^= 18.4, numpy ^= 1.9.2) + - pandas 0.17.1-1; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, setuptools ^= 18.4, numpy ^= 1.9.2) + - pandas 0.17.1-2; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 18.7.1) + - pandas 0.17.1-3; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 18.7.1) + - pandas 0.17.1-4; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, numpy ^= 1.9.2, setuptools ^= 18.7.1) + - pandas 0.17.1-5; depends (pytz ^= 2014.9.0, python_dateutil ^= 2.4.2, setuptools ^= 19.1.1, numpy ^= 1.9.2) + - pandas 0.17.1-6; depends (setuptools ^= 19.1.1, python_dateutil ^= 2.4.2, pytz ^= 2015.7, numpy ^= 1.9.2) + - pandas_datareader 0.2.1-1; depends (pandas ^= 0.17.1, requests ^= 2.8.0, requests_file ^= 1.4) + - pandas_datareader 0.2.1-2; depends (pandas ^= 0.17.1, requests ^= 2.9.0, requests_file ^= 1.4) + - pandasql 0.3.1-1; depends (pandas ^= 0.12.0, sqlparse ^= 0.1.8) + - pandasql 0.3.1-2; depends (sqlparse ^= 0.1.8, pandas ^= 0.13.1) + - pandasql 0.4.3-1; depends (sqlparse ^= 0.1.11, pandas ^= 0.14.0) + - pandasql 0.4.3-2; depends (sqlparse ^= 0.1.11, pandas ^= 0.14.1) + - pandasql 0.6.1-1; depends (pandas ^= 0.14.1) + - pandasql 0.6.1-2; depends (pandas ^= 0.15.0) + - pandasql 0.6.1-3; depends (pandas ^= 0.15.1) + - pandasql 0.6.1-4; depends (pandas ^= 0.15.2) + - pandasql 0.6.1-5; depends (pandas ^= 0.16.0) + - pandasql 0.6.2-1; depends (pandas ^= 0.16.0) + - pandasql 0.6.2-2; depends (pandas ^= 0.16.1) + - pandasql 0.6.2-3; depends (pandas ^= 0.16.2) + - pandasql 0.6.3-1; depends (pandas ^= 0.16.2) + - pandasql 0.6.3-2; depends (pandas ^= 0.17.1) + - paramiko 1.7.6-4; depends (pycrypto) + - paramiko 1.7.7.1-1; depends (pycrypto) + - paramiko 1.10.1-2; depends (pycrypto ^= 2.6.1) + - paramiko 1.14.0-1; depends (pycrypto ^= 2.6.1, ecdsa ^= 0.11.0) + - paramiko 1.15.1-1; depends (pycrypto ^= 2.6.1, ecdsa ^= 0.11.0) + - paramiko 1.15.2-1; depends (pycrypto ^= 2.6.1, ecdsa ^= 0.11.0) + - paramiko 1.15.2-2; depends (ecdsa ^= 0.13, pycrypto ^= 2.6.1) + - paramiko 1.16.0-1; depends (ecdsa ^= 0.13, pycrypto ^= 2.6.1) + - partd 0.3.2-1; depends (locket ^= 0.2.0) + - passlib 1.6.2-1; depends (bcrypt ^= 1.0.2) + - paste 1.7.5.1-1 + - pastedeploy 1.5.2-1; depends (paste ^= 1.7.5.1) + - patchelf 0.8-1 + - path.py 8.1.1-1 + - path.py 8.1.1-2 + - patsy 0.2.0-1 + - patsy 0.3.0-1 + - patsy 0.4.0-1; depends (numpy ^= 1.9.2, six ^= 1.9.0) + - patsy 0.4.0-2; depends (six ^= 1.10.0, numpy ^= 1.9.2) + - pbr 0.10.0-1 + - pbr 0.10.0-2; depends (distribute ^= 0.6.49) + - pbr 0.10.0-3; depends (setuptools ^= 14.3.1) + - pbr 0.10.0-4; depends (setuptools ^= 15.1) + - pbr 0.10.0-5; depends (setuptools ^= 15.2) + - pbr 0.10.0-6; depends (setuptools ^= 16.0) + - pbr 0.10.0-7; depends (setuptools ^= 17.1.1) + - pbr 1.2.0-1; depends (setuptools ^= 17.1.1) + - pbr 1.2.0-2; depends (setuptools ^= 18.2) + - pbr 1.8.1-1; depends (setuptools ^= 18.2) + - pbr 1.8.1-2; depends (setuptools ^= 18.4) + - pbr 1.8.1-3; depends (setuptools ^= 18.7.1) + - pbr 1.8.1-4; depends (setuptools ^= 19.1.1) + - pep8 0.6.1-1 + - pep8 1.0.1-1 + - pep8 1.4.6-1 + - pep8 1.4.6-2 + - pep8 1.5.7-1 + - pep8 1.6.1-1 + - pep8 1.6.2-1 + - pexpect 3.3-1 + - pexpect 3.3-2 + - pickleshare 0.5-1; depends (path.py ^= 8.1.1) + - pil 1.1.7-3; depends (freetype ^= 2.4.4) + - pil 1.1.7-4; depends (libjpeg ^= 7.0, freetype ^= 2.4.4) + - pil 1.1.7-10; depends (libjpeg ^= 7.0, freetype ^= 2.4.4) + - pil 1.1.7-12; depends (libjpeg ^= 7.0, freetype ^= 2.4.4) + - pil 1.1.7-13; depends (libjpeg ^= 7.0, freetype ^= 2.5.3) + - pil 1.1.7-14; depends (libjpeg ^= 7.0, freetype ^= 2.5.3) + - pil_remove 1.0.0-1 + - pil_remove 1.0.0-2 + - pillow 2.8.1-1; depends (libjpeg ^= 7.0, freetype ^= 2.5.3, pil_remove ^= 1.0.0) + - pillow 2.9.0-1; depends (libjpeg ^= 7.0, freetype ^= 2.5.3, pil_remove ^= 1.0.0) + - pillow 2.9.0-2; depends (libjpeg ^= 7.0, freetype ^= 2.5.3, libopenjpeg ^= 2.1.0, pil_remove ^= 1.0.0) + - pillow 2.9.0-3; depends (libjpeg ^= 7.0, freetype ^= 2.5.3, libopenjpeg ^= 2.1.0, pil_remove ^= 1.0.0) + - pillow 3.0.0-1; depends (libjpeg ^= 7.0, freetype ^= 2.5.3, libopenjpeg ^= 2.1.0, pil_remove ^= 1.0.0) + - pip 1.5.6-1 + - pip 6.0.6-1 + - pip 6.0.8-1 + - pip 6.1.1-1 + - pip 7.0.1-1 + - pip 7.0.3-1 + - pip 7.1.0-1 + - pip 7.1.2-1 + - plotly 1.3.0-1; depends (six ^= 1.8.0, matplotlib ^= 1.4.0, requests ^= 2.4.3) + - plotly 1.3.0-2; depends (six ^= 1.8.0, requests ^= 2.4.3, matplotlib ^= 1.4.2) + - plotly 1.3.0-3; depends (six ^= 1.8.0, matplotlib ^= 1.4.2, requests ^= 2.5.0) + - plotly 1.4.14-1; depends (six ^= 1.8.0, matplotlib ^= 1.4.2, requests ^= 2.5.0) + - plotly 1.4.14-2; depends (six ^= 1.8.0, matplotlib ^= 1.4.2, requests ^= 2.5.1) + - plotly 1.4.14-3; depends (matplotlib ^= 1.4.2, six ^= 1.9.0, requests ^= 2.5.1) + - plotly 1.4.14-4; depends (matplotlib ^= 1.4.3, six ^= 1.9.0, requests ^= 2.5.1) + - plotly 1.4.14-5; depends (matplotlib ^= 1.4.3, requests ^= 2.5.3, six ^= 1.9.0) + - plotly 1.4.14-6; depends (requests ^= 2.6.0, matplotlib ^= 1.4.3, six ^= 1.9.0) + - plotly 1.4.14-7; depends (matplotlib ^= 1.4.3, requests ^= 2.6.2, six ^= 1.9.0) + - plotly 1.4.14-8; depends (matplotlib ^= 1.4.3, requests ^= 2.7.0, six ^= 1.9.0) + - plotly 1.4.14-9; depends (matplotlib ^= 1.4.3, six ^= 1.9.0, requests ^= 2.8.0) + - plotly 1.4.14-10; depends (matplotlib ^= 1.4.3, six ^= 1.10.0, requests ^= 2.8.0) + - plotly 1.4.14-11; depends (six ^= 1.10.0, matplotlib ^= 1.5.0, requests ^= 2.8.0) + - plotly 1.4.14-12; depends (six ^= 1.10.0, requests ^= 2.9.0, matplotlib ^= 1.5.0) + - plotly 1.4.14-13; depends (six ^= 1.10.0, requests ^= 2.9.0, matplotlib ^= 1.5.1) + - ply 3.3-3 + - ply 3.4-1 + - ply 3.6-1 + - ply 3.8-1 + - portaudio 19-4 + - pretend 1.0.8-1 + - prettyplotlib 0.1.3-2; depends (matplotlib ^= 1.3.1, brewer2mpl ^= 1.3.1) + - prettyplotlib 0.1.7-1; depends (matplotlib ^= 1.3.1, brewer2mpl ^= 1.4.0) + - prettyplotlib 0.1.7-2; depends (matplotlib ^= 1.4.0, brewer2mpl ^= 1.4.0) + - prettyplotlib 0.1.7-3; depends (matplotlib ^= 1.4.2, brewer2mpl ^= 1.4.0) + - prettyplotlib 0.1.7-4; depends (matplotlib ^= 1.4.3, brewer2mpl ^= 1.4.0) + - prettyplotlib 0.1.7-5; depends (matplotlib ^= 1.5.0, brewer2mpl ^= 1.4.0) + - prettyplotlib 0.1.7-6; depends (matplotlib ^= 1.5.1, brewer2mpl ^= 1.4.0) + - progressbar 2.3-1 + - protobuf 2.4.0a0-1 + - protobuf 2.4.1-1 + - protobuf 2.4.1-2 + - protobuf 2.6.1-1 + - protobuf 2.6.1-2 + - protobuf_python 2.4.1-1; depends (protobuf ^= 2.4.1) + - protobuf_python 2.6.1-1; depends (protobuf ^= 2.6.1) + - psutil 0.2.0-1 + - psutil 0.2.1-1 + - psutil 0.4.1-1 + - psutil 1.0.1-1 + - psutil 1.2.1-2 + - psutil 2.1.1-1 + - psutil 2.2.0-1 + - psutil 2.2.1-1 + - psutil 3.2.1-1 + - psutil 3.3.0-1 + - ptyprocess 0.4-1 + - py 1.4.14-1 + - py 1.4.18-1 + - py 1.4.20-1 + - py 1.4.24-1 + - py 1.4.25-1 + - py 1.4.25-2 + - py 1.4.26-1 + - py 1.4.26-2 + - py 1.4.30-1 + - pyamg 2.1.0-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1) + - pyamg 2.1.0-2; depends (numpy ^= 1.8.1, scipy ^= 0.14.1rc1) + - pyamg 2.2.0-1; depends (numpy ^= 1.8.1, scipy ^= 0.14.1rc1) + - pyamg 2.2.0-2; depends (numpy ^= 1.8.1, scipy ^= 0.15.1) + - pyamg 2.2.1-1; depends (numpy ^= 1.8.1, scipy ^= 0.15.1) + - pyamg 2.2.1-2; depends (numpy ^= 1.9.2, scipy ^= 0.15.1) + - pyamg 2.2.1-3; depends (scipy ^= 0.16.0, numpy ^= 1.9.2) + - pyamg 2.2.1-4; depends (scipy ^= 0.16.1, numpy ^= 1.9.2) + - pyasn1 0.1.7-2 + - pyasn1 0.1.9-1 + - pyasn1_modules 0.0.8-1 + - pyaudio 0.2.4-1 + - pyaudio 0.2.4-3 + - pycluster 1.50-2; depends (numpy ^= 1.5.1) + - pycluster 1.50-3; depends (numpy ^= 1.6.0) + - pycluster 1.50-4; depends (numpy ^= 1.6.1) + - pycluster 1.50-5; depends (numpy ^= 1.7.1) + - pycluster 1.50-6; depends (numpy ^= 1.8.0) + - pycluster 1.50-7; depends (numpy ^= 1.8.1) + - pycluster 1.50-8; depends (numpy ^= 1.9.2) + - pycparser 2.10.0-1 + - pycparser 2.12-1 + - pycparser 2.13-1 + - pycparser 2.14-1 + - pycparser 2.14-2 + - pycrypto 2.3-2 + - pycrypto 2.4.1-1 + - pycrypto 2.6.1-1 + - pycurl 7.19.5-1; depends (curl ^= 7.38.0) + - pycurl 7.19.5-2; depends (curl ^= 7.43.0) + - pydicom 0.9.9-1 + - pydot 1.0.2-5; depends (pyparsing ^= 1.5.5) + - pydot 1.0.25-1; depends (pyparsing ^= 1.5.5) + - pydot 1.0.28-1; depends (pyparsing) + - pydot 1.0.28-2; depends (pyparsing ^= 2.0.2) + - pydot 1.0.28-3; depends (pyparsing ^= 2.0.3) + - pyephem 3.7.3.4-2 + - pyephem 3.7.4.1-1 + - pyephem 3.7.5.1-1 + - pyephem 3.7.5.3-1 + - pyface 4.0.0-1 + - pyface 4.1.0-1 + - pyface 4.2.0-1 + - pyface 4.3.0-1 + - pyface 4.3.0-2; depends (traits ^= 4.3.0) + - pyface 4.4.0-1; depends (traits ^= 4.4.0) + - pyface 4.4.0-2; depends (traits ^= 4.5.0) + - pyface 4.5.0-1; depends (traits ^= 4.5.0) + - pyface 4.5.2-1; depends (traits ^= 4.5.0) + - pyface 5.0.0-1; depends (traits ^= 4.5.0) + - pyfits 2.4.0-1; depends (numpy ^= 1.5.1) + - pyfits 2.4.0-2; depends (numpy ^= 1.6.0) + - pyfits 2.4.0-3; depends (numpy ^= 1.6.1) + - pyfits 3.0.3-1; depends (numpy ^= 1.6.1) + - pyfits 3.0.6-1; depends (numpy ^= 1.6.1) + - pyfits 3.0.6-2; depends (numpy ^= 1.7.1) + - pyfits 3.0.6-3; depends (numpy ^= 1.8.0) + - pyfits 3.0.6-4; depends (numpy ^= 1.8.1) + - pyfits 3.3-1; depends (numpy ^= 1.8.1) + - pyflakes 0.4.0-2 + - pyflakes 0.4.0-3 + - pyflakes 0.5.0-1 + - pyflakes 0.7.3-1 + - pyflakes 0.7.3-2 + - pyflakes 0.8.1-1 + - pyflakes 0.9.2-1 + - pyflakes 1.0.0-1 + - pygarrayimage 0.0.7-4; depends (pil, numpy, pyglet) + - pygarrayimage 0.0.7-5; depends (pil, numpy, pyglet) + - pygarrayimage 0.0.7-6; depends (pil, numpy, pyglet) + - pygarrayimage 0.0.7-7; depends (pil, numpy, pyglet) + - pygarrayimage 0.0.7-8; depends (pil, numpy, pyglet) + - pygarrayimage 0.0.7-9; depends (numpy, pillow, pyglet) + - pygarrayimage 0.0.7-10; depends (numpy, pillow, pyglet) + - pygarrayimage 0.0.7-11; depends (numpy, pillow, pyglet) + - pyglet 1.1.4-2 + - pygments 1.3.1-2 + - pygments 1.4-1 + - pygments 1.6.0-1 + - pygments 2.0.1-1 + - pygments 2.0.2-1 + - pygrib 1.9.1-1; depends (pyproj ^= 1.8.9, numpy ^= 1.6.1) + - pygrib 1.9.2-1; depends (pyproj ^= 1.8.9, numpy ^= 1.6.1) + - pygrib 1.9.2-2; depends (numpy ^= 1.7.1, pyproj ^= 1.9.3) + - pygrib 1.9.2-3; depends (numpy ^= 1.8.0, pyproj ^= 1.9.3) + - pygrib 1.9.9-1; depends (numpy ^= 1.8.0, pyproj ^= 1.9.3) + - pygrib 1.9.9-3; depends (numpy ^= 1.8.1, pyproj ^= 1.9.3, libpng ^= 1.6.12) + - pygrib 1.9.9-4; depends (pyproj ^= 1.9.3, numpy ^= 1.9.2, libpng ^= 1.6.12) + - pygrib 1.9.9-5; depends (pyproj ^= 1.9.4, numpy ^= 1.9.2, libpng ^= 1.6.12) + - pyhdf 0.8.3-4; depends (numpy ^= 1.5.1) + - pyhdf 0.8.3-5; depends (numpy ^= 1.6.0) + - pyhdf 0.8.3-6; depends (numpy ^= 1.6.1) + - pyhdf 0.8.3-8; depends (numpy ^= 1.7.1) + - pyhdf 0.8.3-11; depends (numpy ^= 1.8.0) + - pyhdf 0.8.3-12; depends (numpy ^= 1.8.1) + - pyke 1.1.1-1; depends (htmltemplate ^= 1.5.0, doctest_tools ^= 1.0a3) + - pylint 0.23.0-1; depends (logilab_common, logilab_astng) + - pylint 0.24.0-1; depends (logilab_common, logilab_astng) + - pylint 0.25.0-1; depends (logilab_common, logilab_astng) + - pylint 0.25.1-1; depends (logilab_common, logilab_astng) + - pymc 2.1b0-1; depends (numpy ^= 1.5.1) + - pymc 2.1b0-2; depends (numpy ^= 1.6.0) + - pymc 2.1b0-3; depends (numpy) + - pymc 2.2.0-2; depends (numpy ^= 1.7.1) + - pymc 2.2.0-3; depends (numpy ^= 1.8.0) + - pymc 2.3.2-1; depends (numpy ^= 1.8.0) + - pymc 2.3.2-3; depends (scipy ^= 0.14.0, numpy ^= 1.8.1) + - pymc 2.3.3-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1) + - pymc 2.3.3-2; depends (scipy ^= 0.14.0, numpy ^= 1.8.1) + - pymc 2.3.3-3; depends (numpy ^= 1.8.1, scipy ^= 0.14.1rc1) + - pymc 2.3.3-4; depends (numpy ^= 1.8.1, scipy ^= 0.15.1) + - pymc 2.3.4-1; depends (numpy ^= 1.8.1, scipy ^= 0.15.1) + - pymc 2.3.4-2; depends (numpy ^= 1.8.1, scipy ^= 0.15.1) + - pymc 2.3.4-3; depends (numpy ^= 1.9.2, scipy ^= 0.15.1) + - pymc 2.3.4-4; depends (scipy ^= 0.16.0, numpy ^= 1.9.2) + - pymc 2.3.6-1; depends (scipy ^= 0.16.0, numpy ^= 1.9.2) + - pymc 2.3.6-2; depends (scipy ^= 0.16.1, numpy ^= 1.9.2) + - pymc 2.3.6-3; depends (scipy ^= 0.16.1, numpy ^= 1.9.2) + - pymc 2.3.6-4; depends (scipy ^= 0.16.1, numpy ^= 1.9.2, mkl ^= 10.3) + - pymc 2.3.6-5; depends (scipy ^= 0.16.1, numpy ^= 1.9.2, mkl ^= 10.3) + - pymongo 2.7.2-1 + - pymongo 2.8-1 + - pymysql 0.6.2-1 + - pymysql 0.6.3-1 + - pymysql 0.6.6-1 + - pymysql 0.6.7-1 + - pyodbc 2.1.8-1 + - pyodbc 3.0.6-1 + - pyodbc 3.0.7-1 + - pyodbc 3.0.7-2; depends (unixodbc ^= 2.3.2) + - pyodbc 3.0.10-1; depends (unixodbc ^= 2.3.2) + - pyopengl 3.0.1-2 + - pyopengl 3.1.0-1 + - pyopenssl 0.11-2 + - pyopenssl 0.12-1 + - pyopenssl 0.13-1 + - pyopenssl 0.13.1-1 + - pyopenssl 0.14-1; depends (six ^= 1.8.0, cryptography ^= 0.6.1) + - pyopenssl 0.14-2; depends (six ^= 1.9.0, cryptography ^= 0.6.1) + - pyopenssl 0.14-3; depends (cryptography ^= 0.8.1, six ^= 1.9.0) + - pyopenssl 0.14-4; depends (cryptography ^= 0.8.2, six ^= 1.9.0) + - pyopenssl 0.15.1-1; depends (cryptography ^= 0.8.2, six ^= 1.9.0) + - pyopenssl 0.15.1-2; depends (cryptography ^= 0.9.1, six ^= 1.9.0) + - pyopenssl 0.15.1-3; depends (six ^= 1.9.0, cryptography ^= 0.9.3) + - pyopenssl 0.15.1-4; depends (six ^= 1.10.0, cryptography ^= 0.9.3) + - pyopenssl 0.15.1-5; depends (six ^= 1.10.0, cryptography ^= 1.1.1) + - pyparsing 1.5.5-3 + - pyparsing 1.5.6-1 + - pyparsing 2.0.2-1 + - pyparsing 2.0.3-1 + - pyproj 1.8.8-2 + - pyproj 1.8.9-1 + - pyproj 1.9.0-1 + - pyproj 1.9.3-1 + - pyproj 1.9.4-1 + - pyqt 4.10.3-1; depends (sip ^= 4.15.3, qt ^= 4.8.5) + - pyqt 4.11.0-1; depends (sip ^= 4.16.1) + - pyqt 4.11.3-1; depends (sip ^= 4.16.7, qt ^= 4.8.6) + - pyqt 4.11.4-1; depends (sip ^= 4.17, qt ^= 4.8.6) + - pysal 1.7.0-1; depends (scipy ^= 0.13.3, numpy ^= 1.8.0) + - pysal 1.7.0-2; depends (scipy ^= 0.14.0, numpy ^= 1.8.0) + - pysal 1.7.0-3; depends (scipy ^= 0.14.0, numpy ^= 1.8.1) + - pysal 1.7.0-4; depends (numpy ^= 1.8.1, scipy ^= 0.14.1rc1) + - pysal 1.7.0-5; depends (numpy ^= 1.8.1, scipy ^= 0.15.1) + - pysal 1.7.0-6; depends (numpy ^= 1.9.2, scipy ^= 0.15.1) + - pysal 1.7.0-7; depends (scipy ^= 0.16.0, numpy ^= 1.9.2) + - pysal 1.7.0-8; depends (scipy ^= 0.16.1, numpy ^= 1.9.2) + - pyserial 2.5-2 + - pyserial 2.6-1 + - pyserial 2.7-1 + - pyshp 1.2.0-1 + - pyside 1.0.0rc1-1; depends (qt ^= 4.7.1) + - pyside 1.0.2-1; depends (qt ^= 4.7.2) + - pyside 1.0.3-2; depends (qt ^= 4.7.3) + - pyside 1.0.5-1; depends (qt ^= 4.7.3) + - pyside 1.0.7-1; depends (qt ^= 4.7.3) + - pyside 1.1.0-2; depends (qt ^= 4.7.3) + - pyside 1.1.0-3; depends (qt ^= 4.7.3) + - pyside 1.2.1-1; depends (shiboken ^= 1.2.1, qt ^= 4.8.5) + - pyside 1.2.1-2; depends (shiboken ^= 1.2.1, qt ^= 4.8.5) + - pyside 1.2.2-1; depends (shiboken ^= 1.2.2, qt ^= 4.8.5) + - pyside 1.2.2-2; depends (shiboken ^= 1.2.2, qt ^= 4.8.6) + - pyside 1.2.2-5; depends (shiboken ^= 1.2.2, qt ^= 4.8.6) + - pyside_debug 1.2.2-5; depends (pyside == 1.2.2-5) + - pysparse 1.2.dev203-2; depends (numpy ^= 1.5.1, mkl ^= 10.3) + - pysparse 1.2.dev213-1; depends (numpy ^= 1.5.1, mkl ^= 10.3) + - pysparse 1.2.dev213-5; depends (numpy, mkl ^= 10.3) + - pysparse 1.2.dev213-6; depends (numpy, mkl ^= 10.3) + - pysparse 1.2.dev213-7; depends (numpy, mkl ^= 10.3) + - pysparse 1.2.dev213-8; depends (numpy, mkl ^= 10.3) + - pysparse 1.2.dev213-9; depends (numpy ^= 1.9.2, mkl ^= 10.3) + - pytables 2.2.1-1; depends (numpy ^= 1.5.1, hdf5 ^= 1.8.5.1, numexpr ^= 1.4.2) + - pytables 2.2.1-2; depends (hdf5 ^= 1.8.5.1, numpy ^= 1.6.0, numexpr ^= 1.4.2) + - pytables 2.3b1.dev4669-1; depends (hdf5 ^= 1.8.5.1, numpy ^= 1.6.0, numexpr ^= 1.4.2) + - pytables 2.3b1.dev4669-2; depends (numpy ^= 1.6.1, hdf5 ^= 1.8.5.1, numexpr ^= 1.4.2) + - pytables 2.3-1; depends (numpy ^= 1.6.1, hdf5 ^= 1.8.5.1, numexpr ^= 1.4.2) + - pytables 2.3.1-1; depends (numpy ^= 1.6.1, hdf5 ^= 1.8.5.1, numexpr ^= 1.4.2) + - pytables 2.3.1-2; depends (numpy ^= 1.6.1, numexpr ^= 2.0, hdf5 ^= 1.8.5.1) + - pytables 2.3.1-3; depends (numpy ^= 1.6.1, numexpr ^= 2.0.1, hdf5 ^= 1.8.5.1) + - pytables 2.3.1-4; depends (hdf5 ^= 1.8.9, numexpr ^= 2.0.1, numpy ^= 1.6.1) + - pytables 2.3.1-6; depends (hdf5 ^= 1.8.9, numexpr ^= 2.0.1, numpy ^= 1.7.1) + - pytables 2.4.0-1; depends (hdf5 ^= 1.8.9, numexpr ^= 2.0.1, numpy ^= 1.7.1) + - pytables 2.4.0-2; depends (hdf5 ^= 1.8.9, numexpr ^= 2.0.1, numpy ^= 1.7.1) + - pytables 2.4.0-3; depends (numexpr ^= 2.0.1, numpy ^= 1.7.1, hdf5 ^= 1.8.11) + - pytables 2.4.0-4; depends (numpy ^= 1.7.1, numexpr ^= 2.2.2, hdf5 ^= 1.8.11) + - pytables 2.4.0-5; depends (numpy ^= 1.8.0, numexpr ^= 2.2.2, hdf5 ^= 1.8.11) + - pytables 3.1.1-1; depends (numpy ^= 1.8.0, hdf5 ^= 1.8.11, numexpr ^= 2.4.0) + - pytables 3.1.1-3; depends (numpy ^= 1.8.1, hdf5 ^= 1.8.11, numexpr ^= 2.4.0) + - pytables 3.1.1-4; depends (numpy ^= 1.8.1, hdf5 ^= 1.8.11, numexpr ^= 2.4.0) + - pytables 3.1.1-5; depends (numpy ^= 1.8.1, numexpr ^= 2.4.0, hdf5 ^= 1.8.14) + - pytables 3.1.1-6; depends (numpy ^= 1.9.2, numexpr ^= 2.4.0, hdf5 ^= 1.8.14) + - pytables 3.1.1-7; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2, numexpr ^= 2.4.0) + - pytables 3.2.0-1; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2, numexpr ^= 2.4.0) + - pytables 3.2.0-2; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2, numexpr ^= 2.4.0) + - pytables 3.2.2-2; depends (hdf5 ^= 1.8.15.1, numpy ^= 1.9.2, numexpr ^= 2.4.0) + - pytest 2.3.5-1; depends (py) + - pytest 2.4.2-1; depends (py ^= 1.4.18) + - pytest 2.5.2-1; depends (py ^= 1.4.20) + - pytest 2.6.2-2; depends (py ^= 1.4.24) + - pytest 2.6.3-1; depends (py ^= 1.4.25) + - pytest 2.6.3-2; depends (py ^= 1.4.25) + - pytest 2.6.4-1; depends (py ^= 1.4.26) + - pytest 2.8.2-1; depends (py ^= 1.4.30) + - pytest_httpbin 0.2.0-1; depends (pytest ^= 2.8.2, httpbin ^= 0.4.0) + - python_dateutil 1.5-2 + - python_dateutil 2.2.0-1; depends (six ^= 1.3.0) + - python_dateutil 2.2.0-2; depends (six ^= 1.4.1) + - python_dateutil 2.2.0-3; depends (six ^= 1.7.2) + - python_dateutil 2.2.0-4; depends (six ^= 1.7.3) + - python_dateutil 2.2.0-5; depends (six ^= 1.8.0) + - python_dateutil 2.2.0-7; depends (six ^= 1.9.0) + - python_dateutil 2.4.2-1; depends (six ^= 1.9.0) + - python_dateutil 2.4.2-2; depends (six ^= 1.10.0) + - python_ntlm3 1.0.2-1; depends (six ^= 1.10.0) + - python_pptx 0.5.7-1; depends (xlsxwriter ^= 0.7.2, pillow ^= 2.8.1, lxml ^= 3.4.4) + - python_pptx 0.5.7-2; depends (xlsxwriter ^= 0.7.3, pillow ^= 2.8.1, lxml ^= 3.4.4) + - python_pptx 0.5.7-3; depends (pillow ^= 2.9.0, xlsxwriter ^= 0.7.3, lxml ^= 3.4.4) + - python_pptx 0.5.7-4; depends (pillow ^= 2.9.0, xlsxwriter ^= 0.7.6, lxml ^= 3.4.4) + - python_pptx 0.5.7-5; depends (pillow ^= 3.0.0, xlsxwriter ^= 0.7.6, lxml ^= 3.4.4) + - python_pptx 0.5.8-1; depends (xlsxwriter ^= 0.7.7, pillow ^= 3.0.0, lxml ^= 3.4.4) + - python_pptx 0.5.8-2; depends (xlsxwriter ^= 0.7.7, pillow ^= 3.0.0, lxml ^= 3.5.0) + - python_sybase 0.39-1 + - python_termstyle 0.1.10-1 + - pythondoc 2.7.3-1; depends (appinst) + - pytz 2010o-1 + - pytz 2011e-1 + - pytz 2011g-1 + - pytz 2011k-1 + - pytz 2011n-1 + - pytz 2013.8.0-1 + - pytz 2014.9.0-1 + - pytz 2015.7-1 + - pyvisa 1.3-3 + - pyvisa 1.6.1-1; depends (enum34 ^= 1.0.3) + - pyvisa 1.6.1-2; depends (enum34 ^= 1.0.4) + - pyvisa 1.6.1-3; depends (enum34 ^= 1.1.1) + - pywinrm 0.0.3-1; depends (xmltodict ^= 0.9.2, isodate ^= 0.5.1) + - pywinrm 0.0.3-2; depends (xmltodict ^= 0.9.2, isodate ^= 0.5.1) + - pywinrm 0.0.3-3; depends (xmltodict ^= 0.9.2, isodate ^= 0.5.1) + - pyyaml 3.9-2; depends (libyaml ^= 0.1.3) + - pyyaml 3.10-1; depends (libyaml ^= 0.1.4) + - pyyaml 3.11-1; depends (libyaml ^= 0.1.4) + - pyzmq 2.0.10-2; depends (zeromq ^= 2.0.10) + - pyzmq 2.0.10.1-1; depends (zeromq ^= 2.0.10) + - pyzmq 2.0.10.1-2; depends (zeromq ^= 2.0.10) + - pyzmq 2.1.1-1; depends (zeromq ^= 2.1.1) + - pyzmq 2.1.4-1; depends (zeromq ^= 2.1.4) + - pyzmq 2.1.7-1; depends (zeromq ^= 2.1.7) + - pyzmq 2.1.9-1 + - pyzmq 2.1.10-1 + - pyzmq 2.1.11-1 + - pyzmq 2.2.0-1 + - pyzmq 2.2.0-2 + - pyzmq 2.2.0-3 + - pyzmq 2.2.0-4 + - pyzmq 14.1.1-1; depends (zeromq ^= 3.2.4) + - pyzmq 14.3.1-1; depends (zeromq ^= 4.0.4) + - pyzmq 14.4.1-1; depends (zeromq ^= 4.0.4) + - pyzmq 14.5.0-1; depends (zeromq ^= 4.0.5) + - pyzmq 14.6.0-1; depends (zeromq ^= 4.0.5) + - pyzmq 14.7.0-1; depends (zeromq ^= 4.0.5) + - pyzmq 14.7.0-2; depends (zeromq ^= 4.1.3) + - pyzmq 14.7.0-3; depends (zeromq ^= 4.1.3) + - pyzmq 15.1.0-1; depends (zeromq ^= 4.1.3) + - qpython 1.0.0-1; depends (twisted ^= 15.2.1, numpy ^= 1.9.2, pandas ^= 0.16.2) + - qpython 1.0.0-2; depends (numpy ^= 1.9.2, twisted ^= 15.4.0, pandas ^= 0.16.2) + - qpython 1.0.0-3; depends (numpy ^= 1.9.2, twisted ^= 15.4.0, pandas ^= 0.16.2) + - qpython 1.0.0-4; depends (pandas ^= 0.17.1, numpy ^= 1.9.2, twisted ^= 15.4.0) + - qpython 1.0.0-5; depends (pandas ^= 0.17.1, numpy ^= 1.9.2, twisted ^= 15.4.0) + - qpython 1.0.0-6; depends (pandas ^= 0.17.1, twisted ^= 15.5.0, numpy ^= 1.9.2) + - qt 4.7.1-1 + - qt 4.7.2-1 + - qt 4.7.3-1 + - qt 4.7.3-2 + - qt 4.8.5-6; depends (gst_plugins_base ^= 0.10.36) + - qt 4.8.5-9; depends (gst_plugins_base ^= 0.10.36) + - qt 4.8.5-10; depends (gst_plugins_base ^= 0.10.36) + - qt 4.8.6-1; depends (gst_plugins_base ^= 0.10.36) + - qt 4.8.6-2; depends (gst_plugins_base ^= 0.10.36) + - qt_debug 4.8.6-2; depends (qt == 4.8.6-2) + - qtconsole 4.0.1-1; depends (pygments ^= 2.0.2, jupyter_client ^= 4.0.0, jupyter_core ^= 4.0.4, traitlets ^= 4.0.0, ipykernel ^= 4.0.3) + - qtconsole 4.0.1-2; depends (jupyter_core ^= 4.0.6, jupyter_client ^= 4.0.0, pygments ^= 2.0.2, traitlets ^= 4.0.0, ipykernel ^= 4.0.3) + - qtconsole 4.0.1-3; depends (ipykernel ^= 4.1.0, jupyter_client ^= 4.0.0, pygments ^= 2.0.2, traitlets ^= 4.0.0, jupyter_core ^= 4.0.6) + - qtconsole 4.1.1-1; depends (traitlets ^= 4.0.0, jupyter_core ^= 4.0.6, pygments ^= 2.0.2, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - qtconsole 4.1.1-2; depends (traitlets ^= 4.0.0, jupyter_core ^= 4.0.6, pygments ^= 2.0.2, ipykernel ^= 4.2.0, jupyter_client ^= 4.1.1) + - quandl 2.8.5-1 + - quandl 2.8.7-1 + - quandl 2.8.9-1 + - queuelib 1.2.2-1 + - queuelib 1.4.2-1 + - redis 2.6.16-1 + - redis_py 2.8.0-1 + - redis_py 2.10.3-1 + - rednose 0.4.1-1; depends (nose ^= 1.3.4) + - rednose 0.4.1-2; depends (nose ^= 1.3.4, python_termstyle ^= 0.1.10) + - reportlab 2.5-2; depends (freetype ^= 2.4.4) + - reportlab 3.1.8-1; depends (freetype ^= 2.4.4) + - reportlab 3.1.44-1; depends (freetype ^= 2.5.3) + - reportlab 3.1.44-2; depends (freetype ^= 2.5.3) + - reportlab 3.2.0-1; depends (freetype ^= 2.5.3) + - reportlab 3.2.0-2; depends (freetype ^= 2.5.3) + - reportlab 3.2.0-3; depends (freetype ^= 2.5.3) + - requests 1.2.3-1 + - requests 2.2.1-1 + - requests 2.3.0-1 + - requests 2.4.0-1 + - requests 2.4.1-1 + - requests 2.4.3-1 + - requests 2.5.0-1 + - requests 2.5.1-1 + - requests 2.5.1-2 + - requests 2.5.3-1 + - requests 2.6.0-1 + - requests 2.6.2-1 + - requests 2.7.0-1 + - requests 2.8.0-1 + - requests 2.8.0-2 + - requests 2.9.0-1 + - requests_file 1.4-1; depends (requests ^= 2.8.0) + - requests_file 1.4-2; depends (requests ^= 2.9.0) + - requests_ntlm 0.2.0-1; depends (python_ntlm3 ^= 1.0.2, requests ^= 2.8.0) + - requests_ntlm 0.2.0-2; depends (python_ntlm3 ^= 1.0.2, requests ^= 2.9.0) + - responses 0.3.0-1; depends (requests ^= 2.5.0) + - responses 0.3.0-2; depends (requests ^= 2.5.1) + - responses 0.3.0-3; depends (requests ^= 2.5.3) + - responses 0.3.0-4; depends (requests ^= 2.6.0) + - responses 0.3.0-5; depends (requests ^= 2.6.2) + - responses 0.3.0-6; depends (requests ^= 2.7.0) + - responses 0.3.0-7; depends (requests ^= 2.8.0) + - responses 0.3.0-8; depends (requests ^= 2.9.0) + - rsa 3.1.2-2; depends (pyasn1 ^= 0.1.7) + - rsa 3.1.2-3; depends (pyasn1 ^= 0.1.9) + - runipy 0.1.3-1; depends (jinja2 ^= 2.7.3, pygments ^= 2.0.2, ipython ^= 2.3.1, pyzmq ^= 14.5.0) + - runipy 0.1.3-2; depends (pyzmq ^= 14.5.0, jinja2 ^= 2.7.3, ipython ^= 2.4.1, pygments ^= 2.0.2) + - runipy 0.1.3-3; depends (jinja2 ^= 2.7.3, ipython ^= 3.1.0, pygments ^= 2.0.2, pyzmq ^= 14.5.0) + - runipy 0.1.3-4; depends (pyzmq ^= 14.6.0, jinja2 ^= 2.7.3, ipython ^= 3.1.0, pygments ^= 2.0.2) + - runipy 0.1.3-5; depends (ipython ^= 3.2.0, jinja2 ^= 2.7.3, pygments ^= 2.0.2, pyzmq ^= 14.7.0) + - runipy 0.1.3-6; depends (ipython ^= 3.2.1, jinja2 ^= 2.7.3, pygments ^= 2.0.2, pyzmq ^= 14.7.0) + - sas7bdat 2.0.4-1; depends (six ^= 1.9.0) + - sas7bdat 2.0.4-2; depends (six ^= 1.10.0) + - sas7bdat 2.0.7-1; depends (six ^= 1.10.0) + - scandir 1.1-1 + - scientificpython 2.9.0-2; depends (lib_netcdf3 ^= 3.6.2, numpy ^= 1.5.1) + - scientificpython 2.9.0-3; depends (lib_netcdf3 ^= 3.6.2, numpy ^= 1.6.0) + - scientificpython 2.9.0-6; depends (lib_netcdf4 ^= 4.3.0, numpy ^= 1.7.1) + - scientificpython 2.9.0-8; depends (lib_netcdf4 ^= 4.3.0, numpy ^= 1.8.0) + - scientificpython 2.9.0-10; depends (lib_netcdf4 ^= 4.3.2, numpy ^= 1.8.1) + - scientificpython 2.9.0-11; depends (lib_netcdf4 ^= 4.3.2, numpy ^= 1.8.1) + - scikit_learn 0.9-1; depends (scipy, numpy ^= 1.6.1, mkl ^= 10.3) + - scikit_learn 0.10-1; depends (scipy, numpy ^= 1.6.1, mkl ^= 10.3) + - scikit_learn 0.11-1; depends (scipy, numpy ^= 1.6.1, mkl ^= 10.3) + - scikit_learn 0.13.1-1; depends (scipy, numpy ^= 1.6.1, mkl ^= 10.3) + - scikit_learn 0.13.1-4; depends (numpy ^= 1.7.1, scipy, mkl ^= 10.3) + - scikit_learn 0.14.1-1; depends (numpy ^= 1.7.1, scipy, mkl ^= 10.3) + - scikit_learn 0.14.1-2; depends (numpy ^= 1.7.1, scipy ^= 0.13.0, mkl ^= 10.3) + - scikit_learn 0.14.1-3; depends (scipy ^= 0.13.0, numpy ^= 1.8.0, mkl ^= 10.3) + - scikit_learn 0.14.1-4; depends (scipy ^= 0.13.2, numpy ^= 1.8.0, mkl ^= 10.3) + - scikit_learn 0.14.1-5; depends (scipy ^= 0.13.3, numpy ^= 1.8.0, mkl ^= 10.3) + - scikit_learn 0.14.1-6; depends (scipy ^= 0.14.0, numpy ^= 1.8.0, mkl ^= 10.3) + - scikit_learn 0.15.0-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.0, mkl ^= 10.3) + - scikit_learn 0.15.0-2; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, mkl ^= 10.3) + - scikit_learn 0.15.1-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, mkl ^= 10.3) + - scikit_learn 0.15.2-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, mkl ^= 10.3) + - scikit_learn 0.15.2-2; depends (numpy ^= 1.8.1, scipy ^= 0.14.1rc1, mkl ^= 10.3) + - scikit_learn 0.15.2-3; depends (numpy ^= 1.8.1, scipy ^= 0.15.1, mkl ^= 10.3) + - scikit_learn 0.16.0-1; depends (numpy ^= 1.8.1, scipy ^= 0.15.1, mkl ^= 10.3) + - scikit_learn 0.16.1-1; depends (numpy ^= 1.8.1, scipy ^= 0.15.1, mkl ^= 10.3) + - scikit_learn 0.16.1-2; depends (numpy ^= 1.9.2, scipy ^= 0.15.1, mkl ^= 10.3) + - scikit_learn 0.16.1-3; depends (scipy ^= 0.16.0, numpy ^= 1.9.2, mkl ^= 10.3) + - scikit_learn 0.17-1; depends (scipy ^= 0.16.1, numpy ^= 1.9.2, mkl ^= 10.3) + - scikits.image 0.2.2-2; depends (numpy ^= 1.5.1, pil) + - scikits.image 0.2.2-3; depends (pil, numpy ^= 1.6.0) + - scikits.image 0.2.2-4; depends (pil, numpy) + - scikits.image 0.3.1-1; depends (pil, numpy) + - scikits.image 0.4.2-1; depends (pil, numpy) + - scikits.image 0.5.0-1; depends (pil, numpy) + - scikits.image 0.8.2-1; depends (pil, numpy ^= 1.6.1, scipy ^= 0.12.0) + - scikits.image 0.8.2-2; depends (numpy ^= 1.7.1, pil, scipy ^= 0.12.0) + - scikits.image 0.8.2-3; depends (numpy ^= 1.7.1, pil, scipy ^= 0.12.0) + - scikits.image 0.8.2-4; depends (numpy ^= 1.7.1, scipy ^= 0.13.0, pil) + - scikits.image 0.9.3-1; depends (scipy ^= 0.13.0, numpy ^= 1.8.0, pil) + - scikits.image 0.9.3-3; depends (scipy ^= 0.13.2, numpy ^= 1.8.0, pil) + - scikits.image 0.9.3-4; depends (scipy ^= 0.13.3, numpy ^= 1.8.0, pil) + - scikits.image 0.9.3-5; depends (scipy ^= 0.14.0, numpy ^= 1.8.0, pil) + - scikits.image 0.10.0-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.0, pil) + - scikits.image 0.10.0-3; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, pil) + - scikits.image 0.10.1-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, pil) + - scikits.image 0.10.1-3; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, pil) + - scikits.image 0.10.1-4; depends (numpy ^= 1.8.1, pil, scipy ^= 0.14.1rc1) + - scikits.image 0.10.1-5; depends (numpy ^= 1.8.1, pil, scipy ^= 0.15.1) + - scikits.image 0.10.1-6; depends (numpy ^= 1.8.1, pil, scipy ^= 0.15.1) + - scikits.image 0.11.2-1; depends (numpy ^= 1.8.1, pil, networkx ^= 1.9.1, scipy ^= 0.15.1) + - scikits.image 0.11.3-1; depends (numpy ^= 1.8.1, pil, networkx ^= 1.9.1, scipy ^= 0.15.1) + - scikits.image 0.11.3-2; depends (pil, numpy ^= 1.9.2, networkx ^= 1.9.1, scipy ^= 0.15.1) + - scikits.image 0.11.3-3; depends (pillow ^= 2.8.1, numpy ^= 1.9.2, networkx ^= 1.9.1, scipy ^= 0.15.1) + - scikits.image 0.11.3-4; depends (pillow ^= 2.9.0, numpy ^= 1.9.2, networkx ^= 1.9.1, scipy ^= 0.15.1) + - scikits.image 0.11.3-5; depends (pillow ^= 2.9.0, numpy ^= 1.9.2, networkx ^= 1.10, scipy ^= 0.15.1) + - scikits.image 0.11.3-6; depends (pillow ^= 2.9.0, scipy ^= 0.16.0, numpy ^= 1.9.2, networkx ^= 1.10) + - scikits.image 0.11.3-7; depends (pillow ^= 2.9.0, scipy ^= 0.16.1, numpy ^= 1.9.2, networkx ^= 1.10) + - scikits.image 0.11.3-8; depends (pillow ^= 2.9.0, scipy ^= 0.16.1, numpy ^= 1.9.2, networkx ^= 1.10) + - scikits.image 0.11.3-9; depends (pillow ^= 2.9.0, scipy ^= 0.16.1, numpy ^= 1.9.2, networkx ^= 1.10) + - scikits.image 0.11.3-10; depends (pillow ^= 3.0.0, scipy ^= 0.16.1, numpy ^= 1.9.2, networkx ^= 1.10) + - scikits.image 0.11.3-11; depends (pillow ^= 3.0.0, scipy ^= 0.16.1, numpy ^= 1.9.2, networkx ^= 1.10) + - scikits.learn 0.6-1; depends (numpy ^= 1.5.1) + - scikits.learn 0.7.1-1; depends (numpy ^= 1.5.1, mkl ^= 10.3) + - scikits.learn 0.7.1-2; depends (scipy, numpy ^= 1.6.0, mkl ^= 10.3) + - scikits.learn 0.8-1; depends (scipy, numpy ^= 1.6.0, mkl ^= 10.3) + - scikits.learn 0.8-2; depends (scipy, numpy ^= 1.6.1, mkl ^= 10.3) + - scikits.rsformats 0.1-6; depends (pyhdf ^= 0.8.3, pyparsing, numpy ^= 1.5.1) + - scikits.rsformats 0.1-7; depends (pyhdf ^= 0.8.3, pyparsing, numpy ^= 1.6.0) + - scikits.rsformats 0.1-9; depends (numpy ^= 1.7.1, pyparsing, pyhdf ^= 0.8.3) + - scikits.rsformats 0.1-10; depends (pyhdf ^= 0.8.3, pyparsing, numpy ^= 1.8.0) + - scikits.rsformats 0.1-11; depends (pyhdf ^= 0.8.3, numpy ^= 1.8.0, pyparsing ^= 2.0.2) + - scikits.rsformats 0.1-12; depends (pyhdf ^= 0.8.3, numpy ^= 1.8.1, pyparsing ^= 2.0.2) + - scikits.rsformats 0.1-13; depends (pyhdf ^= 0.8.3, numpy ^= 1.8.1, pyparsing ^= 2.0.3) + - scikits.statsmodels 0.2.0-2 + - scikits.statsmodels 0.3.0-1 + - scikits.statsmodels 0.3.1-1 + - scikits.timeseries 0.91.3-2; depends (numpy ^= 1.5.1) + - scikits.timeseries 0.91.3-3; depends (numpy ^= 1.6.0) + - scikits.timeseries 0.91.3-4; depends (numpy ^= 1.6.1) + - scikits.timeseries 0.91.3-5; depends (numpy ^= 1.7.1) + - scikits.timeseries 0.91.3-6; depends (numpy ^= 1.8.0) + - scikits.timeseries 0.91.3-7; depends (numpy ^= 1.8.1) + - scikits.timeseries 0.91.3-8; depends (numpy ^= 1.9.2) + - scimath 3.0.7-1; depends (numpy ^= 1.5.1) + - scimath 4.0.0-1; depends (numpy ^= 1.6.0) + - scimath 4.0.0-2; depends (numpy ^= 1.6.1) + - scimath 4.0.1-1; depends (numpy ^= 1.6.1) + - scimath 4.1.0-1; depends (numpy ^= 1.6.1) + - scimath 4.1.2-1; depends (numpy ^= 1.6.1) + - scimath 4.1.2-2; depends (numpy ^= 1.7.1) + - scimath 4.1.2-3; depends (numpy ^= 1.8.0) + - scimath 4.1.2-4; depends (numpy ^= 1.8.1) + - scimath 4.1.2-5; depends (numpy ^= 1.9.2) + - scimath 4.1.2-6; depends (scipy ^= 0.16.0, numpy ^= 1.9.2, traits ^= 4.5.0) + - scimath 4.1.2-7; depends (scipy ^= 0.16.1, numpy ^= 1.9.2, traits ^= 4.5.0) + - scipy 0.9.0rc2-1; depends (numpy ^= 1.5.1) + - scipy 0.9.0-1; depends (numpy ^= 1.5.1) + - scipy 0.9.0-2; depends (numpy ^= 1.6.0) + - scipy 0.9.0-3; depends (numpy ^= 1.6.1) + - scipy 0.10.0-1; depends (numpy ^= 1.6.1) + - scipy 0.10.1-1; depends (numpy ^= 1.6.1) + - scipy 0.11.0-1; depends (numpy ^= 1.6.1) + - scipy 0.12.0-1; depends (numpy ^= 1.6.1) + - scipy 0.12.0-2; depends (numpy ^= 1.7.1) + - scipy 0.13.0-1; depends (numpy ^= 1.7.1, libgfortran ^= 3.0.0) + - scipy 0.13.0-2; depends (numpy ^= 1.8.0, libgfortran ^= 3.0.0) + - scipy 0.13.2-1; depends (numpy ^= 1.8.0, libgfortran ^= 3.0.0) + - scipy 0.13.3-1; depends (numpy ^= 1.8.0, libgfortran ^= 3.0.0) + - scipy 0.14.0-1; depends (numpy ^= 1.8.0, libgfortran ^= 3.0.0) + - scipy 0.14.0-2; depends (numpy ^= 1.8.0, libgfortran ^= 3.0.0) + - scipy 0.14.0-3; depends (numpy ^= 1.8.1, libgfortran ^= 3.0.0) + - scipy 0.14.1rc1-1; depends (numpy ^= 1.8.1, libgfortran ^= 3.0.0, mkl ^= 10.3) + - scipy 0.15.1-1; depends (numpy ^= 1.8.1, libgfortran ^= 3.0.0, mkl ^= 10.3) + - scipy 0.15.1-2; depends (numpy ^= 1.9.2, libgfortran ^= 3.0.0, mkl ^= 10.3) + - scipy 0.16.0-1; depends (numpy ^= 1.9.2, libgfortran ^= 3.0.0, mkl ^= 10.3) + - scipy 0.16.1-1; depends (numpy ^= 1.9.2, libgfortran ^= 3.0.0, mkl ^= 10.3) + - scons 2.0.1-2 + - scons 2.3.3-1 + - scrapy 0.24.4-2; depends (pyopenssl ^= 0.14, w3lib ^= 1.10.0, twisted ^= 14.0.2, lxml ^= 3.4.0, cffi ^= 0.8.6, cssselect ^= 0.9.1, six ^= 1.8.0, queuelib ^= 1.2.2) + - scrapy 0.24.4-3; depends (pyopenssl ^= 0.14, w3lib ^= 1.10.0, twisted ^= 14.0.2, lxml ^= 3.4.1, cffi ^= 0.8.6, cssselect ^= 0.9.1, six ^= 1.8.0, queuelib ^= 1.2.2) + - scrapy 0.24.4-4; depends (pyopenssl ^= 0.14, w3lib ^= 1.10.0, twisted ^= 14.0.2, lxml ^= 3.4.1, cffi ^= 0.8.6, cssselect ^= 0.9.1, six ^= 1.9.0, queuelib ^= 1.2.2) + - scrapy 0.24.4-5; depends (pyopenssl ^= 0.14, w3lib ^= 1.10.0, lxml ^= 3.4.2, twisted ^= 15.0.0, cffi ^= 0.8.6, cssselect ^= 0.9.1, six ^= 1.9.0, queuelib ^= 1.2.2) + - scrapy 0.24.4-6; depends (pyopenssl ^= 0.14, w3lib ^= 1.10.0, lxml ^= 3.4.2, twisted ^= 15.0.0, cssselect ^= 0.9.1, queuelib ^= 1.2.2, cffi ^= 0.9.2, six ^= 1.9.0) + - scrapy 0.24.4-7; depends (pyopenssl ^= 0.14, w3lib ^= 1.10.0, lxml ^= 3.4.2, cssselect ^= 0.9.1, queuelib ^= 1.2.2, cffi ^= 0.9.2, twisted ^= 15.1.0, six ^= 1.9.0) + - scrapy 0.24.4-8; depends (w3lib ^= 1.10.0, pyopenssl ^= 0.15.1, lxml ^= 3.4.3, cssselect ^= 0.9.1, queuelib ^= 1.2.2, cffi ^= 0.9.2, twisted ^= 15.1.0, six ^= 1.9.0) + - scrapy 0.24.4-9; depends (w3lib ^= 1.10.0, pyopenssl ^= 0.15.1, lxml ^= 3.4.4, queuelib ^= 1.2.2, cffi ^= 0.9.2, twisted ^= 15.1.0, cssselect ^= 0.9.1, six ^= 1.9.0) + - scrapy 0.24.4-10; depends (w3lib ^= 1.10.0, pyopenssl ^= 0.15.1, lxml ^= 3.4.4, queuelib ^= 1.2.2, cffi ^= 0.9.2, twisted ^= 15.2.1, cssselect ^= 0.9.1, six ^= 1.9.0) + - scrapy 0.24.4-11; depends (cffi ^= 1.0.3, w3lib ^= 1.10.0, pyopenssl ^= 0.15.1, lxml ^= 3.4.4, queuelib ^= 1.2.2, cssselect ^= 0.9.1, twisted ^= 15.2.1, six ^= 1.9.0) + - scrapy 0.24.4-12; depends (w3lib ^= 1.10.0, cffi ^= 1.1.2, pyopenssl ^= 0.15.1, lxml ^= 3.4.4, queuelib ^= 1.2.2, cssselect ^= 0.9.1, twisted ^= 15.2.1, six ^= 1.9.0) + - scrapy 1.0.3-1; depends (w3lib ^= 1.10.0, cffi ^= 1.1.2, twisted ^= 15.4.0, pyopenssl ^= 0.15.1, lxml ^= 3.4.4, queuelib ^= 1.2.2, cssselect ^= 0.9.1, six ^= 1.9.0) + - scrapy 1.0.3-2; depends (cffi ^= 1.1.2, twisted ^= 15.4.0, pyopenssl ^= 0.15.1, lxml ^= 3.4.4, queuelib ^= 1.2.2, w3lib ^= 1.12.0, cssselect ^= 0.9.1, six ^= 1.9.0) + - scrapy 1.0.3-3; depends (cffi ^= 1.1.2, twisted ^= 15.4.0, pyopenssl ^= 0.15.1, queuelib ^= 1.4.2, lxml ^= 3.4.4, w3lib ^= 1.12.0, cssselect ^= 0.9.1, six ^= 1.9.0) + - scrapy 1.0.3-4; depends (twisted ^= 15.4.0, pyopenssl ^= 0.15.1, queuelib ^= 1.4.2, lxml ^= 3.4.4, cffi ^= 1.2.1, w3lib ^= 1.12.0, cssselect ^= 0.9.1, six ^= 1.9.0) + - scrapy 1.0.3-5; depends (twisted ^= 15.4.0, pyopenssl ^= 0.15.1, six ^= 1.10.0, queuelib ^= 1.4.2, lxml ^= 3.4.4, cffi ^= 1.2.1, w3lib ^= 1.12.0, cssselect ^= 0.9.1) + - scrapy 1.0.3-6; depends (twisted ^= 15.4.0, pyopenssl ^= 0.15.1, six ^= 1.10.0, queuelib ^= 1.4.2, lxml ^= 3.4.4, w3lib ^= 1.12.0, cffi ^= 1.3.1, cssselect ^= 0.9.1) + - scrapy 1.0.3-7; depends (twisted ^= 15.5.0, pyopenssl ^= 0.15.1, six ^= 1.10.0, queuelib ^= 1.4.2, lxml ^= 3.4.4, w3lib ^= 1.12.0, cffi ^= 1.3.1, cssselect ^= 0.9.1) + - scrapy 1.0.3-8; depends (twisted ^= 15.5.0, cffi ^= 1.4.2, pyopenssl ^= 0.15.1, six ^= 1.10.0, queuelib ^= 1.4.2, lxml ^= 3.4.4, w3lib ^= 1.12.0, cssselect ^= 0.9.1) + - scrapy 1.0.3-9; depends (twisted ^= 15.5.0, cffi ^= 1.4.2, pyopenssl ^= 0.15.1, six ^= 1.10.0, queuelib ^= 1.4.2, cssselect ^= 0.9.1, w3lib ^= 1.12.0, lxml ^= 3.5.0) + - seaborn 0.4.0-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, matplotlib ^= 1.4.2, pandas ^= 0.15.0) + - seaborn 0.5.0-1; depends (scipy ^= 0.14.0, numpy ^= 1.8.1, matplotlib ^= 1.4.2, pandas ^= 0.15.0) + - seaborn 0.5.0-3; depends (pandas ^= 0.15.2, scipy ^= 0.14.0, numpy ^= 1.8.1, matplotlib ^= 1.4.2) + - seaborn 0.5.1-1; depends (pandas ^= 0.15.2, scipy ^= 0.14.0, numpy ^= 1.8.1, matplotlib ^= 1.4.2) + - seaborn 0.5.1-2; depends (pandas ^= 0.15.2, numpy ^= 1.8.1, matplotlib ^= 1.4.2, scipy ^= 0.14.1rc1) + - seaborn 0.5.1-3; depends (pandas ^= 0.15.2, numpy ^= 1.8.1, matplotlib ^= 1.4.2, scipy ^= 0.15.1) + - seaborn 0.5.1-4; depends (pandas ^= 0.15.2, matplotlib ^= 1.4.3, numpy ^= 1.8.1, scipy ^= 0.15.1) + - seaborn 0.5.1-5; depends (matplotlib ^= 1.4.3, scipy ^= 0.15.1, numpy ^= 1.8.1, pandas ^= 0.16.0) + - seaborn 0.5.1-7; depends (matplotlib ^= 1.4.3, numpy ^= 1.9.2, pandas ^= 0.16.0, scipy ^= 0.15.1) + - seaborn 0.5.1-8; depends (pandas ^= 0.16.1, matplotlib ^= 1.4.3, numpy ^= 1.9.2, scipy ^= 0.15.1) + - seaborn 0.5.1-9; depends (matplotlib ^= 1.4.3, numpy ^= 1.9.2, scipy ^= 0.15.1, pandas ^= 0.16.2) + - seaborn 0.6.0-1; depends (matplotlib ^= 1.4.3, numpy ^= 1.9.2, scipy ^= 0.15.1, pandas ^= 0.16.2) + - seaborn 0.6.0-2; depends (matplotlib ^= 1.4.3, scipy ^= 0.16.0, numpy ^= 1.9.2, pandas ^= 0.16.2) + - seaborn 0.6.0-4; depends (pandas ^= 0.17.1, matplotlib ^= 1.4.3, numpy ^= 1.9.2, scipy ^= 0.16.1) + - seaborn 0.6.0-5; depends (numpy ^= 1.9.2, scipy ^= 0.16.1, matplotlib ^= 1.5.0, pandas ^= 0.17.1) + - seaborn 0.6.0-6; depends (pandas ^= 0.17.1, scipy ^= 0.16.1, numpy ^= 1.9.2, matplotlib ^= 1.5.1) + - selenium 2.48.0-1 + - setuptools 14.3.1-1; depends (_distribute_remove ^= 1.0.0) + - setuptools 14.3.1-2; depends (distribute_remove ^= 1.0.0) + - setuptools 15.1-1; depends (distribute_remove ^= 1.0.0) + - setuptools 15.2-2; depends (distribute_remove ^= 1.0.0) + - setuptools 16.0-1; depends (distribute_remove ^= 1.0.0) + - setuptools 17.1.1-1; depends (distribute_remove ^= 1.0.0) + - setuptools 18.2-1; depends (distribute_remove ^= 1.0.0) + - setuptools 18.4-1; depends (distribute_remove ^= 1.0.0) + - setuptools 18.7.1-1; depends (distribute_remove ^= 1.0.0) + - setuptools 19.1.1-1; depends (distribute_remove ^= 1.0.0) + - sfepy 2010.2-4; depends (pyparsing ^= 2.0.2) + - sfepy 2014.4-1; depends (sympy ^= 0.7.6, numpy ^= 1.8.1, pyparsing ^= 2.0.2, scipy ^= 0.14.1rc1, pytables ^= 3.1.1, matplotlib ^= 1.4.2, mayavi ^= 4.3.1) + - sfepy 2014.4-2; depends (sympy ^= 0.7.6, numpy ^= 1.8.1, pyparsing ^= 2.0.2, scipy ^= 0.15.1, pytables ^= 3.1.1, matplotlib ^= 1.4.2, mayavi ^= 4.3.1) + - sfepy 2014.4-3; depends (sympy ^= 0.7.6, numpy ^= 1.8.1, pyparsing ^= 2.0.2, scipy ^= 0.15.1, pytables ^= 3.1.1, matplotlib ^= 1.4.3, mayavi ^= 4.3.1) + - sfepy 2014.4-4; depends (sympy ^= 0.7.6, numpy ^= 1.8.1, pyparsing ^= 2.0.3, scipy ^= 0.15.1, pytables ^= 3.1.1, matplotlib ^= 1.4.3, mayavi ^= 4.3.1) + - sfepy 2014.4-5; depends (sympy ^= 0.7.6, numpy ^= 1.8.1, pyparsing ^= 2.0.3, scipy ^= 0.15.1, pytables ^= 3.1.1, matplotlib ^= 1.4.3, mayavi ^= 4.4.0) + - sfepy 2014.4-6; depends (sympy ^= 0.7.6, pyparsing ^= 2.0.3, numpy ^= 1.9.2, scipy ^= 0.15.1, pytables ^= 3.1.1, matplotlib ^= 1.4.3, mayavi ^= 4.4.0) + - sfepy 2014.4-7; depends (sympy ^= 0.7.6, pyparsing ^= 2.0.3, numpy ^= 1.9.2, scipy ^= 0.15.1, pytables ^= 3.1.1, matplotlib ^= 1.4.3, mayavi ^= 4.4.2) + - sfepy 2014.4-8; depends (pytables ^= 3.2.0, sympy ^= 0.7.6, pyparsing ^= 2.0.3, numpy ^= 1.9.2, mayavi ^= 4.4.2, scipy ^= 0.15.1, matplotlib ^= 1.4.3) + - sfepy 2014.4-9; depends (pytables ^= 3.2.0, sympy ^= 0.7.6.1, pyparsing ^= 2.0.3, numpy ^= 1.9.2, mayavi ^= 4.4.2, scipy ^= 0.15.1, matplotlib ^= 1.4.3) + - sfepy 2014.4-10; depends (pytables ^= 3.2.0, sympy ^= 0.7.6.1, pyparsing ^= 2.0.3, mayavi ^= 4.4.3, numpy ^= 1.9.2, scipy ^= 0.15.1, matplotlib ^= 1.4.3) + - sfepy 2014.4-11; depends (pytables ^= 3.2.0, scipy ^= 0.16.0, pyparsing ^= 2.0.3, mayavi ^= 4.4.3, numpy ^= 1.9.2, matplotlib ^= 1.4.3, sympy ^= 0.7.6.1) + - sfepy 2014.4-12; depends (pytables ^= 3.2.0, scipy ^= 0.16.1, sympy ^= 0.7.6.1, pyparsing ^= 2.0.3, mayavi ^= 4.4.3, numpy ^= 1.9.2, matplotlib ^= 1.4.3) + - sfepy 2014.4-13; depends (pytables ^= 3.2.0, scipy ^= 0.16.1, sympy ^= 0.7.6.1, pyparsing ^= 2.0.3, numpy ^= 1.9.2, mayavi ^= 4.4.3, matplotlib ^= 1.5.0) + - sfepy 2014.4-14; depends (pytables ^= 3.2.0, scipy ^= 0.16.1, sympy ^= 0.7.6.1, pyparsing ^= 2.0.3, numpy ^= 1.9.2, mayavi ^= 4.4.3, matplotlib ^= 1.5.0) + - sfepy 2014.4-15; depends (scipy ^= 0.16.1, pytables ^= 3.2.2, pyparsing ^= 2.0.3, numpy ^= 1.9.2, mayavi ^= 4.4.3, sympy ^= 0.7.6.1, matplotlib ^= 1.5.0) + - sfepy 2014.4-16; depends (scipy ^= 0.16.1, pytables ^= 3.2.2, pyparsing ^= 2.0.3, mayavi ^= 4.4.3, numpy ^= 1.9.2, sympy ^= 0.7.6.1, matplotlib ^= 1.5.1) + - shapely 1.2.14-1; depends (basemap ^= 1.0.2) + - shapely 1.2.17-1; depends (basemap ^= 1.0.6) + - shapely 1.2.17-2; depends (basemap ^= 1.0.7) + - shapely 1.3.2-1; depends (basemap ^= 1.0.7) + - shapely 1.4.1-1; depends (geos ^= 3.4.2) + - shapely 1.5.1-1; depends (geos ^= 3.4.2) + - shapely 1.5.13-1; depends (numpy ^= 1.9.2, geos ^= 3.5.0) + - shiboken 1.2.1-1; depends (libxslt ^= 1.1.26, qt ^= 4.8.5) + - shiboken 1.2.1-3; depends (libxslt ^= 1.1.26, qt ^= 4.8.5) + - shiboken 1.2.2-1; depends (libxslt ^= 1.1.26, qt ^= 4.8.5) + - shiboken 1.2.2-2; depends (qt ^= 4.8.5, libxslt ^= 1.1.28) + - shiboken 1.2.2-3; depends (qt ^= 4.8.6, libxslt ^= 1.1.28) + - shiboken 1.2.2-5; depends (qt ^= 4.8.6, libxslt ^= 1.1.28) + - shiboken_debug 1.2.2-5; depends (shiboken == 1.2.2-5) + - simplegeneric 0.8.1-1 + - simpy 2.1.0-2; depends (numpy) + - simpy 2.2-1; depends (numpy) + - simpy 2.2-2; depends (numpy) + - simpy 2.2-3; depends (numpy) + - simpy 3.0.2-1 + - simpy 3.0.5-1 + - simpy 3.0.5-2 + - singledispatch 3.4.0.3-1 + - sip 4.15.3-1 + - sip 4.16.1-1 + - sip 4.16.7-1 + - sip 4.17-1 + - six 1.3.0-1 + - six 1.4.1-1 + - six 1.7.2-1 + - six 1.7.3-1 + - six 1.8.0-1 + - six 1.8.0-2 + - six 1.9.0-1 + - six 1.9.0-3 + - six 1.10.0-1 + - smart_open 1.2.1-1; depends (bz2file ^= 0.98, boto ^= 2.38.0) + - smart_open 1.2.1-2; depends (bz2file ^= 0.98, boto ^= 2.38.0) + - smmap 0.9.0-1 + - snowballstemmer 1.2.0-1 + - speaklater 1.3-1 + - speaklater 1.3-2 + - sphinx 1.0.5-1; depends (jinja2 ^= 2.5.5, docutils ^= 0.7) + - sphinx 1.0.7-1; depends (jinja2 ^= 2.5.5, docutils ^= 0.7) + - sphinx 1.1-1; depends (jinja2 ^= 2.6, docutils ^= 0.8.1) + - sphinx 1.1.2-1; depends (jinja2 ^= 2.6, docutils ^= 0.8.1) + - sphinx 1.1.2-3; depends (jinja2 ^= 2.7.1, docutils ^= 0.11) + - sphinx 1.1.3-1; depends (jinja2 ^= 2.7.1, docutils ^= 0.11) + - sphinx 1.2.2-1; depends (jinja2 ^= 2.7.1, docutils ^= 0.11) + - sphinx 1.2.2-2; depends (jinja2 ^= 2.7.3, docutils ^= 0.11) + - sphinx 1.2.2-3; depends (jinja2 ^= 2.7.3, docutils ^= 0.12) + - sphinx 1.2.3-1; depends (jinja2 ^= 2.7.3, docutils ^= 0.12) + - sphinx 1.3.1-1; depends (jinja2 ^= 2.7.3, docutils ^= 0.12) + - sphinx 1.3.1-2; depends (jinja2 ^= 2.7.3, docutils ^= 0.12, pygments ^= 2.0.2, babel ^= 1.3, snowballstemmer ^= 1.2.0, alabaster ^= 0.7.3, six ^= 1.9.0) + - sphinx 1.3.1-3; depends (jinja2 ^= 2.7.3, docutils ^= 0.12, pygments ^= 2.0.2, babel ^= 1.3, snowballstemmer ^= 1.2.0, alabaster ^= 0.7.3, six ^= 1.9.0, sphinx_rtd_theme ^= 0.1.7) + - sphinx 1.3.1-4; depends (babel ^= 2.1.1, jinja2 ^= 2.8, docutils ^= 0.12, six ^= 1.9.0, snowballstemmer ^= 1.2.0, alabaster ^= 0.7.6, pygments ^= 2.0.2, sphinx_rtd_theme ^= 0.1.7) + - sphinx 1.3.1-5; depends (babel ^= 2.1.1, jinja2 ^= 2.8, six ^= 1.10.0, docutils ^= 0.12, snowballstemmer ^= 1.2.0, alabaster ^= 0.7.6, pygments ^= 2.0.2, sphinx_rtd_theme ^= 0.1.7) + - sphinx_rtd_theme 0.1.7-1 + - spyder 2.3.5.2-1; depends (jedi ^= 0.9.0, ipython ^= 3.2.0, pyqt ^= 4.11.3, pygments ^= 2.0.2, pyflakes ^= 0.9.2) + - spyder 2.3.5.2-2; depends (jedi ^= 0.9.0, ipython ^= 3.2.1, pyqt ^= 4.11.3, pygments ^= 2.0.2, pyflakes ^= 0.9.2) + - spyder 2.3.6-1; depends (jedi ^= 0.9.0, ipython ^= 3.2.1, pyqt ^= 4.11.3, pygments ^= 2.0.2, pyflakes ^= 0.9.2) + - spyder 2.3.6-2; depends (jedi ^= 0.9.0, pyqt ^= 4.11.3, pyflakes ^= 0.9.2, ipython ^= 4.0.0, pygments ^= 2.0.2) + - spyder 2.3.6-3; depends (pyflakes ^= 1.0.0, jedi ^= 0.9.0, pyqt ^= 4.11.3, pygments ^= 2.0.2, ipython ^= 4.0.0) + - spyder 2.3.7-1; depends (pyflakes ^= 1.0.0, jedi ^= 0.9.0, pyqt ^= 4.11.3, pygments ^= 2.0.2, ipython ^= 4.0.0) + - spyder 2.3.8-1; depends (pyflakes ^= 1.0.0, jedi ^= 0.9.0, pyqt ^= 4.11.3, pygments ^= 2.0.2, ipython ^= 4.0.0) + - spyder 2.3.8-2; depends (pyflakes ^= 1.0.0, jedi ^= 0.9.0, pyqt ^= 4.11.4, pygments ^= 2.0.2, ipython ^= 4.0.0) + - sqlalchemy 0.6.5-1 + - sqlalchemy 0.6.6-1 + - sqlalchemy 0.7.0-1 + - sqlalchemy 0.7.1-1 + - sqlalchemy 0.7.4-1 + - sqlalchemy 0.7.5-1 + - sqlalchemy 0.7.6-1 + - sqlalchemy 0.8.2-1 + - sqlalchemy 0.8.3-1 + - sqlalchemy 0.9.4-1 + - sqlalchemy 0.9.7-1 + - sqlalchemy 0.9.8-1 + - sqlalchemy 0.9.9-1 + - sqlalchemy 1.0.0-1 + - sqlalchemy 1.0.1-1 + - sqlalchemy 1.0.4-1 + - sqlalchemy 1.0.6-1 + - sqlalchemy 1.0.6-2 + - sqlalchemy 1.0.8-1 + - sqlalchemy 1.0.8-2 + - sqlalchemy 1.0.10-1 + - sqlparse 0.1.8-1 + - sqlparse 0.1.11-1 + - sqlparse 0.1.12-1 + - sqlparse 0.1.14-1 + - sqlparse 0.1.15-1 + - sqlparse 0.1.16-1 + - sqlparse 0.1.16-2 + - sqlparse 0.1.18-1 + - ssl_match_hostname 3.4.0.2-1 + - statsmodels 0.4.0-1; depends (scipy) + - statsmodels 0.4.3-1; depends (scipy) + - statsmodels 0.4.3-2; depends (scipy) + - statsmodels 0.4.3-3; depends (pandas ^= 0.12.0, scipy) + - statsmodels 0.5.0-1; depends (pandas ^= 0.12.0, patsy ^= 0.2.0, scipy) + - statsmodels 0.5.0-2; depends (pandas ^= 0.12.0, patsy ^= 0.2.0, scipy ^= 0.13.0) + - statsmodels 0.5.0-4; depends (scipy ^= 0.13.2, pandas ^= 0.12.0, patsy ^= 0.2.0) + - statsmodels 0.5.0-5; depends (scipy ^= 0.13.2, patsy ^= 0.2.0, pandas ^= 0.13.1) + - statsmodels 0.5.0-6; depends (scipy ^= 0.13.3, patsy ^= 0.2.0, pandas ^= 0.13.1) + - statsmodels 0.5.0-7; depends (scipy ^= 0.14.0, patsy ^= 0.2.0, pandas ^= 0.13.1) + - statsmodels 0.5.0-8; depends (scipy ^= 0.14.0, patsy ^= 0.2.0, pandas ^= 0.14.0) + - statsmodels 0.5.0-10; depends (scipy ^= 0.14.0, patsy ^= 0.2.0, pandas ^= 0.14.1) + - statsmodels 0.5.0-11; depends (scipy ^= 0.14.0, pandas ^= 0.14.1, patsy ^= 0.3.0) + - statsmodels 0.6.0rc1-1; depends (scipy ^= 0.14.0, pandas ^= 0.15.0, patsy ^= 0.3.0) + - statsmodels 0.6.0-1; depends (scipy ^= 0.14.0, pandas ^= 0.15.0, patsy ^= 0.3.0) + - statsmodels 0.6.0-2; depends (scipy ^= 0.14.0, pandas ^= 0.15.1, patsy ^= 0.3.0) + - statsmodels 0.6.1-1; depends (scipy ^= 0.14.0, pandas ^= 0.15.1, patsy ^= 0.3.0) + - statsmodels 0.6.1-2; depends (pandas ^= 0.15.2, scipy ^= 0.14.0, patsy ^= 0.3.0) + - statsmodels 0.6.1-3; depends (pandas ^= 0.15.2, scipy ^= 0.14.1rc1, patsy ^= 0.3.0) + - statsmodels 0.6.1-4; depends (pandas ^= 0.15.2, scipy ^= 0.15.1, patsy ^= 0.3.0) + - statsmodels 0.6.1-5; depends (scipy ^= 0.15.1, pandas ^= 0.16.0, patsy ^= 0.3.0) + - statsmodels 0.6.1-6; depends (pandas ^= 0.16.1, scipy ^= 0.15.1, patsy ^= 0.3.0) + - statsmodels 0.6.1-7; depends (patsy ^= 0.3.0, scipy ^= 0.15.1, pandas ^= 0.16.2) + - statsmodels 0.6.1-8; depends (patsy ^= 0.4.0, scipy ^= 0.15.1, pandas ^= 0.16.2) + - statsmodels 0.6.1-9; depends (scipy ^= 0.16.0, patsy ^= 0.4.0, pandas ^= 0.16.2) + - statsmodels 0.6.1-11; depends (pandas ^= 0.17.1, scipy ^= 0.16.1, patsy ^= 0.4.0) + - statsmodels 0.6.1-12; depends (pandas ^= 0.17.1, scipy ^= 0.16.1, patsy ^= 0.4.0) + - stevedore 1.1.0-1 + - stevedore 1.2.0-1 + - stevedore 1.2.0-2; depends (distribute ^= 0.6.49) + - stevedore 1.2.0-3; depends (setuptools ^= 14.3.1) + - stevedore 1.2.0-4; depends (setuptools ^= 15.1) + - stevedore 1.2.0-5; depends (setuptools ^= 15.2) + - stevedore 1.2.0-6; depends (setuptools ^= 16.0) + - stevedore 1.2.0-7; depends (setuptools ^= 17.1.1) + - stevedore 1.2.0-8; depends (setuptools ^= 17.1.1) + - stevedore 1.2.0-9; depends (setuptools ^= 18.2) + - stevedore 1.2.0-10; depends (setuptools ^= 18.2) + - stevedore 1.2.0-11; depends (setuptools ^= 18.4) + - stevedore 1.2.0-12; depends (setuptools ^= 18.7.1) + - stevedore 1.2.0-13; depends (setuptools ^= 19.1.1) + - supervisor 3.0-1; depends (meld3 ^= 0.6.10) + - supervisor 3.1.2-1; depends (meld3 ^= 1.0.0) + - supervisor 3.1.2-2; depends (meld3 ^= 1.0.0) + - supervisor 3.1.2-3; depends (meld3 ^= 1.0.2) + - swig 1.3.36-3 + - swig 1.3.39-1 + - swig 1.3.40-1 + - swig 1.3.40-2 + - swig 2.0.12-1 + - swig 3.0.2-1 + - sympy 0.6.7-2; depends (pyglet) + - sympy 0.7.0-1; depends (pyglet) + - sympy 0.7.1-1; depends (pyglet) + - sympy 0.7.2-1; depends (pyglet) + - sympy 0.7.3-1; depends (pyglet) + - sympy 0.7.5-1; depends (pyglet) + - sympy 0.7.6-1; depends (pyglet) + - sympy 0.7.6.1-1; depends (pyglet) + - tabulate 0.7.3-1 + - tempita 0.5.1-2 + - terminado 0.5-1; depends (ptyprocess ^= 0.4, tornado ^= 4.1) + - terminado 0.5-2; depends (tornado ^= 4.2, ptyprocess ^= 0.4) + - terminado 0.5-3; depends (ptyprocess ^= 0.4, tornado ^= 4.2.1) + - terminado 0.5-4; depends (ptyprocess ^= 0.4, tornado ^= 4.3) + - testpath 0.2-1 + - toolz 0.7.0-1 + - toolz 0.7.1-1 + - toolz 0.7.2-1 + - toolz 0.7.4-1 + - tornado 2.1-1 + - tornado 2.1.1-1 + - tornado 2.2-1 + - tornado 3.1.1-1 + - tornado 3.2.2-1; depends (ssl_match_hostname ^= 3.4.0.2) + - tornado 4.0.1-1; depends (ssl_match_hostname ^= 3.4.0.2) + - tornado 4.0.2-1; depends (ssl_match_hostname ^= 3.4.0.2) + - tornado 4.0.2-2; depends (ssl_match_hostname ^= 3.4.0.2) + - tornado 4.1-1; depends (ssl_match_hostname ^= 3.4.0.2) + - tornado 4.2-1; depends (ssl_match_hostname ^= 3.4.0.2, certifi ^= 14.05.14) + - tornado 4.2.1-1; depends (ssl_match_hostname ^= 3.4.0.2, certifi ^= 14.05.14) + - tornado 4.3-1; depends (backports_abc ^= 0.4, ssl_match_hostname ^= 3.4.0.2, singledispatch ^= 3.4.0.3, certifi ^= 2015.11.20.1) + - traceback2 1.4.0-1; depends (linecache2 ^= 1.0.0) + - traitlets 4.0.0-1; depends (ipython_genutils ^= 0.1.0, decorator ^= 4.0.2) + - traitlets 4.0.0-2; depends (decorator ^= 4.0.4, ipython_genutils ^= 0.1.0) + - traits 3.6.0-1; depends (numpy ^= 1.5.1) + - traits 4.0.0-1; depends (numpy ^= 1.6.0) + - traits 4.0.0-2; depends (numpy ^= 1.6.1) + - traits 4.1.0-1; depends (numpy ^= 1.6.1) + - traits 4.2.0-1; depends (numpy ^= 1.6.1) + - traits 4.3.0-1; depends (numpy ^= 1.6.1) + - traits 4.3.0-2; depends (numpy ^= 1.7.1) + - traits 4.3.0-3; depends (numpy ^= 1.8.0) + - traits 4.4.0-1; depends (numpy ^= 1.8.0) + - traits 4.4.0-2 + - traits 4.5.0-1 + - traits_enaml 0.2.0-1; depends (traitsui ^= 4.4.0, enaml ^= 0.8.9) + - traits_enaml 0.2.1-1; depends (traitsui ^= 4.4.0, enaml ^= 0.9.4) + - traits_enaml 0.2.1-2; depends (enaml ^= 0.9.5, traitsui ^= 4.4.0) + - traits_enaml 0.2.1-3; depends (enaml ^= 0.9.5, traitsui ^= 4.4.0) + - traits_enaml 0.2.1-4; depends (enaml ^= 0.9.8, traitsui ^= 4.4.0) + - traits_enaml 0.2.1-5; depends (enaml ^= 0.9.8, traitsui ^= 4.4.0) + - traits_enaml 0.2.1-6; depends (enaml ^= 0.9.8, traitsui ^= 4.4.0) + - traits_enaml 0.2.1-7; depends (enaml ^= 0.9.8, traitsui ^= 4.4.0) + - traits_enaml 0.2.1-8; depends (enaml ^= 0.9.8, traitsui ^= 4.5.1) + - traits_enaml 0.2.1-9; depends (enaml ^= 0.9.8, traitsui ^= 4.5.1) + - traits_enaml 0.2.1-10; depends (enaml ^= 0.9.8, traitsui ^= 4.5.1) + - traits_enaml 0.2.1-11; depends (enaml ^= 0.9.8, traitsui ^= 4.5.1) + - traits_enaml 0.2.1-12; depends (traitsui ^= 5.0.0, enaml ^= 0.9.8) + - traits_enaml 0.2.1-13; depends (traitsui ^= 5.0.0, enaml ^= 0.9.8) + - traits_enaml 0.2.1-14; depends (traitsui ^= 5.0.0, enaml ^= 0.9.8) + - traitsbackendqt 3.6.0-1 + - traitsbackendwx 3.6.0-1; depends (wxpython ^= 2.8.10.1, traits ^= 3.6.0) + - traitsgui 3.6.0-1 + - traitsui 4.0.0-1 + - traitsui 4.1.0-1 + - traitsui 4.2.0-1 + - traitsui 4.3.0-1 + - traitsui 4.3.0-2; depends (traits ^= 4.3.0, pyface ^= 4.3.0) + - traitsui 4.4.0-1; depends (pyface ^= 4.4.0, traits ^= 4.4.0) + - traitsui 4.4.0-2; depends (pyface ^= 4.4.0, traits ^= 4.5.0) + - traitsui 4.4.0-3; depends (traits ^= 4.5.0, pyface ^= 4.5.0) + - traitsui 4.5.1-1; depends (traits ^= 4.5.0, pyface ^= 4.5.0) + - traitsui 4.5.1-2; depends (pyface ^= 4.5.2, traits ^= 4.5.0) + - traitsui 5.0.0-1; depends (traits ^= 4.5.0, pyface ^= 5.0.0) + - twisted 10.2.0-1; depends (pyopenssl ^= 0.11, zope.interface ^= 3.6.1) + - twisted 11.0.0-1; depends (pyopenssl ^= 0.11, zope.interface ^= 3.6.1) + - twisted 11.0.0-2; depends (zope.interface ^= 3.6.3, pyopenssl ^= 0.12) + - twisted 11.1.0-2; depends (zope.interface ^= 3.8.0, pyopenssl ^= 0.12) + - twisted 12.0.0-1; depends (zope.interface ^= 3.8.0, pyopenssl ^= 0.12) + - twisted 12.0.0-3; depends (zope.interface ^= 3.8.0, pyopenssl ^= 0.13.1) + - twisted 14.0.0-1; depends (zope.interface ^= 4.1.1, pyopenssl ^= 0.13.1) + - twisted 14.0.2-1; depends (zope.interface ^= 4.1.1, pyopenssl ^= 0.13.1) + - twisted 14.0.2-3; depends (pyopenssl ^= 0.14, zope.interface ^= 4.1.1) + - twisted 14.0.2-4; depends (pyopenssl ^= 0.14, zope.interface ^= 4.1.2) + - twisted 15.0.0-1; depends (pyopenssl ^= 0.14, zope.interface ^= 4.1.2) + - twisted 15.1.0-1; depends (pyopenssl ^= 0.14, zope.interface ^= 4.1.2) + - twisted 15.1.0-2; depends (pyopenssl ^= 0.15.1, zope.interface ^= 4.1.2) + - twisted 15.2.1-1; depends (pyopenssl ^= 0.15.1, zope.interface ^= 4.1.2) + - twisted 15.4.0-1; depends (pyopenssl ^= 0.15.1, zope.interface ^= 4.1.2) + - twisted 15.4.0-2; depends (pyopenssl ^= 0.15.1, zope.interface ^= 4.1.3) + - twisted 15.5.0-1; depends (pyopenssl ^= 0.15.1, zope.interface ^= 4.1.3) + - ujson 1.33.0-1 + - ujson 1.33.0-2 + - unittest2 0.8.0-1 + - unittest2 1.1.0-1; depends (traceback2 ^= 1.4.0) + - unixodbc 2.3.0-1 + - unixodbc 2.3.2-1 + - unixodbc 2.3.2-2 + - venusian 1.0-1 + - vtk 5.6.0-2 + - vtk 5.6.0-6 + - vtk 5.10.1-1 + - vtk 5.10.1-2 + - vtk 5.10.1-3 + - vtk 6.2.0-1 + - vtk 6.3.0-1 + - vtk 6.3.0-3 + - w3lib 1.10.0-1; depends (six ^= 1.8.0) + - w3lib 1.10.0-2; depends (six ^= 1.9.0) + - w3lib 1.12.0-1; depends (six ^= 1.9.0) + - w3lib 1.12.0-2; depends (six ^= 1.10.0) + - werkzeug 0.9.4-1 + - werkzeug 0.9.6-1 + - werkzeug 0.10.1-1 + - werkzeug 0.10.4-1 + - werkzeug 0.10.4-2 + - werkzeug 0.11.2-1 + - werkzeug 0.11.3-1 + - whoosh 1.6.2-1 + - whoosh 2.5.6-1 + - whoosh 2.5.7-1 + - whoosh 2.7.0-1 + - whooshdoc 1.0-6; depends (epydoc ^= 3.0.1, pyparsing ^= 1.5.5, whoosh ^= 1.6.2, epdindex ^= 1.2) + - whooshdoc 1.0-7 + - wtforms 2.0.2-1 + - wxpython 2.8.10.1-2 + - wxpython 2.8.10.1-3 + - wxpython 2.8.10.1-7 + - wxpython 3.0.2.0-1; depends (gstreamer ^= 0.10.36, gst_plugins_base ^= 0.10.36) + - wxpython 3.0.2.0-2; depends (gstreamer ^= 0.10.36, gst_plugins_base ^= 0.10.36) + - x13as 1.1.19-1 + - xlrd 0.7.1-3 + - xlrd 0.7.1-4 + - xlrd 0.7.2-1 + - xlrd 0.7.3-1 + - xlrd 0.7.6-1 + - xlrd 0.7.9-1 + - xlrd 0.9.2-1 + - xlrd 0.9.3-1 + - xlrd 0.9.4-1 + - xlsxwriter 0.5.5-1 + - xlsxwriter 0.5.7-1 + - xlsxwriter 0.6.4-1 + - xlsxwriter 0.6.5-1 + - xlsxwriter 0.6.6-1 + - xlsxwriter 0.6.7-1 + - xlsxwriter 0.7.2-1 + - xlsxwriter 0.7.3-1 + - xlsxwriter 0.7.6-1 + - xlsxwriter 0.7.7-1 + - xlutils 1.7.1-1; depends (xlwt ^= 0.7.5, xlrd ^= 0.9.3) + - xlutils 1.7.1-2; depends (xlrd ^= 0.9.3, xlwt ^= 1.0.0) + - xlutils 1.7.1-3; depends (xlrd ^= 0.9.4, xlwt ^= 1.0.0) + - xlwings 0.2.3-2; depends (numpy ^= 1.8.1, pandas ^= 0.15.1) + - xlwt 0.7.2-3 + - xlwt 0.7.3-1 + - xlwt 0.7.4-1 + - xlwt 0.7.5-1 + - xlwt 1.0.0-1 + - xmltodict 0.9.2-1 + - xray 0.6.1-1; depends (pandas ^= 0.17.1, numpy ^= 1.9.2) + - xz 5.2.2-1 + - zeromq 2.0.7-1 + - zeromq 2.0.8-1 + - zeromq 2.0.10-1 + - zeromq 2.1.1-1 + - zeromq 2.1.4-1 + - zeromq 2.1.7-1 + - zeromq 2.1.9-1 + - zeromq 2.1.10-1 + - zeromq 2.1.11-1 + - zeromq 3.2.0-1 + - zeromq 3.2.4-1 + - zeromq 4.0.4-1 + - zeromq 4.0.5-1 + - zeromq 4.1.3-1; depends (libsodium ^= 1.0.3) + - zipfile2 0.0.6-1 + - zipfile2 0.0.7-1 + - zipfile2 0.0.8-2 + - zipfile2 0.0.11-1 + - zipline 0.7.0-1; depends (statsmodels ^= 0.6.1, scipy ^= 0.15.1, logbook ^= 0.9.0, pandas ^= 0.15.2, requests ^= 2.5.3, patsy ^= 0.3.0) + - zipline 0.7.0-2; depends (requests ^= 2.6.0, scipy ^= 0.15.1, logbook ^= 0.9.0, pandas ^= 0.15.2, statsmodels ^= 0.6.1, patsy ^= 0.3.0) + - zipline 0.7.0-3; depends (requests ^= 2.6.0, scipy ^= 0.15.1, logbook ^= 0.9.0, statsmodels ^= 0.6.1, pandas ^= 0.16.0, patsy ^= 0.3.0) + - zipline 0.7.0-4; depends (requests ^= 2.6.2, scipy ^= 0.15.1, logbook ^= 0.9.0, statsmodels ^= 0.6.1, pandas ^= 0.16.0, patsy ^= 0.3.0) + - zipline 0.7.0-5; depends (requests ^= 2.7.0, statsmodels ^= 0.6.1, scipy ^= 0.15.1, logbook ^= 0.9.0, pandas ^= 0.16.0, patsy ^= 0.3.0) + - zipline 0.7.0-6; depends (requests ^= 2.7.0, scipy ^= 0.15.1, statsmodels ^= 0.6.1, logbook ^= 0.9.0, pandas ^= 0.16.1, patsy ^= 0.3.0) + - zipline 0.7.0-7; depends (requests ^= 2.7.0, statsmodels ^= 0.6.1, scipy ^= 0.15.1, logbook ^= 0.9.0, pandas ^= 0.16.2, patsy ^= 0.3.0) + - zipline 0.7.0-8; depends (requests ^= 2.7.0, patsy ^= 0.4.0, scipy ^= 0.15.1, statsmodels ^= 0.6.1, logbook ^= 0.9.0, pandas ^= 0.16.2) + - zipline 0.7.0-9; depends (scipy ^= 0.16.0, requests ^= 2.7.0, patsy ^= 0.4.0, statsmodels ^= 0.6.1, logbook ^= 0.9.0, pandas ^= 0.16.2) + - zipline 0.7.0-10; depends (scipy ^= 0.16.0, requests ^= 2.8.0, patsy ^= 0.4.0, statsmodels ^= 0.6.1, logbook ^= 0.9.0, pandas ^= 0.16.2) + - zipline 0.7.0-11; depends (scipy ^= 0.16.0, requests ^= 2.8.0, patsy ^= 0.4.0, statsmodels ^= 0.6.1, logbook ^= 0.9.0, pandas ^= 0.16.2) + - zipline 0.7.0-12; depends (scipy ^= 0.16.0, requests ^= 2.8.0, patsy ^= 0.4.0, statsmodels ^= 0.6.1, logbook ^= 0.9.0, pandas ^= 0.16.2) + - zipline 0.7.0-14; depends (pandas ^= 0.17.1, scipy ^= 0.16.1, requests ^= 2.8.0, patsy ^= 0.4.0, logbook ^= 0.9.0, statsmodels ^= 0.6.1) + - zipline 0.7.0-15; depends (pandas ^= 0.17.1, scipy ^= 0.16.1, requests ^= 2.9.0, patsy ^= 0.4.0, logbook ^= 0.9.0, statsmodels ^= 0.6.1) + - zlib 1.2.6-1 + - zope.deprecation 4.1.1-1 + - zope.deprecation 4.1.2-1 + - zope.deprecation 4.1.2-2 + - zope.deprecation 4.1.2-3 + - zope.deprecation 4.1.2-4 + - zope.deprecation 4.1.2-5 + - zope.deprecation 4.1.2-6 + - zope.deprecation 4.1.2-7 + - zope.deprecation 4.1.2-8 + - zope.deprecation 4.1.2-9 + - zope.deprecation 4.1.2-10 + - zope.interface 3.6.1-2 + - zope.interface 3.6.3-1 + - zope.interface 3.8.0-1 + - zope.interface 4.1.1-1 + - zope.interface 4.1.2-1 + - zope.interface 4.1.2-2; depends (setuptools ^= 14.3.1) + - zope.interface 4.1.2-3; depends (setuptools ^= 15.1) + - zope.interface 4.1.2-4; depends (setuptools ^= 15.2) + - zope.interface 4.1.2-5; depends (setuptools ^= 16.0) + - zope.interface 4.1.2-6; depends (setuptools ^= 17.1.1) + - zope.interface 4.1.2-7; depends (setuptools ^= 18.2) + - zope.interface 4.1.3-1; depends (setuptools ^= 18.2) + - zope.interface 4.1.3-2; depends (setuptools ^= 18.4) + - zope.interface 4.1.3-3; depends (setuptools ^= 18.7.1) + - zope.interface 4.1.3-4; depends (setuptools ^= 19.1.1) + +installed: + - backports_abc 0.4-1 + - bcolz 0.11.3-3 + - biggus 0.7.0-5 + - blaze 0.8.3-14 + - bokeh 0.11.0-1 + - cartopy 0.13.0-4 + - certifi 2015.11.20.1-1 + - chaco 4.5.0-3 + - configobj 5.0.6-1 + - curl 7.43.0-1 + - cycler 0.9.0-2 + - cytoolz 0.7.4-1 + - datashape 0.5.0-1 + - decorator 4.0.4-1 + - distribute_remove 1.0.0-3 + - doctest_tools 1.0a3-1 + - enable 4.5.1-11 + - enum34 1.1.1-1 + - expat 2.0.1-3 + - flask 0.10.1-9 + - freetype 2.5.3-4 + - funcsigs 0.4-1 + - futures 3.0.3-1 + - gdal 2.0.1-1 + - geos 3.5.0-1 + - glib 2.36.1-2 + - gst_plugins_base 0.10.36-2 + - gstreamer 0.10.36-3 + - h5py 2.5.0-4 + - hdf5 1.8.15.1-1 + - htmltemplate 1.5.0-2 + - iris 1.8.1-4 + - itsdangerous 0.24.0-1 + - jinja2 2.8-1 + - kiwisolver 0.1.3-2 + - lib_netcdf4 4.3.3.1-1 + - libffi 3.0.13-2 + - libgdal 2.0.1-1 + - libgfortran 3.0.0-2 + - libjpeg 7.0-3 + - libopenjpeg 2.1.0-2 + - libpng 1.6.12-3 + - libproj 4.8.0-3 + - libtheora 1.1.1-1 + - libudunits 2.2.17-2 + - libxml2 2.9.2-2 + - libxslt 1.1.28-3 + - libyaml 0.1.4-1 + - llvmlite 0.8.0-2 + - lxml 3.5.0-1 + - markupsafe 0.23-1 + - matplotlib 1.5.1-1 + - mkl 10.3-2 + - multipledispatch 0.4.8-1 + - netcdf4 1.2.2-1 + - networkx 1.10-2 + - numba 0.23.0-1 + - numexpr 2.4.0-3 + - numpy 1.9.2-2 + - odo 0.3.4-8 + - owslib 0.8.8-10 + - pandas 0.17.1-6 + - pep8 1.6.2-1 + - pil_remove 1.0.0-2 + - pillow 3.0.0-1 + - psutil 3.3.0-1 + - pyface 5.0.0-1 + - pygrib 1.9.9-5 + - pyke 1.1.1-1 + - pymongo 2.8-1 + - pyparsing 2.0.3-1 + - pyproj 1.9.4-1 + - pyshp 1.2.0-1 + - pytables 3.2.2-2 + - python_dateutil 2.4.2-2 + - pytz 2015.7-1 + - pyyaml 3.11-1 + - requests 2.9.0-1 + - scipy 0.16.1-1 + - setuptools 19.1.1-1 + - shapely 1.5.13-1 + - singledispatch 3.4.0.3-1 + - six 1.10.0-1 + - sqlalchemy 1.0.10-1 + - ssl_match_hostname 3.4.0.2-1 + - toolz 0.7.4-1 + - tornado 4.3-1 + - traits 4.5.0-1 + - traitsui 5.0.0-1 + - werkzeug 0.11.3-1 + - wxpython 3.0.2.0-2 + +marked: + - blaze + - bokeh + - chaco + - iris + +request: + - operation: "install" + requirement: "numpy < 1.9" From 277991501706bef2883138b407408ba8a149bf7f Mon Sep 17 00:00:00 2001 From: John Tyree Date: Sat, 23 Jan 2016 21:52:41 -0600 Subject: [PATCH 04/16] MAINT: finer grained --debug --- scripts/solve.py | 5 +- simplesat/sat/policy.py | 284 -------------------------- simplesat/sat/policy/policy_logger.py | 34 +-- 3 files changed, 12 insertions(+), 311 deletions(-) delete mode 100644 simplesat/sat/policy.py diff --git a/scripts/solve.py b/scripts/solve.py index f33ad1f..1e86819 100644 --- a/scripts/solve.py +++ b/scripts/solve.py @@ -39,7 +39,10 @@ def solve_and_print(request, remote_repositories, installed_repository, print(solver._last_solver_init_time.pretty(fmt), file=sys.stderr) print(solver._last_solve_time.pretty(fmt), file=sys.stderr) if debug: - print(solver._policy._log_report(), file=sys.stderr) + counts, hist = solver._policy._log_histogram() + print(hist, file=sys.stderr) + report = solver._policy._log_report(with_assignments=debug > 1) + print(report, file=sys.stderr) def main(argv=None): diff --git a/simplesat/sat/policy.py b/simplesat/sat/policy.py deleted file mode 100644 index fa8298e..0000000 --- a/simplesat/sat/policy.py +++ /dev/null @@ -1,284 +0,0 @@ -import abc -from collections import Counter - -import six - -from simplesat.utils import DefaultOrderedDict - - -def _pkg_id_to_version(pool, package_id): - return pool._id_to_package[package_id].version - - -class IPolicy(six.with_metaclass(abc.ABCMeta)): - - def __init__(self, *args): - pass - - @abc.abstractmethod - def add_requirements(self, package_ids): - """ Submit packages to the policy for consideration. - """ - - @abc.abstractmethod - def get_next_package_id(self, assignments, clauses): - """ Returns a undecided variable (i.e. integer > 0) for the given sets - of assignments and clauses. - - Parameters - ---------- - assignments : AssignmentSet - The current assignments of each literal. Keys are variables - (integer > 0) and values are one of (True, False, None). - clauses : List of Clause - The collection of Clause objects to satisfy. - """ - - -class PolicyLogger(IPolicy): - - def __init__(self, policy, args=None, kwargs=None): - self._policy = policy - self._log_pool = args[0] - self._log_installed = getattr(policy, '_installed_ids', set()).copy() - self._log_preferred = getattr(policy, '_preferred_ids', set()).copy() - self._log_args = args - self._log_kwargs = kwargs - self._log_required = [] - self._log_suggestions = [] - self._log_assignment_changes = [] - - def get_next_package_id(self, assignments, clauses): - self._log_assignment_changes.append(assignments.get_changelog()) - pkg_id = self._policy.get_next_package_id(assignments, clauses) - self._log_suggestions.append(pkg_id) - assignments.consume_changelog() - return pkg_id - - def add_requirements(self, package_ids): - self._log_required.extend(package_ids) - self._log_preferred.difference_update(package_ids) - self._log_installed.difference_update(package_ids) - self._policy.add_requirements(package_ids) - - def _log_histogram(self, pkg_ids=None): - if pkg_ids is None: - pkg_ids = map(abs, self._log_suggestions) - c = Counter(pkg_ids) - lines = ( - "{:>25} {}".format(self._log_pretty_pkg_id(k), v) - for k, v in c.most_common() - ) - pretty = '\n'.join(lines) - return c, pretty - - def _log_pretty_pkg_id(self, pkg_id): - package = self._log_pool._id_to_package[pkg_id] - name_ver = '{} {}'.format(package.name, package.version) - fill = '.' if pkg_id % 2 else '' - try: - repo = package.repository_info.name - except AttributeError: - repo = 'installed' - return "{:{fill}<30} {:3} {}".format(name_ver, pkg_id, repo, fill=fill) - - def _log_report(self, detailed=True): - - def pkg_name(pkg_id): - return pkg_key(pkg_id)[0] - - def pkg_key(pkg_id): - pkg = self._log_pool._id_to_package[pkg_id] - return pkg.name, pkg.version - - ids = map(abs, self._log_suggestions) - report = [] - changes = [] - if self._log_assignment_changes: - for pkg, change in self._log_assignment_changes[0].items(): - name = self._log_pretty_pkg_id(pkg) - if change[1] is not None: - changes.append("{} : {}".format(name, change[1])) - report.append('\n'.join(changes)) - - required = set(self._log_required) - preferred = set(self._log_preferred) - installed = set(self._log_installed) - for (i, sugg) in enumerate(ids): - pretty = self._log_pretty_pkg_id(sugg) - R = 'R' if sugg in required else ' ' - P = 'P' if sugg in preferred else ' ' - I = 'I' if sugg in installed else ' ' - changes = [] - try: - change_items = self._log_assignment_changes[i + 1].items() - if detailed: - change_items = sorted( - change_items, key=lambda p: pkg_key(p[0])) - for pkg, change in change_items: - if pkg_name(pkg) != pkg_name(sugg): - _pretty = self._log_pretty_pkg_id(pkg) - fro, to = map(str, change) - msg = "{:10} - {:10} : {}" - changes.append(msg.format(fro, to, _pretty)) - if changes: - changes = '\n\t\t'.join([''] + changes) - else: - changes = "" - except IndexError: - changes = "" - msg = "{:>4} {}{}{} - {}{}" - report.append(msg.format(i, R, P, I, pretty, changes)) - return '\n'.join(report) - - -class DefaultPolicy(IPolicy): - - def add_requirements(self, assignments): - pass - - def get_next_package_id(self, assignments, _): - # Given a dictionary of partial assignments, get an undecided variable - # to be decided next. - undecided = ( - package_id for package_id, status in six.iteritems(assignments) - if status is None - ) - return next(undecided) - - -class UndeterminedClausePolicy(IPolicy): - - """ An IPolicy that gathers all undetermined packages from clauses whose - truth value is not yet known and suggests them in descending order by - package version number. """ - - def __init__(self, pool, installed_repository, prefer_installed=True): - self._pool = pool - self.prefer_installed = prefer_installed - self._installed_ids = set( - pool.package_id(package) for package in installed_repository - ) - self._preferred_package_ids = { - self._package_key(package_id): package_id - for package_id in self._installed_ids - } - self._decision_set = set() - self._requirements = set() - - def _package_key(self, package_id): - package = self._pool._id_to_package[package_id] - return (package.name, package.version) - - def add_requirements(self, package_ids): - self._requirements.update(package_ids) - - def get_next_package_id(self, assignments, clauses): - """Get the next unassigned package. - """ - candidate_id = None - best = self._best_candidate - - if self.prefer_installed: - candidate_id = best(self._installed_ids, assignments) - - candidate_id = ( - candidate_id or - self._best_candidate(self._requirements, assignments) or - self._best_candidate(self._decision_set, assignments) - ) - - if candidate_id is None: - self._decision_set.clear() - candidate_id = \ - self._handle_empty_decision_set(assignments, clauses) - if candidate_id is None: - candidate_id = self._best_candidate( - self._decision_set, - assignments - ) - - assert assignments.get(candidate_id) is None, \ - "Trying to assign to a variable which is already assigned." - - if not self.prefer_installed: - # If this exact package version is available locally, use that one - key = self._package_key(candidate_id) - candidate_id = self._preferred_package_ids.get(key, candidate_id) - - return candidate_id - - def _without_assigned(self, package_ids, assignments): - return set( - pkg_id for pkg_id in package_ids - if assignments.get(pkg_id) is None - ) - - def _by_version(self, package_id): - return (_pkg_id_to_version(self._pool, package_id), package_id) - - def _best_candidate(self, package_ids, assignments): - unassigned = self._without_assigned(package_ids, assignments) - try: - return max(unassigned, key=self._by_version) - except ValueError: - return None - - def _group_packages_by_name(self, decision_set): - installed_packages = [] - new_package_map = DefaultOrderedDict(list) - - for package_id in sorted(decision_set): - package = self._pool._id_to_package[package_id] - if package_id in self._installed_ids: - installed_packages.append(package) - else: - new_package_map[package.name].append(package) - - return installed_packages, new_package_map - - def _handle_empty_decision_set(self, assignments, clauses): - # TODO inefficient and verbose - - unassigned_ids = set( - literal for literal, status in six.iteritems(assignments) - if status is None - ) - assigned_ids = set(assignments.keys()) - unassigned_ids - - signed_assignments = set() - for variable in assigned_ids: - if assignments[variable]: - signed_assignments.add(variable) - else: - signed_assignments.add(-variable) - - for clause in clauses: - # TODO Need clause.undecided_literals property - if not signed_assignments.isdisjoint(clause.lits): - # Clause is true - continue - - variables = map(abs, clause.lits) - undecided = unassigned_ids.intersection(variables) - self._decision_set.update(lit for lit in undecided) - - if len(self._decision_set) == 0: - # This will happen if the remaining packages are irrelevant for - # the set of rules that we're trying to satisfy. In that case, - # just return one of the undecided IDs. - - # We use min to ensure determinisism - return min(unassigned_ids) - else: - return None - - -def LoggedPolicy(policy_factory): - def PolicyFactory(*args, **kwargs): - policy = policy_factory(*args, **kwargs) - logger = PolicyLogger(policy, args=args, kwargs=kwargs) - return logger - return PolicyFactory - -InstalledFirstPolicy = LoggedPolicy(UndeterminedClausePolicy) diff --git a/simplesat/sat/policy/policy_logger.py b/simplesat/sat/policy/policy_logger.py index c7e8ef3..92e2dd4 100644 --- a/simplesat/sat/policy/policy_logger.py +++ b/simplesat/sat/policy/policy_logger.py @@ -11,7 +11,7 @@ def __init__(self, policy, args=None, kwargs=None): self._policy = policy self._log_pool = args[0] self._log_installed = set(getattr(policy, '_installed_ids', ())) - self._log_preferred = getattr(policy, '_preferred_ids', set()).copy() + self._log_preferred = set(getattr(policy, '_preferred_ids', ())) self._log_args = args self._log_kwargs = kwargs self._log_required = [] @@ -77,11 +77,11 @@ def pkg_key(pkg_id): R = 'R' if sugg in required else ' ' I = 'I' if sugg in installed else ' ' change_str = "" - if with_assignments: - try: + try: + items = self._log_assignment_changes[i + 1].items() + sorted_items = sorted(items, key=lambda p: pkg_key(p[0])) + if with_assignments: changes = [] - items = self._log_assignment_changes[i + 1].items() - sorted_items = sorted(items, key=lambda p: pkg_key(p[0])) for pkg, change in sorted_items: if pkg_name(pkg) != pkg_name(sugg): _pretty = self._log_pretty_pkg_id(pkg) @@ -90,27 +90,9 @@ def pkg_key(pkg_id): changes.append(msg.format(fro, to, _pretty)) if changes: change_str = '\n\t'.join([''] + changes) - except IndexError: - pass - msg = "{:>4} {}{} - {}{}" - report.append(msg.format(i, R, I, pretty, change_str)) - try: - change_items = self._log_assignment_changes[i + 1].items() - if detailed: - change_items = sorted( - change_items, key=lambda p: pkg_key(p[0])) - for pkg, change in change_items: - if pkg_name(pkg) != pkg_name(sugg): - _pretty = self._log_pretty_pkg_id(pkg) - fro, to = map(str, change) - msg = "{:10} - {:10} : {}" - changes.append(msg.format(fro, to, _pretty)) - if changes: - changes = '\n\t\t'.join([''] + changes) - else: - changes = "" - if any(v[1] is None - for v in self._log_assignment_changes[i + 1].values()): + msg = "{:>4} {}{} - {}{}" + report.append(msg.format(i, R, I, pretty, change_str)) + if any(v[1] is None for _, v in sorted_items): report.append("BACKTRACKED\n") except IndexError: pass From 410fec9dfd909e637a7803a4b6addaf3aaf9458f Mon Sep 17 00:00:00 2001 From: John Tyree Date: Fri, 29 Jan 2016 22:11:03 -0600 Subject: [PATCH 05/16] ENH: introduce the PriorityQueuePolicy again --- simplesat/priority_queue.py | 176 ++++++++++++++ simplesat/sat/policy/__init__.py | 3 + simplesat/sat/policy/priority_queue_policy.py | 224 ++++++++++++++++++ simplesat/utils/__init__.py | 2 +- simplesat/utils/graph.py | 74 +++++- 5 files changed, 477 insertions(+), 2 deletions(-) create mode 100644 simplesat/priority_queue.py create mode 100644 simplesat/sat/policy/priority_queue_policy.py diff --git a/simplesat/priority_queue.py b/simplesat/priority_queue.py new file mode 100644 index 0000000..15df6d0 --- /dev/null +++ b/simplesat/priority_queue.py @@ -0,0 +1,176 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from collections import defaultdict +from functools import partial +from heapq import heappush, heappop +from itertools import count + +import six + + +class _REMOVED_TASK(object): + pass +REMOVED_TASK = _REMOVED_TASK() + + +class PriorityQueue(object): + """ A priority queue implementation that supports reprioritizing or + removing tasks, given that tasks are unique. + + Borrowed from: https://docs.python.org/3/library/heapq.html + """ + + def __init__(self): + # list of entries arranged in a heap + self._pq = [] + # mapping of tasks to entries + self._entry_finder = {} + # unique id genrator for tie-breaking + self._next_id = partial(next, count()) + + def __len__(self): + return len(self._entry_finder) + + def __bool__(self): + return bool(len(self)) + + def __contains__(self, task): + return task in self._entry_finder + + def clear(self): + self._pq = [] + self._entry_finder = {} + + def push(self, task, priority=0): + "Add a new task or update the priority of an existing task" + return self._push(priority, self._next_id(), task) + + def peek(self): + """ Return the task with the lowest priority. + + This will pop and repush if a REMOVED task is found. + """ + if not self._pq: + raise KeyError('peek from an empty priority queue') + entry = self._pq[0] + if entry[-1] is REMOVED_TASK: + entry = self._pop() + self._push(*entry) + return entry[-1] + + def pop(self): + 'Remove and return the lowest priority task. Raise KeyError if empty.' + _, _, task = self._pop() + return task + + def pop_many(self, n=None): + """ Return a list of length n of popped elements. If n is not + specified, pop the entire queue. """ + if n is None: + n = len(self) + result = [] + for _ in range(n): + result.append(self.pop()) + return result + + def discard(self, task): + "Remove an existing task if present. If not, do nothing." + try: + self.remove(task) + except KeyError: + pass + + def remove(self, task): + "Remove an existing task. Raise KeyError if not found." + entry = self._entry_finder.pop(task) + entry[-1] = REMOVED_TASK + + def _pop(self): + while self._pq: + entry = heappop(self._pq) + if entry[-1] is not REMOVED_TASK: + del self._entry_finder[entry[-1]] + return entry + raise KeyError('pop from an empty priority queue') + + def _push(self, priority, task_id, task): + if task in self: + o_priority, _, o_task = self._entry_finder[task] + # Still check the task, which might now be REMOVED + if priority == o_priority and task == o_task: + # We're pushing something we already have, do nothing + return + else: + # Make space for the new entry + self.remove(task) + entry = [priority, task_id, task] + self._entry_finder[task] = entry + heappush(self._pq, entry) + + +class GroupPrioritizer(object): + + """ A helper for assigning hierarchical priorities to items + according to priority groups. """ + + def __init__(self, order_key_func=lambda x: x): + """ + Parameters + ---------- + `order_key_func` : callable + used to sort items in each group. + """ + self.key_func = order_key_func + self._priority_groups = defaultdict(set) + self._item_priority = {} + self.known = frozenset() + self.dirty = True + + def __contains__(self, item): + return item in self._item_priority + + def __getitem__(self, item): + "Return the priority of an item." + if self.dirty: + self._prioritize() + return self._item_priority[item] + + def get(self, item, default=None): + if item in self: + return self[item] + return default + + def items(self): + "Return an (item, priority) iterator for all items." + if self.dirty: + self._prioritize() + return six.iteritems(self._item_priority) + + def update(self, items, group): + """Add `items` to the `group`, remove `items` from all other groups, + and update all priority values.""" + self.known = self.known.union(items) + for _group, _items in self._priority_groups.items(): + if _group != group: + _items.difference_update(items) + self._priority_groups[group].update(items) + self.dirty = True + + def group(self, group): + "Return the set of items in `group`." + if group not in self._priority_groups: + raise KeyError(repr(group)) + return self._priority_groups[group] + + def _prioritize(self): + item_priority = {} + + for group, items in six.iteritems(self._priority_groups): + ordered_items = sorted(items, key=self.key_func) + for rank, item in enumerate(ordered_items): + priority = (group, rank) + item_priority[item] = priority + + self._item_priority = item_priority + self.dirty = False diff --git a/simplesat/sat/policy/__init__.py b/simplesat/sat/policy/__init__.py index 2e8da63..8ee0ea5 100644 --- a/simplesat/sat/policy/__init__.py +++ b/simplesat/sat/policy/__init__.py @@ -4,5 +4,8 @@ from .undetermined_clause_policy import ( LoggedUndeterminedClausePolicy, UndeterminedClausePolicy ) +from .priority_queue_policy import ( + LoggedPriorityQueuePolicty, PriorityQueuePolicy +) InstalledFirstPolicy = LoggedUndeterminedClausePolicy diff --git a/simplesat/sat/policy/priority_queue_policy.py b/simplesat/sat/policy/priority_queue_policy.py new file mode 100644 index 0000000..4e0ce47 --- /dev/null +++ b/simplesat/sat/policy/priority_queue_policy.py @@ -0,0 +1,224 @@ +# -*- coding: utf-8 -*- + +from collections import defaultdict + +import six + +from simplesat.constraints.requirement import Requirement +from simplesat.utils import DefaultOrderedDict, toposort, transitive_neighbors +from simplesat.priority_queue import PriorityQueue, GroupPrioritizer +from .policy import IPolicy +from .policy_logger import PolicyLogger + + +class PriorityQueuePolicy(IPolicy): + + """ An IPolicy that uses a priority queue to determine which package id + should be suggested next. + + Packages are split into groups: + + 1. currently installed, + 2. explicitly specified as a requirement, + 3. everything else, + + where each group is arranged in topological order by dependency + relationships and then descending order by version number. + The groups are then searched in order and the first unassigned package id + is suggested. + """ + + def __init__(self, pool, installed_repository, prefer_installed=True): + self._pool = pool + self._installed_ids = set(map(pool.package_id, installed_repository)) + + package_ids = pool._id_to_package.keys() + self._package_id_to_rank = None # set the first time we check + self._all_ids = set(package_ids) + self._required_ids = set() + self._name_to_package_ids = self._group_packages_by_name(package_ids) + + def priority_func(p): + return self._package_id_to_rank[p] + + self._unassigned_pkg_ids = PriorityQueue() + + self.DEFAULT = 0 + if prefer_installed: + self.INSTALLED = -2 + self.REQUIRED = -1 + else: + self.REQUIRED = -1 + self.INSTALLED = self.DEFAULT + + self._prioritizer = GroupPrioritizer(priority_func) + self._add_packages(self._installed_ids.copy(), self.INSTALLED) + + def add_requirements(self, package_ids): + self._required_ids.update(package_ids) + if self.REQUIRED < self.INSTALLED: + self._installed_ids.difference_update(package_ids) + else: + package_ids = set(package_ids).difference(self._installed_ids) + self._add_packages(package_ids, self.REQUIRED) + + def get_next_package_id(self, assignments, clauses): + self._update_cache_from_assignments(assignments) + # Grab the most interesting looking currently unassigned id + p_id = self._unassigned_pkg_ids.peek() + return p_id + + def _add_packages(self, package_ids, group): + prioritizer = self._prioritizer + prioritizer.update(package_ids, group=group) + + # Removing an item from an ordering always maintains the ordering, + # so we only need to update priorities on groups that had items added + for pkg_id in prioritizer.group(group): + if pkg_id in self._unassigned_pkg_ids: + self._unassigned_pkg_ids.push(pkg_id, prioritizer[pkg_id]) + + def pkg_key(self, package_id): + """ Return the key used to compare two packages. """ + package = self._pool._id_to_package[package_id] + try: + installed = package.repository_info.name == 'installed' + except AttributeError: + installed = False + return (package.version, installed) + + def _rank_packages(self, package_ids): + """ Return a dictionary of package_id to priority rank. + + Currently we build a dependency tree of all the relevant packages and + then rank them topologically, starting with those at the top. + + This strategy causes packages which force more assignments via + unit propagation in the solver to be preferred. + """ + pool = self._pool + R = Requirement + + # The direct dependencies of each package + dependencies = defaultdict(set) + for package_id in package_ids: + dependencies[package_id].update( + pool.package_id(package) + for cons in pool._id_to_package[package_id].install_requires + for package in pool.what_provides(R.from_constraints(cons)) + ) + + # This is a flattened version of `dependencies` above + transitive = transitive_neighbors(dependencies) + + packages_by_name = self._group_packages_by_name(package_ids) + + # Some packages have unversioned dependencies, such as simply 'pandas'. + # This can produce cycles in the dependency graph which much be removed + # before topological sorting can be done. + # The strategy is to ignore the dependencies of any package that is + # present in its own transitive dependency list + removed_deps = [] + for package_id in package_ids: + package = pool._id_to_package[package_id] + deps = dependencies[package_id] + package_group = packages_by_name[package.name] + for dep in list(deps): + circular = transitive[dep].intersection(package_group) + if circular: + packages = [pool._id_to_package[p] for p in circular] + depkg = pool._id_to_package[dep] + pkg_strings = [ + "{}-{}".format(pkg.name, pkg.version) + for pkg in packages + ] + msg = "Circular Deps: {}-{} -> {}-{} -> {}".format( + package.name, package.version, + depkg.name, depkg.version, + pkg_strings + ) + removed_deps.append(msg) + deps.remove(dep) + + # Mark packages as depending on older versions of themselves so that + # they will come out first in the toposort + for package_id in package_ids: + package = pool._id_to_package[package_id] + package_group = packages_by_name[package.name] + idx = package_group.index(package_id) + other_older = package_group[:idx + 1] + dependencies[package_id].update(other_older) + + # Finally toposort the packages, preferring higher version and + # already-installed packages to break ties + ordered = [ + package_id + for group in tuple(toposort(dependencies)) + for package_id in sorted(group, key=self.pkg_key, reverse=True) + ] + + package_id_to_rank = { + package_id: rank + for rank, package_id in enumerate(ordered) + } + + return package_id_to_rank + + def _group_packages_by_name(self, package_ids): + """ Return a dictionary from package name to all package ids + corresponding to packages with that name. """ + pool = self._pool + + name_map = DefaultOrderedDict(list) + for package_id in package_ids: + package = pool._id_to_package[package_id] + name_map[package.name].append(package_id) + + name_to_package_ids = {} + + for name, package_ids in name_map.items(): + ordered = sorted(package_ids, key=self.pkg_key, reverse=True) + name_to_package_ids[name] = ordered + + return name_to_package_ids + + def _update_cache_from_assignments(self, assignments): + new_keys = assignments.new_keys.copy() + changelog = assignments.consume_changelog() + + if new_keys: + unknown_ids = new_keys.difference(self._prioritizer.known) + self._all_ids.update(new_keys) + self._package_id_to_rank = self._rank_packages(self._all_ids) + self._prioritizer.update(unknown_ids, group=self.DEFAULT) + + # Newly unassigned + self._unassigned_pkg_ids.clear() + for key in assignments.unassigned_ids: + priority = self._prioritizer[key] + self._unassigned_pkg_ids.push(key, priority=priority) + else: + for key, (old, new) in six.iteritems(changelog): + if new is None: + # Newly unassigned + priority = self._prioritizer[key] + self._unassigned_pkg_ids.push(key, priority=priority) + elif old is None: + # No longer unassigned (because new is not None) + self._unassigned_pkg_ids.remove(key) + + # The remaining case is True -> False, False -> True or + # MISSING -> (True|False) + + # A very cheap sanity check + ours = len(self._unassigned_pkg_ids) + theirs = len(assignments) - assignments.num_assigned + has_new_keys = len(new_keys) + msg = "We failed to track variable assignments {} {} {}" + assert ours == theirs, msg.format(ours, theirs, has_new_keys) + + +def LoggedPriorityQueuePolicty(pool, installed_repository, *args, **kwargs): + policy = PriorityQueuePolicy(pool, installed_repository, *args, **kwargs) + logger = PolicyLogger(policy, extra_args=args, extra_kwargs=kwargs) + return logger diff --git a/simplesat/utils/__init__.py b/simplesat/utils/__init__.py index 1cc6843..761edc0 100644 --- a/simplesat/utils/__init__.py +++ b/simplesat/utils/__init__.py @@ -8,7 +8,7 @@ import tempfile from .timed_context import timed_context -from .graph import connected_nodes +from .graph import connected_nodes, toposort, transitive_neighbors from ._collections import DefaultOrderedDict diff --git a/simplesat/utils/graph.py b/simplesat/utils/graph.py index bc74ef7..4b468f1 100644 --- a/simplesat/utils/graph.py +++ b/simplesat/utils/graph.py @@ -1,6 +1,10 @@ # -*- coding: utf-8 -*- -from collections import deque +from __future__ import division, print_function + +from collections import defaultdict, deque + +import six def connected_nodes(node, neighbor_func, visited=None): @@ -50,3 +54,71 @@ def breadth_first_search(start, neighbor_func, terminate_func, visited=None): queue.append(neighbor) visited[neighbor] = node return [], visited + + +def toposort(nodes_to_edges): + """Dependencies are expressed as a dictionary whose keys are items and + whose values are a set of dependent items. Output is a list of sets in + topological order. The first set consists of items with no dependences, + each subsequent set consists of items that depend upon items in the + preceeding sets. + + >>> print('\\n'.join(repr(sorted(x)) for x in toposort2({ + ... 2: set([11]), + ... 9: set([11,8]), + ... 10: set([11,3]), + ... 11: set([7,5]), + ... 8: set([7,3]), + ... }))) + [3, 5, 7] + [8, 11] + [2, 9, 10] + + """ + + data = {k: v.copy() for k, v in six.iteritems(nodes_to_edges)} + + # Ignore self dependencies. + for k, v in six.iteritems(data): + v.discard(k) + + # Find all items that don't depend on anything. + extra_items_in_deps = six.functools.reduce(set.union, six.itervalues(data)) + extra_items_in_deps.difference_update(set(six.iterkeys(data))) + + # Add empty dependences where needed + data.update({item: set() for item in extra_items_in_deps}) + + while True: + ordered = set(item for item, dep in six.iteritems(data) if not dep) + if not ordered: + break + yield ordered + data = {item: (dep - ordered) + for item, dep in six.iteritems(data) + if item not in ordered} + if data: + msg = "Cyclic dependencies exist among these items:\n{}" + cyclic = '\n'.join(repr(x) for x in six.iteritems(data)) + raise ValueError(msg.format(cyclic)) + + +def transitive_neighbors(nodes_to_edges): + """ Return the set of all reachable nodes for each node in the + nodes_to_edges adjacency dict. """ + trans = defaultdict(set) + for node in nodes_to_edges.keys(): + _transitive(node, nodes_to_edges, trans) + return trans + + +def _transitive(node, nodes_to_edges, trans): + trans = trans if trans is not None else defaultdict(set) + if node in trans: + return trans + neighbors = nodes_to_edges[node] + trans[node].update(neighbors) + for neighbor in neighbors: + _transitive(neighbor, nodes_to_edges, trans) + trans[node].update(trans[neighbor]) + return trans From 2ad33dee07c99e09b8f880640777f9de63149070 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Fri, 29 Jan 2016 22:21:19 -0600 Subject: [PATCH 06/16] ENH: enable the PriorityQueuePolicy by default --- simplesat/sat/policy/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/simplesat/sat/policy/__init__.py b/simplesat/sat/policy/__init__.py index 8ee0ea5..12354a6 100644 --- a/simplesat/sat/policy/__init__.py +++ b/simplesat/sat/policy/__init__.py @@ -8,4 +8,5 @@ LoggedPriorityQueuePolicty, PriorityQueuePolicy ) -InstalledFirstPolicy = LoggedUndeterminedClausePolicy +# InstalledFirstPolicy = LoggedUndeterminedClausePolicy +InstalledFirstPolicy = LoggedPriorityQueuePolicty From 03776a6fff7545253356d9c088bc0c3265c9ca9f Mon Sep 17 00:00:00 2001 From: John Tyree Date: Sat, 30 Jan 2016 21:15:33 -0600 Subject: [PATCH 07/16] MAINT: update CHANGES --- CHANGES.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 11a728c..3b3fcd2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,9 @@ Enhancements * Details relating to unsatisfiable scenarios are captured in an ``UNSAT`` object and attached to the ``SatisifiabilityError`` raised (#101). +* Adds a second policy based on a priority queue (#131) +* Major speed improvements in the policies and assignment tracker (#131) + Bugs Fixed ---------- @@ -18,6 +21,7 @@ Bugs Fixed * Some sort operations that were using non-unique keys have been fixed (#101). * Assumptions are now represented as an empty Clause object (#101). + Version 0.1.0 ============= From 2246ad0fdd436093d66ec671e5e379a85d2d7c59 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Sat, 30 Jan 2016 22:08:45 -0600 Subject: [PATCH 08/16] MAINT: use new LoggedPolicy HOF --- simplesat/sat/policy/priority_queue_policy.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/simplesat/sat/policy/priority_queue_policy.py b/simplesat/sat/policy/priority_queue_policy.py index 4e0ce47..9080f17 100644 --- a/simplesat/sat/policy/priority_queue_policy.py +++ b/simplesat/sat/policy/priority_queue_policy.py @@ -8,7 +8,7 @@ from simplesat.utils import DefaultOrderedDict, toposort, transitive_neighbors from simplesat.priority_queue import PriorityQueue, GroupPrioritizer from .policy import IPolicy -from .policy_logger import PolicyLogger +from .policy_logger import LoggedPolicy class PriorityQueuePolicy(IPolicy): @@ -218,7 +218,4 @@ def _update_cache_from_assignments(self, assignments): assert ours == theirs, msg.format(ours, theirs, has_new_keys) -def LoggedPriorityQueuePolicty(pool, installed_repository, *args, **kwargs): - policy = PriorityQueuePolicy(pool, installed_repository, *args, **kwargs) - logger = PolicyLogger(policy, extra_args=args, extra_kwargs=kwargs) - return logger +LoggedPriorityQueuePolicty = LoggedPolicy(PriorityQueuePolicy) From 143a3354bd4bbcf2d3c9b898f25b68712e9750b5 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Sun, 6 Mar 2016 21:37:23 -0600 Subject: [PATCH 09/16] TST: update test for different failing path --- simplesat/tests/simple_numpy_installed_blocking.yaml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/simplesat/tests/simple_numpy_installed_blocking.yaml b/simplesat/tests/simple_numpy_installed_blocking.yaml index 1f23388..056ebce 100644 --- a/simplesat/tests/simple_numpy_installed_blocking.yaml +++ b/simplesat/tests/simple_numpy_installed_blocking.yaml @@ -25,11 +25,9 @@ failure: Conflicting requirements: Requirements: 'EPD_free' Install command rule (+EPD_free-7.3-1) - Requirements: 'EPD_free' <- 'MKL == 10.2-1' - EPD_free-7.3-1 requires (+MKL-10.2-1) - Requirements: 'numpy > 1.8-0' <- 'MKL' - Can only install one of: (+MKL-10.2-1 | +MKL-10.3-1) - Requirements: 'numpy > 1.8-0' <- 'MKL == 10.3-1' - numpy-1.8.1-2 requires (+MKL-10.3-1) + Requirements: 'EPD_free' <- 'numpy == 1.7.1-1' + EPD_free-7.3-1 requires (+numpy-1.7.1-1) + Requirements: 'numpy > 1.8-0' <- 'numpy' + Can only install one of: (+numpy-1.7.1-1 | +numpy-1.8.1-2) Requirements: 'numpy > 1.8-0' Install command rule (+numpy-1.8.1-1 | +numpy-1.8.1-2) From bbf86f307eab424946a6a8fcddce4f59bc0813a8 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Fri, 29 Jan 2016 22:11:03 -0600 Subject: [PATCH 10/16] ENH: introduce the PriorityQueuePolicy again --- simplesat/priority_queue.py | 176 ++++++++++++++ simplesat/sat/policy/__init__.py | 3 + simplesat/sat/policy/priority_queue_policy.py | 224 ++++++++++++++++++ simplesat/utils/graph.py | 4 +- 4 files changed, 405 insertions(+), 2 deletions(-) create mode 100644 simplesat/priority_queue.py create mode 100644 simplesat/sat/policy/priority_queue_policy.py diff --git a/simplesat/priority_queue.py b/simplesat/priority_queue.py new file mode 100644 index 0000000..15df6d0 --- /dev/null +++ b/simplesat/priority_queue.py @@ -0,0 +1,176 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from collections import defaultdict +from functools import partial +from heapq import heappush, heappop +from itertools import count + +import six + + +class _REMOVED_TASK(object): + pass +REMOVED_TASK = _REMOVED_TASK() + + +class PriorityQueue(object): + """ A priority queue implementation that supports reprioritizing or + removing tasks, given that tasks are unique. + + Borrowed from: https://docs.python.org/3/library/heapq.html + """ + + def __init__(self): + # list of entries arranged in a heap + self._pq = [] + # mapping of tasks to entries + self._entry_finder = {} + # unique id genrator for tie-breaking + self._next_id = partial(next, count()) + + def __len__(self): + return len(self._entry_finder) + + def __bool__(self): + return bool(len(self)) + + def __contains__(self, task): + return task in self._entry_finder + + def clear(self): + self._pq = [] + self._entry_finder = {} + + def push(self, task, priority=0): + "Add a new task or update the priority of an existing task" + return self._push(priority, self._next_id(), task) + + def peek(self): + """ Return the task with the lowest priority. + + This will pop and repush if a REMOVED task is found. + """ + if not self._pq: + raise KeyError('peek from an empty priority queue') + entry = self._pq[0] + if entry[-1] is REMOVED_TASK: + entry = self._pop() + self._push(*entry) + return entry[-1] + + def pop(self): + 'Remove and return the lowest priority task. Raise KeyError if empty.' + _, _, task = self._pop() + return task + + def pop_many(self, n=None): + """ Return a list of length n of popped elements. If n is not + specified, pop the entire queue. """ + if n is None: + n = len(self) + result = [] + for _ in range(n): + result.append(self.pop()) + return result + + def discard(self, task): + "Remove an existing task if present. If not, do nothing." + try: + self.remove(task) + except KeyError: + pass + + def remove(self, task): + "Remove an existing task. Raise KeyError if not found." + entry = self._entry_finder.pop(task) + entry[-1] = REMOVED_TASK + + def _pop(self): + while self._pq: + entry = heappop(self._pq) + if entry[-1] is not REMOVED_TASK: + del self._entry_finder[entry[-1]] + return entry + raise KeyError('pop from an empty priority queue') + + def _push(self, priority, task_id, task): + if task in self: + o_priority, _, o_task = self._entry_finder[task] + # Still check the task, which might now be REMOVED + if priority == o_priority and task == o_task: + # We're pushing something we already have, do nothing + return + else: + # Make space for the new entry + self.remove(task) + entry = [priority, task_id, task] + self._entry_finder[task] = entry + heappush(self._pq, entry) + + +class GroupPrioritizer(object): + + """ A helper for assigning hierarchical priorities to items + according to priority groups. """ + + def __init__(self, order_key_func=lambda x: x): + """ + Parameters + ---------- + `order_key_func` : callable + used to sort items in each group. + """ + self.key_func = order_key_func + self._priority_groups = defaultdict(set) + self._item_priority = {} + self.known = frozenset() + self.dirty = True + + def __contains__(self, item): + return item in self._item_priority + + def __getitem__(self, item): + "Return the priority of an item." + if self.dirty: + self._prioritize() + return self._item_priority[item] + + def get(self, item, default=None): + if item in self: + return self[item] + return default + + def items(self): + "Return an (item, priority) iterator for all items." + if self.dirty: + self._prioritize() + return six.iteritems(self._item_priority) + + def update(self, items, group): + """Add `items` to the `group`, remove `items` from all other groups, + and update all priority values.""" + self.known = self.known.union(items) + for _group, _items in self._priority_groups.items(): + if _group != group: + _items.difference_update(items) + self._priority_groups[group].update(items) + self.dirty = True + + def group(self, group): + "Return the set of items in `group`." + if group not in self._priority_groups: + raise KeyError(repr(group)) + return self._priority_groups[group] + + def _prioritize(self): + item_priority = {} + + for group, items in six.iteritems(self._priority_groups): + ordered_items = sorted(items, key=self.key_func) + for rank, item in enumerate(ordered_items): + priority = (group, rank) + item_priority[item] = priority + + self._item_priority = item_priority + self.dirty = False diff --git a/simplesat/sat/policy/__init__.py b/simplesat/sat/policy/__init__.py index 2e8da63..8ee0ea5 100644 --- a/simplesat/sat/policy/__init__.py +++ b/simplesat/sat/policy/__init__.py @@ -4,5 +4,8 @@ from .undetermined_clause_policy import ( LoggedUndeterminedClausePolicy, UndeterminedClausePolicy ) +from .priority_queue_policy import ( + LoggedPriorityQueuePolicty, PriorityQueuePolicy +) InstalledFirstPolicy = LoggedUndeterminedClausePolicy diff --git a/simplesat/sat/policy/priority_queue_policy.py b/simplesat/sat/policy/priority_queue_policy.py new file mode 100644 index 0000000..4e0ce47 --- /dev/null +++ b/simplesat/sat/policy/priority_queue_policy.py @@ -0,0 +1,224 @@ +# -*- coding: utf-8 -*- + +from collections import defaultdict + +import six + +from simplesat.constraints.requirement import Requirement +from simplesat.utils import DefaultOrderedDict, toposort, transitive_neighbors +from simplesat.priority_queue import PriorityQueue, GroupPrioritizer +from .policy import IPolicy +from .policy_logger import PolicyLogger + + +class PriorityQueuePolicy(IPolicy): + + """ An IPolicy that uses a priority queue to determine which package id + should be suggested next. + + Packages are split into groups: + + 1. currently installed, + 2. explicitly specified as a requirement, + 3. everything else, + + where each group is arranged in topological order by dependency + relationships and then descending order by version number. + The groups are then searched in order and the first unassigned package id + is suggested. + """ + + def __init__(self, pool, installed_repository, prefer_installed=True): + self._pool = pool + self._installed_ids = set(map(pool.package_id, installed_repository)) + + package_ids = pool._id_to_package.keys() + self._package_id_to_rank = None # set the first time we check + self._all_ids = set(package_ids) + self._required_ids = set() + self._name_to_package_ids = self._group_packages_by_name(package_ids) + + def priority_func(p): + return self._package_id_to_rank[p] + + self._unassigned_pkg_ids = PriorityQueue() + + self.DEFAULT = 0 + if prefer_installed: + self.INSTALLED = -2 + self.REQUIRED = -1 + else: + self.REQUIRED = -1 + self.INSTALLED = self.DEFAULT + + self._prioritizer = GroupPrioritizer(priority_func) + self._add_packages(self._installed_ids.copy(), self.INSTALLED) + + def add_requirements(self, package_ids): + self._required_ids.update(package_ids) + if self.REQUIRED < self.INSTALLED: + self._installed_ids.difference_update(package_ids) + else: + package_ids = set(package_ids).difference(self._installed_ids) + self._add_packages(package_ids, self.REQUIRED) + + def get_next_package_id(self, assignments, clauses): + self._update_cache_from_assignments(assignments) + # Grab the most interesting looking currently unassigned id + p_id = self._unassigned_pkg_ids.peek() + return p_id + + def _add_packages(self, package_ids, group): + prioritizer = self._prioritizer + prioritizer.update(package_ids, group=group) + + # Removing an item from an ordering always maintains the ordering, + # so we only need to update priorities on groups that had items added + for pkg_id in prioritizer.group(group): + if pkg_id in self._unassigned_pkg_ids: + self._unassigned_pkg_ids.push(pkg_id, prioritizer[pkg_id]) + + def pkg_key(self, package_id): + """ Return the key used to compare two packages. """ + package = self._pool._id_to_package[package_id] + try: + installed = package.repository_info.name == 'installed' + except AttributeError: + installed = False + return (package.version, installed) + + def _rank_packages(self, package_ids): + """ Return a dictionary of package_id to priority rank. + + Currently we build a dependency tree of all the relevant packages and + then rank them topologically, starting with those at the top. + + This strategy causes packages which force more assignments via + unit propagation in the solver to be preferred. + """ + pool = self._pool + R = Requirement + + # The direct dependencies of each package + dependencies = defaultdict(set) + for package_id in package_ids: + dependencies[package_id].update( + pool.package_id(package) + for cons in pool._id_to_package[package_id].install_requires + for package in pool.what_provides(R.from_constraints(cons)) + ) + + # This is a flattened version of `dependencies` above + transitive = transitive_neighbors(dependencies) + + packages_by_name = self._group_packages_by_name(package_ids) + + # Some packages have unversioned dependencies, such as simply 'pandas'. + # This can produce cycles in the dependency graph which much be removed + # before topological sorting can be done. + # The strategy is to ignore the dependencies of any package that is + # present in its own transitive dependency list + removed_deps = [] + for package_id in package_ids: + package = pool._id_to_package[package_id] + deps = dependencies[package_id] + package_group = packages_by_name[package.name] + for dep in list(deps): + circular = transitive[dep].intersection(package_group) + if circular: + packages = [pool._id_to_package[p] for p in circular] + depkg = pool._id_to_package[dep] + pkg_strings = [ + "{}-{}".format(pkg.name, pkg.version) + for pkg in packages + ] + msg = "Circular Deps: {}-{} -> {}-{} -> {}".format( + package.name, package.version, + depkg.name, depkg.version, + pkg_strings + ) + removed_deps.append(msg) + deps.remove(dep) + + # Mark packages as depending on older versions of themselves so that + # they will come out first in the toposort + for package_id in package_ids: + package = pool._id_to_package[package_id] + package_group = packages_by_name[package.name] + idx = package_group.index(package_id) + other_older = package_group[:idx + 1] + dependencies[package_id].update(other_older) + + # Finally toposort the packages, preferring higher version and + # already-installed packages to break ties + ordered = [ + package_id + for group in tuple(toposort(dependencies)) + for package_id in sorted(group, key=self.pkg_key, reverse=True) + ] + + package_id_to_rank = { + package_id: rank + for rank, package_id in enumerate(ordered) + } + + return package_id_to_rank + + def _group_packages_by_name(self, package_ids): + """ Return a dictionary from package name to all package ids + corresponding to packages with that name. """ + pool = self._pool + + name_map = DefaultOrderedDict(list) + for package_id in package_ids: + package = pool._id_to_package[package_id] + name_map[package.name].append(package_id) + + name_to_package_ids = {} + + for name, package_ids in name_map.items(): + ordered = sorted(package_ids, key=self.pkg_key, reverse=True) + name_to_package_ids[name] = ordered + + return name_to_package_ids + + def _update_cache_from_assignments(self, assignments): + new_keys = assignments.new_keys.copy() + changelog = assignments.consume_changelog() + + if new_keys: + unknown_ids = new_keys.difference(self._prioritizer.known) + self._all_ids.update(new_keys) + self._package_id_to_rank = self._rank_packages(self._all_ids) + self._prioritizer.update(unknown_ids, group=self.DEFAULT) + + # Newly unassigned + self._unassigned_pkg_ids.clear() + for key in assignments.unassigned_ids: + priority = self._prioritizer[key] + self._unassigned_pkg_ids.push(key, priority=priority) + else: + for key, (old, new) in six.iteritems(changelog): + if new is None: + # Newly unassigned + priority = self._prioritizer[key] + self._unassigned_pkg_ids.push(key, priority=priority) + elif old is None: + # No longer unassigned (because new is not None) + self._unassigned_pkg_ids.remove(key) + + # The remaining case is True -> False, False -> True or + # MISSING -> (True|False) + + # A very cheap sanity check + ours = len(self._unassigned_pkg_ids) + theirs = len(assignments) - assignments.num_assigned + has_new_keys = len(new_keys) + msg = "We failed to track variable assignments {} {} {}" + assert ours == theirs, msg.format(ours, theirs, has_new_keys) + + +def LoggedPriorityQueuePolicty(pool, installed_repository, *args, **kwargs): + policy = PriorityQueuePolicy(pool, installed_repository, *args, **kwargs) + logger = PolicyLogger(policy, extra_args=args, extra_kwargs=kwargs) + return logger diff --git a/simplesat/utils/graph.py b/simplesat/utils/graph.py index 02b37de..c9d0c6d 100644 --- a/simplesat/utils/graph.py +++ b/simplesat/utils/graph.py @@ -18,13 +18,13 @@ def toposort(nodes_to_edges): each subsequent set consists of items that depend upon items in the preceeding sets. - >>> print '\\n'.join(repr(sorted(x)) for x in toposort2({ + >>> print('\\n'.join(repr(sorted(x)) for x in toposort2({ ... 2: set([11]), ... 9: set([11,8]), ... 10: set([11,3]), ... 11: set([7,5]), ... 8: set([7,3]), - ... })) + ... }))) [3, 5, 7] [8, 11] [2, 9, 10] From 26beef575b97b0606fd6cb1cc8b5dd1919b15fda Mon Sep 17 00:00:00 2001 From: John Tyree Date: Fri, 29 Jan 2016 22:21:19 -0600 Subject: [PATCH 11/16] ENH: enable the PriorityQueuePolicy by default --- simplesat/sat/policy/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/simplesat/sat/policy/__init__.py b/simplesat/sat/policy/__init__.py index 8ee0ea5..12354a6 100644 --- a/simplesat/sat/policy/__init__.py +++ b/simplesat/sat/policy/__init__.py @@ -8,4 +8,5 @@ LoggedPriorityQueuePolicty, PriorityQueuePolicy ) -InstalledFirstPolicy = LoggedUndeterminedClausePolicy +# InstalledFirstPolicy = LoggedUndeterminedClausePolicy +InstalledFirstPolicy = LoggedPriorityQueuePolicty From 465dfc4a513bf7306e8ad81abcdc80060247ef1b Mon Sep 17 00:00:00 2001 From: John Tyree Date: Sat, 30 Jan 2016 21:15:33 -0600 Subject: [PATCH 12/16] MAINT: update CHANGES --- CHANGES.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 11a728c..3b3fcd2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,9 @@ Enhancements * Details relating to unsatisfiable scenarios are captured in an ``UNSAT`` object and attached to the ``SatisifiabilityError`` raised (#101). +* Adds a second policy based on a priority queue (#131) +* Major speed improvements in the policies and assignment tracker (#131) + Bugs Fixed ---------- @@ -18,6 +21,7 @@ Bugs Fixed * Some sort operations that were using non-unique keys have been fixed (#101). * Assumptions are now represented as an empty Clause object (#101). + Version 0.1.0 ============= From d2ff91149a1bddfe64db2a4a3b94b015f5e8e3f6 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Sat, 30 Jan 2016 22:08:45 -0600 Subject: [PATCH 13/16] MAINT: use new LoggedPolicy HOF --- simplesat/sat/policy/priority_queue_policy.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/simplesat/sat/policy/priority_queue_policy.py b/simplesat/sat/policy/priority_queue_policy.py index 4e0ce47..9080f17 100644 --- a/simplesat/sat/policy/priority_queue_policy.py +++ b/simplesat/sat/policy/priority_queue_policy.py @@ -8,7 +8,7 @@ from simplesat.utils import DefaultOrderedDict, toposort, transitive_neighbors from simplesat.priority_queue import PriorityQueue, GroupPrioritizer from .policy import IPolicy -from .policy_logger import PolicyLogger +from .policy_logger import LoggedPolicy class PriorityQueuePolicy(IPolicy): @@ -218,7 +218,4 @@ def _update_cache_from_assignments(self, assignments): assert ours == theirs, msg.format(ours, theirs, has_new_keys) -def LoggedPriorityQueuePolicty(pool, installed_repository, *args, **kwargs): - policy = PriorityQueuePolicy(pool, installed_repository, *args, **kwargs) - logger = PolicyLogger(policy, extra_args=args, extra_kwargs=kwargs) - return logger +LoggedPriorityQueuePolicty = LoggedPolicy(PriorityQueuePolicy) From b5da69d2a32c718fb6213fff3a8e1af97a41ef53 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Mon, 7 Mar 2016 00:05:27 -0600 Subject: [PATCH 14/16] TST: update tests for new failure path --- simplesat/tests/epd_full_conflict.yaml | 8 +++++--- simplesat/tests/simple_numpy_installed_blocking.yaml | 10 ++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/simplesat/tests/epd_full_conflict.yaml b/simplesat/tests/epd_full_conflict.yaml index 8431206..b782ef7 100644 --- a/simplesat/tests/epd_full_conflict.yaml +++ b/simplesat/tests/epd_full_conflict.yaml @@ -2023,9 +2023,11 @@ failure: requirements: ['EPD', 'numpy > 1.8.0-0'] raw: | Conflicting requirements: - Requirements: 'EPD' <- 'numpy == 1.6.0-5' - EPD-7.1-1 requires (+numpy-1.6.0-5) + Requirements: 'EPD' + Install command rule (+EPD-7.0-1 | +EPD-7.0-2 | +EPD-7.1-1 | +EPD-7.1-2 | +EPD-7.2-1 | +EPD-7.2-2 | +EPD-7.3-1 | +EPD-7.3-2) + Requirements: 'EPD' <- 'numpy == 1.6.1-2' + EPD-7.3-1 requires (+numpy-1.6.1-2) Requirements: 'EPD' <- 'numpy' - Can only install one of: (+numpy-1.8.1-1 | +numpy-1.6.0-5) + Can only install one of: (+numpy-1.8.1-1 | +numpy-1.6.1-2) Requirements: 'numpy > 1.8.0-0' Install command rule (+numpy-1.8.0-1 | +numpy-1.8.0-2 | +numpy-1.8.0-3 | +numpy-1.8.1-1) diff --git a/simplesat/tests/simple_numpy_installed_blocking.yaml b/simplesat/tests/simple_numpy_installed_blocking.yaml index 056ebce..1f23388 100644 --- a/simplesat/tests/simple_numpy_installed_blocking.yaml +++ b/simplesat/tests/simple_numpy_installed_blocking.yaml @@ -25,9 +25,11 @@ failure: Conflicting requirements: Requirements: 'EPD_free' Install command rule (+EPD_free-7.3-1) - Requirements: 'EPD_free' <- 'numpy == 1.7.1-1' - EPD_free-7.3-1 requires (+numpy-1.7.1-1) - Requirements: 'numpy > 1.8-0' <- 'numpy' - Can only install one of: (+numpy-1.7.1-1 | +numpy-1.8.1-2) + Requirements: 'EPD_free' <- 'MKL == 10.2-1' + EPD_free-7.3-1 requires (+MKL-10.2-1) + Requirements: 'numpy > 1.8-0' <- 'MKL' + Can only install one of: (+MKL-10.2-1 | +MKL-10.3-1) + Requirements: 'numpy > 1.8-0' <- 'MKL == 10.3-1' + numpy-1.8.1-2 requires (+MKL-10.3-1) Requirements: 'numpy > 1.8-0' Install command rule (+numpy-1.8.1-1 | +numpy-1.8.1-2) From b35907e6fb74c61242908da37b1d373e48094503 Mon Sep 17 00:00:00 2001 From: John Tyree Date: Mon, 14 Mar 2016 06:52:16 -0500 Subject: [PATCH 15/16] MAINT: add docstring to _build_id_to_clauses --- simplesat/sat/policy/undetermined_clause_policy.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/simplesat/sat/policy/undetermined_clause_policy.py b/simplesat/sat/policy/undetermined_clause_policy.py index 7877117..d6a5ed6 100644 --- a/simplesat/sat/policy/undetermined_clause_policy.py +++ b/simplesat/sat/policy/undetermined_clause_policy.py @@ -51,6 +51,9 @@ def _update_cache_from_assignments(self, assignments): self._unsatisfied_clauses.discard(clause) def _build_id_to_clauses(self, clauses): + """ Return a mapping from package ids to a list of clauses containing + that id. + """ table = defaultdict(list) for c in clauses: for l in c.lits: From 34ca316fade3ef48a477fd3f13ab0ed526f6f94e Mon Sep 17 00:00:00 2001 From: John Tyree Date: Mon, 14 Mar 2016 06:58:35 -0500 Subject: [PATCH 16/16] MAINT: swap conditional branches for readability --- simplesat/sat/policy/undetermined_clause_policy.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/simplesat/sat/policy/undetermined_clause_policy.py b/simplesat/sat/policy/undetermined_clause_policy.py index d6a5ed6..4f6b1b3 100644 --- a/simplesat/sat/policy/undetermined_clause_policy.py +++ b/simplesat/sat/policy/undetermined_clause_policy.py @@ -45,10 +45,10 @@ def _update_cache_from_assignments(self, assignments): changelog = assignments.consume_changelog() for key in six.iterkeys(changelog): for clause in self._id_to_clauses[key]: - if not any(assignments.value(l) for l in clause.lits): - self._unsatisfied_clauses.add(clause) - else: + if any(assignments.value(l) for l in clause.lits): self._unsatisfied_clauses.discard(clause) + else: + self._unsatisfied_clauses.add(clause) def _build_id_to_clauses(self, clauses): """ Return a mapping from package ids to a list of clauses containing