semvec/pypi-packages huggingface dataset:
myseotools 0.1.6
Simple and powerful SEO toolkit in Python
Requires Python: >=3.7


# 📦 My SEO Tools

**My SEO Tools** is a simple yet powerful Python SEO toolkit that helps developers and analysts quickly audit websites using Python.

It includes checks for meta tags, images, keyword density, named entities, canonical tags, broken links, and internal links. All results can be exported to JSON or CSV.

---

## 🚀 Features

- ✅ Meta tag extractor (`title`, `description`)
- 🔗 Broken link checker (internal & external)
- 🧠 Keyword density analyzer
- 🏷️ Named entity extractor (via spaCy)
- 📎 Canonical & Open Graph tag validator
- 🖼️ Image audit (missing alt, large files, preload recommendations)
- 📤 Export results to CSV or JSON

---

## 📦 Installation

```bash
pip install myseotools
```

---

## 🧪 Example Usage

```python
from myseotools.meta_checker import check_meta
from myseotools.image_audit import audit_images
from myseotools.keyword_analyzer import analyze_keyword_density
from myseotools.entity_extractor import extract_entities

url = "https://example.com"

print("🔍 Meta Info:", check_meta(url))
print("🖼️ Image Issues:", audit_images(url))
print("📊 Keyword Density:", analyze_keyword_density(url))
print("🧠 Entities:", extract_entities(url))
```

---

## 📄 Sample Output

```python
{'title': 'Busting CIBIL Score Myths: Get the CIBIL Score Facts Right',
 'description': 'Discover the truth behind common CIBIL score myths. Learn how to maintain a healthy credit score and make informed financial decisions with Airtel Finance.'}
```

---

## 📁 Exporting to CSV or JSON

To save results:

```python
from myseotools.meta_checker import check_meta
import json

data = check_meta("https://example.com")

with open("results.json", "w") as f:
    json.dump(data, f, indent=2)
```

Or to CSV using the `csv` module.

---

## 🧠 Dependencies

- Python 3.7+
- `requests`
- `beautifulsoup4`
- `spacy`
- `lxml`

---

## 🛠️ Notes

- CLI support was available in earlier versions but may not be included in v0.1.4 depending on build.
- You can mix and match modules depending on your audit needs.

---

## 💬 License

MIT

---

## 🙌 Author

Built by **Amal Alexander**  
Feel free to contribute or fork for your own SEO workflows!
extractedframes 1.0.0
CLI tool to extract frames from videos
Requires Python: >=3.12

# 🖼️ ExtractedFrames

**ExtractedFrames** — это CLI-инструмент для нарезки видео на кадры с возможностью параллельной обработки, настройки шага, интервала времени, задания префикса и выбора выходной директории.

---

## 📦 Установка

### 🔹 Установка с помощью [uv](https://github.com/astral-sh/uv)

```bash
uv pip install -e .
```

> Это установит проект в режиме разработки (editable).

### 🔹 Установка глобально с помощью [pipx](https://github.com/pypa/pipx)

```bash
pipx install .
```

> Если пакет уже установлен, но вы внесли изменения в код — переустановите:

```bash
pipx uninstall extractedframes
pipx install .
```

---

## 🚀 Использование

После установки команда будет доступна как:

```bash
extract-frames --videos VIDEO1.mp4 VIDEO2.mp4 \
               --output ./frames \
               --prefix tool_frames \
               --step 30 \
               --start 5 \
               --end 60
```

### 🔧 Аргументы:

| Аргумент          | Тип       | Описание                                                                 |
|-------------------|-----------|--------------------------------------------------------------------------|
| `--videos`        | list path | Пути до одного или нескольких видеофайлов (обязательно)                 |
| `--output`        | path      | Путь к директории для сохранения кадров (обязательно)                   |
| `--prefix`        | str       | Префикс для имен кадров (по умолчанию: `frame`)                         |
| `--step`          | int       | Шаг между кадрами (по умолчанию: `10`)                                  |
| `--start`         | int       | Время начала в секундах (по умолчанию: `0`)                             |
| `--end`           | int       | Время конца в секундах (0 = до конца; по умолчанию: `0`)                |
| `--reserve`       | int       | Кол-во логических ядер, которые нужно оставить системе (по умолчанию: `1`) |

---

## 🔄 Обновление

Если вы вносите изменения и хотите, чтобы они применились:

```bash
pipx install . --force
```

Или для полной переустановки:

```bash
pipx uninstall extractedframes
pipx install .
```

---

## 🧪 Пример

```bash
extract-frames \
  --videos "/videos/sample1.mp4" "/videos/sample2.mp4" \
  --output "./extracted" \
  --prefix session1 \
  --step 15 \
  --start 2 \
  --end 60
```

---

## 🛠 Разработка

Запуск напрямую через `uv`:

```bash
uv run extract-frames --videos ... --output ...
```

---

## 📁 Структура проекта

```text
extracted_frames/
│   ├── __init__.py
│   └── main.py          ← основная точка входа
pyproject.toml           ← зависимости и конфигурация CLI
README.md                ← этот файл
```

---

## 📃 Лицензия

[MIT License](LICENSE) © 2025 Daniel Robotics