semvec/pypi-packages huggingface dataset:
subtune 1.0.0
Tune SRT subtitle timings with ease
License: MIT
Requires Python: >=3.9
Keywords: cli, shift, srt, subtitle, sync, timing, video

# subtune

[![Tests](https://github.com/rafa-garcia/subtune/actions/workflows/test.yml/badge.svg)](https://github.com/rafa-garcia/subtune/actions/workflows/test.yml)
[![Release](https://github.com/rafa-garcia/subtune/actions/workflows/release.yml/badge.svg)](https://github.com/rafa-garcia/subtune/actions/workflows/release.yml)

A CLI tool for adjusting SRT subtitle timestamps with precision and safety.

## Features

- **Precise timing adjustment** - Shift subtitles by milliseconds
- **Safe operations** - Optional backup creation before modifications  
- **Robust validation** - Input validation with helpful error messages

## Installation

Install from PyPI:
```bash
pip install subtune
```

Or install from source:
```bash
git clone https://github.com/rafa-garcia/subtune.git
cd subtune
pip install .
```

## Usage

### Basic Usage
```bash
# Shift subtitles 2 seconds later
subtune input.srt --offset 2000 output.srt

# Shift subtitles 1.5 seconds earlier  
subtune input.srt --offset -1500 output.srt
```

### Advanced Options
```bash
# Modify in-place with backup
subtune input.srt --offset 1000 --backup

# Short flags
subtune input.srt -o 1000 -b
```

### Command Reference
```
$ subtune --help
usage: subtune [-h] -o OFFSET [--output OUTPUT] [-b] [--version] input_file

Shift SRT subtitle timestamps by a specified offset

positional arguments:
  input_file            Input SRT file path

optional arguments:
  -h, --help            show this help message and exit
  -o OFFSET, --offset OFFSET
                        Time offset in milliseconds (positive=forward,
                        negative=backward)
  --output OUTPUT       Output file path (default: modify input file in-place)
  -b, --backup          Create backup of input file before modification
  --version             show program's version number and exit
```

## Development

### Quick Start
```bash
# Install development dependencies
pip install -e ".[dev]"

# Run all tests
pytest

# Verbose output with details
pytest -v

# Run specific test file
pytest tests/test_cli.py

# Run tests with coverage
pytest --cov=src/subtune

# Generate HTML coverage report
pytest --cov=src/subtune --cov-report=html
open htmlcov/index.html

# Check code quality
ruff check src/ tests/
```

## License

MIT License - see [LICENSE](LICENSE) file for details.
explicit-python-django 1.1.0
Набор компонентов для интеграции explicit с django
License: MIT

# Explicit-Django
## Набор компонентов для интеграции Explicit с Django.

### Базовая единица работы на транзакциях Django ORM.

```python
# persons/core/unit_of_work.py

from explicit.django.unit_of_work import BaseUnitOfWork

from persons.core.persons.adapters.db import Repository as PersonsRepository
from persons.core.persons.adapters.db import repository as persons_repository

# (имя атрибута, инстанс репо)
KNOWN_REPOS = (
    ('persons', persons_repository),
)


class UnitOfWork(BaseUnitOfWork):

    persons: PersonsRepository

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._registry.register(*KNOWN_REPOS)
```

### Декоратор для преобразования ошибок валидации предметной области в ошибки валидации Django
```python
from explicit.django.domain.validation.exceptions import handle_domain_validation_error

class ViewSet(...):

   @handle_domain_validation_error
   def create(self, request, *args, **kwargs):
       command = Command(...)
       bus.handle(command)

```
## Запуск тестов
```sh
$ tox
```
>>>>>>> e30984f (EDUEO-552 Вынос интеграции с django в отдельный пакет.)
m3-adapter-client 1.2.0
M3 UI клиента для взаимодействия со СМЭВ3 посредством Адаптера
License: MIT

# M3 UI клиента для взаимодействия со СМЭВ3 посредством Адаптера

## Подключение
settings:

    INSTALLED_APPS = [
        'adapter_client',
        'm3_adapter_client'
    ]


apps:

    from django.apps.config import AppConfig as AppConfigBase

    class AppConfig(AppConfigBase):

        name = __package__

        def ready(self):
            self._init_adapter_client()

        def _init_adapter_client(self):
            from adapter_client.config import ProductConfig, set_config

            set_config(ProductConfig())

app_meta:

    from django.conf.urls import url
    from m3_adapter_client import actions
    from .controllers import controller

    def register_actions():
        controller.extend_packs((
            actions.Pack(),
            actions.JournalPack(),
        ))

## Запуск тестов
    $ tox