Lightweight multi-storage routing and sync abstraction layer
Project description
SyncGate 🎯
统一管理散落在各处的文件
🎯 产品定位
SyncGate 是轻量级多存储路由与同步抽象层,统一管理本地文件、HTTP 链接和 S3 对象存储。
核心功能
- 🔗 统一路径 - 本地/HTTP/S3 一个命令访问
- 🌳 虚拟文件系统 - 不移动源文件,只管理链接
- ✅ 链接验证 - 自动验证链接有效性
- ⚡ 无延迟 - 实时透传,不做缓存
支持的存储
| 存储类型 | 状态 | 说明 |
|---|---|---|
| 本地文件 | ✅ | local:/path/to/file |
| HTTP/HTTPS | ✅ | https://example.com/file |
| AWS S3 | ✅ | s3://bucket/key |
| WebDAV | 🚧 | 计划中 |
| FTP/SFTP | 🚧 | 计划中 |
🚀 快速开始
安装
pip install syncgate
演示
python3 demo_complete.py
输出:
🎯 SyncGate Complete Demo
============================================================
📝 Step 1: 创建链接
✅ Local: /docs/notes.txt
✅ HTTP: /online/api.json
✅ S3: /cloud/data.csv
📂 Step 2: 虚拟文件系统结构
virtual/
├── 📁 docs/ → local:/path/to/files
├── 📁 online/ → https://api.example.com
└── 📁 cloud/ → s3://my-bucket/data
🔍 Step 3: 链接验证
✅ /docs/notes.txt
✅ /online/api.json
✅ 演示完成!
使用
# 创建链接
syncgate link /docs/a.txt local:/path/to/file.txt local
syncgate link /online/api.json https://api.example.com/data.json http
syncgate link /cloud/data.csv s3://my-bucket/data/2024.csv s3
# 列出目录
syncgate ls /docs
# 树形结构
syncgate tree /
# 验证链接
syncgate validate /docs/a.txt
# 查看状态
syncgate status /docs/a.txt
📖 文档
- Architecture - 架构设计
- API Reference - API 文档
- Demo Output - 演示输出
🛠️ 开发
# 克隆项目
git clone https://github.com/cyydark/syncgate.git
cd syncgate
# 运行演示
python3 demo_complete.py
# 运行测试
pytest tests/
📈 路线图
v0.1.x (当前)
- 核心框架
- Local/HTTP/S3 后端
- CLI 命令
- 链接验证
- 推广素材 ⏳
- 首日发布 ⏳
v0.2.x
- WebDAV 后端
- AI 元数据提取
- 向量搜索
v1.0
- 完整测试覆盖
- 文档完善
- 首个正式版
🤝 贡献
欢迎提交 Issue 和 PR!
📄 许可
MIT License - see LICENSE
SyncGate - 统一管理散落在各处的文件 📁🌐☁️
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
syncgate-0.8.1.tar.gz
(66.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
syncgate-0.8.1-py3-none-any.whl
(35.7 kB
view details)
File details
Details for the file syncgate-0.8.1.tar.gz.
File metadata
- Download URL: syncgate-0.8.1.tar.gz
- Upload date:
- Size: 66.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04fc9f74720645462d6a8b7817bfb28840fa1e338992b15767b6d8c870096f06
|
|
| MD5 |
8546424288af40a5bed0dbd5f4fc4cf1
|
|
| BLAKE2b-256 |
e22e075cd4a7e5f9e95a1c620680472cf36b9bd63c81a736bd3f7463a9493963
|
File details
Details for the file syncgate-0.8.1-py3-none-any.whl.
File metadata
- Download URL: syncgate-0.8.1-py3-none-any.whl
- Upload date:
- Size: 35.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92f32d52b25d1489f4f374675b67a3978c476ac8be230e2679a903174912719c
|
|
| MD5 |
3efd9e22b903e543fe7eef362c435c69
|
|
| BLAKE2b-256 |
ef4e100541dc96afe50f1b86acc12b48f412024051c5067eccb4f28fde4b1e57
|