{"adoption": {"forks": 278, "observed_at": "2026-08-28T04:06:37.214303+00:00", "stars": 2322}, "canonical_url": "https://ross.abutalabs.com/products/s3proxy", "card": {"archived": false, "artifact_type": "service", "description": "Access other storage backends via the S3 API", "domain": ["cloud-computing", "developer-tools", "self-hosted"], "enriched": true, "function": ["proxy", "http-server", "object-storage", "middleware"], "health_score": 100, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["gaul/s3proxy"], "name": "gaul/s3proxy", "platform": ["jvm", "windows", "self-hosted"], "pushed_at": "2026-08-26T20:19:21+00:00", "repo": "gaul/s3proxy", "stars": 2322, "tags": ["s3-api", "s3-compatibility", "storage-gateway", "azure-blob", "google-cloud-storage", "openstack-swift", "sftp", "local-filesystem", "storage", "docker", "kubernetes", "linux", "macos"], "topics": ["s3", "proxy", "openstack-swift", "azure", "aws-s3", "google-cloud-storage"], "urls": [], "use_cases": ["expose azure blob storage via an s3-compatible api", "test s3 client code locally without an aws account", "translate s3 requests to google cloud storage", "serve a local directory over the s3 api", "migrate tools that only support s3 to other cloud storage providers", "embed an s3 endpoint into a java application"], "what_it_is": "S3Proxy is a Java service that implements the Amazon S3 API and proxies requests to other storage backends such as Google Cloud Storage, Azure Blob Storage, OpenStack Swift, SFTP, or the local filesystem. It can be run standalone via Docker or an executable jar, or embedded into Java applications.", "when_to_avoid": ["you need a fully S3-compatible data store with metadata and consistency guarantees like MinIO", "you require high-throughput production object storage rather than protocol translation", "you need a non-Java runtime environment"], "when_to_choose": ["you need s3 api compatibility with a non-S3 storage backend", "you want a lightweight local s3 endpoint for testing", "you need to bridge s3-only tools to azure, gcs, swift, or sftp"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/s3proxy", "repo": "gaul/s3proxy", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.214303+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:38:37.545580+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ae7affaaf89a3acde7f6c689641c7219d243d622d8026d3b445f7535ade7ff11", "fetched_at": "2026-08-28T04:06:37.214303+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gaul/s3proxy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 87}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4420, "days_push": 7, "days_rel": 7, "gap_med": 41, "n_releases_24m": 14}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}