allennlp

Форк
0
/
get_version.py 
45 строк · 1.1 Кб
1
#!/usr/bin/env python
2

3
import argparse
4
from typing import Dict
5

6
import requests
7

8

9
def parse_args():
10
    parser = argparse.ArgumentParser()
11
    parser.add_argument("version_type", choices=["stable", "latest", "current"])
12
    return parser.parse_args()
13

14

15
def get_current_version() -> str:
16
    VERSION: Dict[str, str] = {}
17
    with open("allennlp/version.py", "r") as version_file:
18
        exec(version_file.read(), VERSION)
19
    return "v" + VERSION["VERSION"]
20

21

22
def get_latest_version() -> str:
23
    resp = requests.get("https://api.github.com/repos/allenai/allennlp/tags")
24
    return resp.json()[0]["name"]
25

26

27
def get_stable_version() -> str:
28
    resp = requests.get("https://api.github.com/repos/allenai/allennlp/releases/latest")
29
    return resp.json()["tag_name"]
30

31

32
def main() -> None:
33
    opts = parse_args()
34
    if opts.version_type == "stable":
35
        print(get_stable_version())
36
    elif opts.version_type == "latest":
37
        print(get_latest_version())
38
    elif opts.version_type == "current":
39
        print(get_current_version())
40
    else:
41
        raise NotImplementedError
42

43

44
if __name__ == "__main__":
45
    main()
46

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.