# pypi-mirrors **Repository Path**: mirrors_benjaminp/pypi-mirrors ## Basic Information - **Project Name**: pypi-mirrors - **Description**: pypi mirror status - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-08 - **Last Updated**: 2026-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README pypi-mirrors ============ Very simple tool that pings the PyPI mirrors and tells us when they were updated last. I threw this together very quickly as a proof of concept feel free to fork, and send pull requests. Config ------ Redis ~~~~~ It requires redis in order to cache some of the data. For local development it is assuming it to be running at localhost:6379 db:1 and no password. see ``config.py`` for more info. GeoIP ~~~~~ In order to get the IP address geolocation lookup, you need to sign up for an account from http://ipinfodb.com/register.php . If you don't have the env variable set, you will not have access to the geo location information. set IPLOC_API_KEY with the API key they give you. Email & Twitter ~~~~~~~~~~~~~~~ To get the twitter and email notifications to work correctly you need to create an environment.json file in ``/tmp`` with the variables and values shown below. replace with the real values. ``/tmp/environment.json``:: { "IPLOC_API_KEY": "", "TWITTER_CONSUMER_KEY" : "", "TWITTER_CONSUMER_SECRET" : "", "TWITTER_ACCESS_KEY" : "", "TWITTER_ACCESS_SECRET" : "", "EMAIL_HOST" : "", "EMAIL_PORT" : "", "EMAIL_USER" : "", "EMAIL_PASSWORD" : "", "EMAIL_FROM" : "", "EMAIL_TO" : "", "EMAIL_BCC" : "", "EMAIL_TO_ADMIN": "" } For installing the API Key on dotCloud you need to run the following command. replace with the real values. env variables:: dotcloud var set pypimirrors \ 'IPLOC_API_KEY=' \ 'TWITTER_CONSUMER_KEY=' \ 'TWITTER_CONSUMER_SECRET=' \ 'TWITTER_ACCESS_KEY=' \ 'TWITTER_ACCESS_SECRET=' \ 'EMAIL_HOST=' \ 'EMAIL_PORT=' \ 'EMAIL_USER=' \ 'EMAIL_PASSWORD=' \ 'EMAIL_FROM=' \ 'EMAIL_TO=' \ 'EMAIL_BCC=' \ 'EMAIL_TO_ADMIN=' How it works ------------ The ``pypi_mirrors.py`` script runs via a cron job and puts data into redis. There is one webpage that pull the data from redis and displays it. There is a daily cron job that runs and sends out notifications if the mirrors are out of date. Demo ---- http://www.pypi-mirrors.org How to help ----------- Pick one of the things on the TODO list and implement it and send a pull request. Running locally --------------- Make sure redis is running 1. Collecting Data:: $ python pypi_mirrors.py 2. Running web server:: $ python app.py # connect to http://localhost:5000 in browser TODO: ----- - Create a setup.py and add to PyPI - Add better documentation