mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-10 11:32:57 +00:00
Fixed _packages_from_json
This commit is contained in:
2
Makefile
2
Makefile
@@ -94,3 +94,5 @@ tx-en: ## rebuild en locale strings and push to master (req: GH_TOKEN)
|
||||
test/%: ## run tests against a stack (only common tests or common tests + specific tests)
|
||||
@if [ ! -d "$(notdir $@)/test" ]; then TEST_IMAGE="$(OWNER)/$(notdir $@)" pytest -m "not info" test; \
|
||||
else TEST_IMAGE="$(OWNER)/$(notdir $@)" pytest -m "not info" test $(notdir $@)/test; fi
|
||||
|
||||
test-all: $(foreach I,$(ALL_IMAGES),test/$(I)) ## test all stacks
|
@@ -88,10 +88,21 @@ class CondaPackageHelper:
|
||||
def _packages_from_json(env_export):
|
||||
"""Extract packages and versions from the lines returned by the list of specifications"""
|
||||
dependencies = json.loads(env_export).get("dependencies")
|
||||
# FIXME: # shall be able to parse conda-forge::blas[build=openblas] without considering openblas as the version
|
||||
packages_list = map(lambda x: x.split("=", 1), dependencies)
|
||||
# TODO: could be improved
|
||||
return {package[0]: set(package[1:]) for package in packages_list}
|
||||
packages_dict = dict()
|
||||
for split in map(lambda x: x.split("=", 1), dependencies):
|
||||
# default values
|
||||
package = split[0]
|
||||
version = set()
|
||||
# cheking if it's a proper version by testing if the first char is a digit
|
||||
if len(split) > 1:
|
||||
if split[1][0].isdigit():
|
||||
# package + version case
|
||||
version = set(split[1:])
|
||||
else:
|
||||
# The split was incorrect and the package shall not be splitted
|
||||
package = f"{split[0]}={split[1]}"
|
||||
packages_dict[package] = version
|
||||
return packages_dict
|
||||
|
||||
def available_packages(self):
|
||||
"""Return the available packages"""
|
||||
|
@@ -63,8 +63,7 @@ EXCLUDED_PACKAGES = [
|
||||
"tini",
|
||||
"python",
|
||||
"hdf5",
|
||||
# FIXME: shall be parsed as conda-forge::blas[build=openblas]
|
||||
"conda-forge::blas[build",
|
||||
"conda-forge::blas[build=openblas]",
|
||||
"protobuf",
|
||||
"r-irkernel",
|
||||
"unixodbc",
|
||||
|
Reference in New Issue
Block a user