functualize-state-sqlite 0.1.0__tar.gz → 0.1.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.
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/.gitignore +18 -6
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/PKG-INFO +2 -2
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/pyproject.toml +1 -1
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_sqlite_state_store_properties.py +1 -9
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/README.md +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/examples/README.md +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/examples/persistent_counter/persistent_counter.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/examples/persistent_counter/test_persistent_counter.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/__init__.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_backend.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_execution_store.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_migrations.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/_plugin.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/plugin.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/py.typed +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/sqlite_backend.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/state_store.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/src/functualize_state_sqlite/tracker.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/__init__.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/conftest.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_execution_state_integration.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_plugin.py +0 -0
- {functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_sqlite_backend.py +0 -0
|
@@ -11,13 +11,17 @@ build/
|
|
|
11
11
|
|
|
12
12
|
# Agents
|
|
13
13
|
.spec/archive/
|
|
14
|
-
.spec/features/
|
|
15
14
|
.spec/scrutiny-reports/
|
|
15
|
+
.spec/proposals/
|
|
16
|
+
.spec/plans/
|
|
16
17
|
.spec/.agentic-coding
|
|
17
18
|
.spec/STATE.md
|
|
18
|
-
|
|
19
|
-
.spec/
|
|
20
|
-
|
|
19
|
+
# A one-hour spec-gate bypass token, not a repository artifact. The *ledger* of
|
|
20
|
+
# uses (.spec/exemptions.log) is committed and is the real mitigation; the token
|
|
21
|
+
# itself is per-session, and committing it would hand everyone else a live
|
|
22
|
+
# bypass. Ignored because the documented escape hatch otherwise sits in
|
|
23
|
+
# `git status` waiting to be added by accident.
|
|
24
|
+
.spec/EXEMPT
|
|
21
25
|
.opencode/
|
|
22
26
|
|
|
23
27
|
|
|
@@ -86,6 +90,15 @@ site/
|
|
|
86
90
|
.sidecar-base
|
|
87
91
|
.td-root
|
|
88
92
|
.functualize/
|
|
93
|
+
# ...except the committed example plugin, which the blanket rule above swallowed.
|
|
94
|
+
# Git will not descend into an excluded directory, so every level must be un-excluded
|
|
95
|
+
# in turn, and each level re-ignores its own contents so that only the plugin sources
|
|
96
|
+
# become trackable — never the cache, state or lock files a run drops beside them.
|
|
97
|
+
!examples/plugins/file_based_plugin/.functualize/
|
|
98
|
+
examples/plugins/file_based_plugin/.functualize/*
|
|
99
|
+
!examples/plugins/file_based_plugin/.functualize/plugins/
|
|
100
|
+
examples/plugins/file_based_plugin/.functualize/plugins/*
|
|
101
|
+
!examples/plugins/file_based_plugin/.functualize/plugins/*.py
|
|
89
102
|
.import_linter_cache/
|
|
90
103
|
.mypy_cache/
|
|
91
104
|
.pytest_cache/
|
|
@@ -94,8 +107,7 @@ site/
|
|
|
94
107
|
# OmO / OpenCode agent run-continuation scratch state
|
|
95
108
|
.omo/
|
|
96
109
|
.mcp.json
|
|
97
|
-
.agentsroom/handoff-transcript-*.txt
|
|
98
|
-
.agentsroom/handoff-summary-*.md
|
|
99
110
|
|
|
100
111
|
# Internal pre-release audit reports (contain session IDs / local infra notes)
|
|
101
112
|
.release/
|
|
113
|
+
.worktrees/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: functualize-state-sqlite
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: SQLite-backed state persistence and execution tracking plugin for functualize
|
|
5
5
|
Author-email: Mohammad Hakim Adiprasetya <viltohmyst@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -16,7 +16,7 @@ from typing import Any
|
|
|
16
16
|
|
|
17
17
|
from functualize_state_sqlite.sqlite_backend import SQLiteBackend
|
|
18
18
|
from functualize_state_sqlite.state_store import SQLiteStateStore
|
|
19
|
-
from hypothesis import given
|
|
19
|
+
from hypothesis import given
|
|
20
20
|
from hypothesis import strategies as st
|
|
21
21
|
|
|
22
22
|
# --- Strategies ---
|
|
@@ -80,7 +80,6 @@ class TestSQLiteStateStoreRoundTrip:
|
|
|
80
80
|
**Validates: Requirements 23.6**
|
|
81
81
|
"""
|
|
82
82
|
|
|
83
|
-
@settings(max_examples=100)
|
|
84
83
|
@given(key=state_keys, value=json_values)
|
|
85
84
|
def test_set_then_get_returns_equivalent_value(self, key: str, value: Any):
|
|
86
85
|
"""**Validates: Requirements 23.6**
|
|
@@ -105,7 +104,6 @@ class TestSQLiteStateStoreRoundTrip:
|
|
|
105
104
|
finally:
|
|
106
105
|
backend.close()
|
|
107
106
|
|
|
108
|
-
@settings(max_examples=50)
|
|
109
107
|
@given(key=state_keys, value=json_values)
|
|
110
108
|
def test_overwrite_returns_latest_value(self, key: str, value: Any):
|
|
111
109
|
"""**Validates: Requirements 23.6**
|
|
@@ -140,7 +138,6 @@ class TestCrossJobStateIsolation:
|
|
|
140
138
|
**Validates: Requirements 23.7**
|
|
141
139
|
"""
|
|
142
140
|
|
|
143
|
-
@settings(max_examples=100)
|
|
144
141
|
@given(
|
|
145
142
|
key=state_keys,
|
|
146
143
|
value_a=json_values,
|
|
@@ -196,7 +193,6 @@ class TestCrossJobStateIsolation:
|
|
|
196
193
|
finally:
|
|
197
194
|
backend.close()
|
|
198
195
|
|
|
199
|
-
@settings(max_examples=50)
|
|
200
196
|
@given(
|
|
201
197
|
key=state_keys,
|
|
202
198
|
value_a=json_values,
|
|
@@ -252,7 +248,6 @@ class TestNonSerializableValuesPlaceholder:
|
|
|
252
248
|
**Validates: Requirements 23.10**
|
|
253
249
|
"""
|
|
254
250
|
|
|
255
|
-
@settings(max_examples=50)
|
|
256
251
|
@given(key=state_keys)
|
|
257
252
|
def test_lambda_stored_as_placeholder(self, key: str):
|
|
258
253
|
"""**Validates: Requirements 23.10**
|
|
@@ -275,7 +270,6 @@ class TestNonSerializableValuesPlaceholder:
|
|
|
275
270
|
finally:
|
|
276
271
|
backend.close()
|
|
277
272
|
|
|
278
|
-
@settings(max_examples=50)
|
|
279
273
|
@given(key=state_keys)
|
|
280
274
|
def test_generator_stored_as_placeholder(self, key: str):
|
|
281
275
|
"""**Validates: Requirements 23.10**
|
|
@@ -302,7 +296,6 @@ class TestNonSerializableValuesPlaceholder:
|
|
|
302
296
|
finally:
|
|
303
297
|
backend.close()
|
|
304
298
|
|
|
305
|
-
@settings(max_examples=50)
|
|
306
299
|
@given(key=state_keys)
|
|
307
300
|
def test_socket_stored_as_placeholder(self, key: str):
|
|
308
301
|
"""**Validates: Requirements 23.10**
|
|
@@ -328,7 +321,6 @@ class TestNonSerializableValuesPlaceholder:
|
|
|
328
321
|
finally:
|
|
329
322
|
backend.close()
|
|
330
323
|
|
|
331
|
-
@settings(max_examples=50)
|
|
332
324
|
@given(
|
|
333
325
|
key=state_keys,
|
|
334
326
|
type_choice=st.sampled_from(["lambda", "generator", "module"]),
|
|
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
|
{functualize_state_sqlite-0.1.0 → functualize_state_sqlite-0.1.2}/tests/test_sqlite_backend.py
RENAMED
|
File without changes
|