/umm

A toolkit to manager the fastest mirror of various tools, such as pip, npm, docker, golang, composer and etc.

Primary LanguagePythonMIT LicenseMIT

umm: yoUr Mirror Manager

A toolkit to manager the fastest mirror of various tools, such as pip, npm, composer and etc.

Table of Contents

Features

We are going to support to manage the mirror of following tools:

  • pip
  • npm
  • composer
  • homebrew
  • linuxbrew
  • golang
  • docker
  • ubuntu
  • centos
  • julia
  • etc.

Installation

# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple umm
pip install umm

Upgrade

pip install -U umm

Usage

Show umm help

umm

or

umm --ehlp

Output

Usage: umm [OPTIONS] COMMAND [ARGS]...

  A toolkit to manager the fastest mirror of various tools, such as pip,
  npm, composer and etc.

Options:
  --help  Show this message and exit.

Commands:
  npm  Manage npm mirrors.
  pip  Manage pip mirrors.
  v    Show umm version.

Manage pip

Show umm pip help

umm pip

or

umm pip --ehlp

Output

Usage: umm pip [OPTIONS] COMMAND [ARGS]...

  Manage pip mirrors.

Options:
  --help  Show this message and exit.

Commands:
  ls   List all available mirrors
  now  Show current mirror.
  use  Use the given mirror.

List all available mirrors of pip

umm pip ls

Output

o               https://pypi.python.org/simple/
tuna            https://pypi.tuna.tsinghua.edu.cn/simple
douban          http://pypi.douban.com/simple/
aliyun          https://mirrors.aliyun.com/pypi/simple/
ustc            https://mirrors.ustc.edu.cn/pypi/web/simple

Use the given mirror for pip

For example, use the tuna mirror.

umm pip use tuna

Show current mirror of pip

umm pip now

Output

tuna            https://pypi.tuna.tsinghua.edu.cn/simple

Manage npm

Show umm npm help

umm npm

or

umm npm --ehlp

Output

Usage: umm npm [OPTIONS] COMMAND [ARGS]...

  Manage npm mirrors.

Options:
  --help  Show this message and exit.

Commands:
  ls   List all available mirrors.
  now  Show current using mirror.
  use  Use the given mirror.

List all available mirrors of npm

umm npm ls

Output

  [npm] name      url
------------------------------------------------------------
* o               https://registry.npmjs.org/
  cnpm            http://r.cnpmjs.org/
  taobao          https://registry.npm.taobao.org/
  nj              https://registry.nodejitsu.com/
  npmMirror       https://skimdb.npmjs.com/registry/
  edunpm          http://registry.enpmjs.org/

Use the given mirror for npm

For example, use the tabao mirror.

umm npm use taobao

Show current mirror of npm

umm npm now

Output

taobao          https://registry.npm.taobao.org/

How to test

install locally

Once your developed a while and want to test the umm, your have two ways to test:

  1. install this package in your local via:
pip install --editable .
  1. or, directly run the python file via:
python -m umm

run the test

Make sure you have installed pytest

cd umm/
export PYTHONPATH=src
pytest