[project] dependencies = [] description = "sqlite virtual file system" name = "sqlite-vfs" readme = "README.md" # 版本门槛按实际用到的 API 推导,不是拍的: # * contrib/fastapi_static.py 用了 hashlib.md5(..., usedforsecurity=False) → 3.9+ # * 测试用了 random.Random.randbytes → 3.9+ # 核心(core/compression/migration/publish/folder_*)本身只用到 3.7 就有的东西; # 仓库里没有 3.10+ 的语法(无 match、无 PEP 604 注解、无 zip(strict=))。 # 说明:这里只在本机的 3.13 上跑过,"3.9 可用"是代码审查的结论,没有在 3.9 上实测。 requires-python = ">=3.9" version = "0.1.0" # 可选集成:核心功能只用标准库,第三方框架一律走 extras。 # 例如 pip install "sqlite-vfs[fastapi]" 才会装上 FastAPI/Starlette。 [project.optional-dependencies] fastapi = [ "fastapi>=0.100", "starlette>=0.27", ] [[tool.uv.index]] default = true url = "https://pypi.tuna.tsinghua.edu.cn/simple" # 说明:这里原先有 [tool.uv.workspace] members = ["devmo"],但仓库里没有 devmo 目录。 # 实测 uv 0.11.8 容忍这种写法(uv sync --dry-run 退出码 0),所以它不是阻塞项, # 只是会误导人,因此删掉。 [build-system] build-backend = "hatchling.build" requires = ["hatchling"] [dependency-groups] dev = [ "twine>=4.0.2", ] [project.scripts] vfspack = "sqlite_vfs.cli.packer:pack" vfsunpack = "sqlite_vfs.cli.unpacker:unpack" vfsverify = "sqlite_vfs.cli.verify:verify" vfsmigrate = "sqlite_vfs.cli.migrate:main" vfspublish = "sqlite_vfs.cli.publish:publish_objects" vfsfetch = "sqlite_vfs.cli.fetch:fetch_objects" [tool.hatch.build.targets.wheel] packages = ["src/sqlite_vfs"]