psf / httpbin

HTTP Request & Response Service, written in Python + Flask.
https://httpbin.org
Other
54 stars 17 forks source link

httpbin(1): HTTP Request & Response Service

This is a fork of the original httpbin project, which is located at https://github.com/postmanlabs/httpbin

Why fork? we were unable to get ahold of the folks at postmanlabs to maintain the original project, and httpbin is used for other packages within the python ecosystem, such as pytest-httpbin which is in turn used by packages such as requests so we have forked this package. That means that httpbin.org is not actually backed by this repo, but the httpbin package is. Confusing right? Know anyone at postmanlabs? get in touch.

httpbin is a Kenneth Reitz Project. ice cream

Downloading and Running

docker pull ghcr.io/psf/httpbin
docker run -p 80:8080 ghcr.io/psf/httpbin

Using httpbin as a Library

httpbin can be used as a dependency in your own projects by simply adding httpbin as a dependency.

Manually Building the Latest Docker Image

To build the Docker image yourself, download the latest Dockerfile and requirements.txt files from the release page. Store both file in the same folder and run:

docker build --build-arg APP_VERSION=<your-version> [other docker args] .

Alternatively, you can re-generate a new requirements.txt file using pip-compile. In that case, be aware that the code has not been tested against those dependencies and we cannot guarantee that such an image will run without errors.

Where APP_VERSION will be stored in a docker-label. The default value is an empty-string.

Maintenance

"Extra" Dependencies

The project provides two "extras" which contain dependencies that should only be installed for specific use-cases. They will not be included when using httpbin as a dependency, unless they are explicitly requested like httpbin[mainapp].

Publishing a new Release

Releases (both docker and pypi) are automated via GitHub Actions (See #17).

For pypi releases, the project uses trusted-publishing via the official GitHub action.

For releases on docker-hub (when enabled in the CI), the following two secrets are required:

Releases are triggered on commits tagged with release- (for example release-0.10.0).

Changelog

Officially Deployed (but out of date) at:

SEE ALSO