Install & Compatibility
Where this runs
tested against v0.3.5 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 33MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 2.6s · import 0.000s · 33MB
31MB installed
● package 31MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
Artifact
✓ from maven_artifact import Artifact
✗ from maven_artifact import MavenArtifact
Resolver
✓ from maven_artifact import Resolver
Downloader
✓ from maven_artifact import Downloader
Basic usage: instantiate a GAV, create MavenArtifact, download the JAR, and resolve dependencies.
from maven_artifact import MavenArtifact, GAV
# Define a Maven artifact coordinate (group:artifact:version)
gav = GAV('com.google.guava', 'guava', '31.0.1-jre')
# Create a MavenArtifact instance with default Maven Central
artifact = MavenArtifact(gav)
# Download the artifact JAR file (returns path to local file)
jar_path = artifact.download()
print(f'Downloaded JAR to: {jar_path}')
# Resolve transitive dependencies (returns list of GAV)
deps = artifact.resolve_dependencies()
for dep in deps:
print(dep)
Upgrade
Version history
0.3.5latest on PyPI · released Apr 23, 2025
Audit
Dependencies
requestsrequiredHTTP client for downloading artifacts and metadata from Maven repositories
lxmlrequiredXML parsing for POM files