semvec/pypi-packages huggingface dataset:
youtube.py3 6.0.1
A simplified wrapper for YouTube Data API v3
Requires Python: >=3.7
Keywords: youtube, api, wrapper, python, google, data, v3

<!--
YouTube.py3 - YouTube Data API v3 高機能Pythonラッパー
-->

# YouTube.py3

> **YouTube Data API v3 高機能Pythonラッパー**  
> プライベート用途・自動化・CLI・バイナリ配布にも最適

[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/)
[![YouTube API v3](https://img.shields.io/badge/YouTube%20API-v3-red)](https://developers.google.com/youtube/v3)

---

## 概要

YouTube Data API v3 の主要機能（動画・チャンネル・プレイリスト・検索・コメント取得など）を  
**シンプルかつ強力なインターフェース**で扱えるPythonラッパーです。

- **APIキーのみで利用可能**
- **CLI/自動化/バイナリ配布にも対応**
- **型ヒント・例外設計・ページネーション・OAuthユーティリティも完備**

---

## 主な機能

| 機能カテゴリ   | サポート内容例                                 |
|:--------------|:----------------------------------------------|
| 動画          | 単体/複数動画情報取得、ページネーション        |
| チャンネル    | 検索・情報取得・最新動画ID取得                 |
| プレイリスト  | 一覧・詳細取得、ページネーション               |
| 検索          | 動画/チャンネル検索、ページネーション          |
| コメント      | 視聴者のみ・返信なし・ページネーション対応     |
| 設定管理      | APIキー・チャンネルID・設定ファイル管理         |
| OAuth         | Google OAuth2認証フロー（ユーティリティ付属）   |
| 例外設計      | API/認証/クォータ/各機能ごとに細分化           |

---

## インストール

```sh
pip install -r requirements.txt
```

---

## クイックスタート

```python
import youtube_py3

yt = youtube_py3.YouTube(api_key="YOUR_API_KEY")
# 動画情報取得
info = yt.videos.get_video("動画ID")
# コメント（視聴者のみ・返信なし・ページネーション）
for c in yt.comments.get_viewer_comments_paginated("動画ID", "チャンネルID"):
    print(c)
```

> **詳細な使い方・APIリファレンスは [Reference.md](Reference.md) をご覧ください。**

---

## 注意事項

- **APIキーはGoogle Cloud Consoleで取得してください**
- 利用にはYouTube Data API v3の利用規約・クォータ制限が適用されます
- 本ライブラリはプライベート用途を想定しています

## バイナリ配布・ソース非公開について

- 本パッケージは Nuitka によりビルドされたバイナリ（.pyd）のみを配布し、ソースコード（.py）は一切含まれません。
- ソースコードを公開・オープンソース化する予定はありません。
- コード内容を確認したい場合は、ご自身でリバースエンジニアリングを行ってください（自己責任でお願いします）。

---

## ライセンス

MIT License

---
teamwork-mcp 0.3.3
SSE-based MCP Server and Client
Requires Python: <3.12

# Teamwork Model Context Protocol

>
> 不能远程调用的MCP 和 不能支撑团队协作的MCP，都是不完整的。
>

本项目封装**极简**MCP的SSE远程调用接口，并集成多个团队的工具集合以供参考。Features：

- 本项目用于快速迭代内部工具和训练内部算法模型。
- 适合快速技术验证。
- 项目中所有工具单元都添加了测试，可一键运行。
- 作为MCP工具推理模型训练基础库开发。

## I. 安装
- 使用uv或者直接使用pip都可以
    ```bash
    uv venv
    uv pip install -e .
    ```

## II. 如何测试

### 1【本地】简单测试一个回声 server-client
- 服务端
    ```bash
    # server
    from teamwork_mcp import FastMCP, launch_mcp_server_forever
    fastmcp = FastMCP("echo")
    @fastmcp.tool()
    async def echo(state: str) -> str:
        return state
    launch_mcp_server_forever(fastmcp=fastmcp, host="0.0.0.0", port=8080)
    ```
- 客户端
    ```python
    # client
    from teamwork_mcp import SyncedMcpClient
    client = SyncedMcpClient(server_url="http://0.0.0.0:8080/sse")
    result = client.list_tools(); print(result)
    result = client.call_tool("echo", {"state": "ABC"}); print(result)
    ```

### 2【本地】为当前库中所有工具建立mcp server

- 服务端
    ```bash
    # server
    from teamwork_mcp import launch_manifest_mcp_server_forever
    launch_manifest_mcp_server_forever()
    ```

### 3【多机 IP + 端口】远程一个阿里云上的 mcp server

- 云服务端
    ```bash
    # server: 47.243.19.78 记得设置安全组
    from teamwork_mcp import launch_manifest_mcp_server_forever
    launch_manifest_mcp_server_forever(port=33333)
    ```

- 客户端
    ```python
    # 客户端
    from teamwork_mcp import SyncedMcpClient
    client = SyncedMcpClient(server_url="http://xxxxxx:33333/sse")
    result = client.list_tools(); print(result)
    result = client.call_tool("echo", {"state": "ABC"}); print(result)
    ```



## III. 如何添加工具

>
> 目前有两种工具封装格式： 
> 一种是pydantic封装，再由qingxu的接口自动转化为mcp的工具，例如 `teamwork_mcp/rfft_tools/firecraw_search.py`（推荐）。 
> 另外一种是原生的mcp封装，见 `teamwork_mcp/dummy_tools/echo.py`。 
> 任选一种采纳。 
>


1. 把工具放在 `${project_dir}/teamwork_mcp/${contributor}_tools` 下。
2. 请写单元测试，命名为 工具名 + _test.py，例如：
    ```
    teamwork_mcp/rfft_tools/code_execution_test.py
    teamwork_mcp/rfft_tools/code_execution.py
    teamwork_mcp/rfft_tools/firecraw_search_test.py
    teamwork_mcp/rfft_tools/firecraw_search.py
    teamwork_mcp/rfft_tools/search_api_qwen_test.py
    teamwork_mcp/rfft_tools/search_api_qwen.py
    teamwork_mcp/rfft_tools/web_scrape_test.py
    teamwork_mcp/rfft_tools/web_scrape.py
    ```
    **提交前请对测试文件进行调试，请确保 `xxxx_test.py` 测试文件能够一键运行**，环境变量建议内嵌到`_test.py`测试代码中。
3. 修改 `${project_dir}/teamwork_mcp/manifest_tool.py` 的 `raw_mcp_tool_manifest_collection` 数组。
4. 运行`launch_server_all_tool_test.py`和`launch_client_test.py`测试。


# Todo

- [] 实现同时接入多个server的高层client



<!-- 
# Upload to PyPI

rm -rf build
rm -rf dist
python -m build
twine upload dist/*
-->
drf-protector 0.1.1
Obfuscate and package Django/DRF apps securely with PyArmor + Docker
Requires Python: >=3.7

# DRF Protector

Secure your Django REST Framework (DRF) projects with PyArmor and Docker. This tool lets you obfuscate your source code, add licensing with PyArmor, and package everything into a Docker container for deployment.

## 🧩 Django Web + DRF Support

This tool is designed to work with **both Django REST Framework (DRF)** APIs and **traditional Django web applications**. Whether your project includes APIs, templates, or both — you can use `drf-protector` to obfuscate your backend logic, protect source code, and deploy it securely using Docker.

Just ensure the `drf_protector.json` is correctly configured for your app structure.

- ✅ Works with `urls.py`, `views.py`, models, and API views  
- ✅ Compatible with Django templates, static files, and DRF serializers  
- ✅ Obfuscation targets Python code only — static and templates are preserved as-is

## Features

- 🔐 Obfuscate Python code using PyArmor
- 🧾 License-based execution control
- 🐳 Generate secure Docker containers
- 🛠️ Easy CLI for local development and deployment

## Usage

```bash
drf-protector init        # Generate drf_protector.json config
drf-protector obfuscate   # Obfuscate code
drf-protector dockerize   # Build secure docker image
```

## ⚠️ Handling Django Migrations with PyArmor

When obfuscating your Django app, it's important to handle `migrations/` correctly to avoid runtime issues.

### ✅ Best Practices:

1. **Exclude `migrations/` from PyArmor obfuscation**:
   - These files must remain in readable Python as Django loads them dynamically.
   - Already handled in `drf_protector.json` default: `"exclude": ["migrations", "__pycache__"]`

2. **Include `migrations/` in your Docker build**:
   - Make sure to copy migration folders into the Docker image for proper deployment.

3. **Run `makemigrations` before obfuscating**:
   - Prepare all database changes before protecting the code.

4. **Run `migrate` at container runtime**:
   - Once deployed, run `python manage.py migrate` to apply changes.

### ❌ Don't Obfuscate:
Avoid obfuscating files in `migrations/` as it can break introspection, `RunPython`, or ORM model detection.

## License

MIT

---