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.
https://hub.docker.com/r/ibigbug/pypi-mirrors/
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.
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.
Pass the corresponding environment variables to enable email & twitter notifications.
env variables:
docker run \ -e 'CACHE_REDIS_HOST=localhost' \ -e 'CACHE_REDIS_PORT=6379' \ -e 'IPLOC_API_KEY=<value>' \ -e 'TWITTER_CONSUMER_KEY=<value>' \ -e 'TWITTER_CONSUMER_SECRET=<value>' \ -e 'TWITTER_ACCESS_KEY=<value>' \ -e 'TWITTER_ACCESS_SECRET=<value>' \ -e 'EMAIL_HOST=<value>' \ -e 'EMAIL_PORT=<value>' \ -e 'EMAIL_USER=<value>' \ -e 'EMAIL_PASSWORD=<value>' \ -e 'EMAIL_FROM=<value>' \ -e 'EMAIL_TO=<value>' \ -e 'EMAIL_BCC=<value>' \ -e 'EMAIL_TO_ADMIN=<value>'\ -e 'SENTRY_DSN=<value>'\ ibigbug/pypi-mirrors \ uwsgi -w wsgi --logto=/var/log/uwsgi/uwsgi.log --chdir=/src/ --chmod-socket=666
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.
Pick one of the things on the TODO list and implement it and send a pull request.
Make sure redis is running
Collecting Data:
$ python pypi_mirrors.py
Running web server:
$ python app.py # connect to http://localhost:5000 in browser
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。