kopia lustrzana https://github.com/jupyterhub/repo2docker
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.cipull/1202/head
rodzic
1926795c8c
commit
27c2b403db
|
@ -4,7 +4,6 @@
|
||||||
#
|
#
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
|
||||||
# -- Project information -----------------------------------------------------
|
# -- Project information -----------------------------------------------------
|
||||||
# ref: https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
# ref: https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from . import __version__
|
||||||
from .app import Repo2Docker
|
from .app import Repo2Docker
|
||||||
from .engine import BuildError, ImageLoadError
|
from .engine import BuildError, ImageLoadError
|
||||||
from . import __version__
|
|
||||||
from .utils import (
|
from .utils import (
|
||||||
validate_and_generate_port_mapping,
|
|
||||||
is_valid_docker_image_name,
|
|
||||||
R2dState,
|
R2dState,
|
||||||
|
is_valid_docker_image_name,
|
||||||
|
validate_and_generate_port_mapping,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,24 +7,23 @@ Usage:
|
||||||
|
|
||||||
python -m repo2docker https://github.com/you/your-repo
|
python -m repo2docker https://github.com/you/your-repo
|
||||||
"""
|
"""
|
||||||
|
import getpass
|
||||||
import json
|
import json
|
||||||
import sys
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import entrypoints
|
|
||||||
import getpass
|
|
||||||
import shutil
|
import shutil
|
||||||
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
from urllib.parse import urlparse
|
from urllib.parse import urlparse
|
||||||
|
|
||||||
|
import entrypoints
|
||||||
import escapism
|
import escapism
|
||||||
from pythonjsonlogger import jsonlogger
|
from pythonjsonlogger import jsonlogger
|
||||||
|
from traitlets import Any, Bool, Dict, Int, List, Unicode, default
|
||||||
from traitlets import Any, Dict, Int, List, Unicode, Bool, default
|
|
||||||
from traitlets.config import Application
|
from traitlets.config import Application
|
||||||
|
|
||||||
from . import __version__
|
from . import __version__, contentproviders
|
||||||
from .buildpacks import (
|
from .buildpacks import (
|
||||||
CondaBuildPack,
|
CondaBuildPack,
|
||||||
DockerBuildPack,
|
DockerBuildPack,
|
||||||
|
@ -36,9 +35,8 @@ from .buildpacks import (
|
||||||
PythonBuildPack,
|
PythonBuildPack,
|
||||||
RBuildPack,
|
RBuildPack,
|
||||||
)
|
)
|
||||||
from . import contentproviders
|
|
||||||
from .engine import BuildError, ContainerEngineException, ImageLoadError
|
from .engine import BuildError, ContainerEngineException, ImageLoadError
|
||||||
from .utils import ByteSpecification, chdir, R2dState
|
from .utils import ByteSpecification, R2dState, chdir
|
||||||
|
|
||||||
|
|
||||||
class Repo2Docker(Application):
|
class Repo2Docker(Application):
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
from .base import BuildPack, BaseImage
|
from .base import BaseImage, BuildPack
|
||||||
from .python import PythonBuildPack
|
|
||||||
from .pipfile import PipfileBuildPack
|
|
||||||
from .conda import CondaBuildPack
|
from .conda import CondaBuildPack
|
||||||
from .julia import JuliaProjectTomlBuildPack
|
|
||||||
from .julia import JuliaRequireBuildPack
|
|
||||||
from .docker import DockerBuildPack
|
from .docker import DockerBuildPack
|
||||||
|
from .julia import JuliaProjectTomlBuildPack, JuliaRequireBuildPack
|
||||||
from .legacy import LegacyBinderDockerBuildPack
|
from .legacy import LegacyBinderDockerBuildPack
|
||||||
from .r import RBuildPack
|
|
||||||
from .nix import NixBuildPack
|
from .nix import NixBuildPack
|
||||||
|
from .pipfile import PipfileBuildPack
|
||||||
|
from .python import PythonBuildPack
|
||||||
|
from .r import RBuildPack
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
import textwrap
|
import hashlib
|
||||||
import jinja2
|
|
||||||
import tarfile
|
|
||||||
import io
|
import io
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import logging
|
|
||||||
import string
|
import string
|
||||||
import sys
|
import sys
|
||||||
import hashlib
|
import tarfile
|
||||||
|
import textwrap
|
||||||
|
|
||||||
import escapism
|
import escapism
|
||||||
|
import jinja2
|
||||||
|
|
||||||
# Only use syntax features supported by Docker 17.09
|
# Only use syntax features supported by Docker 17.09
|
||||||
TEMPLATE = r"""
|
TEMPLATE = r"""
|
||||||
|
|
|
@ -5,9 +5,9 @@ from collections.abc import Mapping
|
||||||
|
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
|
||||||
from ..base import BaseImage
|
|
||||||
from .._r_base import rstudio_base_scripts
|
|
||||||
from ...utils import is_local_pip_requirement
|
from ...utils import is_local_pip_requirement
|
||||||
|
from .._r_base import rstudio_base_scripts
|
||||||
|
from ..base import BaseImage
|
||||||
|
|
||||||
# pattern for parsing conda dependency line
|
# pattern for parsing conda dependency line
|
||||||
PYTHON_REGEX = re.compile(r"python\s*=+\s*([\d\.]*)")
|
PYTHON_REGEX = re.compile(r"python\s*=+\s*([\d\.]*)")
|
||||||
|
|
|
@ -9,17 +9,16 @@ Usage:
|
||||||
python freeze.py [3.8]
|
python freeze.py [3.8]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from argparse import ArgumentParser
|
|
||||||
from datetime import datetime
|
|
||||||
import os
|
import os
|
||||||
import pathlib
|
import pathlib
|
||||||
import shutil
|
import shutil
|
||||||
from subprocess import check_call
|
|
||||||
import sys
|
import sys
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
from datetime import datetime
|
||||||
|
from subprocess import check_call
|
||||||
|
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
|
||||||
|
|
||||||
HERE = pathlib.Path(os.path.dirname(os.path.abspath(__file__)))
|
HERE = pathlib.Path(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
|
||||||
ENV_FILE = HERE / "environment.yml"
|
ENV_FILE = HERE / "environment.yml"
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
"""Generates a variety of Dockerfiles based on an input matrix
|
"""Generates a variety of Dockerfiles based on an input matrix
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import docker
|
import docker
|
||||||
|
|
||||||
from .base import BuildPack
|
from .base import BuildPack
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@ import requests
|
||||||
import semver
|
import semver
|
||||||
import toml
|
import toml
|
||||||
|
|
||||||
from ..python import PythonBuildPack
|
|
||||||
from ...semver import find_semver_match
|
from ...semver import find_semver_match
|
||||||
|
from ..python import PythonBuildPack
|
||||||
|
|
||||||
|
|
||||||
class JuliaProjectTomlBuildPack(PythonBuildPack):
|
class JuliaProjectTomlBuildPack(PythonBuildPack):
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from ..python import PythonBuildPack
|
|
||||||
from ...semver import parse_version as V
|
from ...semver import parse_version as V
|
||||||
|
from ..python import PythonBuildPack
|
||||||
|
|
||||||
|
|
||||||
class JuliaRequireBuildPack(PythonBuildPack):
|
class JuliaRequireBuildPack(PythonBuildPack):
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
"""BuildPack for nixpkgs environments"""
|
"""BuildPack for nixpkgs environments"""
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from ..base import BuildPack, BaseImage
|
from ..base import BaseImage, BuildPack
|
||||||
|
|
||||||
|
|
||||||
class NixBuildPack(BaseImage):
|
class NixBuildPack(BaseImage):
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
"""Generates Dockerfiles based on an input matrix based on Python."""
|
"""Generates Dockerfiles based on an input matrix based on Python."""
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from ..conda import CondaBuildPack
|
|
||||||
from ...utils import is_local_pip_requirement, open_guess_encoding
|
from ...utils import is_local_pip_requirement, open_guess_encoding
|
||||||
|
from ..conda import CondaBuildPack
|
||||||
|
|
||||||
|
|
||||||
class PythonBuildPack(CondaBuildPack):
|
class PythonBuildPack(CondaBuildPack):
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
import re
|
|
||||||
import os
|
|
||||||
import datetime
|
import datetime
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
|
||||||
from ..semver import parse_version as V
|
from ..semver import parse_version as V
|
||||||
from .python import PythonBuildPack
|
|
||||||
from ._r_base import rstudio_base_scripts
|
from ._r_base import rstudio_base_scripts
|
||||||
|
from .python import PythonBuildPack
|
||||||
|
|
||||||
|
|
||||||
class RBuildPack(PythonBuildPack):
|
class RBuildPack(PythonBuildPack):
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
from .git import Git
|
|
||||||
from .base import Local
|
from .base import Local
|
||||||
from .zenodo import Zenodo
|
|
||||||
from .figshare import Figshare
|
|
||||||
from .dataverse import Dataverse
|
from .dataverse import Dataverse
|
||||||
|
from .figshare import Figshare
|
||||||
|
from .git import Git
|
||||||
from .hydroshare import Hydroshare
|
from .hydroshare import Hydroshare
|
||||||
from .mercurial import Mercurial
|
from .mercurial import Mercurial
|
||||||
from .swhid import Swhid
|
from .swhid import Swhid
|
||||||
|
from .zenodo import Zenodo
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import os
|
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
from urllib.parse import parse_qs, urlparse, urlunparse
|
||||||
|
|
||||||
from urllib.parse import urlparse, urlunparse, parse_qs
|
|
||||||
|
|
||||||
from .doi import DoiProvider
|
|
||||||
from ..utils import copytree, deep_get
|
from ..utils import copytree, deep_get
|
||||||
|
from .doi import DoiProvider
|
||||||
|
|
||||||
|
|
||||||
class Dataverse(DoiProvider):
|
class Dataverse(DoiProvider):
|
||||||
|
|
|
@ -1,18 +1,15 @@
|
||||||
import os
|
|
||||||
import json
|
import json
|
||||||
import shutil
|
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
from os import makedirs
|
import shutil
|
||||||
from os import path
|
from os import makedirs, path
|
||||||
from requests import Session, HTTPError
|
|
||||||
|
|
||||||
from zipfile import ZipFile, is_zipfile
|
from zipfile import ZipFile, is_zipfile
|
||||||
|
|
||||||
from .base import ContentProvider
|
from requests import HTTPError, Session
|
||||||
from ..utils import copytree, deep_get
|
|
||||||
from ..utils import normalize_doi, is_doi
|
|
||||||
from .. import __version__
|
from .. import __version__
|
||||||
|
from ..utils import copytree, deep_get, is_doi, normalize_doi
|
||||||
|
from .base import ContentProvider
|
||||||
|
|
||||||
|
|
||||||
class DoiProvider(ContentProvider):
|
class DoiProvider(ContentProvider):
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
|
import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import json
|
|
||||||
import shutil
|
import shutil
|
||||||
|
from os import makedirs, path
|
||||||
from os import makedirs
|
|
||||||
from os import path
|
|
||||||
from urllib.request import Request
|
|
||||||
from urllib.error import HTTPError
|
from urllib.error import HTTPError
|
||||||
|
from urllib.request import Request
|
||||||
from zipfile import is_zipfile
|
from zipfile import is_zipfile
|
||||||
|
|
||||||
from .doi import DoiProvider
|
|
||||||
from ..utils import copytree, deep_get
|
from ..utils import copytree, deep_get
|
||||||
|
from .doi import DoiProvider
|
||||||
|
|
||||||
|
|
||||||
class Figshare(DoiProvider):
|
class Figshare(DoiProvider):
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
from ..utils import R2dState, check_ref, execute_cmd
|
||||||
from .base import ContentProvider, ContentProviderException
|
from .base import ContentProvider, ContentProviderException
|
||||||
from ..utils import execute_cmd, check_ref, R2dState
|
|
||||||
|
|
||||||
|
|
||||||
class Git(ContentProvider):
|
class Git(ContentProvider):
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
import zipfile
|
import json
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import time
|
import time
|
||||||
import json
|
import zipfile
|
||||||
from datetime import datetime, timezone, timedelta
|
from datetime import datetime, timedelta, timezone
|
||||||
|
|
||||||
from urllib.request import urlretrieve
|
from urllib.request import urlretrieve
|
||||||
|
|
||||||
from .doi import DoiProvider
|
|
||||||
from .base import ContentProviderException
|
from .base import ContentProviderException
|
||||||
|
from .doi import DoiProvider
|
||||||
|
|
||||||
|
|
||||||
class Hydroshare(DoiProvider):
|
class Hydroshare(DoiProvider):
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
from ..utils import R2dState, execute_cmd
|
||||||
from .base import ContentProvider, ContentProviderException
|
from .base import ContentProvider, ContentProviderException
|
||||||
from ..utils import execute_cmd, R2dState
|
|
||||||
|
|
||||||
args_enabling_topic = ["--config", "extensions.topic="]
|
args_enabling_topic = ["--config", "extensions.topic="]
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,16 @@
|
||||||
import io
|
import io
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
import tarfile
|
import tarfile
|
||||||
import time
|
import time
|
||||||
import re
|
|
||||||
|
|
||||||
from os import path
|
from os import path
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from .base import ContentProvider
|
|
||||||
from ..utils import copytree
|
|
||||||
from .. import __version__
|
from .. import __version__
|
||||||
|
from ..utils import copytree
|
||||||
|
from .base import ContentProvider
|
||||||
|
|
||||||
|
|
||||||
def parse_swhid(swhid):
|
def parse_swhid(swhid):
|
||||||
|
|
|
@ -1,14 +1,12 @@
|
||||||
import os
|
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
from os import makedirs, path
|
||||||
from os import makedirs
|
|
||||||
from os import path
|
|
||||||
from urllib.request import Request
|
|
||||||
from urllib.error import HTTPError
|
from urllib.error import HTTPError
|
||||||
|
from urllib.request import Request
|
||||||
|
|
||||||
from .doi import DoiProvider
|
|
||||||
from ..utils import copytree, deep_get
|
from ..utils import copytree, deep_get
|
||||||
|
from .doi import DoiProvider
|
||||||
|
|
||||||
|
|
||||||
class Zenodo(DoiProvider):
|
class Zenodo(DoiProvider):
|
||||||
|
|
|
@ -2,9 +2,10 @@
|
||||||
Docker container engine for repo2docker
|
Docker container engine for repo2docker
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import docker
|
|
||||||
from traitlets import Dict
|
|
||||||
from iso8601 import parse_date
|
from iso8601 import parse_date
|
||||||
|
from traitlets import Dict
|
||||||
|
|
||||||
|
import docker
|
||||||
|
|
||||||
from .engine import Container, ContainerEngine, ContainerEngineException, Image
|
from .engine import Container, ContainerEngine, ContainerEngineException, Image
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@ Interface for a repo2docker container engine
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from abc import ABC, abstractmethod
|
from abc import ABC, abstractmethod
|
||||||
from traitlets.config import LoggingConfigurable
|
|
||||||
|
|
||||||
|
from traitlets.config import LoggingConfigurable
|
||||||
|
|
||||||
# Based on https://docker-py.readthedocs.io/en/4.2.0/containers.html
|
# Based on https://docker-py.readthedocs.io/en/4.2.0/containers.html
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
from contextlib import contextmanager
|
|
||||||
from enum import Enum
|
|
||||||
from functools import partial
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
from contextlib import contextmanager
|
||||||
|
from enum import Enum
|
||||||
|
from functools import partial
|
||||||
|
from shutil import copy2, copystat
|
||||||
|
|
||||||
import chardet
|
import chardet
|
||||||
|
|
||||||
from shutil import copystat, copy2
|
|
||||||
|
|
||||||
from traitlets import Integer, TraitError
|
from traitlets import Integer, TraitError
|
||||||
|
|
||||||
|
|
||||||
|
|
8
setup.py
8
setup.py
|
@ -1,6 +1,8 @@
|
||||||
from distutils.cmd import Command
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
import sys
|
import sys
|
||||||
|
from distutils.cmd import Command
|
||||||
|
|
||||||
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
import versioneer
|
import versioneer
|
||||||
|
|
||||||
if sys.version_info[0] < 3:
|
if sys.version_info[0] < 3:
|
||||||
|
@ -23,8 +25,8 @@ class GenerateDataverseInstallationsFileCommand(Command):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
from urllib.request import urlopen
|
|
||||||
import json
|
import json
|
||||||
|
from urllib.request import urlopen
|
||||||
|
|
||||||
resp = urlopen(self.url, timeout=5)
|
resp = urlopen(self.url, timeout=5)
|
||||||
resp_body = resp.read()
|
resp_body = resp.read()
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
from glob import glob
|
from glob import glob
|
||||||
|
|
||||||
# conda should still be in /srv/conda
|
# conda should still be in /srv/conda
|
||||||
|
|
|
@ -19,14 +19,13 @@ Test lifecycle:
|
||||||
import os
|
import os
|
||||||
import pipes
|
import pipes
|
||||||
import shlex
|
import shlex
|
||||||
import requests
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import time
|
import time
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
|
|
||||||
import escapism
|
import escapism
|
||||||
import pytest
|
import pytest
|
||||||
|
import requests
|
||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from repo2docker.__main__ import make_r2d
|
from repo2docker.__main__ import make_r2d
|
||||||
|
|
|
@ -10,8 +10,8 @@ NOTE: This file has to be duplicated & present in all the following locations:
|
||||||
- tests/memlimit/dockerfile/postBuild
|
- tests/memlimit/dockerfile/postBuild
|
||||||
See https://github.com/jupyterhub/repo2docker/issues/160 for reason
|
See https://github.com/jupyterhub/repo2docker/issues/160 for reason
|
||||||
"""
|
"""
|
||||||
from ctypes import cdll, c_void_p, memset
|
|
||||||
import os
|
import os
|
||||||
|
from ctypes import c_void_p, cdll, memset
|
||||||
|
|
||||||
libc = cdll.LoadLibrary("libc.so.6")
|
libc = cdll.LoadLibrary("libc.so.6")
|
||||||
libc.malloc.restype = c_void_p
|
libc.malloc.restype = c_void_p
|
||||||
|
|
|
@ -10,8 +10,8 @@ NOTE: This file has to be duplicated & present in all the following locations:
|
||||||
- tests/memlimit/dockerfile/postBuild
|
- tests/memlimit/dockerfile/postBuild
|
||||||
See https://github.com/jupyterhub/repo2docker/issues/160 for reason
|
See https://github.com/jupyterhub/repo2docker/issues/160 for reason
|
||||||
"""
|
"""
|
||||||
from ctypes import cdll, c_void_p, memset
|
|
||||||
import os
|
import os
|
||||||
|
from ctypes import c_void_p, cdll, memset
|
||||||
|
|
||||||
libc = cdll.LoadLibrary("libc.so.6")
|
libc = cdll.LoadLibrary("libc.so.6")
|
||||||
libc.malloc.restype = c_void_p
|
libc.malloc.restype = c_void_p
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
# Verify - kernel's Python: use Python 2
|
# Verify - kernel's Python: use Python 2
|
||||||
print(sys.version_info)
|
print(sys.version_info)
|
||||||
assert sys.version_info[:2] == (2, 7)
|
assert sys.version_info[:2] == (2, 7)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from setuptools import setup, find_packages
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="Dummy",
|
name="Dummy",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import there
|
|
||||||
import dummy
|
import dummy
|
||||||
|
|
||||||
# This package should be available, as it was a dependency for dummy
|
# This package should be available, as it was a dependency for dummy
|
||||||
import pypi_pkg_test
|
import pypi_pkg_test
|
||||||
|
import there
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from setuptools import setup, find_packages
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="Dummy",
|
name="Dummy",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import there
|
|
||||||
import dummy
|
import dummy
|
||||||
|
|
||||||
# This package should be available, as it was a dependency for dummy
|
# This package should be available, as it was a dependency for dummy
|
||||||
import pypi_pkg_test
|
import pypi_pkg_test
|
||||||
|
import there
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from setuptools import setup, find_packages
|
from setuptools import find_packages, setup
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="Dummy",
|
name="Dummy",
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import pytest
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
from urllib.request import urlopen, Request
|
from urllib.request import Request, urlopen
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from repo2docker.contentproviders import Dataverse
|
from repo2docker.contentproviders import Dataverse
|
||||||
|
|
||||||
|
|
||||||
test_dv = Dataverse()
|
test_dv = Dataverse()
|
||||||
harvard_dv = next(_ for _ in test_dv.hosts if _["name"] == "Harvard Dataverse")
|
harvard_dv = next(_ for _ in test_dv.hosts if _["name"] == "Harvard Dataverse")
|
||||||
cimmyt_dv = next(_ for _ in test_dv.hosts if _["name"] == "CIMMYT Research Data")
|
cimmyt_dv = next(_ for _ in test_dv.hosts if _["name"] == "CIMMYT Research Data")
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import urllib
|
|
||||||
import pytest
|
|
||||||
import tempfile
|
import tempfile
|
||||||
import logging
|
import urllib
|
||||||
|
from unittest.mock import MagicMock, mock_open, patch
|
||||||
from unittest.mock import patch, MagicMock, mock_open
|
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
|
|
||||||
from repo2docker.contentproviders.doi import DoiProvider
|
import pytest
|
||||||
from repo2docker.contentproviders.base import ContentProviderException
|
|
||||||
from repo2docker import __version__
|
from repo2docker import __version__
|
||||||
|
from repo2docker.contentproviders.base import ContentProviderException
|
||||||
|
from repo2docker.contentproviders.doi import DoiProvider
|
||||||
|
|
||||||
|
|
||||||
def test_content_id():
|
def test_content_id():
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import pytest
|
|
||||||
|
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from tempfile import TemporaryDirectory, NamedTemporaryFile
|
from tempfile import NamedTemporaryFile, TemporaryDirectory
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
from urllib.request import urlopen, Request
|
from urllib.request import Request, urlopen
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
|
|
||||||
from repo2docker.contentproviders import Figshare
|
import pytest
|
||||||
from repo2docker.__main__ import make_r2d
|
|
||||||
|
|
||||||
|
from repo2docker.__main__ import make_r2d
|
||||||
|
from repo2docker.contentproviders import Figshare
|
||||||
|
|
||||||
test_content_ids = [
|
test_content_ids = [
|
||||||
("https://figshare.com/articles/title/9782777", "9782777.v1"),
|
("https://figshare.com/articles/title/9782777", "9782777.v1"),
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
import os
|
import os
|
||||||
import pytest
|
|
||||||
import subprocess
|
import subprocess
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from repo2docker.contentproviders import Git
|
from repo2docker.contentproviders import Git
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
import os
|
import os
|
||||||
import pytest
|
import re
|
||||||
|
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from tempfile import TemporaryDirectory, NamedTemporaryFile
|
from tempfile import NamedTemporaryFile, TemporaryDirectory
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
import re
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from repo2docker.contentproviders import Hydroshare
|
from repo2docker.contentproviders import Hydroshare
|
||||||
from repo2docker.contentproviders.base import ContentProviderException
|
from repo2docker.contentproviders.base import ContentProviderException
|
||||||
|
|
||||||
|
|
||||||
doi_responses = {
|
doi_responses = {
|
||||||
"https://doi.org/10.4211/hs.b8f6eae9d89241cf8b5904033460af61": (
|
"https://doi.org/10.4211/hs.b8f6eae9d89241cf8b5904033460af61": (
|
||||||
"https://www.hydroshare.org/resource/b8f6eae9d89241cf8b5904033460af61"
|
"https://www.hydroshare.org/resource/b8f6eae9d89241cf8b5904033460af61"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import os
|
import os
|
||||||
from tempfile import TemporaryDirectory, NamedTemporaryFile
|
from tempfile import NamedTemporaryFile, TemporaryDirectory
|
||||||
|
|
||||||
from repo2docker.contentproviders import Local
|
from repo2docker.contentproviders import Local
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@ import pytest
|
||||||
from repo2docker.contentproviders import Mercurial
|
from repo2docker.contentproviders import Mercurial
|
||||||
from repo2docker.contentproviders.mercurial import args_enabling_topic
|
from repo2docker.contentproviders.mercurial import args_enabling_topic
|
||||||
|
|
||||||
|
|
||||||
SKIP_HG = os.environ.get("REPO2DOCKER_SKIP_HG_TESTS", "").lower() not in {
|
SKIP_HG = os.environ.get("REPO2DOCKER_SKIP_HG_TESTS", "").lower() not in {
|
||||||
"",
|
"",
|
||||||
"0",
|
"0",
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import io
|
import io
|
||||||
import tarfile
|
import json
|
||||||
import shutil
|
|
||||||
import re
|
|
||||||
import urllib
|
|
||||||
import pytest
|
|
||||||
import tempfile
|
|
||||||
import logging
|
import logging
|
||||||
import requests_mock
|
import os
|
||||||
|
import re
|
||||||
|
import shutil
|
||||||
|
import tarfile
|
||||||
|
import tempfile
|
||||||
|
import urllib
|
||||||
from os import makedirs
|
from os import makedirs
|
||||||
from os.path import join
|
from os.path import join
|
||||||
from unittest.mock import patch, MagicMock, mock_open
|
from unittest.mock import MagicMock, mock_open, patch
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
|
|
||||||
from repo2docker.contentproviders.swhid import Swhid, parse_swhid
|
import pytest
|
||||||
|
import requests_mock
|
||||||
|
|
||||||
from repo2docker.contentproviders.base import ContentProviderException
|
from repo2docker.contentproviders.base import ContentProviderException
|
||||||
|
from repo2docker.contentproviders.swhid import Swhid, parse_swhid
|
||||||
|
|
||||||
|
|
||||||
# this is a slightly stripped down copy of swh.model.cli.swhid_of_dir().
|
# this is a slightly stripped down copy of swh.model.cli.swhid_of_dir().
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import pytest
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from tempfile import TemporaryDirectory, NamedTemporaryFile
|
from tempfile import NamedTemporaryFile, TemporaryDirectory
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
from urllib.request import urlopen, Request
|
from urllib.request import Request, urlopen
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from repo2docker.contentproviders import Zenodo
|
from repo2docker.contentproviders import Zenodo
|
||||||
|
|
||||||
doi_responses = {
|
doi_responses = {
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
import errno
|
import errno
|
||||||
import pytest
|
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
import docker
|
|
||||||
import escapism
|
import escapism
|
||||||
|
import pytest
|
||||||
|
|
||||||
from repo2docker.app import Repo2Docker
|
import docker
|
||||||
from repo2docker.__main__ import make_r2d
|
from repo2docker.__main__ import make_r2d
|
||||||
|
from repo2docker.app import Repo2Docker
|
||||||
from repo2docker.utils import chdir
|
from repo2docker.utils import chdir
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,11 @@
|
||||||
Test argument parsing and r2d construction
|
Test argument parsing and r2d construction
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from repo2docker.__main__ import make_r2d
|
|
||||||
from repo2docker import __version__
|
from repo2docker import __version__
|
||||||
|
from repo2docker.__main__ import make_r2d
|
||||||
|
|
||||||
|
|
||||||
def test_version(capsys):
|
def test_version(capsys):
|
||||||
|
|
|
@ -7,7 +7,6 @@ import subprocess
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
here = os.path.dirname(os.path.abspath(__file__))
|
here = os.path.dirname(os.path.abspath(__file__))
|
||||||
test_dir = os.path.dirname(here)
|
test_dir = os.path.dirname(here)
|
||||||
docker_simple = os.path.join(test_dir, "dockerfile", "simple")
|
docker_simple = os.path.join(test_dir, "dockerfile", "simple")
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
from os.path import join as pjoin
|
from os.path import join as pjoin
|
||||||
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from tempfile import TemporaryDirectory
|
|
||||||
from repo2docker.buildpacks import LegacyBinderDockerBuildPack, PythonBuildPack
|
from repo2docker.buildpacks import LegacyBinderDockerBuildPack, PythonBuildPack
|
||||||
from repo2docker.utils import chdir
|
from repo2docker.utils import chdir
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ Test that --cache-from is passed in to docker API properly.
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
import docker
|
import docker
|
||||||
|
|
||||||
from repo2docker.buildpacks import (
|
from repo2docker.buildpacks import (
|
||||||
BaseImage,
|
BaseImage,
|
||||||
DockerBuildPack,
|
DockerBuildPack,
|
||||||
|
|
|
@ -8,12 +8,10 @@ and that is the only thing that is tested.
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
|
|
||||||
from repo2docker.app import Repo2Docker
|
from repo2docker.app import Repo2Docker
|
||||||
|
|
||||||
|
|
||||||
URL = "https://github.com/binderhub-ci-repos/repo2docker-ci-clone-depth"
|
URL = "https://github.com/binderhub-ci-repos/repo2docker-ci-clone-depth"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
"""
|
"""
|
||||||
Test if the explict hostname is supplied correctly to the container
|
Test if the explict hostname is supplied correctly to the container
|
||||||
"""
|
"""
|
||||||
import requests
|
|
||||||
import time
|
import time
|
||||||
from repo2docker.app import Repo2Docker
|
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
|
from repo2docker.app import Repo2Docker
|
||||||
|
|
||||||
# Minimal Dockerfile to make build as fast as possible
|
# Minimal Dockerfile to make build as fast as possible
|
||||||
DOCKER_FILE = """
|
DOCKER_FILE = """
|
||||||
|
|
|
@ -5,7 +5,6 @@ import time
|
||||||
|
|
||||||
from repo2docker.__main__ import make_r2d
|
from repo2docker.__main__ import make_r2d
|
||||||
|
|
||||||
|
|
||||||
DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "dockerfile", "editable")
|
DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "dockerfile", "editable")
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,9 @@ Test if the environment.yml is empty or it constains other data structure than a
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from repo2docker import buildpacks
|
from repo2docker import buildpacks
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
"""Test if assemble scripts from outside of r2d repo are accepted."""
|
"""Test if assemble scripts from outside of r2d repo are accepted."""
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from repo2docker.app import Repo2Docker
|
from repo2docker.app import Repo2Docker
|
||||||
from repo2docker.buildpacks import PythonBuildPack
|
from repo2docker.buildpacks import PythonBuildPack
|
||||||
|
|
||||||
|
|
|
@ -2,12 +2,11 @@ import os
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
from ruamel.yaml import YAML
|
from ruamel.yaml import YAML
|
||||||
|
|
||||||
from repo2docker.buildpacks.conda.freeze import set_python
|
from repo2docker.buildpacks.conda.freeze import set_python
|
||||||
|
|
||||||
import pytest
|
|
||||||
|
|
||||||
V = "3.7"
|
V = "3.7"
|
||||||
yaml = YAML(typ="rt")
|
yaml = YAML(typ="rt")
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
"""
|
"""
|
||||||
Test if labels are supplied correctly to the container
|
Test if labels are supplied correctly to the container
|
||||||
"""
|
"""
|
||||||
from repo2docker.app import Repo2Docker
|
|
||||||
from repo2docker.buildpacks import BuildPack
|
|
||||||
from repo2docker import __version__
|
|
||||||
import pytest
|
|
||||||
from unittest.mock import Mock
|
from unittest.mock import Mock
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from repo2docker import __version__
|
||||||
|
from repo2docker.app import Repo2Docker
|
||||||
|
from repo2docker.buildpacks import BuildPack
|
||||||
|
|
||||||
URL = "https://github.com/binderhub-ci-repos/repo2docker-ci-clone-depth"
|
URL = "https://github.com/binderhub-ci-repos/repo2docker-ci-clone-depth"
|
||||||
|
|
||||||
|
|
|
@ -3,16 +3,13 @@ Test that build time memory limits are enforced
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
import docker
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
import docker
|
||||||
from repo2docker.buildpacks import BaseImage, DockerBuildPack
|
from repo2docker.buildpacks import BaseImage, DockerBuildPack
|
||||||
|
|
||||||
|
|
||||||
basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,18 +2,18 @@
|
||||||
Test Port mappings work on running non-jupyter workflows
|
Test Port mappings work on running non-jupyter workflows
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import requests
|
|
||||||
import time
|
|
||||||
import os
|
import os
|
||||||
import tempfile
|
|
||||||
import random
|
import random
|
||||||
|
import tempfile
|
||||||
|
import time
|
||||||
from getpass import getuser
|
from getpass import getuser
|
||||||
|
|
||||||
import docker
|
|
||||||
import pytest
|
import pytest
|
||||||
|
import requests
|
||||||
|
|
||||||
from repo2docker.app import Repo2Docker
|
import docker
|
||||||
from repo2docker.__main__ import make_r2d
|
from repo2docker.__main__ import make_r2d
|
||||||
|
from repo2docker.app import Repo2Docker
|
||||||
|
|
||||||
|
|
||||||
def read_port_mapping_response(
|
def read_port_mapping_response(
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
from datetime import date
|
from datetime import date
|
||||||
|
from unittest.mock import patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from requests.models import Response
|
from requests.models import Response
|
||||||
from unittest.mock import patch
|
|
||||||
|
|
||||||
from repo2docker import buildpacks
|
from repo2docker import buildpacks
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import pytest
|
import pytest
|
||||||
from semver import VersionInfo
|
from semver import VersionInfo
|
||||||
|
|
||||||
from repo2docker import semver
|
from repo2docker import semver
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,8 +4,8 @@ Test if the subdirectory is correctly navigated to
|
||||||
import os
|
import os
|
||||||
|
|
||||||
import escapism
|
import escapism
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from repo2docker.app import Repo2Docker
|
from repo2docker.app import Repo2Docker
|
||||||
|
|
||||||
TEST_REPO = "https://github.com/binderhub-ci-repos/repo2docker-subdir-support"
|
TEST_REPO = "https://github.com/binderhub-ci-repos/repo2docker-subdir-support"
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
"""
|
"""
|
||||||
Tests for repo2docker/utils.py
|
Tests for repo2docker/utils.py
|
||||||
"""
|
"""
|
||||||
import traitlets
|
|
||||||
import os
|
import os
|
||||||
from repo2docker import utils
|
|
||||||
import pytest
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
import traitlets
|
||||||
|
|
||||||
|
from repo2docker import utils
|
||||||
|
|
||||||
|
|
||||||
def test_capture_cmd_no_capture_success():
|
def test_capture_cmd_no_capture_success():
|
||||||
# This should succeed
|
# This should succeed
|
||||||
|
|
Ładowanie…
Reference in New Issue