Metadata-Version: 2.1
Name: gmanka_yml
Version: 23.0.2
Summary: some useful shortcuts for pyyaml
Project-URL: Homepage, https://github.com/gmankab/yml
Project-URL: Documentation, https://github.com/gmankab/yml
Project-URL: Bug Tracker, https://github.com/gmankab/yml/issues
Author-email: gmanka <gmankab@gmail.com>
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: pyyaml
Description-Content-Type: text/markdown

# gmanka yml

some useful shortcuts for pyyaml

## installation

```bash
pip install gmanka_yml
```

## functions

- [to_str](#to_str)  
- [to_file](#to_file)  
- [read_str](#read_str)  
- [read_file](#read_file)  

## to_str[^](#functions)

converts any data to yml string and returns it

```py
import gmanka_yml as yml

my_dict = {
    'element_1': 1,
    2: 'element_2',
    3: [
        'list_element_1',
        'list_element_2',
    ]
}

print(yml.to_str(my_dict))
```

output:

```yaml
element_1: 1
2: element_2
3:
- list_element_1
- list_element_2
```

## to_file[^](#functions)

same as [to_str](#to_str), but writes data to file instead of returning

```py
yml.to_file(
    data = my_dict,
    path = 'file.yml',
)
```

## read_str[^](#functions)

```py
import gmanka_yml as yml

my_str = '''
element_1: 1
2: element_2
3:
- list_element_1
- list_element_2
'''

my_dict = yml.read_str(my_str)

print(my_dict)

print(type(my_dict))
```

output:

```py
{'element_1': 1, 2: 'element_2', 3: ['list_element_1', 'list_element_2']}

<class 'dict'>
```

## read_file[^](#functions)

same as [read_str](#read_str), but reads data from file

```py
yml.read_file('file.yml')
```

## default values

```py
yml.read_str(1) # raises TypeError

yml.read_str(1, default = None) # returns None
```

## expected_type

```py
yml.read_str(
    data = '{}',
    expected_type = list,
) # raises TypeError

yml.read_str(
    data = '{}',
    default = None,
    expected_type = list,
) # returns None
```

