Metadata-Version: 2.4
Name: quirtylog
Version: 0.7.0
Author-email: agdiiura <andreadiiura@gmail.com>
Project-URL: Homepage, https://github.com/agdiiura/quirtylog
Project-URL: Documentation, https://quirtylog.readthedocs.io/en/stable/index.html
Project-URL: Repository, https://github.com/agdiiura/quirtylog.git
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: coloredlogs>=10.0
Requires-Dist: joblib>=1.3.2
Requires-Dist: PyYAML>=6.0.1
Requires-Dist: tqdm>=4.66.1
Provides-Extra: build
Requires-Dist: ruff>=0.14.0; extra == "build"
Requires-Dist: colorama>=0.4.6; extra == "build"
Requires-Dist: coverage>=7.0; extra == "build"
Requires-Dist: isort>=6.0.0; extra == "build"
Requires-Dist: pre-commit>=4.0.0; extra == "build"
Requires-Dist: setuptools-git-versioning>=1.13.4; extra == "build"
Requires-Dist: unittest-xml-reporting>=3.2.0; extra == "build"
Requires-Dist: pandas>=2.2.0; extra == "build"
Provides-Extra: docs
Requires-Dist: GitPython>=3.1.3; extra == "docs"
Requires-Dist: recommonmark>=0.5.0; extra == "docs"
Requires-Dist: requests>=2.23.0; extra == "docs"
Requires-Dist: Sphinx==8.2.3; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=1.20.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "docs"
Dynamic: license-file

![Alt text](logo.png?raw=true "Title")

# ⚡ quirtylog ⚡


[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Documentation Status](https://readthedocs.org/projects/quirtylog/badge/?version=latest)](https://quirtylog.readthedocs.io/en/latest/?badge=latest)


Quick & dirty logging in python.


### Installation
To install the package the simplest procedure is:
```bash
pip install quirtylog
```
Now you can test the installation... In a python shell:

```python
import quirtylog

quirtylog.__version__
```

#### Installation from source
Once you have cloned the repository
```bash
pip install .
```
To use the develop mode just write `pip install -e .`.

The file `pyproject.toml` contains the packages needed for the installation.
The code requires `python3.11+`.


### Examples
The package creates custom loggers object.

```python
import quirtylog

log_path = "/path/to/logs"
logger = quirtylog.create_logger(log_path=log_path)
```
It is also possible to create decorators to be
used in a user-defined function.

```python
import quirtylog


@quirtylog.measure_time(logger)
def f(x):
    """A function that do nothing"""
    return x


@quirtylog.measure_time(logger)
def g(x):
    """A function that raise an exception"""
    return x / 0.
```
It can also be used as a wrapper for
external scripts

```bash
python -m quirtylog main.py
```
For further examples see the folder [`examples`](examples).

### Contributing
If you want to contribute to this project, please follow the guidelines in the [CONTRIBUTING.md](CONTRIBUTING.md).

### Official soundtrack
[Jhonny Cash - The Frozen Logger](https://www.youtube.com/watch?v=KUfzDIKGkQI)
