{"id":21384,"library":"git-remote-s3","title":"git-remote-s3","description":"A git remote helper for Amazon S3. Enables git push/pull from S3 buckets using S3 URLs. Current version 0.3.2, requires Python >=3.10. Beta stage, infrequent releases.","status":"active","version":"0.3.2","language":"python","source_language":"en","source_url":"https://github.com/s3git/git-remote-s3","tags":["git","S3","remote-helper","aws"],"install":[{"cmd":"pip install git-remote-s3","lang":"bash","label":"Standard install"}],"dependencies":[{"reason":"AWS S3 interaction","package":"boto3","optional":false}],"imports":[{"note":"Module is not meant to be imported directly; use command-line git remote helper.","wrong":"import git_remote_s3","symbol":"git_remote_s3","correct":"from git_remote_s3 import RemoteS3Helper"}],"quickstart":{"code":"git clone s3://mybucket/myrepo.git\ncd myrepo\n# Make changes\n# Configure AWS credentials via environment variables or ~/.aws/credentials\n# Push back\ngit push s3://mybucket/myrepo.git master","lang":"bash","description":"Clone a git repo stored on S3, make changes, and push back."},"warnings":[{"fix":"Use s3:// scheme for remote URLs.","message":"The git remote helper only supports S3 URLs in the format s3://bucket-name/repo-path.git. Using regular http:// or https:// will fail.","severity":"gotcha","affected_versions":"all"},{"fix":"Do not import in Python scripts; use via git commands.","message":"This tool is a git remote helper, not a standalone Python library. Importing git_remote_s3 directly in Python code is not intended and may not work as expected.","severity":"gotcha","affected_versions":"all"},{"fix":"Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables before using git commands.","message":"Requires AWS credentials configured. The helper uses boto3, which searches for credentials in order: environment variables, ~/.aws/credentials, IAM roles. Missing credentials cause silent failures.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade Python to 3.10+.","message":"Python 3.9 and below are not supported. Requires >=3.10.","severity":"deprecated","affected_versions":"0.3.2"},{"fix":"Ensure repository paths end with .git when using version 0.3.0+.","message":"Version 0.3.0 changed the S3 URL format from s3://bucket/repo to s3://bucket/repo.git. Older versions may fail with repositories not ending in .git.","severity":"breaking","affected_versions":">=0.3.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Check that AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY are set correctly and that the S3 bucket exists.","cause":"AWS credentials not configured or insufficient permissions.","error":"fatal: repository 's3://mybucket/myrepo.git' not found"},{"fix":"Use s3://bucket-name/path.git as the remote URL.","cause":"Using http or https instead of s3:// scheme.","error":"fatal: remote error: Unsupported URL protocol"},{"fix":"Do not import in Python. Use as a git remote helper: git clone s3://... or git remote add origin s3://...","cause":"Attempting to import the module in Python code; it's not an importable library.","error":"ModuleNotFoundError: No module named 'git_remote_s3'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}