semvec/pypi-packages huggingface dataset:
archetypal 2.18.10
Retrieve, construct, simulate, convert and analyse building archetypes
License: MIT
Requires Python: <4.0,>=3.9

[![Build Status](https://github.com/samuelduchesne/archetypal/actions/workflows/python-package.yml/badge.svg?branch=main)](https://github.com/samuelduchesne/archetypal/actions/workflows/python-package.yml)
[![Coverage Status](https://coveralls.io/repos/github/samuelduchesne/archetypal/badge.svg)](https://coveralls.io/github/samuelduchesne/archetypal)
[![Documentation Status](https://readthedocs.org/projects/archetypal/badge/?version=latest)](https://archetypal.readthedocs.io/en/latest/?badge=latest)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.01833/status.svg)](https://doi.org/10.21105/joss.01833)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

# Archetypal

**python for building simulation archetypes**

Retrieve, construct, simulate, convert and analyze building simulation
templates

## Overview

**Archetypal** is a Python package that helps handle building
archetypes.

## Changes since v2.0.0

The conversion of [EnergyPlus](https://energyplus.net) IDF models to
Trnsys
[TrnBuild](http://www.trnsys.com/features/suite-of-tools.php.html)
Models (compatible with the multizone building model) is now part of a
distinct package known as the
[trnslator](https://github.com/louisleroy5/trnslator).

## Features

Here is a short overview of features that are part of archetypal:

1. Building Complexity Reduction: A utility to transform a multizone
   EnergyPlus model to a two-zone normalized model. Such models are
   called `building archetypes` and are the foundation of the
   [UMI Energy Module](https://umidocs.readthedocs.io/en/latest/docs/model-setup-template.html).
   This tool will allow any EnergyPlus model to be imported into
   [UMI](http://web.mit.edu/sustainabledesignlab/projects/umi/index.html)
   and drastically speedup the UBEM process.

## Installation

Recommended to use a conda environement running python 3.8. Pip install should work on all platforms (linux, macOS and Windows).
First,

```cmd
conda create -n venv python=3.8
```

`-n venv` is the name of your environement; it can be anything.
Then,

```cmd
pip install -U archetypal
```

## Local Development

1. Clone this repo locally

```console
git clone https://github.com/samuelduchesne/archetypal.git
```

2. Install dependencies:

```console
cd archetypal
conda env create
```

This will create a new environment named `archetypal`. Don't forget to activate the environment.

3. Run Tests:

```console
python -m pytest tests/
```

4. Generate Documentation:

```console
make html
```
Async-SdamGia-Api 0.0.1
Python module for interacting with the educational platform Sdam GIA
License: MIT
Requires Python: >=3.12
Keywords: sdamgia, ege, education, api, scraping

# Async-sdamgia-api

Неофициальный асинхронный Python-клиент для работы с платформой `sdamgia.ru`: получение задач, поиск, работа с категориями и тестами, генерация PDF и OCR-поиск по изображению.

## Что умеет

- получать задачу по `id` (`get_problem_by_id`)
- искать задачи по тексту (`search`)
- получать задачи теста по `testid` (`get_test_by_id`)
- получать задачи категории (`get_category_by_id`)
- загружать каталог тем и категорий (`get_catalog`)
- генерировать тест (`generate_test`)
- получать ссылку на PDF теста (`generate_pdf`)
- искать задачи по изображению через OCR (`search_by_img`)

Поддерживаемые предметы (коды):
`math`, `mathb`, `phys`, `inf`, `rus`, `bio`, `en`, `chem`, `geo`, `soc`, `de`, `fr`, `lit`, `sp`, `hist`.

## Установка

Требования:
- Python `3.12+`

```bash
pip install sdamgia-api
```

Для разработки:

```bash
python -m pip install --upgrade pip
python -m pip install -e .[dev]
```

## Быстрый старт

```python
import asyncio
from sdamgia import SdamGIA


async def main() -> None:
    async with SdamGIA() as api:
        problem = await api.get_problem_by_id("math", "1001")
        print(problem["id"], problem["answer"])


asyncio.run(main())
```

## Примеры API

```python
# Поиск задач
ids = await api.search("math", "Найдите количество")

# Каталог предмета
topics = await api.get_catalog("math")

# Генерация теста и PDF
new_test_id = await api.generate_test("math", {"full": 1})
pdf_url = await api.generate_pdf("math", new_test_id, pdf="h")
```

Рендер задачи в изображение (`get_problem_by_id`) поддерживает `img`:
- `pyppeteer`
- `grabzit`
- `html2img`

## OCR-поиск по изображению

Метод `search_by_img` использует `pytesseract`.

1. Установите Python-пакет (если не установлен):

```bash
pip install pytesseract
```

2. Установите `Tesseract-OCR` в ОС и при необходимости укажите путь:

```python
api.tesseract_src = "/usr/bin/tesseract"
# Windows пример: C:/Program Files/Tesseract-OCR/tesseract.exe
```

3. Запустите поиск:

```python
ids = await api.search_by_img("rus", "Image.jpg")
```

## Тесты

В проекте используется live-контур (реальные запросы к `*.sdamgia.ru`):

```bash
pytest -m live -q
```

Важно:
- тесты зависят от сети и доступности внешнего сайта
- структура внешнего HTML может меняться без предупреждения
- OCR ветка в тестах замокана (без обязательной установки Tesseract)

## CI

GitHub Actions запускает live-тесты на `push` и `pull_request` для Python `3.12` и `3.13`.
При падении сохраняются логи (`junit` + `live.log`) как artifacts.

## Для AI-агентов

В репозитории есть файл `AGENTS.md` с обязательными правилами для агентной разработки:

- кодстайл и требования к Python-коду
- правила по docstring (Google-style)
- требования к тестам
- список доступных skills и когда их применять

Если вы используете Codex/агента, начинайте с чтения `AGENTS.md`.

## Лицензия

MIT