Belt is a simple PyPI proxy. Any packages that exist locally will be installed direct from disk, non-existent packages will be installed from PyPI and stored locally for future use.
The latest version is always available at github.com/rob-b/belt
pip install belt
Create a config file setting local_packages to wherever you want to store your locally cached packages:
cat << EOF > production.ini [app:main] use = egg:belt pyramid.reload_templates = false pyramid.debug_authorization = false pyramid.debug_notfound = false pyramid.debug_routematch = false pyramid.default_locale_name = en pyramid.includes = jinja2.directories = belt:templates jinja2.filters = route_url = pyramid_jinja2.filters:route_url_filter local_packages = /vagrant/pypi [server:main] use = egg:waitress#main host = 0.0.0.0 port = 6543 [loggers] keys = root, belt [handlers] keys = console [formatters] keys = generic [logger_root] level = WARN handlers = console [logger_belt] level = WARN handlers = qualname = belt [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [formatter_generic] format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s EOF
Then run with pserve:
You can now install packages via your local proxy:
pip install -i http://localhost:6543/simple/ zest.releaser
- Moved from using filesystem lookup to storing package records in db
- createwheels command builds wheel for each local package
- Set license to 3 clause BSD
- Nothing changed yet.
- Initial version
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.