semvec/pypi-packages huggingface dataset:
sponsored-ads-service 3.0.3rc1
S4F service responsible for sponsored ads

# Sponsored Ads Service

[![python](https://img.shields.io/badge/python-3.12-informational)](https://docs.python.org/3.12/)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![pytest](https://img.shields.io/badge/pytest-enabled-brightgreen)](https://docs.pytest.org/en/latest/)
[![sentry](https://img.shields.io/badge/sentry-enabled-blueviolet)](https://sentry-gcp.takealot.com/takealot/ads-service/)
[![sonarqube](https://img.shields.io/badge/sonarqube-enabled-informational)](https://sonarqube.stagealot.com/dashboard?id=sponsored-ads-service)
[![docs](https://img.shields.io/badge/docs-mkdocs-informational)](https://www.mkdocs.org/)

## Getting Started

Getting started with developing on sponsored-ads-service

### Viewing Documentation

To view the full documentation of the project, make sure you pull the repo and run the following:

```bash
pip install -e .[docs]
mkdocs serve
```

> **Note:** If you get errors when starting mkdocs, ensure that you have the client installed:
> ```bash
> pip install -e ./client
> ```

The docs will be hosted locally on port 8000 (http://localhost:8000/)

### Project Setup

These steps will go through how to set up your developer environment

#### Setup your virtual environment

You will have 2 choices here depending on whether you use `virtualenv` or `pyenv-virtualenv`

1. Using `virtualenv`:
    ```bash
    virtualenv -p python3 venv
    source venv/bin/activate
    ```

2. Using `pyenv-virtualenv`:
    ```bash
    pyenv virtualenv 3.12 sponsored-ads-service
    echo "sponsored-ads-service" >| .python-version
    ```

#### Install dependencies

Install the service and developer dependencies, as well as, configure pre-commit

```bash
pip install -e .
pip install -e .[dev]
pre-commit install
```

> **Note:** If you are using zsh you may need to either:
>   1. Add unsetopt nomatch to your `~/.zshrc`
>   2. Use `pip install -e .\[dev\]` instead

> **Note:** If you want to run the pre-commits without committing to a branch:
> ```bash
> pre-commit run
> ```

#### Build Client Locally

```bash
pip install -e ./client
```

### Kubernetes Quickstart (Local)

Starting up a developer patched sponsored-ads-service in your local environment.

> **Note:** Before you begin, you must have completed the steps from the [Project Setup](#project-setup) section.

```bash
helm install -n sponsored-ads-service --set dev.patch=true,dev.hostPath=$PWD charts/sponsored-ads-service
```
Func3DCad 1.3.2
A Python library for parametric 3D modeling and CAD operations.

# Func3DCad

Func3DCad - это Python-пакет для работы с 3D-моделями, включающий базовые функции по созданию, трансформации, вычислениям, экспорту и рендерингу моделей.

## Возможности

- Создание 3D-моделей (вершины и грани)
- Трансформации (масштабирование, перемещение)
- Вычисление площади поверхности и объема модели
- Экспорт и импорт моделей из файлов
- Упрощенный рендеринг модели в консоли

## Установка

```bash
pip install Func3DCad
```

## Использование

### Импорт библиотеки

```python
from Func3DCad import Model3D, Transform, calculate_volume, calculate_surface_area, export_model, import_model, render_model
```

### Создание модели

```python
model = Model3D()
model.add_vertex((0, 0, 0))
model.add_vertex((1, 0, 0))
model.add_vertex((0, 1, 0))
model.add_face((0, 1, 2))
```

### Трансформации

```python
Transform.scale(model, 2)  # Увеличить в 2 раза
Transform.translate(model, 1, 1, 1)  # Сместить на (1,1,1)
```

### Вычисления

```python
volume = calculate_volume(model)
surface_area = calculate_surface_area(model)
print(f"Объем: {volume}, Площадь поверхности: {surface_area}")
```

### Экспорт и импорт модели

```python
export_model(model, "model.txt")
new_model = import_model("model.txt")
```

### Рендеринг в консоли

```python
render_model(model)
```

## Разработка

Если вы хотите внести вклад в развитие проекта, форкните репозиторий и создайте Pull Request.

## Лицензия

Этот проект распространяется под лицензией MIT.
wikimedia-connection 0.0.4
Not recommended for an actual use, nowadays I would write something far better.

likely should not be used if you can avoid it

nowadays I would write something far better than THIS

it has several horrible design decisions, starting from storing cache elements as files, not in the database

also, you need to setup [osm_handling_config](https://codeberg.org/matkoniecz/osm_handling_config) first (pull request to remove that dependency is highly welcome here!)

# Running tests

`python3 -m unittest`