Skip to content

Latest commit

 

History

History
55 lines (36 loc) · 1.3 KB

README.md

File metadata and controls

55 lines (36 loc) · 1.3 KB

go-minipypi

A bare minimum implementation of a PyPI server that proxies all requests to an S3 bucket.

This was implemented by looking what was required to get pip install commands such as this one working:

pip install -v --no-index --find-links=http://localhost:8080/ -r requirements.txt

Installation

  1. Install go 1.11 or later.

  2. Clone this repository to somewhere outside of your GOPATH.

  3. Build the code:

    go build .
  4. Run it:

    ./go-minipypi
    

Notes:

It requires a config file, see config.yml. Drop the credentialsfile parameter to use the default AWS credentials chain.

Release

go-minipypi uses goreleaser locally for releases.

  1. Install goreleaser

  2. Ensure you're on a clean master, and tag the current commit for release -

    git tag -a "v0.4.0"
  3. Do a dry-run of the release if necessary and check the artifacts in dist/ -

    goreleaser --skip-publish
  4. Using your GitHub token, complete the release -

    GITHUB_TOKEN=your_github_token_with_release_privileges goreleaser