Metadata-Version: 2.1
Name: tca_sdk_test
Version: 0.1.1
Summary: A simple demo SDK for PyPI publishing practice.
Author-email: zhangbo <zhangbo@example.com>
License: MIT
Project-URL: Homepage, https://github.com/yourname/simple-demo-sdk
Project-URL: Repository, https://github.com/yourname/simple-demo-sdk
Project-URL: Issues, https://github.com/yourname/simple-demo-sdk/issues
Keywords: sdk,demo,http,utils
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: dev
License-File: LICENSE

# simple-demo-sdk

一个用于演示 **打包发布到 PyPI 的完整流程** 的极简 Python SDK。

## 特性

- `SimpleClient`：极简的 HTTP 客户端（基于 `requests`），支持 Bearer Token、上下文管理器
- `slugify(text)`：字符串转 URL slug
- `chunked(iterable, size)`：分批迭代器
- CLI 命令：`simple-demo-sdk get <url>` / `simple-demo-sdk slug <text>`

## 安装

```bash
pip install simple-demo-sdk
```

## 快速开始

```python
from simple_demo_sdk import SimpleClient, slugify, chunked

print(slugify("Hello, PyPI World!"))   # -> hello-pypi-world
print(list(chunked(range(7), 3)))       # -> [[0,1,2],[3,4,5],[6]]

with SimpleClient(base_url="https://httpbin.org") as client:
    print(client.get("/get", params={"hello": "world"}))
```

## 本地开发

```bash
# 1. 创建虚拟环境
python -m venv .venv && source .venv/bin/activate

# 2. 可编辑安装 + 开发依赖
pip install -e ".[dev]"

# 3. 运行测试
pytest
```

## 打包与发布到 PyPI

```bash
# 1. 安装构建工具
pip install --upgrade build twine

# 2. 构建 sdist + wheel（产物在 dist/ 下）
python -m build

# 3. 检查产物
twine check dist/*

# 4. 上传到 TestPyPI（推荐先测试）
twine upload --repository testpypi dist/*

# 5. 从 TestPyPI 安装验证
pip install -i https://test.pypi.org/simple/ simple-demo-sdk

# 6. 正式上传到 PyPI
twine upload dist/*
```

### 关于凭证

推荐使用 API Token，配置 `~/.pypirc`：

```ini
[distutils]
index-servers =
    pypi
    testpypi

[pypi]
username = __token__
password = pypi-AgEIcHlwaS5vcmc...你的 token

[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password = pypi-AgENdGVzdC5weXBpLm9yZw...你的 token
```

## 许可证

MIT
