stemtrace 0.2.1__tar.gz → 0.2.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 (127) hide show
  1. {stemtrace-0.2.1 → stemtrace-0.2.2}/.bumpversion.toml +15 -1
  2. {stemtrace-0.2.1 → stemtrace-0.2.2}/CHANGELOG.md +2 -0
  3. {stemtrace-0.2.1 → stemtrace-0.2.2}/Makefile +3 -3
  4. {stemtrace-0.2.1 → stemtrace-0.2.2}/PKG-INFO +3 -2
  5. {stemtrace-0.2.1 → stemtrace-0.2.2}/README.md +1 -1
  6. {stemtrace-0.2.1 → stemtrace-0.2.2}/pyproject.toml +4 -1
  7. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/__init__.py +1 -1
  8. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/package.json +1 -1
  9. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_init.py +9 -3
  10. {stemtrace-0.2.1 → stemtrace-0.2.2}/uv.lock +1 -1
  11. {stemtrace-0.2.1 → stemtrace-0.2.2}/.dockerignore +0 -0
  12. {stemtrace-0.2.1 → stemtrace-0.2.2}/.github/dependabot.yml +0 -0
  13. {stemtrace-0.2.1 → stemtrace-0.2.2}/.github/workflows/ci.yml +0 -0
  14. {stemtrace-0.2.1 → stemtrace-0.2.2}/.github/workflows/e2e.yml +0 -0
  15. {stemtrace-0.2.1 → stemtrace-0.2.2}/.github/workflows/release.yml +0 -0
  16. {stemtrace-0.2.1 → stemtrace-0.2.2}/.gitignore +0 -0
  17. {stemtrace-0.2.1 → stemtrace-0.2.2}/.pre-commit-config.yaml +0 -0
  18. {stemtrace-0.2.1 → stemtrace-0.2.2}/.python-version +0 -0
  19. {stemtrace-0.2.1 → stemtrace-0.2.2}/CONTRIBUTING.md +0 -0
  20. {stemtrace-0.2.1 → stemtrace-0.2.2}/Dockerfile +0 -0
  21. {stemtrace-0.2.1 → stemtrace-0.2.2}/Dockerfile.e2e +0 -0
  22. {stemtrace-0.2.1 → stemtrace-0.2.2}/LICENSE +0 -0
  23. {stemtrace-0.2.1 → stemtrace-0.2.2}/build_ui.py +0 -0
  24. {stemtrace-0.2.1 → stemtrace-0.2.2}/docker-compose.e2e.yml +0 -0
  25. {stemtrace-0.2.1 → stemtrace-0.2.2}/docker-compose.yml +0 -0
  26. {stemtrace-0.2.1 → stemtrace-0.2.2}/docs/screenshots/task_details.png +0 -0
  27. {stemtrace-0.2.1 → stemtrace-0.2.2}/docs/screenshots/unregistered.png +0 -0
  28. {stemtrace-0.2.1 → stemtrace-0.2.2}/docs/screenshots/workflow.png +0 -0
  29. {stemtrace-0.2.1 → stemtrace-0.2.2}/examples/celery_app.py +0 -0
  30. {stemtrace-0.2.1 → stemtrace-0.2.2}/examples/fastapi_integration.py +0 -0
  31. {stemtrace-0.2.1 → stemtrace-0.2.2}/examples/with_auth.py +0 -0
  32. {stemtrace-0.2.1 → stemtrace-0.2.2}/progress.md +0 -0
  33. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/core/__init__.py +0 -0
  34. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/core/events.py +0 -0
  35. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/core/exceptions.py +0 -0
  36. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/core/graph.py +0 -0
  37. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/core/ports.py +0 -0
  38. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/__init__.py +0 -0
  39. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/bootsteps.py +0 -0
  40. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/config.py +0 -0
  41. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/scrubbing.py +0 -0
  42. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/signals.py +0 -0
  43. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/transports/__init__.py +0 -0
  44. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/transports/memory.py +0 -0
  45. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/library/transports/redis.py +0 -0
  46. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/py.typed +0 -0
  47. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/__init__.py +0 -0
  48. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/__main__.py +0 -0
  49. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/api/__init__.py +0 -0
  50. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/api/routes.py +0 -0
  51. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/api/schemas.py +0 -0
  52. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/api/websocket.py +0 -0
  53. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/consumer.py +0 -0
  54. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/fastapi/__init__.py +0 -0
  55. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/fastapi/auth.py +0 -0
  56. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/fastapi/extension.py +0 -0
  57. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/fastapi/router.py +0 -0
  58. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/store.py +0 -0
  59. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/__init__.py +0 -0
  60. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/biome.json +0 -0
  61. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/index.html +0 -0
  62. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/package-lock.json +0 -0
  63. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/playwright.config.ts +0 -0
  64. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/postcss.config.js +0 -0
  65. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/api/client.ts +0 -0
  66. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/api/queries.ts +0 -0
  67. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/DateRangePicker.tsx +0 -0
  68. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/Filters.tsx +0 -0
  69. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/TaskGraph.tsx +0 -0
  70. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/TaskList.tsx +0 -0
  71. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/TaskStateBadge.tsx +0 -0
  72. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/TaskTimeline.tsx +0 -0
  73. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/TimelineBar.tsx +0 -0
  74. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/components/Tooltip.tsx +0 -0
  75. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/hooks/WebSocketContext.tsx +0 -0
  76. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/hooks/useInfiniteScroll.ts +0 -0
  77. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/index.css +0 -0
  78. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/main.tsx +0 -0
  79. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/routes/__root.tsx +0 -0
  80. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/routes/graph.$rootId.tsx +0 -0
  81. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/routes/graphs.tsx +0 -0
  82. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/routes/index.tsx +0 -0
  83. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/routes/registry.tsx +0 -0
  84. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/routes/tasks.$taskId.tsx +0 -0
  85. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/routes/workers.tsx +0 -0
  86. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/utils/format.ts +0 -0
  87. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/src/vite-env.d.ts +0 -0
  88. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tests/fixtures/mock-api.ts +0 -0
  89. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tests/fixtures/mock-data.ts +0 -0
  90. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tests/graphs.spec.ts +0 -0
  91. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tests/registry.spec.ts +0 -0
  92. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tests/task-detail.spec.ts +0 -0
  93. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tests/tasks.spec.ts +0 -0
  94. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tests/workers.spec.ts +0 -0
  95. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tsconfig.json +0 -0
  96. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/tsconfig.tsbuildinfo +0 -0
  97. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/frontend/vite.config.ts +0 -0
  98. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/ui/static.py +0 -0
  99. {stemtrace-0.2.1 → stemtrace-0.2.2}/src/stemtrace/server/websocket.py +0 -0
  100. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/__init__.py +0 -0
  101. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/conftest.py +0 -0
  102. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/e2e/__init__.py +0 -0
  103. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/e2e/conftest.py +0 -0
  104. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/e2e/tasks.py +0 -0
  105. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/e2e/test_api_e2e.py +0 -0
  106. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/e2e/test_workers_e2e.py +0 -0
  107. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/integration/__init__.py +0 -0
  108. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/integration/test_embedded_static.py +0 -0
  109. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/integration/test_fastapi_integration.py +0 -0
  110. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/integration/test_redis_transport.py +0 -0
  111. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/integration/test_static_ui.py +0 -0
  112. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/integration/test_workers_refresh.py +0 -0
  113. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/__init__.py +0 -0
  114. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_auth.py +0 -0
  115. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_bootsteps.py +0 -0
  116. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_config.py +0 -0
  117. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_consumer.py +0 -0
  118. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_events.py +0 -0
  119. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_examples.py +0 -0
  120. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_exceptions.py +0 -0
  121. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_graph.py +0 -0
  122. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_routes.py +0 -0
  123. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_scrubbing.py +0 -0
  124. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_signals.py +0 -0
  125. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_store.py +0 -0
  126. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_transports.py +0 -0
  127. {stemtrace-0.2.1 → stemtrace-0.2.2}/tests/unit/test_websocket.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [tool.bumpversion]
2
- current_version = "0.2.1"
2
+ current_version = "0.2.2"
3
3
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
4
4
  serialize = ["{major}.{minor}.{patch}"]
5
5
  commit = true
@@ -24,6 +24,14 @@ filename = "src/stemtrace/server/ui/frontend/package.json"
24
24
  search = '"version": "{current_version}"'
25
25
  replace = '"version": "{new_version}"'
26
26
 
27
+ # uv.lock - keep workspace lockfile in sync (uv stores the local project version)
28
+ [[tool.bumpversion.files]]
29
+ filename = "uv.lock"
30
+ search = """name = "stemtrace"
31
+ version = "{current_version}"""
32
+ replace = """name = "stemtrace"
33
+ version = "{new_version}"""
34
+
27
35
  # CHANGELOG.md - insert new version header
28
36
  [[tool.bumpversion.files]]
29
37
  filename = "CHANGELOG.md"
@@ -31,3 +39,9 @@ search = "## [Unreleased]"
31
39
  replace = """## [Unreleased]
32
40
 
33
41
  ## [{new_version}] - {now:%Y-%m-%d}"""
42
+
43
+ # README.md - keep PyPI badge in sync with version (avoid cached badge drift)
44
+ [[tool.bumpversion.files]]
45
+ filename = "README.md"
46
+ search = "[![PyPI version](https://img.shields.io/badge/pypi-v{current_version}-darklime)](https://pypi.org/project/stemtrace)"
47
+ replace = "[![PyPI version](https://img.shields.io/badge/pypi-v{new_version}-darklime)](https://pypi.org/project/stemtrace)"
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.2.2] - 2026-01-03
11
+
10
12
  ## [0.2.1] - 2026-01-03
11
13
 
12
14
  ### Added
@@ -126,7 +126,7 @@ bump-patch:
126
126
  @NEW_VER=$$(uv run bump-my-version show current_version); \
127
127
  echo "✅ Version bumped to $$NEW_VER"; \
128
128
  echo ""; \
129
- echo "Next: git add -A && git commit -m 'chore: release v$$NEW_VER' && make release"
129
+ echo "Next: make release"
130
130
 
131
131
  # Bump minor version (0.1.0 -> 0.2.0)
132
132
  bump-minor:
@@ -134,7 +134,7 @@ bump-minor:
134
134
  @NEW_VER=$$(uv run bump-my-version show current_version); \
135
135
  echo "✅ Version bumped to $$NEW_VER"; \
136
136
  echo ""; \
137
- echo "Next: git add -A && git commit -m 'chore: release v$$NEW_VER' && make release"
137
+ echo "Next: make release"
138
138
 
139
139
  # Bump major version (0.1.0 -> 1.0.0)
140
140
  bump-major:
@@ -142,7 +142,7 @@ bump-major:
142
142
  @NEW_VER=$$(uv run bump-my-version show current_version); \
143
143
  echo "✅ Version bumped to $$NEW_VER"; \
144
144
  echo ""; \
145
- echo "Next: git add -A && git commit -m 'chore: release v$$NEW_VER' && make release"
145
+ echo "Next: make release"
146
146
 
147
147
  # Tag and push to trigger release workflow
148
148
  release:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stemtrace
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Summary: A lightweight Celery task flow visualizer
5
5
  Project-URL: Homepage, https://github.com/iansokolskyi/stemtrace
6
6
  Project-URL: Documentation, https://github.com/iansokolskyi/stemtrace#readme
@@ -8,6 +8,7 @@ Project-URL: Repository, https://github.com/iansokolskyi/stemtrace
8
8
  Project-URL: Issues, https://github.com/iansokolskyi/stemtrace/issues
9
9
  Project-URL: Changelog, https://github.com/iansokolskyi/stemtrace/blob/main/CHANGELOG.md
10
10
  Author-email: Ian Sokolskyi <iansokolskyi@gmail.com>
11
+ Maintainer-email: Ian Sokolskyi <iansokolskyi@gmail.com>
11
12
  License: MIT
12
13
  License-File: LICENSE
13
14
  Keywords: celery,monitoring,queue,task,visualization,workflow
@@ -55,7 +56,7 @@ Description-Content-Type: text/markdown
55
56
 
56
57
  **Zero-infrastructure Celery task flow visualizer**
57
58
 
58
- [![PyPI version](https://img.shields.io/pypi/v/stemtrace?color=darklime)](https://pypi.org/project/stemtrace)
59
+ [![PyPI version](https://img.shields.io/badge/pypi-v0.2.2-darklime)](https://pypi.org/project/stemtrace)
59
60
  [![Python](https://img.shields.io/pypi/pyversions/stemtrace.svg)](https://pypi.org/project/stemtrace/)
60
61
  [![CI](https://github.com/iansokolskyi/stemtrace/actions/workflows/ci.yml/badge.svg)](https://github.com/iansokolskyi/stemtrace/actions/workflows/ci.yml)
61
62
  [![codecov](https://codecov.io/gh/iansokolskyi/stemtrace/graph/badge.svg)](https://codecov.io/gh/iansokolskyi/stemtrace)
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Zero-infrastructure Celery task flow visualizer**
4
4
 
5
- [![PyPI version](https://img.shields.io/pypi/v/stemtrace?color=darklime)](https://pypi.org/project/stemtrace)
5
+ [![PyPI version](https://img.shields.io/badge/pypi-v0.2.2-darklime)](https://pypi.org/project/stemtrace)
6
6
  [![Python](https://img.shields.io/pypi/pyversions/stemtrace.svg)](https://pypi.org/project/stemtrace/)
7
7
  [![CI](https://github.com/iansokolskyi/stemtrace/actions/workflows/ci.yml/badge.svg)](https://github.com/iansokolskyi/stemtrace/actions/workflows/ci.yml)
8
8
  [![codecov](https://codecov.io/gh/iansokolskyi/stemtrace/graph/badge.svg)](https://codecov.io/gh/iansokolskyi/stemtrace)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stemtrace"
3
- version = "0.2.1"
3
+ version = "0.2.2"
4
4
  description = "A lightweight Celery task flow visualizer"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -8,6 +8,9 @@ requires-python = ">=3.10"
8
8
  authors = [
9
9
  { name = "Ian Sokolskyi", email = "iansokolskyi@gmail.com" },
10
10
  ]
11
+ maintainers = [
12
+ { name = "Ian Sokolskyi", email = "iansokolskyi@gmail.com" },
13
+ ]
11
14
  keywords = ["celery", "task", "queue", "visualization", "monitoring", "workflow"]
12
15
  classifiers = [
13
16
  "Development Status :: 3 - Alpha",
@@ -38,7 +38,7 @@ if TYPE_CHECKING:
38
38
  from celery import Celery
39
39
  from fastapi import FastAPI
40
40
 
41
- __version__ = "0.2.1"
41
+ __version__ = "0.2.2"
42
42
  __all__ = [
43
43
  "ConfigurationError",
44
44
  "StemtraceConfig",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "stemtrace-ui",
3
3
  "private": true,
4
- "version": "0.2.1",
4
+ "version": "0.2.2",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -1,5 +1,7 @@
1
1
  """Tests for public API."""
2
2
 
3
+ from importlib.metadata import PackageNotFoundError
4
+ from importlib.metadata import version as package_version
3
5
  from unittest.mock import MagicMock
4
6
 
5
7
  import pytest
@@ -22,7 +24,7 @@ from stemtrace.library.transports.memory import MemoryTransport
22
24
 
23
25
 
24
26
  @pytest.fixture(autouse=True)
25
- def cleanup() -> None:
27
+ def cleanup() -> object:
26
28
  """Clean up after each test."""
27
29
  yield
28
30
  disconnect_signals()
@@ -31,8 +33,12 @@ def cleanup() -> None:
31
33
 
32
34
 
33
35
  def test_version() -> None:
34
- """Version is set."""
35
- assert __version__ == "0.2.0"
36
+ """Version is set and matches installed package metadata."""
37
+ try:
38
+ installed = package_version("stemtrace")
39
+ except PackageNotFoundError as exc:
40
+ raise AssertionError("stemtrace package metadata not available") from exc
41
+ assert __version__ == installed
36
42
 
37
43
 
38
44
  class TestInit:
@@ -1595,7 +1595,7 @@ wheels = [
1595
1595
 
1596
1596
  [[package]]
1597
1597
  name = "stemtrace"
1598
- version = "0.2.1"
1598
+ version = "0.2.2"
1599
1599
  source = { editable = "." }
1600
1600
  dependencies = [
1601
1601
  { name = "celery" },
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