Metadata-Version: 2.1
Name: PyRastrWin
Version: 0.1.4
Summary: Python-пакет для взаимодействия с RastrWin3
Home-page: https://gitverse.ru/Shurik412/PyRastrWin
Author: Shurik412
Author-email: shurik412@mail.ru
License: GitVerse 1.0
Keywords: PyRastrWin,RastrWin3,RastrWin,RUSTab,Rastr,rastr_win,rastr_win3
Platform: Windows
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3.10
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pywin32>=306
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: twine>=4.0.2; extra == "dev"

# **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:\\test9.rst")

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

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

## ⚡ 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
```

<!-- ## 📈 4. Экспорт данных для анализа

```python
import pandas as pd

# Получаем таблицу ветвей
branches = rastr.get_table("branch")

# Анализируем данные с Pandas
print(branches.describe())
``` -->

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

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

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

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

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

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

## 🧑‍💻 Авторы

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

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

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

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


# Changelog

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

## [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, эквивалетирование.
