Skip to main content
Documentation Status https://github.com/MacHu-GWU/simple_gh_aws_creds-project/actions/workflows/main.yml/badge.svg https://codecov.io/gh/MacHu-GWU/simple_gh_aws_creds-project/branch/main/graph/badge.svg https://img.shields.io/pypi/v/simple-gh-aws-creds.svg https://img.shields.io/pypi/l/simple-gh-aws-creds.svg https://img.shields.io/pypi/pyversions/simple-gh-aws-creds.svg https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github https://img.shields.io/badge/⭐_Star_me_on_GitHub!--None.svg?style=social&logo=github
https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-Install-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

Welcome to simple_gh_aws_creds Documentation

https://simple-gh-aws-creds.readthedocs.io/en/latest/_static/simple_gh_aws_creds-logo.png

simple_gh_aws_creds gives a GitHub repository its own AWS IAM user, and stores that user’s access key as the repository’s GitHub Actions secrets. One command sets it up, one command tears it down, and each step is safe to run again.

It fits when you want GitHub Actions to reach AWS in a few minutes, without setting up OIDC:

  • open source projects whose CI needs a small, well-scoped piece of AWS;

  • test and sandbox accounts, where one IAM user per repository is easy to track;

  • a quick start you may later replace with OIDC.

The access key is long-lived. For production accounts, prefer GitHub OIDC.

Quick Start

  1. Describe the IAM user in a JSON config file:

{
    "aws_region": "us-east-1",
    "iam_user_name": "gh-ci-my-project",
    "policy_document": {
        "Version": "2012-10-17",
        "Statement": [
            {"Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": "*"}
        ]
    },
    "path_access_key_json": "my_access_key.json",
    "github_user_name": "my-github-user",
    "github_repo_name": "my-project"
}
  1. Create the IAM user, its access key, and the GitHub secrets. AWS credentials come from your AWS profile; the GitHub token from the GITHUB_TOKEN environment variable:

uvx simple-gh-aws-creds setup --config config.json --aws_profile my-profile
  1. Use the secrets in a workflow:

jobs:
  aws-job:
    runs-on: ubuntu-latest
    env:
      AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
    steps:
      - run: aws sts get-caller-identity

Read more:

Install

simple_gh_aws_creds is released on PyPI. Run the command line tool without installing it:

$ uvx simple-gh-aws-creds --help

Or install it, for the command line tool and the Python API:

$ pip install simple-gh-aws-creds

To upgrade to latest version:

$ pip install --upgrade simple-gh-aws-creds

Use with AI Coding Agents

This repo ships an Agent Skill that documents the public API of simple_gh_aws_creds, so an AI coding agent such as Claude Code can use the library without reading its source. It lives in .claude/skills/pypi-simple_gh_aws_creds. To use it in your project, copy it into your project’s .claude/skills/ folder. Run this from your project’s root:

$ git clone --depth 1 https://github.com/MacHu-GWU/simple_gh_aws_creds-project.git /tmp/simple_gh_aws_creds-project
$ mkdir -p .claude/skills
$ cp -R /tmp/simple_gh_aws_creds-project/.claude/skills/pypi-simple_gh_aws_creds .claude/skills/

Metadata

Release files for simple_gh_aws_creds 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for simple_gh_aws_creds 0.2.0
File Size Uploaded Provenance Actions
simple_gh_aws_creds-0.2.0.tar.gz 22.4 kB Without provenance Details for simple_gh_aws_creds-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for simple_gh_aws_creds 0.2.0
File Interpreter ABI Platform Actions
simple_gh_aws_creds-0.2.0-py3-none-any.whl Python 3 none any Details for simple_gh_aws_creds-0.2.0-py3-none-any.whl

Total release size: 40.5 kB

Release files / simple_gh_aws_creds-0.2.0.tar.gz

Download URL simple_gh_aws_creds-0.2.0.tar.gz
Size 22.4 kB
Tags Source
SHA-256 checksum
How to use checksums
98084f00bc8db945011e7587e6cf13b24a6ddfee8f631b45988376ab56cdc51f
BLAKE2b-256 checksum
How to use checksums
32cb1bc7a0d2776d88e663f1ffd56c621c44dcfcba41d6ab5d5a479be72e0265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / simple_gh_aws_creds-0.2.0-py3-none-any.whl

Download URL simple_gh_aws_creds-0.2.0-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fbaf09eab68aee1375e0f5dd98653b22075589f30ec2e6f1a05f533964fd4f1
BLAKE2b-256 checksum
How to use checksums
28b10270065278a70774a2ed837be5f10778be7ae81a5f9ab93e02b8513b80a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for simple_gh_aws_creds 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page