structtype 0.2.0__tar.gz → 0.4.0__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.
- structtype-0.4.0/.opencode/opencode.json +6 -0
- structtype-0.4.0/.opencode/plugins/graphify.js +30 -0
- {structtype-0.2.0 → structtype-0.4.0}/AGENTS.md +16 -3
- {structtype-0.2.0 → structtype-0.4.0}/MANIFEST.in +0 -1
- {structtype-0.2.0 → structtype-0.4.0}/Makefile +28 -0
- {structtype-0.2.0/src/structtype.egg-info → structtype-0.4.0}/PKG-INFO +1 -1
- structtype-0.4.0/graphify-out/.graphify_labels.json +108 -0
- structtype-0.4.0/graphify-out/.graphify_labels.json.sig +1 -0
- structtype-0.4.0/graphify-out/.graphify_root +1 -0
- structtype-0.4.0/graphify-out/2026-08-09/.graphify_labels.json +93 -0
- structtype-0.4.0/graphify-out/2026-08-09/GRAPH_REPORT.md +385 -0
- structtype-0.4.0/graphify-out/2026-08-09/graph.json +75971 -0
- structtype-0.4.0/graphify-out/2026-08-09/manifest.json +332 -0
- structtype-0.4.0/graphify-out/GRAPH_REPORT.md +448 -0
- structtype-0.4.0/graphify-out/graph.html +320 -0
- structtype-0.4.0/graphify-out/graph.json +77910 -0
- structtype-0.4.0/graphify-out/manifest.json +327 -0
- {structtype-0.2.0 → structtype-0.4.0}/pyproject.toml +8 -0
- {structtype-0.2.0 → structtype-0.4.0}/setup.py +24 -11
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/__init__.py +3 -2
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/__init__.pyi +34 -28
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/_adapter.py +46 -18
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/_core.c +838 -1201
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/_inspect.py +77 -11
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/_json_schema.py +12 -7
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/_utils.py +29 -1
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/_version.py +2 -2
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/common.h +2 -0
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/ryu.h +1 -1
- {structtype-0.2.0 → structtype-0.4.0/src/structtype.egg-info}/PKG-INFO +1 -1
- structtype-0.4.0/src/structtype.egg-info/SOURCES.txt +58 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/conftest.py +10 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_JSONTestSuite.py +3 -3
- structtype-0.4.0/tests/test_adapter.py +259 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_check.py +9 -47
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_constraints.py +3 -3
- structtype-0.4.0/tests/test_free_threading.py +167 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_inspect.py +19 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_json.py +248 -290
- structtype-0.4.0/tests/test_memory.py +81 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_msgspec.py +1 -2
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_schema.py +123 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_struct.py +46 -8
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_struct_meta.py +13 -13
- structtype-0.4.0/uv.lock +1520 -0
- structtype-0.2.0/.cibuildwheel.toml +0 -4
- structtype-0.2.0/src/structtype.egg-info/SOURCES.txt +0 -45
- structtype-0.2.0/tests/unit/__init__.py +0 -0
- structtype-0.2.0/tests/unit/test_adapter.py +0 -122
- structtype-0.2.0/tests/unit/test_free_threading.py +0 -59
- {structtype-0.2.0 → structtype-0.4.0}/LICENSE +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/README.md +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/setup.cfg +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/atof.h +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/atof_consts.h +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/itoa.h +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype/py.typed +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype.egg-info/dependency_links.txt +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/src/structtype.egg-info/top_level.txt +0 -0
- {structtype-0.2.0 → structtype-0.4.0}/tests/__init__.py +0 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_cpylint.py +0 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_pydantic.py +0 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_raw.py +0 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/test_utils.py +0 -0
- {structtype-0.2.0/tests/unit → structtype-0.4.0/tests}/utils.py +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// graphify OpenCode plugin
|
|
2
|
+
// Injects a knowledge graph reminder before bash tool calls when the graph exists.
|
|
3
|
+
//
|
|
4
|
+
// IMPORTANT: keep the reminder string free of backticks and $(...) constructs.
|
|
5
|
+
// The hook prepends `echo "<reminder>" && <cmd>` to the user's bash command;
|
|
6
|
+
// backticks inside the double-quoted echo trigger bash command substitution,
|
|
7
|
+
// which both corrupts tool output and silently executes the very graphify
|
|
8
|
+
// command we are only suggesting. Plain words render fine in opencode's TUI.
|
|
9
|
+
import { existsSync } from "fs";
|
|
10
|
+
import { join } from "path";
|
|
11
|
+
|
|
12
|
+
export const GraphifyPlugin = async ({ directory }) => {
|
|
13
|
+
let reminded = false;
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
"tool.execute.before": async (input, output) => {
|
|
17
|
+
if (reminded) return;
|
|
18
|
+
if (!existsSync(join(directory, "graphify-out", "graph.json"))) return;
|
|
19
|
+
|
|
20
|
+
if (input.tool === "bash") {
|
|
21
|
+
// ';' not '&&' — Windows PowerShell 5.1 rejects '&&' as a statement
|
|
22
|
+
// separator, breaking the first bash command of the session (#1646).
|
|
23
|
+
output.args.command =
|
|
24
|
+
'echo "[graphify] knowledge graph at graphify-out/. For focused questions, run graphify query with your question (scoped subgraph, usually much smaller than GRAPH_REPORT.md) instead of grepping raw files. Read GRAPH_REPORT.md only for broad architecture context." ; ' +
|
|
25
|
+
output.args.command;
|
|
26
|
+
reminded = true;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -19,7 +19,7 @@ All commands go through `make`.
|
|
|
19
19
|
| Task | Command |
|
|
20
20
|
|---|---|
|
|
21
21
|
| Unit tests (reinstall + last-failed) | `make test-lf` |
|
|
22
|
-
| Targeted tests | `uv run --reinstall pytest tests/
|
|
22
|
+
| Targeted tests | `uv run --reinstall pytest tests/test_json.py -k test_something` |
|
|
23
23
|
| Coverage | `make test-cov` |
|
|
24
24
|
| Build docs | `make docs` |
|
|
25
25
|
| Format | `make format` |
|
|
@@ -35,6 +35,7 @@ All commands go through `make`.
|
|
|
35
35
|
- C code uses `ms_`/`MS_` prefix
|
|
36
36
|
- Type stubs (`.pyi`) alongside public modules
|
|
37
37
|
- Sentinel values: `NODEFAULT`, `UNSET`, `_NoDefault`, `UnsetType`
|
|
38
|
+
- never do git commit
|
|
38
39
|
|
|
39
40
|
## Key API
|
|
40
41
|
|
|
@@ -48,8 +49,7 @@ All commands go through `make`.
|
|
|
48
49
|
|
|
49
50
|
- `obj.struct_dump_json(*, enc_hook=None, decimal_format=None, uuid_format=None, order=None)` — serialize to JSON bytes
|
|
50
51
|
- `obj.struct_dump()` — convert to built-in Python types (uses `encode_name` for keys)
|
|
51
|
-
- `obj.
|
|
52
|
-
- `obj.struct_validate_self(*, strict=True, dec_hook=None)` — validate field values against types + constraints
|
|
52
|
+
- `obj.struct_validate_self()` — validate field values against types + constraints
|
|
53
53
|
- `cls.struct_validate_json(buf, *, strict=True, dec_hook=None)` — deserialize from JSON
|
|
54
54
|
- `cls.struct_validate(obj, *, strict=True, from_attributes=False, dec_hook=None)` — convert built-in types to struct
|
|
55
55
|
|
|
@@ -62,3 +62,16 @@ Struct instances support the mapping protocol:
|
|
|
62
62
|
## Gotchas
|
|
63
63
|
|
|
64
64
|
- `make test-lf` reinstalls the C extension before running (last-failed first)
|
|
65
|
+
|
|
66
|
+
## graphify
|
|
67
|
+
|
|
68
|
+
This project has a knowledge graph at graphify-out/ with god nodes, community structure, and cross-file relationships.
|
|
69
|
+
|
|
70
|
+
When the user types `/graphify`, use the installed graphify skill or instructions before doing anything else.
|
|
71
|
+
|
|
72
|
+
Rules:
|
|
73
|
+
- For codebase questions, first run `graphify query "<question>"` when graphify-out/graph.json exists. Use `graphify path "<A>" "<B>"` for relationships and `graphify explain "<concept>"` for focused concepts. These return a scoped subgraph, usually much smaller than GRAPH_REPORT.md or raw grep output.
|
|
74
|
+
- Dirty graphify-out/ files are expected after hooks or incremental updates; dirty graph files are not a reason to skip graphify. Only skip graphify if the task is about stale or incorrect graph output, or the user explicitly says not to use it.
|
|
75
|
+
- If graphify-out/wiki/index.md exists, use it for broad navigation instead of raw source browsing.
|
|
76
|
+
- Read graphify-out/GRAPH_REPORT.md only for broad architecture review or when query/path/explain do not surface enough context.
|
|
77
|
+
- After modifying code, run `graphify update .` to keep the graph current (AST-only, no API cost).
|
|
@@ -13,6 +13,14 @@ docs: ## build docs
|
|
|
13
13
|
rm -rf .doctrees site
|
|
14
14
|
uv run --group docs sphinx-build -d .doctrees -b html docs site --fail-on-warning
|
|
15
15
|
|
|
16
|
+
.PHONY: docs-serve
|
|
17
|
+
docs-serve: ## Open built docs in browser
|
|
18
|
+
uv run python -m webbrowser site/index.html
|
|
19
|
+
|
|
20
|
+
.PHONY: wheels
|
|
21
|
+
wheels: ## build wheels
|
|
22
|
+
uvx --from cibuildwheel==4.2.0 cibuildwheel
|
|
23
|
+
|
|
16
24
|
##@ Quality
|
|
17
25
|
.PHONY: test-cov
|
|
18
26
|
test-cov: ## Run tests with coverage
|
|
@@ -32,6 +40,26 @@ test-all: ## Run tests in all supporte Python versions
|
|
|
32
40
|
uv run --isolated -p $$py_v pytest; \
|
|
33
41
|
done
|
|
34
42
|
|
|
43
|
+
UNAME_S := $(shell uname -s)
|
|
44
|
+
ifeq ($(UNAME_S),Darwin)
|
|
45
|
+
ASAN_RUNTIME := $(shell clang --print-file-name=libclang_rt.asan_osx_dynamic.dylib)
|
|
46
|
+
SANITIZE_PRELOAD := DYLD_INSERT_LIBRARIES=$(ASAN_RUNTIME)
|
|
47
|
+
else
|
|
48
|
+
ASAN_RUNTIME := $(shell gcc --print-file-name=libasan.so)
|
|
49
|
+
SANITIZE_PRELOAD := LD_PRELOAD=$(ASAN_RUNTIME)
|
|
50
|
+
endif
|
|
51
|
+
|
|
52
|
+
DEBUG_PY ?= 3.14+debug
|
|
53
|
+
DEBUG_VENV = .venv-debug
|
|
54
|
+
|
|
55
|
+
.PHONY: test-debug
|
|
56
|
+
test-debug: ## Build core with Py_DEBUG + ASan/UBSan + debug allocator and run all tests
|
|
57
|
+
uv venv --clear --python $(DEBUG_PY) $(DEBUG_VENV)
|
|
58
|
+
STRUCTTYPE_SANITIZE=1 uv pip install --python $(DEBUG_VENV) --reinstall --no-cache --group dev -e .
|
|
59
|
+
$(SANITIZE_PRELOAD) STRUCTTYPE_ASAN_RUNTIME=$(ASAN_RUNTIME) ASAN_OPTIONS=detect_leaks=0 \
|
|
60
|
+
PYTHONMALLOC=debug PYTHONFAULTHANDLER=1 PYTHONDEVMODE=1 \
|
|
61
|
+
$(DEBUG_VENV)/bin/python -m pytest
|
|
62
|
+
|
|
35
63
|
.PHONY: check
|
|
36
64
|
check: ## Run all checks
|
|
37
65
|
-uvx ty check ${SOURCE_DIR}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"0": "_core.c",
|
|
3
|
+
"1": "test_schema.py",
|
|
4
|
+
"2": "TypeNodeCollectState",
|
|
5
|
+
"3": "TypeNode",
|
|
6
|
+
"4": "EncoderState",
|
|
7
|
+
"5": "test_inspect.py",
|
|
8
|
+
"6": "_inspect.py",
|
|
9
|
+
"7": "ryu.h",
|
|
10
|
+
"8": "JSONDecoderState",
|
|
11
|
+
"9": "PathNode",
|
|
12
|
+
"10": "parametrize",
|
|
13
|
+
"11": "Field",
|
|
14
|
+
"12": "StructspecState",
|
|
15
|
+
"13": "test_struct_meta.py",
|
|
16
|
+
"14": "unicode_str_and_size",
|
|
17
|
+
"15": "test_json.py",
|
|
18
|
+
"16": "visitproc",
|
|
19
|
+
"17": "test_struct.py",
|
|
20
|
+
"18": "parametrize",
|
|
21
|
+
"19": "TestDict",
|
|
22
|
+
"20": "test_check.py",
|
|
23
|
+
"21": "test_msgspec.py",
|
|
24
|
+
"22": "structtype/__init__.py",
|
|
25
|
+
"23": "test_constraints.py",
|
|
26
|
+
"24": "test_pydantic.py",
|
|
27
|
+
"25": "TestRename",
|
|
28
|
+
"26": "StructAdapter",
|
|
29
|
+
"27": "TestStruct",
|
|
30
|
+
"28": "TestDatetime",
|
|
31
|
+
"29": "TestEncoderMisc",
|
|
32
|
+
"30": "multi_type_info",
|
|
33
|
+
"31": "PyObject",
|
|
34
|
+
"32": "TestStructParameterOrdering",
|
|
35
|
+
"33": "bench_libs.py",
|
|
36
|
+
"34": "TestGetClassAnnotations",
|
|
37
|
+
"35": "_utils.py",
|
|
38
|
+
"36": "temp_module",
|
|
39
|
+
"37": "replace",
|
|
40
|
+
"38": "_Lookup_OnMissing",
|
|
41
|
+
"39": "test_raw.py",
|
|
42
|
+
"40": "TestRaw",
|
|
43
|
+
"41": "bench_gc.py",
|
|
44
|
+
"42": "atof.h",
|
|
45
|
+
"43": "Rand",
|
|
46
|
+
"44": "TestBoolAndNone",
|
|
47
|
+
"45": "TestSetAttr",
|
|
48
|
+
"46": "TestStructGC",
|
|
49
|
+
"47": "structtype — AGENTS.md",
|
|
50
|
+
"48": "TestStrings",
|
|
51
|
+
"49": "TestDecodeFunction",
|
|
52
|
+
"50": "TestSequences",
|
|
53
|
+
"51": "TestOrderAndEq",
|
|
54
|
+
"52": "structtype_geojson.py",
|
|
55
|
+
"53": ".roundtrip",
|
|
56
|
+
"54": "TestStructArray",
|
|
57
|
+
"55": "TestRepr",
|
|
58
|
+
"56": "TestEncodeFunction",
|
|
59
|
+
"57": "TestInspectFields",
|
|
60
|
+
"58": "strbuilder_build",
|
|
61
|
+
"59": "test_cpylint.py",
|
|
62
|
+
"60": "test_free_threading.py",
|
|
63
|
+
"61": "utils.py",
|
|
64
|
+
"62": "structtype",
|
|
65
|
+
"63": "TestDecimal",
|
|
66
|
+
"64": "test_JSONTestSuite.py",
|
|
67
|
+
"65": "TestMixins",
|
|
68
|
+
"66": "LiteralType",
|
|
69
|
+
"67": "TestFloatConstraints",
|
|
70
|
+
"68": "TestStructArrayUnion",
|
|
71
|
+
"69": "TestPostInit",
|
|
72
|
+
"70": "bench_structs.py",
|
|
73
|
+
"71": "Changelog",
|
|
74
|
+
"72": "as_tuple",
|
|
75
|
+
"73": "EnumType",
|
|
76
|
+
"74": "TestSignature",
|
|
77
|
+
"75": "graphify.js",
|
|
78
|
+
"76": "Struct_get_index",
|
|
79
|
+
"77": "generate_atof_consts.py",
|
|
80
|
+
"78": "BoolType",
|
|
81
|
+
"79": ".__init__",
|
|
82
|
+
"80": ".struct_dump_json",
|
|
83
|
+
"81": ".struct_validate",
|
|
84
|
+
"82": ".struct_dump",
|
|
85
|
+
"83": "__dir__",
|
|
86
|
+
"84": ".includes_none",
|
|
87
|
+
"85": "MS_INLINE",
|
|
88
|
+
"86": "dump_obj",
|
|
89
|
+
"87": "test_python_validate_pydantic",
|
|
90
|
+
"88": "structtype",
|
|
91
|
+
"89": "setup.py",
|
|
92
|
+
"90": "tests/__init__.py",
|
|
93
|
+
"91": "json_encode_dataclass",
|
|
94
|
+
"92": "PyTypeObject",
|
|
95
|
+
"93": "structtype_get_global_state",
|
|
96
|
+
"94": "Encoder",
|
|
97
|
+
"95": "ms_passes_big_int_constraints",
|
|
98
|
+
"96": "typenode_collect_validate_literals",
|
|
99
|
+
"97": "structtype_get_state",
|
|
100
|
+
"98": "JSONDecoder_decode",
|
|
101
|
+
"99": "typenode_collect_constraints",
|
|
102
|
+
"100": "StructMetaObject",
|
|
103
|
+
"101": "TestStrConstraints",
|
|
104
|
+
"102": "opencode.json",
|
|
105
|
+
"103": ".struct_validate_json",
|
|
106
|
+
"104": "test_dump_builtin_types",
|
|
107
|
+
"105": "test_pydantic_with_default"
|
|
108
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"0": "d643c6cb13aaab4d", "1": "30cda3f2c9f4b116", "2": "a6d0fb59a6a2b804", "3": "8d971e8caf15c483", "4": "8566e5b3097372de", "5": "8ccf9a8216edc743", "6": "d4af17cc9de752b0", "7": "e9aa28c8ea371408", "8": "c7be1f55cc29cdc5", "9": "a86c4cdc8ba7141e", "10": "2acd3bf8d9823ee3", "11": "8b16559f248d3529", "12": "d33fcbc65b320f4d", "13": "106b80706f3e6407", "14": "898e2a4cf01ac53c", "15": "ce38cd6eac91f798", "16": "325cd5c4323c7131", "17": "d6946e44a13605fe", "18": "4f79efe7f9f1b95b", "19": "e6bbe969de75b939", "20": "f6f0ca8580c58960", "21": "bd118bda83700a30", "22": "c8aee1190bb46ed4", "23": "f07f0c3bca2e2c5e", "24": "d42c0071d964e0f0", "25": "0ea7f4ccd262c5f7", "26": "0551132be5589e8a", "27": "79ae2f66fd3d4cab", "28": "35d060ddf8835410", "29": "c06eaf5d4c15c91c", "30": "47a53cf0d19b9b25", "31": "2d3cd5fc40831866", "32": "1f2e529287de1129", "33": "61732978d44bfd1e", "34": "1532479ab8bd3527", "35": "043c7680510ea7b1", "36": "8db47582fd26984e", "37": "353f0a389c6cd66d", "38": "f6b36bbcc3d8ea00", "39": "80d3d56a2deec119", "40": "33fe916671500430", "41": "6e8fc4efdd69a5de", "42": "18f1cb0d9dd50899", "43": "ff23f8ee8952f749", "44": "d25dd65e4c5a6eb9", "45": "874874871833ac97", "46": "80f99cc1e0e70d07", "47": "d8c95f051295545a", "48": "4b5151ba8559d935", "49": "9c627f8e884be79f", "50": "74aa1435cbeb0f15", "51": "a294de0f391e4129", "52": "da025785d2e0def1", "53": "d30dd5e1985345f1", "54": "be70274335b469cb", "55": "da1c5973a1f91f99", "56": "b80ceeac4e9d9744", "57": "84c08d48d4a8c724", "58": "241ed0f17056465d", "59": "081ddb1790597c81", "60": "bb4f879e81ba01be", "61": "f21b78d8d6f651af", "62": "a5c6b49ab3c3ddd5", "63": "8e17b78f5c7aeb3a", "64": "f9e3877e16cd2034", "65": "ba4157cdcbddbfc7", "66": "6d1fbf1ddff278f1", "67": "40152a379f07657b", "68": "0a0dfcc47ee8b84d", "69": "96278a3510f58d7b", "70": "6383729bf4e402b7", "71": "e8428b8467ea6788", "72": "7772bb812f6b2b4e", "73": "f50c76eb2822aab3", "74": "3e06f29c6af9c475", "75": "f49f271aca1ae6ea", "76": "9f3e513e909e330f", "77": "b288304b40cb9e39", "78": "7bee85e51cca5a92", "79": "f934926580f53f49", "80": "eddf0ecb3f2cd816", "81": "a12fe16947302b9b", "82": "55d8fb4ea2c4932b", "83": "1c14db22800a9721", "84": "39168562a3e74dc9", "85": "799421abaca69864", "86": "f5e2387512027e5d", "87": "a3f65c0563c93809", "88": "82f5347c5f1fde6c", "89": "e76aec1367ea2252", "90": "43bbf35b96423d46", "91": "b839fd4b64b048cc", "92": "a64dcaa27dde0bd3", "93": "5decd6d5db678576", "94": "ffd6ed1437af78cb", "95": "b819762cf2d2b450", "96": "f47d1d0d20e1f658", "97": "3b43aff1e5dcc748", "98": "a8c11bc3ea56c13a", "99": "ed9780dfc51f724c", "100": "13cf78b368b49c84", "101": "5f6224204d52e0ca", "102": "919edef32945baa9", "103": "07b3d7351d3788b2", "104": "10d0037c220e2fee", "105": "f6dc073f17e45301"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"0": "_core.c",
|
|
3
|
+
"1": "test_schema.py",
|
|
4
|
+
"2": "structtype_get_global_state",
|
|
5
|
+
"3": "TypeNode",
|
|
6
|
+
"4": "EncoderState",
|
|
7
|
+
"5": "test_inspect.py",
|
|
8
|
+
"6": "_inspect.py",
|
|
9
|
+
"7": "dump_obj",
|
|
10
|
+
"8": "JSONDecoderState",
|
|
11
|
+
"9": "PathNode",
|
|
12
|
+
"10": "parametrize",
|
|
13
|
+
"11": "Field",
|
|
14
|
+
"12": "StructspecState",
|
|
15
|
+
"13": "test_struct_meta.py",
|
|
16
|
+
"14": "Py_ssize_t",
|
|
17
|
+
"15": "test_json.py",
|
|
18
|
+
"16": "visitproc",
|
|
19
|
+
"17": "test_struct.py",
|
|
20
|
+
"18": "parametrize",
|
|
21
|
+
"19": "TestDict",
|
|
22
|
+
"20": "test_check.py",
|
|
23
|
+
"21": "test_msgspec.py",
|
|
24
|
+
"22": "structtype/__init__.py",
|
|
25
|
+
"23": "test_constraints.py",
|
|
26
|
+
"24": "test_pydantic.py",
|
|
27
|
+
"25": "TestRename",
|
|
28
|
+
"26": "StructAdapter",
|
|
29
|
+
"27": "TestStruct",
|
|
30
|
+
"28": "TestDatetime",
|
|
31
|
+
"29": "TestEncoderMisc",
|
|
32
|
+
"30": "multi_type_info",
|
|
33
|
+
"31": "json_decode_struct_array_inner",
|
|
34
|
+
"32": "TestStructParameterOrdering",
|
|
35
|
+
"33": "bench_libs.py",
|
|
36
|
+
"34": "TestGetClassAnnotations",
|
|
37
|
+
"35": "_utils.py",
|
|
38
|
+
"36": "temp_module",
|
|
39
|
+
"37": "replace",
|
|
40
|
+
"38": "validate_lookup_tag",
|
|
41
|
+
"39": "test_raw.py",
|
|
42
|
+
"40": "TestRaw",
|
|
43
|
+
"41": "bench_gc.py",
|
|
44
|
+
"42": "atof.h",
|
|
45
|
+
"43": "Rand",
|
|
46
|
+
"44": "TestBoolAndNone",
|
|
47
|
+
"45": "TestHash",
|
|
48
|
+
"46": "TestStructGC",
|
|
49
|
+
"47": "structtype — AGENTS.md",
|
|
50
|
+
"48": "TestStrings",
|
|
51
|
+
"49": "TestDecodeFunction",
|
|
52
|
+
"50": "TestSequences",
|
|
53
|
+
"51": "TestOrderAndEq",
|
|
54
|
+
"52": "structtype_geojson.py",
|
|
55
|
+
"53": ".roundtrip",
|
|
56
|
+
"54": "TestStructArray",
|
|
57
|
+
"55": "TestRepr",
|
|
58
|
+
"56": "TestEncodeFunction",
|
|
59
|
+
"57": "TestInspectFields",
|
|
60
|
+
"58": "strbuilder_build",
|
|
61
|
+
"59": "test_cpylint.py",
|
|
62
|
+
"60": "test_free_threading.py",
|
|
63
|
+
"61": "utils.py",
|
|
64
|
+
"62": "structtype",
|
|
65
|
+
"63": "TestDecimal",
|
|
66
|
+
"64": "test_JSONTestSuite.py",
|
|
67
|
+
"65": "TestMixins",
|
|
68
|
+
"66": "LiteralType",
|
|
69
|
+
"67": "TestFloatConstraints",
|
|
70
|
+
"68": "TestStructArrayUnion",
|
|
71
|
+
"69": "TestPostInit",
|
|
72
|
+
"70": "bench_structs.py",
|
|
73
|
+
"71": "Changelog",
|
|
74
|
+
"72": "as_tuple",
|
|
75
|
+
"73": "EnumType",
|
|
76
|
+
"74": "TestSignature",
|
|
77
|
+
"75": "graphify.js",
|
|
78
|
+
"76": "Struct_hash",
|
|
79
|
+
"77": "generate_atof_consts.py",
|
|
80
|
+
"78": "BoolType",
|
|
81
|
+
"79": ".__init__",
|
|
82
|
+
"80": ".struct_dump_json",
|
|
83
|
+
"81": ".struct_validate",
|
|
84
|
+
"82": ".struct_dump",
|
|
85
|
+
"83": "__dir__",
|
|
86
|
+
"84": ".includes_none",
|
|
87
|
+
"85": "test_structadapter_pydantic",
|
|
88
|
+
"86": "test_decode_pydantic_direct",
|
|
89
|
+
"87": "test_python_validate_pydantic",
|
|
90
|
+
"88": "structtype",
|
|
91
|
+
"89": "setup.py",
|
|
92
|
+
"90": "tests/__init__.py"
|
|
93
|
+
}
|