Improved readmes

This commit is contained in:
Dmitriy Shishkov 2023-09-21 21:13:05 +03:00
parent c40a1b4f92
commit c705a0ed02
Signed by: dm1sh
GPG Key ID: 027994B0AA357688
4 changed files with 101 additions and 9 deletions

View File

@ -8,7 +8,7 @@
Модуль можно запустить командой `python -m rosseti_parser`, или импортировать из него необходимые методы и использовать где-то ещё
- Анализ данных: [main.ipynb](https://git.dm1sh.ru/dm1sh/iac_test/src/branch/main/main.ipynb)
- Анализ данных: [analysis.ipynb](https://git.dm1sh.ru/dm1sh/iac_test/raw/branch/main/analysis.ipynb)
Необходимо скачать (платформа пока не поддерживает отображение ноутбука). Для запуска, установить библиотеки из `requirements.dev.txt`
@ -19,11 +19,3 @@
- Создание базы данных, API и docker: [parser_api](https://git.dm1sh.ru/dm1sh/iac_test/src/branch/main/parser_api)
FastAPI приложение, запускающее в дополнительном потоке периодическое обновление данных в базе.
Доступные методы:
- GET /api/list - Поиск по каждому полю в отдельности
- GET /api/search - Поиск по всем полям сразу
- GET /api/check - Проверка, является ли отключение в вашем доме сейчас официальным и если да, то когда сеть снова включат.
- PUT /api/create - Отладочное поле для добавления записей в БД
- GET / - Healthcheck

27
parser_api/README.md Normal file
View File

@ -0,0 +1,27 @@
# Parser API
## Описание
FastAPI REST API, предоставляющий доступ к данным с сайта [Россети Ленэнерго](https://rosseti-lenenergo.ru/planned_work/).
## Доступные методы
- GET `/api/list` - Поиск по каждому полю в отдельности
- GET `/api/search` - Поиск по всем полям сразу
- GET `/api/check` - Проверка, является ли отключение в вашем доме сейчас официальным и если да, то когда сеть снова включат.
- PUT `/api/create` - Отладочное поле для добавления записей в БД
- GET `/` - Healthcheck
Подробнее: [Swagger UI](http://localhost:8000/docs) когда запущенно приложение
## Инструкция по запуску
В корневой папке проекта:
```bash
python -m venv .venv
pip install -r requirements.txt
python -m uvicorn parser_api.main:app
```

73
rosseti_parser/README.md Normal file
View File

@ -0,0 +1,73 @@
# Rosseti parser
## Описание
Библиотека, куда собран код, необходимый для получения, обработки и сохранения данных с сайта [Россети Ленэнерго](https://rosseti-lenenergo.ru/planned_work/)
## Интерфейс
- `RossetiParser`:
```python
class RossetiParser:
def __init__(self, ndays=7, today: Optional[datetime] = None, file_path: Optional[str] = None) -> None
self.base_url: str
self.ndays: int
self.today: datetime
self.df: pd.DataFrame
def __str__(self) -> str
def fetch(self, ndays: Optional[int] = None, today: Optional[datetime] = None) -> None
def save_df(self, file_path: str) -> None
def load_df(self, file_path: str) -> None
```
- `split_addresses`:
```python
def split_addresses(df: pd.DataFrame) -> pd.DataFrame
```
- `fetch_builing_ids`:
```python
def fetch_builing_ids(df: pd.DataFrame) -> pd.DataFrame
```
- `preprocess_df`:
```python
def preprocess_df(df: pd.DataFrame) -> pd.DataFrame
```
- `COL_NS`:
```python
COL_NS: Dict[str, str]
```
- `ICOL_NS`:
```python
ICOL_NS: Dict[str, str]
```
- `preprocess_read_df`:
```python
def preprocess_read_df(df: pd.DataFrame) -> pd.DataFrame
```
- `group_by_index`:
```python
def group_by_index(df: pd.DataFrame) -> pd.DataFrame
```
- `pipeline`:
```python
def pipeline(parser: Optional[RossetiParser] = None) -> RossetiParser
```
## Инструкция по запуску
В корневой папке проекта:
```bash
python -m venv .venv
pip install -r requirements.txt
python -m rosseti_parser [<Период в часах>]
```
Формат сохраняемых файлов: `data_%d-%m-%y_%H:%M.csv`