Metadata-Version: 2.4
Name: ycf-tools
Version: 0.1.9
Summary: Yandex Cloud Function tools
Author-email: Aleksei Marusich <aleksei.marusich@rocshers.com>
License: MIT
License-File: LICENSE
Keywords: cloud,function,rocshers,yandex
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Software Distribution
Requires-Python: >=3.12
Requires-Dist: pydantic>=2
Provides-Extra: cli
Requires-Dist: boto3>=1.36.16; extra == 'cli'
Requires-Dist: clickpy-client>=0.1.5; extra == 'cli'
Requires-Dist: cryptography>=44.0.1; extra == 'cli'
Requires-Dist: httpx>=0.28.1; extra == 'cli'
Requires-Dist: package-schemes==0.1.2; extra == 'cli'
Requires-Dist: packaging-version-git>=0.1.2; extra == 'cli'
Requires-Dist: pydantic-settings>=2; extra == 'cli'
Requires-Dist: pyjwt>=2.10.1; extra == 'cli'
Requires-Dist: rich>=13.9.3; extra == 'cli'
Requires-Dist: typer>=0.12.5; extra == 'cli'
Description-Content-Type: text/markdown

# Yandex Cloud Functions Tools

[![PyPI](https://img.shields.io/pypi/v/ycf-tools)](https://pypi.org/project/ycf-tools/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/ycf-tools)](https://pypi.org/project/ycf-tools/)

[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=rocshers_ycf-tools&metric=coverage)](https://sonarcloud.io/summary/new_code?id=rocshers_ycf-tools)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=rocshers_ycf-tools&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=rocshers_ycf-tools)

[![Downloads](https://static.pepy.tech/badge/ycf-tools)](https://pepy.tech/project/ycf-tools)
[![GitLab stars](https://img.shields.io/gitlab/stars/rocshers/python/ycf-tools)](https://gitlab.com/rocshers/python/ycf-tools)
[![GitLab last commit](https://img.shields.io/gitlab/last-commit/rocshers/python/ycf-tools)](https://gitlab.com/rocshers/python/ycf-tools)

## Functionality

- Support for type hints
- Wrapper for convenient request `handling`
- Sentry integration

## Installation

`pip install ycf-tools`

or add `ycf-tools` in `requirements.txt`

## Quick start

```python
# module.py

from ycf import YcfServer, Context, HttpRequest

class Server(YcfServer):
    async def http_request_handler(self, context: Context, request: HttpRequest):
        return 'OK'
    

server = Server()

# entrypoint -> module.server
```

## Contribute

Issue Tracker: <https://gitlab.com/rocshers/python/ycf-tools/-/issues>  
Source Code: <https://gitlab.com/rocshers/python/ycf-tools>

Before adding changes:

```bash
make install-dev
```

After changes:

```bash
make format test test-go test-python
```
