# xpip-mirror
If you live within the Great Wall Firewall, the access to the official source of [PyPI](https://pypi.org/) is extremely unstable.
The `xpip-mirror` mirror management can probe the delay of mirrors in the list and select the current optimal path.
## list all available mirrors
```text
root@zou:~# xpip-mirror list
name URL HOST PING(ms)
-------- ---------------------------------------- ----------------------------------------- ----------
ustc https://pypi.mirrors.ustc.edu.cn/simple pypi.mirrors.ustc.edu.cn (218.104.71.170) 8.3
baidu https://mirror.baidu.com/pypi/simple mirror.baidu.com (58.243.203.35) 15.7
aliyun https://mirrors.aliyun.com/pypi/simple mirrors.aliyun.com (119.167.250.248) 17.7
tsinghua https://pypi.tuna.tsinghua.edu.cn/simple pypi.tuna.tsinghua.edu.cn (101.6.15.130) 23.7
douban https://pypi.douban.com/simple pypi.douban.com (49.233.242.15) 32.0
pypi https://pypi.org/simple pypi.org (151.101.128.223) timeout
Suggest using the installation command:
pip install -i https://pypi.mirrors.ustc.edu.cn/simple <package-name>
```
## config mirror
### show config
```text
root@zou:~# xpip-mirror now
https://mirrors.aliyun.com/pypi/simple
```
### choice the best
```text
root@zou:~# xpip-mirror choice
Writing to /root/.config/pip/pip.conf
choice ustc: https://pypi.mirrors.ustc.edu.cn/simple
```
### choice by name
```text
root@zou:~# xpip-mirror choice tsinghua
Writing to /root/.config/pip/pip.conf
choice tsinghua: https://pypi.tuna.tsinghua.edu.cn/simple
```
Raw data
{
"_id": null,
"home_page": "https://github.com/bondbox/xpip/",
"name": "xpip-mirror",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "pip, pypi, mirror",
"author": "Mingzhe Zou",
"author_email": "zoumingzhe@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/e8/5b/a05a77d8e8f5911f74aa3828283fb710ce0e33a456688712e33972b11727/xpip_mirror-0.4.0.tar.gz",
"platform": "any",
"description": "# xpip-mirror\n\nIf you live within the Great Wall Firewall, the access to the official source of [PyPI](https://pypi.org/) is extremely unstable.\n\nThe `xpip-mirror` mirror management can probe the delay of mirrors in the list and select the current optimal path.\n\n## list all available mirrors\n\n```text\nroot@zou:~# xpip-mirror list\nname URL HOST PING(ms)\n-------- ---------------------------------------- ----------------------------------------- ----------\nustc https://pypi.mirrors.ustc.edu.cn/simple pypi.mirrors.ustc.edu.cn (218.104.71.170) 8.3\nbaidu https://mirror.baidu.com/pypi/simple mirror.baidu.com (58.243.203.35) 15.7\naliyun https://mirrors.aliyun.com/pypi/simple mirrors.aliyun.com (119.167.250.248) 17.7\ntsinghua https://pypi.tuna.tsinghua.edu.cn/simple pypi.tuna.tsinghua.edu.cn (101.6.15.130) 23.7\ndouban https://pypi.douban.com/simple pypi.douban.com (49.233.242.15) 32.0\npypi https://pypi.org/simple pypi.org (151.101.128.223) timeout\n\nSuggest using the installation command:\npip install -i https://pypi.mirrors.ustc.edu.cn/simple <package-name>\n```\n\n## config mirror\n\n### show config\n\n```text\nroot@zou:~# xpip-mirror now\nhttps://mirrors.aliyun.com/pypi/simple\n```\n\n### choice the best\n\n```text\nroot@zou:~# xpip-mirror choice\nWriting to /root/.config/pip/pip.conf\nchoice ustc: https://pypi.mirrors.ustc.edu.cn/simple\n```\n\n### choice by name\n\n```text\nroot@zou:~# xpip-mirror choice tsinghua\nWriting to /root/.config/pip/pip.conf\nchoice tsinghua: https://pypi.tuna.tsinghua.edu.cn/simple\n```\n",
"bugtrack_url": null,
"license": "GPLv2",
"summary": "pip mirror management",
"version": "0.4.0",
"project_urls": {
"Bug Tracker": "https://github.com/bondbox/xpip/issues",
"Documentation": "https://github.com/bondbox/xpip/",
"Homepage": "https://github.com/bondbox/xpip/",
"Source Code": "https://github.com/bondbox/xpip/"
},
"split_keywords": [
"pip",
" pypi",
" mirror"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4a680f8f368088d394defa4bd4402e77e790ed8f579db5fffbf2bb478b9f7efe",
"md5": "91c0b55d7f656bbfbed99cf12e29ce3d",
"sha256": "7e7d179426002a6bcfbd8b1021a5e633e6840daa781ad5b5fb895038aa417c30"
},
"downloads": -1,
"filename": "xpip_mirror-0.4.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "91c0b55d7f656bbfbed99cf12e29ce3d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.8",
"size": 13169,
"upload_time": "2025-03-18T11:20:52",
"upload_time_iso_8601": "2025-03-18T11:20:52.324274Z",
"url": "https://files.pythonhosted.org/packages/4a/68/0f8f368088d394defa4bd4402e77e790ed8f579db5fffbf2bb478b9f7efe/xpip_mirror-0.4.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "e85ba05a77d8e8f5911f74aa3828283fb710ce0e33a456688712e33972b11727",
"md5": "520e36f4bee74e7e2fd07e04a2eef20c",
"sha256": "c0e1952f4b624e56c85a12418adc4e5644cbf11c494cbdb9b0b52bd1ee7ecd3b"
},
"downloads": -1,
"filename": "xpip_mirror-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "520e36f4bee74e7e2fd07e04a2eef20c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 12886,
"upload_time": "2025-03-18T11:20:53",
"upload_time_iso_8601": "2025-03-18T11:20:53.920796Z",
"url": "https://files.pythonhosted.org/packages/e8/5b/a05a77d8e8f5911f74aa3828283fb710ce0e33a456688712e33972b11727/xpip_mirror-0.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-03-18 11:20:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bondbox",
"github_project": "xpip",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "xpip-mirror"
}