From a7b4efee9932116acaa0a60c47628feac140ae7a Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 20 Feb 2014 15:20:11 -0800 Subject: [PATCH] README: Convert from Markdown to reStructuredText for PyPI --- README | 44 ++++++++++++++++++++++++++++++++++++++++++++ README.md | 25 ------------------------- 2 files changed, 44 insertions(+), 25 deletions(-) create mode 100644 README delete mode 100644 README.md diff --git a/README b/README new file mode 100644 index 0000000..687647b --- /dev/null +++ b/README @@ -0,0 +1,44 @@ +Package-cache is a simple caching proxy for package downloads. Just +configure a list of upstream sources (with the ``--source`` option) +and point clients at the package-cache server. The first time a +package is requested, we download that package from one of the sources +and cache it locally, while also streaming it to the client. Future +requests for that package are streamed directly from the local cache. +This helps reduce the load on the network and source servers, if you +have a number of local clients that will repeatedly request the same +files (e.g. `Gentoo's distfiles`_). + +We don't do anything fancy with `Cache-Control headers`_, since +package source files should include the version stamp in the filename +itself (e.g. ``my-package-0.1.2.tar.gz``). Files are cached after the +first request, and stored forever. This means that every package +you've ever requested will still be there if you need it later. +That's nice, but it will end up consuming a fair amount of disk space. +You might want to periodically cull the cache, using access times to +see which files you are unlikely to want in the future. + +Package-cache is written in Python, and has no dependencies outside +the standard library. + +Running package-cache +===================== + +By default, we'll use `Python's reference WSGI implementation`_ to run +our application:: + + $ package-cache --source http://distfiles.gentoo.org/ + +For other command-line options, see:: + + $ package-cache --help + +If you need a more perfomant backend, you might try Gunicorn_. + +.. _Gentoo's distfiles: + https://wiki.gentoo.org/wiki/Project:Infrastructure/Source_mirrors +.. _Cache-Control headers: + https://tools.ietf.org/html/rfc2616#section-14.9 +.. _Python's reference WSGI implementation: + http://docs.python.org/3/library/wsgiref.html +.. _Gunicorn: + http://gunicorn-docs.readthedocs.org/en/latest/run.html#gunicorn diff --git a/README.md b/README.md deleted file mode 100644 index ad6873e..0000000 --- a/README.md +++ /dev/null @@ -1,25 +0,0 @@ -Package-cache is a simple caching proxy for package downloads. Just -configure a list of upstream sources (with the `SOURCES` environment -variable) and point clients at the package-cache server. The first -time a package is requested, we download that package from one of the -sources and cache it locally, while also streaming it to the client. -Future requests for that package are streamed directly from the local -cache. This helps reduce the load on the network and source servers, -if you have a number of local clients that will repeatedly request the -same files (e.g. [Gentoo's distfiles][distfiles]). - -We don't do anything fancy with [Cache-Control -headers][Cache-Control], since package source files should include the -version stamp in the filename itself (e.g. `my-package-0.1.2.tar.gz`). -Files are cached after the first request, and stored forever. This -means that every package you've ever requested will still be there if -you need it later. That's nice, but it will end up consuming a fair -amount of disk space. You might want to periodically cull the cache, -using access times to see which files you are unlikely to want in the -future. - -Package-cache is written in Python, and has no dependencies outside -the standard library. - -[distfiles]: https://wiki.gentoo.org/wiki/Project:Infrastructure/Source_mirrors -[Cache-Control]: https://tools.ietf.org/html/rfc2616#section-14.9 -- 2.26.2