diff --git a/deploy/Installer.iss b/deploy/Installer.iss index 91d2225..09d32e0 100644 --- a/deploy/Installer.iss +++ b/deploy/Installer.iss @@ -1,5 +1,5 @@ // ########################### -#define Release "1.16.3" +#define Release "1.16.4" // ########################### #define AppName "voyager" diff --git a/docs/release-notes.md b/docs/release-notes.md index 448e73d..fa60f39 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,5 +1,8 @@ # Release notes +### [1.16.4] +- Use a persistent HTTP connection to make `voyager install` faster. + ### [1.16.3] - Preserve symlinks during `voyager deploy`. diff --git a/voyager/artifactdownloader.py b/voyager/artifactdownloader.py index fe08484..a5ffab8 100644 --- a/voyager/artifactdownloader.py +++ b/voyager/artifactdownloader.py @@ -18,6 +18,7 @@ import click from pathlib import Path from artifactory import ArtifactoryPath +import requests from semver import valid_range, max_satisfying import semver @@ -34,6 +35,9 @@ def __init__(self, libraries: list, are_build_tools: bool, download_runtime_deps self.build_tools = are_build_tools self.download_runtime_deps = download_runtime_deps + self.artifactory_session = requests.Session() + self.artifactory_session.headers['X-JFrog-Art-Api'] = self.config.api_key + def clear_directory(self): try: shutil.rmtree(self._download_dir) @@ -196,7 +200,7 @@ def find_versions_for_package(self, repo, library, override_archs): archs = self._get_active_archs() versions = [] - path = ArtifactoryPath(self.config.artifactory_url, apikey=self.config.api_key) + path = ArtifactoryPath(self.config.artifactory_url, session=self.artifactory_session) args = [ "items.find", @@ -237,7 +241,7 @@ def _find_download_extract_package(self, repo, library, version, output_dir, ove for arch in archs: package_dir = f"{repo}/{library}/{version}/{arch}" url = f"{self.config.artifactory_url}/{package_dir}/voyager_package.tgz" - path = ArtifactoryPath(url, apikey=self.config.api_key) + path = ArtifactoryPath(url, session=self.artifactory_session) if path.exists(): click.echo(click.style(f'{arch} @ {version} ', fg='bright_blue'), nl=False) diff --git a/voyager/voyager.py b/voyager/voyager.py index 4b60d44..09d69a2 100644 --- a/voyager/voyager.py +++ b/voyager/voyager.py @@ -40,7 +40,7 @@ import voyager.doc as doc_server import voyager.package_update as package_updater -VERSION = "1.16.3" +VERSION = "1.16.4" @click.group()