Metadata-Version: 2.1
Name: run-markdown
Version: 1.2.66852
Summary: Extract and run code blocks from .md files
License: Unpublished
Author: Mike Orlov
Author-email: m.orlov@technokert.ru
Requires-Python: >=3.11,<4.0
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: mistune (>=3.0.2,<4.0.0)
Description-Content-Type: text/markdown

### RunMarkdown
Extract and run code blocks from .md files
### Пример проверки кода на python
```python
print(2+3)
```
Ожидаем результат
```
5
```

### Пример проверки кода, не завершающегося за 1 сек
```bash
for i in {1..20}; do echo $i; sleep 0.3; done
```
за одну секунду ожидаем первые 4 числа:
```
1
2
3
4
```


### Пример проверки кода, c шаблонизированным результатом
Этот механизм работает только для текстовых результатов
#### Пример проверки кода, c шаблонизированной строкой
```python
import datetime
print(datetime.datetime.now().year)
```
Ожидаем, что текущий год начинается с `20`
```
20...
```
#### Пример проверки кода, c произвольными наборами строк
```python
import datetime
[print("hay") for _ in range(datetime.datetime.now().second // 10)]
print('needle')
[print("hay") for _ in range(datetime.datetime.now().minute // 10)]
```
Ожидаем, что текущий год начинается с `20`
```
***
needle
***
```


### Пример проверки кода, возвращающего json
В json порядок атрибутов объектов не гарантирован, что может стать проблемой при текстовом сравнении  
Кроме того минифицированный json (без переносов строк и пробелов) эквивалентен своей полной форме 
```python
import json
print(json.dumps({"a": 1, "b": 2}))  # напечатает строку '{"a": 1, "b": 2}'
```
опишем ожидаемый результат в развёрнутом виде:
```json
{
  "b": 2,
  "a": 1
}
```

### Пример проверки кода, возвращающего из python stderr
Кроме стандартного потока вывода(stdout) есть ещё и поток ошибок(stderr), они объединяются в единый вывод
```python
import sys
print("something")
print('other', file=sys.stderr)
print('''third\nforth''', file=sys.stderr)
```
Опишем ожидаемый результат в развёрнутом виде:
```text
something
other
third
forth
```

### Пример многострочника c кавычками на bash
