PyRastrWin


NamePyRastrWin JSON
Version 0.1.6 PyPI version JSON
download
home_pagehttps://gitverse.ru/Shurik412/PyRastrWin
SummaryPython-пакет для взаимодействия с RastrWin3
upload_time2025-01-26 16:10:14
maintainerNone
docs_urlNone
authorShurik412
requires_python>=3.10
licenseGitVerse 1.0
keywords pyrastrwin rastrwin3 rastrwin rustab rastr rastr_win rastr_win3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # **PyRastrWin**

**Python-пакет для взаимодействия с ПВК RastrWin3 x64(x32)**

## 🚀 Описание проекта

**PyRastrWin** — это Python-библиотека, разработанная для взаимодействия с программным комплексом RastrWin3, который используется для моделирования и анализа электроэнергетических систем. Программный комплекс RastrWin3 предназначен для решения задач по расчету, анализу и оптимизации режимов электрических сетей и систем.

RastrWin используется более чем в 150 организациях на территории:

- России
- Казахстана
- Киргизии
- Беларуси
- Молдовы
- Монголии
- Сербии

В России основными пользователями являются [Системный Оператор Единой Энергетической Системы (СО ЕЭС) и его филиалы](https://www.so-ups.ru/), Федеральная Сетевая Компания (ФСК), МРСК, проектные и научно-исследовательские институты (Энер-госетьпроект, ВНИИЭ, НИИПТ и т.д.).

[Программные комплексы RastrWin, RastrWin3, Bars, Lincor, Rustab, RastrKZ, RastrMDP.](https://www.rastrwin.ru/index.php)

Пакет позволяет автоматизировать задачи, такие как:

- Загрузка файлов с автоматическим определением шаблона в RastrWin3
- Сохранение файлов с автоматическим определением шаблона в RastrWin3
- Чтение и запись данных из таблиц RastrWin3
- Интеграция с другими Python-инструментами для анализа данных и визуализации

## 🎯 Возможности

✅ Подключение к RastrWin3 через COM-интерфейс

✅ Чтение данных из таблиц (например, узловых данных, ветвей, генераторов)

✅ Запуск расчетов и анализ результатов

✅ Поддержка сценариев для автоматизации рутинных задач

## 🛠️ Требования

- **Python 3.10+**

- **RastrWin3** (установленный и активированный)

- **Windows OS**

## 🧩 Зависимости

- `pywin32` — для взаимодействия с COM-интерфейсом Windows

## 📦 Установка

Вы можете установить пакет с помощью `pip`:

```bash
pip install PyRastrWin
```

Или напрямую из репозитория:

```bash
pip install git+https://gitverse.ru/Shurik412/PyRastrWin.git
```

## 🚀 Примеры использования

### 📊 **1. Подключение к RastrWin3**

```python
from PyRastrWin import RastrWin

# Создаем объект для взаимодействия
rastr = RastrWin()

# Открываем файл с моделью *.rst или любой другой шаблон 
rastr.load(filename="C:\\tmp\\test9.rst")

# Запускаем расчет режима клавиша `F5`
rastr.rgm()

# Сохраняем файл
rastr.save()

#
# Либо можно импортировать отдельные функции 

# import PyRastrWin
from PyRastrWin import rgm, load, save

# import pywin32
from win32com.client import Dispatch

# Создаем объект RastrWin с помощью lib pywin32
RASTR = Dispatch("Astra.Rastr")

# Открываем файл с моделью *.rst или любой другой шаблон
# Шаблон определяется через расширение загружаемого файла
load(rastr_win=RASTR, filename="C:\\tmp\\test9.rst")
# также можно загрузить по своему шаблону
# load(rastr_win=RASTR, filename="C:\\tmp\\test9.rst", name_template="режим")

# Запускаем расчет режима клавиша `F5`
rgm(rastr_win=RASTR)

# Сохраняем файл
# Шаблон определяется через расширение загружаемого файла
save(rastr_win=RASTR, filename="C:\\tmp\\test9.rst")
```

## ⚡ 2. Получение данных из модели

```python
# Получение параметра "Мощность генерации P" узла по порядковому номеру 
value_param = rastr.get_node(param="pg", row=0)
print(value_param) # 50.0
```

## ⚡ 3. Изменение данных в модели

```python
# Получение параметра "Мощность генерации P" узла по порядковому номеру
value_param_before = rastr.get_node(param="pg", row=0)
print(value_param_before) # 50.0

rastr.chenge_node(param="pg", row=0, value=60.0)

value_param_after = rastr.get_node(param="pg", row=0)
print(value_param_after) # 60.0
```

## 📚 Документация

Полная документация доступна по ссылке:  
📖 [Документация RastrPy](https://gitverse.ru/Shurik412/PyRastrWin/content/master)

## 🤝 Вклад в проект

Мы приветствуем ваши идеи, исправления и новые функции!

Присылайте свои идеи на эл. почту `shurik412@mail.ru`.

Создавайте **Issues** или присылайте **Pull Requests**.

## 🧑‍💻 Авторы

- **Александр Охрименко** — разработка и поддержка.
- **Служба электрических режимов/Филиал АО «СО ЕЭС» «Объединенное диспетчерское управление энергосистемы Центра»**

## ⚖️ Лицензия

Этот проект лицензирован под **GitVerse 1.0**

Подробнее см. [GitVerse 1.0](LICENSE).


# Changelog

Все заметные изменения в этом проекте документируются в этом файле.

## [0.1.5] - 2025-01-26

### Added in [0.1.5]

- Добавлены в configure_logging_save_file параметр filename для сохранение файла логов с дополнительным имененм.

```python

configure_logging_save_file(level=logging.DEBUG, filename: str = "")
```

### Changed

- Улучшена документация для API (README.md).

### Fixed

- Документацию в модулях.

## [0.1.5] - 2025-01-26

### Added in [0.1.5]

- Добавлены импорты

```python
from PyRastrWin import rgm        # функция для расчета режима;
from PyRastrWin import calc_i_dop # функция пересчитывает допустимые токи нагрузки (ТНВ) на основе температуры воздуха и процента перегрузки по току;
from PyRastrWin import run        # Запускает расчет ЭМПП в режиме аналогичном, используемому командой пользовательского интерфейса «Динамика».;
from PyRastrWin import run_ems    # Проводит расчет и возвращает результат расчета ЭМПП в EMS-режиме;
from PyRastrWin import mdp        # Функция для расчета МДП;
from PyRastrWin import ekv        # Функция для Эквивалентирования модели;
```

### Changed

- Улучшена документация для API (README.md).

### Fixed

- 

## [0.1.4] - 2025-01-08

### Added in [0.1.4]

- Добавлена возможность сохранять загруженный файл на выбор ползователя.
- Добавлена возможноть получени и изменения параметров в таблице node (Узлы).

```python
# Получение параметра "Мощность генерации P" узла по порядковому номеру
value_param_before = rastr.get_node(param="pg", row=0)
print(value_param_before) # 50.0

# Изменение параметра "Мощность генерации P" узла по порядковому номеру
rastr.chenge_node(param="pg", row=0, value=60.0)

value_param_after = rastr.get_node(param="pg", row=0)
print(value_param_after) # 60.0
```

## [0.1.3] - 2025-01-08

### Changed

- Улучшена документация для API (README.md).

## [0.1.2] - 2025-01-07

### Added in [0.1.2]

- Добавлена документация для API (README.md).

### Fixed

- Исправлены ошибки при импорте модуля logger.

## [0.1.1] - 2025-01-07

### Added in [0.1.1]

- Первый релиз проекта.
- Добавлены основные функции: загрузка и сохранение модели. Запуск расчета: Уст. режима, ЭМехПП в режиме Run и EMS, эквивалетирование.

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitverse.ru/Shurik412/PyRastrWin",
    "name": "PyRastrWin",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "PyRastrWin, RastrWin3, RastrWin, RUSTab, Rastr, rastr_win, rastr_win3",
    "author": "Shurik412",
    "author_email": "shurik412@mail.ru",
    "download_url": "https://files.pythonhosted.org/packages/60/68/169e8b55ea229e02128f3f79226c3ede835b680ec9c2158d6a32fab7dab4/pyrastrwin-0.1.6.tar.gz",
    "platform": "Windows",
    "description": "# **PyRastrWin**\r\n\r\n**Python-\u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u041f\u0412\u041a RastrWin3 x64(x32)**\r\n\r\n## \ud83d\ude80 \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\r\n\r\n**PyRastrWin** \u2014 \u044d\u0442\u043e Python-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043e\u043c RastrWin3, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u044d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 RastrWin3 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043f\u043e \u0440\u0430\u0441\u0447\u0435\u0442\u0443, \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0435\u0442\u0435\u0439 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c.\r\n\r\nRastrWin \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u0432 150 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f\u0445 \u043d\u0430 \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0438:\r\n\r\n- \u0420\u043e\u0441\u0441\u0438\u0438\r\n- \u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d\u0430\r\n- \u041a\u0438\u0440\u0433\u0438\u0437\u0438\u0438\r\n- \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u0438\r\n- \u041c\u043e\u043b\u0434\u043e\u0432\u044b\r\n- \u041c\u043e\u043d\u0433\u043e\u043b\u0438\u0438\r\n- \u0421\u0435\u0440\u0431\u0438\u0438\r\n\r\n\u0412 \u0420\u043e\u0441\u0441\u0438\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f [\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0415\u0434\u0438\u043d\u043e\u0439 \u042d\u043d\u0435\u0440\u0433\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0421\u0438\u0441\u0442\u0435\u043c\u044b (\u0421\u041e \u0415\u042d\u0421) \u0438 \u0435\u0433\u043e \u0444\u0438\u043b\u0438\u0430\u043b\u044b](https://www.so-ups.ru/), \u0424\u0435\u0434\u0435\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0421\u0435\u0442\u0435\u0432\u0430\u044f \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f (\u0424\u0421\u041a), \u041c\u0420\u0421\u041a, \u043f\u0440\u043e\u0435\u043a\u0442\u043d\u044b\u0435 \u0438 \u043d\u0430\u0443\u0447\u043d\u043e-\u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0438\u043d\u0441\u0442\u0438\u0442\u0443\u0442\u044b (\u042d\u043d\u0435\u0440-\u0433\u043e\u0441\u0435\u0442\u044c\u043f\u0440\u043e\u0435\u043a\u0442, \u0412\u041d\u0418\u0418\u042d, \u041d\u0418\u0418\u041f\u0422 \u0438 \u0442.\u0434.).\r\n\r\n[\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u044b RastrWin, RastrWin3, Bars, Lincor, Rustab, RastrKZ, RastrMDP.](https://www.rastrwin.ru/index.php)\r\n\r\n\u041f\u0430\u043a\u0435\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a:\r\n\r\n- \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0432 RastrWin3\r\n- \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0432 RastrWin3\r\n- \u0427\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446 RastrWin3\r\n- \u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 Python-\u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\r\n\r\n## \ud83c\udfaf \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438\r\n\r\n\u2705 \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a RastrWin3 \u0447\u0435\u0440\u0435\u0437 COM-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\r\n\r\n\u2705 \u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0437\u043b\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u0435\u0442\u0432\u0435\u0439, \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432)\r\n\r\n\u2705 \u0417\u0430\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u0447\u0435\u0442\u043e\u0432 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432\r\n\r\n\u2705 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0443\u0442\u0438\u043d\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\r\n\r\n## \ud83d\udee0\ufe0f \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\r\n\r\n- **Python 3.10+**\r\n\r\n- **RastrWin3** (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439)\r\n\r\n- **Windows OS**\r\n\r\n## \ud83e\udde9 \u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\r\n\r\n- `pywin32` \u2014 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 COM-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c Windows\r\n\r\n## \ud83d\udce6 \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\r\n\r\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e `pip`:\r\n\r\n```bash\r\npip install PyRastrWin\r\n```\r\n\r\n\u0418\u043b\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:\r\n\r\n```bash\r\npip install git+https://gitverse.ru/Shurik412/PyRastrWin.git\r\n```\r\n\r\n## \ud83d\ude80 \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\r\n\r\n### \ud83d\udcca **1. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a RastrWin3**\r\n\r\n```python\r\nfrom PyRastrWin import RastrWin\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\r\nrastr = RastrWin()\r\n\r\n# \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0441 \u043c\u043e\u0434\u0435\u043b\u044c\u044e *.rst \u0438\u043b\u0438 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \r\nrastr.load(filename=\"C:\\\\tmp\\\\test9.rst\")\r\n\r\n# \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0440\u0430\u0441\u0447\u0435\u0442 \u0440\u0435\u0436\u0438\u043c\u0430 \u043a\u043b\u0430\u0432\u0438\u0448\u0430 `F5`\r\nrastr.rgm()\r\n\r\n# \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0444\u0430\u0439\u043b\r\nrastr.save()\r\n\r\n#\r\n# \u041b\u0438\u0431\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \r\n\r\n# import PyRastrWin\r\nfrom PyRastrWin import rgm, load, save\r\n\r\n# import pywin32\r\nfrom win32com.client import Dispatch\r\n\r\n# \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 RastrWin \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e lib pywin32\r\nRASTR = Dispatch(\"Astra.Rastr\")\r\n\r\n# \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0441 \u043c\u043e\u0434\u0435\u043b\u044c\u044e *.rst \u0438\u043b\u0438 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0448\u0430\u0431\u043b\u043e\u043d\r\n# \u0428\u0430\u0431\u043b\u043e\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\r\nload(rastr_win=RASTR, filename=\"C:\\\\tmp\\\\test9.rst\")\r\n# \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u0448\u0430\u0431\u043b\u043e\u043d\u0443\r\n# load(rastr_win=RASTR, filename=\"C:\\\\tmp\\\\test9.rst\", name_template=\"\u0440\u0435\u0436\u0438\u043c\")\r\n\r\n# \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0440\u0430\u0441\u0447\u0435\u0442 \u0440\u0435\u0436\u0438\u043c\u0430 \u043a\u043b\u0430\u0432\u0438\u0448\u0430 `F5`\r\nrgm(rastr_win=RASTR)\r\n\r\n# \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0444\u0430\u0439\u043b\r\n# \u0428\u0430\u0431\u043b\u043e\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\r\nsave(rastr_win=RASTR, filename=\"C:\\\\tmp\\\\test9.rst\")\r\n```\r\n\r\n## \u26a1 2. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043c\u043e\u0434\u0435\u043b\u0438\r\n\r\n```python\r\n# \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \"\u041c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 P\" \u0443\u0437\u043b\u0430 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443 \r\nvalue_param = rastr.get_node(param=\"pg\", row=0)\r\nprint(value_param) # 50.0\r\n```\r\n\r\n## \u26a1 3. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043c\u043e\u0434\u0435\u043b\u0438\r\n\r\n```python\r\n# \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \"\u041c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 P\" \u0443\u0437\u043b\u0430 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443\r\nvalue_param_before = rastr.get_node(param=\"pg\", row=0)\r\nprint(value_param_before) # 50.0\r\n\r\nrastr.chenge_node(param=\"pg\", row=0, value=60.0)\r\n\r\nvalue_param_after = rastr.get_node(param=\"pg\", row=0)\r\nprint(value_param_after) # 60.0\r\n```\r\n\r\n## \ud83d\udcda \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\r\n\r\n\u041f\u043e\u043b\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435:  \r\n\ud83d\udcd6 [\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f RastrPy](https://gitverse.ru/Shurik412/PyRastrWin/content/master)\r\n\r\n## \ud83e\udd1d \u0412\u043a\u043b\u0430\u0434 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\r\n\r\n\u041c\u044b \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u043c \u0432\u0430\u0448\u0438 \u0438\u0434\u0435\u0438, \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438!\r\n\r\n\u041f\u0440\u0438\u0441\u044b\u043b\u0430\u0439\u0442\u0435 \u0441\u0432\u043e\u0438 \u0438\u0434\u0435\u0438 \u043d\u0430 \u044d\u043b. \u043f\u043e\u0447\u0442\u0443 `shurik412@mail.ru`.\r\n\r\n\u0421\u043e\u0437\u0434\u0430\u0432\u0430\u0439\u0442\u0435 **Issues** \u0438\u043b\u0438 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u0439\u0442\u0435 **Pull Requests**.\r\n\r\n## \ud83e\uddd1\u200d\ud83d\udcbb \u0410\u0432\u0442\u043e\u0440\u044b\r\n\r\n- **\u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u041e\u0445\u0440\u0438\u043c\u0435\u043d\u043a\u043e** \u2014 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430.\r\n- **\u0421\u043b\u0443\u0436\u0431\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0436\u0438\u043c\u043e\u0432/\u0424\u0438\u043b\u0438\u0430\u043b \u0410\u041e \u00ab\u0421\u041e \u0415\u042d\u0421\u00bb \u00ab\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u043e\u0435 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0441\u043a\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u043d\u0435\u0440\u0433\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0426\u0435\u043d\u0442\u0440\u0430\u00bb**\r\n\r\n## \u2696\ufe0f \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\r\n\r\n\u042d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u043e\u0434 **GitVerse 1.0**\r\n\r\n\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0441\u043c. [GitVerse 1.0](LICENSE).\r\n\r\n\r\n# Changelog\r\n\r\n\u0412\u0441\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435.\r\n\r\n## [0.1.5] - 2025-01-26\r\n\r\n### Added in [0.1.5]\r\n\r\n- \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0432 configure_logging_save_file \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 filename \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043b\u043e\u0433\u043e\u0432 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043d\u043c.\r\n\r\n```python\r\n\r\nconfigure_logging_save_file(level=logging.DEBUG, filename: str = \"\")\r\n```\r\n\r\n### Changed\r\n\r\n- \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f API (README.md).\r\n\r\n### Fixed\r\n\r\n- \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0432 \u043c\u043e\u0434\u0443\u043b\u044f\u0445.\r\n\r\n## [0.1.5] - 2025-01-26\r\n\r\n### Added in [0.1.5]\r\n\r\n- \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0438\u043c\u043f\u043e\u0440\u0442\u044b\r\n\r\n```python\r\nfrom PyRastrWin import rgm        # \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0440\u0435\u0436\u0438\u043c\u0430;\r\nfrom PyRastrWin import calc_i_dop # \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0442\u043e\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 (\u0422\u041d\u0412) \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0432\u043e\u0437\u0434\u0443\u0445\u0430 \u0438 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u043e \u0442\u043e\u043a\u0443;\r\nfrom PyRastrWin import run        # \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0440\u0430\u0441\u0447\u0435\u0442 \u042d\u041c\u041f\u041f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u043c\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u00ab\u0414\u0438\u043d\u0430\u043c\u0438\u043a\u0430\u00bb.;\r\nfrom PyRastrWin import run_ems    # \u041f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u0440\u0430\u0441\u0447\u0435\u0442 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u042d\u041c\u041f\u041f \u0432 EMS-\u0440\u0435\u0436\u0438\u043c\u0435;\r\nfrom PyRastrWin import mdp        # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u041c\u0414\u041f;\r\nfrom PyRastrWin import ekv        # \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u042d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438;\r\n```\r\n\r\n### Changed\r\n\r\n- \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f API (README.md).\r\n\r\n### Fixed\r\n\r\n- \r\n\r\n## [0.1.4] - 2025-01-08\r\n\r\n### Added in [0.1.4]\r\n\r\n- \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 \u043f\u043e\u043b\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.\r\n- \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438 \u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 node (\u0423\u0437\u043b\u044b).\r\n\r\n```python\r\n# \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \"\u041c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 P\" \u0443\u0437\u043b\u0430 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443\r\nvalue_param_before = rastr.get_node(param=\"pg\", row=0)\r\nprint(value_param_before) # 50.0\r\n\r\n# \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \"\u041c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 P\" \u0443\u0437\u043b\u0430 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u043e\u043c\u0443 \u043d\u043e\u043c\u0435\u0440\u0443\r\nrastr.chenge_node(param=\"pg\", row=0, value=60.0)\r\n\r\nvalue_param_after = rastr.get_node(param=\"pg\", row=0)\r\nprint(value_param_after) # 60.0\r\n```\r\n\r\n## [0.1.3] - 2025-01-08\r\n\r\n### Changed\r\n\r\n- \u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f API (README.md).\r\n\r\n## [0.1.2] - 2025-01-07\r\n\r\n### Added in [0.1.2]\r\n\r\n- \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043b\u044f API (README.md).\r\n\r\n### Fixed\r\n\r\n- \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u0438\u043c\u043f\u043e\u0440\u0442\u0435 \u043c\u043e\u0434\u0443\u043b\u044f logger.\r\n\r\n## [0.1.1] - 2025-01-07\r\n\r\n### Added in [0.1.1]\r\n\r\n- \u041f\u0435\u0440\u0432\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.\r\n- \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438. \u0417\u0430\u043f\u0443\u0441\u043a \u0440\u0430\u0441\u0447\u0435\u0442\u0430: \u0423\u0441\u0442. \u0440\u0435\u0436\u0438\u043c\u0430, \u042d\u041c\u0435\u0445\u041f\u041f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Run \u0438 EMS, \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.\r\n",
    "bugtrack_url": null,
    "license": "GitVerse 1.0",
    "summary": "Python-\u043f\u0430\u043a\u0435\u0442 \u0434\u043b\u044f \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 RastrWin3",
    "version": "0.1.6",
    "project_urls": {
        "Homepage": "https://gitverse.ru/Shurik412/PyRastrWin"
    },
    "split_keywords": [
        "pyrastrwin",
        " rastrwin3",
        " rastrwin",
        " rustab",
        " rastr",
        " rastr_win",
        " rastr_win3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e2dc97bbb2987a9ba6a734ccc1afde776e795a64a40ea7e489f20c29407ff0c",
                "md5": "c3f3dc0bb63ee27ce2309678f4726201",
                "sha256": "60da1a6d101246471c026cb3fa3eb16fad85bc598d0605c062e14dc788954234"
            },
            "downloads": -1,
            "filename": "PyRastrWin-0.1.6-py3-none-win32.whl",
            "has_sig": false,
            "md5_digest": "c3f3dc0bb63ee27ce2309678f4726201",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 38119,
            "upload_time": "2025-01-26T16:10:08",
            "upload_time_iso_8601": "2025-01-26T16:10:08.087329Z",
            "url": "https://files.pythonhosted.org/packages/0e/2d/c97bbb2987a9ba6a734ccc1afde776e795a64a40ea7e489f20c29407ff0c/PyRastrWin-0.1.6-py3-none-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41fa07eb57dc640c2b7f87e15d0b5e5fcb1df902fe2e3e7e6c03d905b71a3adf",
                "md5": "550c4230f45dfd1a32df8bcd6e213fab",
                "sha256": "2f386abdb8f2ad972ede39d757cb9930797c76b38d3afe43adb45f43126913be"
            },
            "downloads": -1,
            "filename": "PyRastrWin-0.1.6-py3-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "550c4230f45dfd1a32df8bcd6e213fab",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 38123,
            "upload_time": "2025-01-26T16:10:12",
            "upload_time_iso_8601": "2025-01-26T16:10:12.369963Z",
            "url": "https://files.pythonhosted.org/packages/41/fa/07eb57dc640c2b7f87e15d0b5e5fcb1df902fe2e3e7e6c03d905b71a3adf/PyRastrWin-0.1.6-py3-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6068169e8b55ea229e02128f3f79226c3ede835b680ec9c2158d6a32fab7dab4",
                "md5": "410b5038be4be8ce79d11430015e5d7f",
                "sha256": "73040827b826423d0d5c63a9a0690d6e897249e65a4b338ba363d277173b0944"
            },
            "downloads": -1,
            "filename": "pyrastrwin-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "410b5038be4be8ce79d11430015e5d7f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 32798,
            "upload_time": "2025-01-26T16:10:14",
            "upload_time_iso_8601": "2025-01-26T16:10:14.237000Z",
            "url": "https://files.pythonhosted.org/packages/60/68/169e8b55ea229e02128f3f79226c3ede835b680ec9c2158d6a32fab7dab4/pyrastrwin-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-26 16:10:14",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyrastrwin"
}
        
Elapsed time: 0.39891s