Python interface library for Jfrog Artifactory
This module is intended to serve as a logical descendant of pathlib, a Python 3 module for object-oriented path manipulations. As such, it implements everything as closely as possible to the origin with few exceptions, such as stat().
Usage Examples
Walking Directory Tree
Getting directory listing:
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://repo.jfrog.org/artifactory/gradle-ivy-local")
for p in path:
print p
Find all .gz files in current dir, recursively:
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://repo.jfrog.org/artifactory/distributions/org/")
for p in path.glob("**/*.gz"):
print p
Downloading Artifacts
Download artifact to a local filesystem:
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://repo.jfrog.org/artifactory/distributions/org/apache/tomcat/apache-tomcat-7.0.11.tar.gz")
with path.open() as fd:
with open("tomcat.tar.gz", "wb") as out:
out.write(fd.read())
Uploading Artifacts
Deploy a regular file myapp-1.0.tar.gz
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://my-artifactory/artifactory/libs-snapshot-local/myapp/1.0")
path.mkdir()
path.deploy_file('./myapp-1.0.tar.gz')
Deploy a debian package myapp-1.0.deb
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://my-artifactory/artifactory/ubuntu-local/pool")
path.deploy_deb('./myapp-1.0.deb',
distribution='trusty',
component='main',
architecture='amd64')
Authentication
To provide username and password to access restricted resources, you can pass auth parameter to ArtifactoryPath:
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://my-artifactory/artifactory/myrepo/restricted-path",
auth=('admin', 'ilikerandompasswords'))
path.touch()
SSL Cert Verification Options
See Requests - SSL verification for more details.
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://my-artifactory/artifactory/libs-snapshot-local/myapp/1.0")
… is the same as
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://my-artifactory/artifactory/libs-snapshot-local/myapp/1.0",
verify=True)
Specify a local cert to use as client side certificate
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://my-artifactory/artifactory/libs-snapshot-local/myapp/1.0",
cert="/path_to_file/server.pem")
Disable host cert verification
from artifactory import ArtifactoryPath
path = ArtifactoryPath(
"http://my-artifactory/artifactory/libs-snapshot-local/myapp/1.0",
verify=False)
import requests.packages.urllib3 as urllib3 urllib3.disable_warnings()
Global Configuration File
Artifactory Python module also has a way to specify all connection-related settings in a central file, ~/.artifactory_python.cfg that is read upon the creation of first ArtifactoryPath object and is stored globally. For instance, you can specify per-instance settings of authentication tokens, so that you won’t need to explicitly pass auth parameter to ArtifactoryPath.
Example:
[http://artifactory-instance.com/artifactory] username = deployer password = ilikerandompasswords verify = false [another-artifactory-instance.com/artifactory] username = foo password = @dmin cert = ~/mycert
Whether or not you specify http:// or https:// prefix is not essential. The module will first try to locate the best match and then try to match URLs without prefixes. So if in the config you specify https://my-instance.local and call ArtifactoryPath with http://my-instance.local, it will still do the right thing.
Metadata
Release files for artifactory 0.1.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| artifactory-0.1.17.tar.gz | 14.5 kB | Details |
Release files / artifactory-0.1.17.tar.gz
| Download URL | artifactory-0.1.17.tar.gz |
|---|---|
| Size | 14.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d50a725b080a68adbba499d66fe2c1a54134cba22a4d3fd7ae978cfe933d5d6
|
|
BLAKE2b-256 checksum How to use checksums |
4a98c1cbe7276a2ffa2a69cd4b1310d6b142e9fbfb4991b441d4e4257273703f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |