dwyeapi 0.9.1__tar.gz → 0.9.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/PKG-INFO +2 -1
  2. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/pyproject.toml +21 -2
  3. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/model.py +7 -7
  4. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi.egg-info/PKG-INFO +2 -1
  5. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/README.md +0 -0
  6. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/setup.cfg +0 -0
  7. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/__init__.py +0 -0
  8. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/cache.py +0 -0
  9. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/config.py +0 -0
  10. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/database.py +0 -0
  11. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/dependencies.py +0 -0
  12. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/dt.py +0 -0
  13. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/exceptions.py +0 -0
  14. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/health.py +0 -0
  15. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/logger.py +0 -0
  16. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/masking.py +0 -0
  17. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/pagination.py +0 -0
  18. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/providers/__init__.py +0 -0
  19. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/providers/email/__init__.py +0 -0
  20. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/providers/email/base.py +0 -0
  21. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/providers/email/config.py +0 -0
  22. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/providers/email/factory.py +0 -0
  23. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/providers/email/protocol.py +0 -0
  24. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/providers/email/resend.py +0 -0
  25. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/response.py +0 -0
  26. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/security.py +0 -0
  27. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/__init__.py +0 -0
  28. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/context.py +0 -0
  29. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/pool.py +0 -0
  30. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/registry.py +0 -0
  31. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/router.py +0 -0
  32. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/schema.py +0 -0
  33. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/service.py +0 -0
  34. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi/tasks/worker.py +0 -0
  35. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi.egg-info/SOURCES.txt +0 -0
  36. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi.egg-info/dependency_links.txt +0 -0
  37. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi.egg-info/requires.txt +0 -0
  38. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/src/dwyeapi.egg-info/top_level.txt +0 -0
  39. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_cache.py +0 -0
  40. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_config.py +0 -0
  41. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_database.py +0 -0
  42. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_dependencies.py +0 -0
  43. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_exceptions.py +0 -0
  44. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_health.py +0 -0
  45. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_logger.py +0 -0
  46. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_masking.py +0 -0
  47. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_pagination.py +0 -0
  48. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_response.py +0 -0
  49. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_security.py +0 -0
  50. {dwyeapi-0.9.1 → dwyeapi-0.9.2}/tests/test_tasks.py +0 -0
@@ -1,8 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dwyeapi
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Lightweight FastAPI infrastructure — exceptions, database, config, security, cache, pagination, logger
5
5
  License: MIT
6
+ Project-URL: Repository, https://github.com/danweiyuancircle/dwy-ai-experience
6
7
  Requires-Python: >=3.11
7
8
  Requires-Dist: fastapi>=0.100.0
8
9
  Requires-Dist: sqlalchemy[asyncio]>=2.0.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dwyeapi"
3
- version = "0.9.1"
3
+ version = "0.9.2"
4
4
  description = "Lightweight FastAPI infrastructure — exceptions, database, config, security, cache, pagination, logger"
5
5
  requires-python = ">=3.11"
6
6
  license = {text = "MIT"}
@@ -37,6 +37,9 @@ dev = [
37
37
  "fakeredis>=2.0.0",
38
38
  ]
39
39
 
40
+ [project.urls]
41
+ Repository = "https://github.com/danweiyuancircle/dwy-ai-experience"
42
+
40
43
  [build-system]
41
44
  requires = ["setuptools>=68.0"]
42
45
  build-backend = "setuptools.build_meta"
@@ -49,11 +52,27 @@ target-version = "py311"
49
52
  line-length = 120
50
53
 
51
54
  [tool.ruff.lint]
52
- select = ["E", "W", "F", "I", "N", "UP", "B", "SIM", "RUF"]
55
+ select = ["E", "W", "F", "I", "N", "UP", "B", "SIM", "RUF", "D"]
56
+ ignore = [
57
+ "D100", # 模块顶层 docstring:脚本/迁移不强制
58
+ "D104", # __init__.py 不强制 docstring
59
+ "D107", # __init__ 方法 docstring 写在类 docstring 里
60
+ "D203", # 与 D211 冲突(Google 风格选 D211)
61
+ "D213", # 与 D212 冲突(Google 风格选 D212)
62
+ "D401", # 中文 docstring 不要求祈使句开头
63
+ "D415", # 中文 docstring 不要求英文句号结尾
64
+ ]
65
+
66
+ [tool.ruff.lint.pydocstyle]
67
+ convention = "google"
53
68
 
54
69
  [tool.ruff.lint.per-file-ignores]
55
70
  "src/dwyeapi/tasks/router.py" = ["B008"]
56
71
  "src/dwyeapi/tasks/worker.py" = ["RUF012"]
72
+ # 邮件模板含大段内联 CSS 的 HTML 字面量,行宽无意义,豁免 E501
73
+ "src/dwyeapi/providers/email/base.py" = ["E501"]
74
+ "tests/**/*.py" = ["D100", "D101", "D102", "D103", "D104"]
75
+ "**/test_*.py" = ["D100", "D101", "D102", "D103", "D104"]
57
76
 
58
77
  [tool.ruff.lint.isort]
59
78
  known-first-party = ["dwyeapi"]
@@ -36,10 +36,10 @@ class Task(Base, TimestampMixin):
36
36
 
37
37
  __tablename__ = "tasks"
38
38
 
39
- id: Mapped[str] = mapped_column(String(64), primary_key=True, default=_generate_task_id, comment="任务 ID") # 任务 ID
40
- task_type: Mapped[str] = mapped_column(String(50), index=True, comment="任务类型") # 任务类型
41
- status: Mapped[TaskStatus] = mapped_column(Enum(TaskStatus), default=TaskStatus.PENDING, comment="执行状态") # 执行状态
42
- params: Mapped[dict] = mapped_column(JSON, comment="任务参数(JSON)") # 任务参数(JSON)
43
- result: Mapped[dict | None] = mapped_column(JSON, nullable=True, default=None, comment="执行结果(JSON)") # 执行结果(JSON)
44
- progress: Mapped[int] = mapped_column(Integer, default=0, comment="进度百分比 0-100") # 进度百分比 0-100
45
- logs: Mapped[str] = mapped_column(Text, default="", comment="执行日志") # 执行日志
39
+ id: Mapped[str] = mapped_column(String(64), primary_key=True, default=_generate_task_id, comment="任务 ID")
40
+ task_type: Mapped[str] = mapped_column(String(50), index=True, comment="任务类型")
41
+ status: Mapped[TaskStatus] = mapped_column(Enum(TaskStatus), default=TaskStatus.PENDING, comment="执行状态")
42
+ params: Mapped[dict] = mapped_column(JSON, comment="任务参数(JSON)")
43
+ result: Mapped[dict | None] = mapped_column(JSON, nullable=True, default=None, comment="执行结果(JSON)")
44
+ progress: Mapped[int] = mapped_column(Integer, default=0, comment="进度百分比 0-100")
45
+ logs: Mapped[str] = mapped_column(Text, default="", comment="执行日志")
@@ -1,8 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dwyeapi
3
- Version: 0.9.1
3
+ Version: 0.9.2
4
4
  Summary: Lightweight FastAPI infrastructure — exceptions, database, config, security, cache, pagination, logger
5
5
  License: MIT
6
+ Project-URL: Repository, https://github.com/danweiyuancircle/dwy-ai-experience
6
7
  Requires-Python: >=3.11
7
8
  Requires-Dist: fastapi>=0.100.0
8
9
  Requires-Dist: sqlalchemy[asyncio]>=2.0.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes