Metadata-Version: 2.4
Name: mgimo
Version: 0.5.0
Summary: MGIMO datasets and Python utilities.
Requires-Python: >=3.10
Requires-Dist: docopt>=0.6.2
Requires-Dist: pandas>=2.3.3
Description-Content-Type: text/markdown

# Программные утилиты и данные МГИМО

![PyPI - Version](https://img.shields.io/pypi/v/mgimo)

## Установка

```console
pip install mgimo
```

После установки в командной строке станет доступна утилита `mgimo`,
а для использования в других программах - одноименная библиотека.

## Что умеет наша программа?

Целями разработки пакета является:

- демонстрация примеров программ, которые посильны начинающим программистам
  ("если в МГИМО смогли написать такой код, я тоже смогу"),
- автоматизация прикладных задач, с которыми сталкиваются наши студенты и коллеги –
  с помощью уже существующих или новых инструментов.

К текущей версии наш пакет:

- [x] переводит оценки из числа в буквенное обозначение
- [x] проводит тесты на знание столиц мира
- [ ] переводит текст с английского на русский
- [ ] выдает нужный набор данных по международке

## Утилита командной строки

Проверить запуск утилиты:

```console
mgimo --help
```

Запустить тест на знание столиц стран мира:

```console
mgimo quiz
```

<details>
<summary>Другие команды для теста по столицам</summary>  

Спросить столицы 10 стран:

```console
mgimo quiz --countries=10
```

Знаете ли вы эти три столицы :

```console
mgimo quiz --capitals=3
```

Пять вопросов про столицы и пять про страны:

```console
mgimo quiz --countries=5 --capitals=5
```
</details>

## Библиотека

### Столицы стран-членов ООН

```python
from random import choice
from mgimo.dataset.data import country_to_capital

countries = list(country_to_capital.keys())
assert len(countries) == 193
country = choice(countries)
city = country_to_capital[country]
print(f"Выбрана страна: {country}, столица - {city}.")
```

## Changelog

`0.5.0` - добавлен интерфейс командной строки и тест по столицам мира.

## Отладка

### Полезные скрипты

```bash
npx prettier README.md --write
isort . --float-to-top
black .
ruff check .
pytest
```

### Утилита командной строки

Мы используем [пакетный менеджер `uv`][uv], во время разработки утилита командной строки
доступна через команду `uv run`.

[uv]: https://github.com/astral-sh/uv?tab=readme-ov-file#installation

```
uv run mgimo
```

Установка конкретной версии утилиты также возможна через pip.
Для этого необходимо собрать образ пакета в `uv`:

```bash
uv build
```

Затем установить образ через pip из директории dist, которая появится после предыдущего шага:

```bash
pip install dist/mgimo-0.4.0-py3-none-any.whl
```

Если вы хорошо понимаете, чем нам могут быть полезны `pipx` и `uvx` - откройте, пожалуйста, issue.
