kotonoha 0.4.0 → 0.4.1

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.
@@ -0,0 +1,143 @@
1
+ version = 1
2
+ revision = 5
3
+ requires-python = "==3.12.*"
4
+
5
+ [manifest]
6
+ requirements = [
7
+ { name = "jsonschema", specifier = ">=4,<5" },
8
+ { name = "markdown-it-py", specifier = ">=3,<5" },
9
+ { name = "pyyaml", specifier = ">=6,<7" },
10
+ ]
11
+
12
+ [[package]]
13
+ name = "attrs"
14
+ version = "26.1.0"
15
+ source = { registry = "https://pypi.org/simple" }
16
+ sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" }
17
+ wheels = [
18
+ { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" },
19
+ ]
20
+
21
+ [[package]]
22
+ name = "jsonschema"
23
+ version = "4.26.0"
24
+ source = { registry = "https://pypi.org/simple" }
25
+ dependencies = [
26
+ { name = "attrs" },
27
+ { name = "jsonschema-specifications" },
28
+ { name = "referencing" },
29
+ { name = "rpds-py" },
30
+ ]
31
+ sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" }
32
+ wheels = [
33
+ { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630, upload-time = "2026-01-07T13:41:05.306Z" },
34
+ ]
35
+
36
+ [[package]]
37
+ name = "jsonschema-specifications"
38
+ version = "2025.9.1"
39
+ source = { registry = "https://pypi.org/simple" }
40
+ dependencies = [
41
+ { name = "referencing" },
42
+ ]
43
+ sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" }
44
+ wheels = [
45
+ { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" },
46
+ ]
47
+
48
+ [[package]]
49
+ name = "markdown-it-py"
50
+ version = "4.2.0"
51
+ source = { registry = "https://pypi.org/simple" }
52
+ dependencies = [
53
+ { name = "mdurl" },
54
+ ]
55
+ sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size = 82454, upload-time = "2026-05-07T12:08:28.36Z" }
56
+ wheels = [
57
+ { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" },
58
+ ]
59
+
60
+ [[package]]
61
+ name = "mdurl"
62
+ version = "0.1.2"
63
+ source = { registry = "https://pypi.org/simple" }
64
+ sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" }
65
+ wheels = [
66
+ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
67
+ ]
68
+
69
+ [[package]]
70
+ name = "pyyaml"
71
+ version = "6.0.3"
72
+ source = { registry = "https://pypi.org/simple" }
73
+ sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" }
74
+ wheels = [
75
+ { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" },
76
+ { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" },
77
+ { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" },
78
+ { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" },
79
+ { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" },
80
+ { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" },
81
+ { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" },
82
+ { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" },
83
+ { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" },
84
+ { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" },
85
+ ]
86
+
87
+ [[package]]
88
+ name = "referencing"
89
+ version = "0.37.0"
90
+ source = { registry = "https://pypi.org/simple" }
91
+ dependencies = [
92
+ { name = "attrs" },
93
+ { name = "rpds-py" },
94
+ { name = "typing-extensions" },
95
+ ]
96
+ sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" }
97
+ wheels = [
98
+ { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" },
99
+ ]
100
+
101
+ [[package]]
102
+ name = "rpds-py"
103
+ version = "2026.9.1"
104
+ source = { registry = "https://pypi.org/simple" }
105
+ sdist = { url = "https://files.pythonhosted.org/packages/42/68/3bd46b8a5e01d3c2ebdf9c5e9497912e3fe0cde02bac21a7130ca866e403/rpds_py-2026.9.1.tar.gz", hash = "sha256:4793ef7f78268b124b73fa933440f01d258bbae01de9fa53e9080c9ab0425a12", size = 63948, upload-time = "2026-10-04T16:32:36.469Z" }
106
+ wheels = [
107
+ { url = "https://files.pythonhosted.org/packages/5d/34/a828586ea3329fbb50895b50e9cf98ca3d924a9f41a0b26d443bff1b3794/rpds_py-2026.9.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:50906f5aea24b5a865cbd0a589698288631d9f3a54c3a937c83aefa95a0d14af", size = 346822, upload-time = "2026-10-04T16:29:16.258Z" },
108
+ { url = "https://files.pythonhosted.org/packages/90/81/ac6a0d064982251856ce009c9e1dd51a34110b3c055aa7d1aad18b4899a3/rpds_py-2026.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e21c1429e205828ea886a2293a4a2c8e01f4c25d9893ca330e97a6cf73f52e7b", size = 341380, upload-time = "2026-10-04T16:29:17.706Z" },
109
+ { url = "https://files.pythonhosted.org/packages/42/ff/bf7d54f362748fd6a49277b9d6531c394074110fedf50ad791ec59133fbb/rpds_py-2026.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693b2728bbcc48d09a981a356954b0c47c53ff25b545856f28a889ea619f69a", size = 373053, upload-time = "2026-10-04T16:29:19.063Z" },
110
+ { url = "https://files.pythonhosted.org/packages/60/de/74b0ccdbbd28687b9b5fdb34c1cabed88352182facaced9d6f5486b8b9ed/rpds_py-2026.9.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8601470267d938bcb7f3ab1a336100af51a4fd5b6ed030ef52461bb3ef5e7e07", size = 377742, upload-time = "2026-10-04T16:29:20.543Z" },
111
+ { url = "https://files.pythonhosted.org/packages/c2/6d/b979775a3057b2a5c26d75ecbff60a20a24ef081db6dd76836fca3f20247/rpds_py-2026.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3890a6aa36e6baa53d5258a2a25d3ef8b37ad165a6ab27a892d7c3e3a432cd69", size = 487289, upload-time = "2026-10-04T16:29:21.958Z" },
112
+ { url = "https://files.pythonhosted.org/packages/1d/5d/7c34734ce3ece943d9d6ee0122a74a21bbc75b47acb5b7053c83f6efb1ed/rpds_py-2026.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6b5b393eda5ea42cca1c1a6665f2a4882b4fd5d1777e41ce0545a107fb008c9d", size = 390710, upload-time = "2026-10-04T16:29:23.378Z" },
113
+ { url = "https://files.pythonhosted.org/packages/1d/6d/b26eb1e75395925b3a142ed351cbed2ec8212f5c9d937aee3df32c701baa/rpds_py-2026.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:addeda51556dac7c1a2f14cda62db8b621cd12afba3091d03a96c72932387eab", size = 371261, upload-time = "2026-10-04T16:29:25.1Z" },
114
+ { url = "https://files.pythonhosted.org/packages/7c/98/b2fdfe10301a9e27af21e634337fbba7baac0bc17fe44619a17c26bba2cb/rpds_py-2026.9.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:d9edf30457d74eebfd76b045535e36f1cd89062566a128a0db2145ca042d787e", size = 376075, upload-time = "2026-10-04T16:29:26.748Z" },
115
+ { url = "https://files.pythonhosted.org/packages/c5/b1/c4b8d954e49c3c69cf8063c0c9e0919c99f3d2cecc46311606a1cbe835dc/rpds_py-2026.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:815d26356930846a40c7bc1366e7b1b0320ab8a063e66c11298a208bed0fd237", size = 399358, upload-time = "2026-10-04T16:29:28.282Z" },
116
+ { url = "https://files.pythonhosted.org/packages/b3/59/9559a7293c97dff0cbb293efffbd36644103883ecc27741af8ef90c84ca8/rpds_py-2026.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3b5a6f40f0a1486b4b36c888123afc67acdbd9f33235927acf5ff295429a0ba3", size = 550267, upload-time = "2026-10-04T16:29:29.851Z" },
117
+ { url = "https://files.pythonhosted.org/packages/6c/9d/6dc60e49511de4c8b00e74f9c1d43aed4d27f712cdb1ade92f2c199cbf64/rpds_py-2026.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b5b8b0753718d258fd454283fbd57e14545d3b40583fa672e27cb4f987626bcc", size = 614018, upload-time = "2026-10-04T16:29:31.54Z" },
118
+ { url = "https://files.pythonhosted.org/packages/fb/bc/92a4ecf27301b886232a413360f6b348a81d55ffef654f2ebda5970ebc3d/rpds_py-2026.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:46d80bc76b51a6c24f9944368c28d38b8bcbcea1da4f2f8d3ebc31a67e8c6ec6", size = 578509, upload-time = "2026-10-04T16:29:33.01Z" },
119
+ { url = "https://files.pythonhosted.org/packages/08/53/efb97f2e6589b7ab8394385a73870e0b2ab2a195281c117b21fd6d7d4855/rpds_py-2026.9.1-cp312-cp312-win32.whl", hash = "sha256:befc2d6a953e563f8a7bfd87a42c22ebf8a3e980dcb7b6a4d17b70b0e914e8a3", size = 205401, upload-time = "2026-10-04T16:29:34.451Z" },
120
+ { url = "https://files.pythonhosted.org/packages/1c/84/1700cc748d0eaa747486e4e82882d2575224e6e9a3148df583058850c629/rpds_py-2026.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:5ce8943f79c2210f7abcc28e86367b03b28d95027fd01c46d2472373ae70c86f", size = 222923, upload-time = "2026-10-04T16:29:35.709Z" },
121
+ { url = "https://files.pythonhosted.org/packages/c3/89/0302215373c2f8b4408b0fdfee955368cc378a98ff59508d47a7e0dc2dbf/rpds_py-2026.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:501909f2e4a1e2dee528ef766fe3c469060ebc17e54a8383d404ba07a81a6f02", size = 218415, upload-time = "2026-10-04T16:29:37.263Z" },
122
+ { url = "https://files.pythonhosted.org/packages/a3/90/a9ba81408369d34c1aca73319c15adc91ed45c1d21e9e8ee4832ffb7fe0b/rpds_py-2026.9.1-pp312-pypy312_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6cdc537c8633d7fd92a82e2e0d2ab74320a3f63d5e59fb9cf08711e08fe151c4", size = 381109, upload-time = "2026-10-04T16:32:08.994Z" },
123
+ { url = "https://files.pythonhosted.org/packages/b3/44/5192a0bed94cec86bd2a5e1cc5a1bb8f7eec3aec907eacd2deb13e87e326/rpds_py-2026.9.1-pp312-pypy312_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:10e208f2425d973938afcd56e28a7c4be32e27b6a60b5d381f49fb9d8acf9759", size = 388222, upload-time = "2026-10-04T16:32:11.321Z" },
124
+ { url = "https://files.pythonhosted.org/packages/92/cd/5356549711448f18b52f7a11ffbe90f1228774996fbf3c6cd1b18d22abaf/rpds_py-2026.9.1-pp312-pypy312_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c0dbbcc19735fe5f8b0a54c07659d154a9e69f47e15d0a6ab7299215daf62cb", size = 500384, upload-time = "2026-10-04T16:32:13.478Z" },
125
+ { url = "https://files.pythonhosted.org/packages/7a/88/ddda9d28adfe33119c75b2e733d4ba7e326f41d7e1b1093951771768ca48/rpds_py-2026.9.1-pp312-pypy312_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:684fd492fff4fead00587544e059be2bbcb6f93454f21fa2a91b66fc7508be82", size = 401661, upload-time = "2026-10-04T16:32:15.653Z" },
126
+ { url = "https://files.pythonhosted.org/packages/32/c3/bb59ba16a6b4a57995d15b8c04c00f28df3b938c4dcdde48fbe0f73edb0c/rpds_py-2026.9.1-pp312-pypy312_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1028417bb44037eb3069c1009bd7b7277212876cda22fbe565b0bca9fab6d2c", size = 380748, upload-time = "2026-10-04T16:32:17.727Z" },
127
+ { url = "https://files.pythonhosted.org/packages/f5/b8/0580faa1c5a32ddc160130dd7ae54d2d007272a89a40a6b5db3e50f9f585/rpds_py-2026.9.1-pp312-pypy312_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:492e5e428cbe126221611f47e068f01660352feec4ad18bc0f5ea9b2ae88fb14", size = 385731, upload-time = "2026-10-04T16:32:19.855Z" },
128
+ { url = "https://files.pythonhosted.org/packages/bf/70/f73564642bbe3322c7eeef2c2f258cf040b71c41a430b532e59d04a1b838/rpds_py-2026.9.1-pp312-pypy312_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:88b5268892fde430d5531f95bc560b6efbbd67c929662c586afd729a96e7461c", size = 412131, upload-time = "2026-10-04T16:32:22.285Z" },
129
+ { url = "https://files.pythonhosted.org/packages/8c/5d/17fff2e1f8f68721a2afb5cb48f7e442c751bb6b4883157c5abaf618cd08/rpds_py-2026.9.1-pp312-pypy312_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:01445c8d194aa032a08e944f16567672da1c62dbdbefd8b6d0693032e290cf68", size = 558193, upload-time = "2026-10-04T16:32:24.4Z" },
130
+ { url = "https://files.pythonhosted.org/packages/2a/d0/869ab6fb08531f97aae4a780b4d61b4190d8aef48fe054ee28bcf7114466/rpds_py-2026.9.1-pp312-pypy312_pp73-musllinux_1_2_i686.whl", hash = "sha256:eef6a03b0b6d08d0835ccfa8ec8d1bc70525e3801387567137b50c557695e6da", size = 622448, upload-time = "2026-10-04T16:32:26.844Z" },
131
+ { url = "https://files.pythonhosted.org/packages/ba/a5/9672e532fe02cd3b92c78cfd8743abca939d96853006c63835009a1ecb6f/rpds_py-2026.9.1-pp312-pypy312_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6b9bf3135b4ad5981df9a73d71a35272d650a2985ae9c2746357b24d59de2448", size = 591126, upload-time = "2026-10-04T16:32:29.274Z" },
132
+ { url = "https://files.pythonhosted.org/packages/80/ef/3a9f8e4279c7920af561deed4cb7ebebed2794a8f608cf404d5eef14a105/rpds_py-2026.9.1-pp312-pypy312_pp80-macosx_10_12_x86_64.whl", hash = "sha256:56c6952a9b15047466d0c2347c446a761d4527f89976156341e68f0ce5cc08b0", size = 357108, upload-time = "2026-10-04T16:32:31.641Z" },
133
+ { url = "https://files.pythonhosted.org/packages/b7/55/4b2fa381a583760aea5c92841e4e928a358e1c6511b129219e9c2826a226/rpds_py-2026.9.1-pp312-pypy312_pp80-macosx_11_0_arm64.whl", hash = "sha256:b242c27c8f836305a4a72df9cdd564386ac57b807bd252a063223331c9316b37", size = 346877, upload-time = "2026-10-04T16:32:34.061Z" },
134
+ ]
135
+
136
+ [[package]]
137
+ name = "typing-extensions"
138
+ version = "4.16.0"
139
+ source = { registry = "https://pypi.org/simple" }
140
+ sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", size = 113555, upload-time = "2026-07-02T08:40:05.92Z" }
141
+ wheels = [
142
+ { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" },
143
+ ]
@@ -6,15 +6,16 @@ description: >-
6
6
  notes/CHANGELOG, user manuals/how-to guides, code comments/docstrings,
7
7
  requirements definitions, system designs, test plans, operations runbooks,
8
8
  migration plans, security designs/threat models, technical proposals,
9
- Blueprints, White Papers, RFI/RFP procurement documents, and Qiita/Zenn
10
- articles. Use for requests
9
+ Blueprints, White Papers, RFI/RFP procurement documents, Obsidian notes
10
+ and templates, and Qiita/Zenn articles. Use for requests
11
11
  like "write a README", "draft a design doc", "define system requirements",
12
12
  "write a system design", "create a test plan", "write an operations
13
13
  runbook", "plan a migration", "create a threat model", "write a technical
14
14
  proposal", "create a Blueprint", "write a White Paper", "draft an RFI",
15
15
  "create an RFP", "write this PR description", "clean up my commit
16
16
  message", "make this how-to guide clearer", "write API docs", "summarize
17
- the release notes", "write a Zenn article", "write this up for Qiita", as
17
+ the release notes", "create an Obsidian note", "write a Zenn article",
18
+ "write this up for Qiita", as
18
19
  well as
19
20
  Japanese-language equivalents (「READMEを書いて」「設計ドキュメントを作って」
20
21
  「要件定義書を作って」「システム設計書を書いて」「テスト計画書を作って」
@@ -23,6 +24,7 @@ description: >-
23
24
  「RFIを作って」「RFPを作って」「PRの説明文を書いて」
24
25
  「コミットメッセージを整えて」「手順書を分かりやすくして」
25
26
  「APIドキュメントを整備して」「リリースノートをまとめて」
27
+ 「Obsidian用のノートを作って」「Obsidianのテンプレートを作って」
26
28
  「Zennの記事を書いて」「Qiitaに投稿する記事を書いて」). Especially useful when
27
29
  the request is a bare goal without enough context to start (e.g. "I want
28
30
  to write a README" / "○○を書きたい"), since this skill drives a one
@@ -44,7 +46,8 @@ descriptions/commit messages/issue reports, release notes/CHANGELOG, user
44
46
  manuals/how-to guides, code comments/docstrings, requirements definitions,
45
47
  system designs, test plans, operations runbooks, migration plans, security
46
48
  designs/threat models, technical proposals, Blueprints, White Papers,
47
- RFI/RFP procurement documents, and Qiita/Zenn articles.
49
+ RFI/RFP procurement documents, Obsidian notes and templates, and Qiita/Zenn
50
+ articles.
48
51
 
49
52
  Default format: Markdown for every doctype in this skill, except a git
50
53
  commit message body (plain text by convention — light "-" bullets are
@@ -52,7 +55,12 @@ fine, but don't add Markdown headings or fenced code there) and code
52
55
  comments/docstrings (the target programming language's own comment/
53
56
  docstring syntax). Qiita and Zenn use Markdown with a platform-specific
54
57
  YAML frontmatter and a few platform extensions on top — see their doctype
55
- reference files.
58
+ reference files. Obsidian uses YAML properties, wikilinks, and callouts;
59
+ see `references/doctypes/obsidian.md` for core Templates compatibility.
60
+ For an existing Vault's conventions, related-note suggestions, link diagnosis,
61
+ or approval-gated saves, use the sibling `obsidian-vault` skill when available.
62
+ Tech-writer still owns document structure and the reusable template; it must
63
+ not bypass that skill's scope checks or save directly into the Vault.
56
64
 
57
65
  ## Division of labor
58
66
 
@@ -194,6 +202,7 @@ hand the user a checklist to fill in. Instead:
194
202
  | White Paper / ホワイトペーパー | white-paper | `references/doctypes/white-paper.md` |
195
203
  | Request for information / RFI | rfi | `references/doctypes/rfi.md` |
196
204
  | Request for proposal / RFP | rfp | `references/doctypes/rfp.md` |
205
+ | Obsidian note / vault template | obsidian | `references/doctypes/obsidian.md` |
197
206
  | Zenn article | zenn | `references/doctypes/zenn.md` |
198
207
  | Qiita article | qiita | `references/doctypes/qiita.md` |
199
208
 
@@ -237,7 +246,7 @@ document and needs the outline step below.
237
246
  For living, multi-section documents (README, design doc, API reference,
238
247
  release notes, user manual, requirements definition, system design, test
239
248
  plan, operations runbook, migration plan, security design, technical
240
- proposal, Blueprint, White Paper, RFI/RFP, Zenn/Qiita article), write under
249
+ proposal, Blueprint, White Paper, RFI/RFP, Obsidian note, Zenn/Qiita article), write under
241
250
  the 8 rules
242
251
  in `references/style-constitution.md`. Summary: state "what this is" and
243
252
  "the outcome for the reader" in the first three lines; make headings
@@ -408,7 +417,7 @@ See each reference file for detail. The items below are for living,
408
417
  multi-section documents (README, design doc, API reference, release notes,
409
418
  user manual, requirements definition, system design, test plan, operations
410
419
  runbook, migration plan, security design, technical proposal, Blueprint,
411
- White Paper, RFI/RFP, Zenn/Qiita article). Atomic
420
+ White Paper, RFI/RFP, Obsidian note, Zenn/Qiita article). Atomic
412
421
  artifacts (commit message, PR
413
422
  description, issue report, code comment/docstring, a single appended
414
423
  release-notes entry) are already covered by their own doctype checklist
@@ -0,0 +1,37 @@
1
+ ---
2
+ aliases: []
3
+ tags: []
4
+ created: "{{date:YYYY-MM-DD}}"
5
+ type: note
6
+ status: draft
7
+ ---
8
+
9
+ # {{title}}
10
+
11
+ <誰が、どの場面で参照し、何を判断・実行するためのノートかを1文で記載する。>
12
+
13
+ ## 結論と要点
14
+
15
+ > [!summary] このノートの要点
16
+ > <最も伝えたい結論と、その結論が成り立つ条件を記載する。>
17
+
18
+ ## 根拠と具体例
19
+
20
+ <確認した事実と自分の解釈を分け、出典を添えて記載する。手順を含む場合は前提条件を先に示す。>
21
+
22
+ ## 適用条件と未確認事項
23
+
24
+ <対象の環境・バージョン、適用できない条件、未検証の仮説を記載する。>
25
+
26
+ ## 関連ノート
27
+
28
+ - [[関連ノート名|このノートとの関係が分かる表示名]]
29
+ - [[関連ノート名#見出し名]]
30
+
31
+ ## 次に確認すること
32
+
33
+ - [ ] <確認する内容と、完了を判断できる条件を記載する。>
34
+
35
+ ## 出典
36
+
37
+ - [<資料名>](<URL>) — <著者・発行元、公開日または参照日、根拠にした箇所>
@@ -0,0 +1,106 @@
1
+ # Obsidian note type
2
+
3
+ Create a reusable Markdown knowledge note for an Obsidian vault. Start from
4
+ `assets/templates/obsidian.md`; community plugins are not required.
5
+
6
+ ## Target reader
7
+
8
+ A vault owner or collaborator who needs to retrieve a technical conclusion,
9
+ understand its evidence and limits, and navigate to related notes later.
10
+
11
+ ## Settle before writing
12
+
13
+ - The note's reader and one-sentence retrieval or action goal.
14
+ - The destination vault, folder, and naming conventions, if known.
15
+ - Whether the deliverable is a reusable Templates file or a completed note.
16
+ - Existing property names/types, tags, aliases, and related note paths.
17
+
18
+ Use the normal one-question-at-a-time intake for missing information. If the
19
+ vault is unavailable, state that link resolution has not been checked; do
20
+ not invent existing notes or claim that example links resolve.
21
+
22
+ ## Format and properties
23
+
24
+ Use UTF-8 Markdown with YAML properties at the very beginning, one H1 title,
25
+ and H2 body sections. Keep properties flat and property names unique.
26
+ `aliases` and `tags` are lists; the template leaves them empty rather than
27
+ inventing a classification. Add tags without a leading `#`. The custom
28
+ `type` and `status` fields are editable text, not built-in workflow automation.
29
+ Match the destination vault's property types instead of changing them.
30
+
31
+ The template uses only core Templates variables:
32
+
33
+ - `{{title}}` inserts the active note's title into the H1.
34
+ - `{{date:YYYY-MM-DD}}` records the insertion date in `created`.
35
+
36
+ Keep date variables quoted in YAML. Edit the reusable template in Source
37
+ mode so the Properties editor does not replace unresolved variables.
38
+ `created` is not automatically refreshed or guaranteed to be a file's actual
39
+ creation date. Do not add an `updated` field and imply that core Templates
40
+ tracks later modifications.
41
+
42
+ For a completed note generated directly by an agent, replace the variables
43
+ with the intended note title and known date; do not leave template tokens
44
+ behind. Use the intended vault filename as the title, not the template
45
+ filename. Keep tokens intact when delivering a reusable template.
46
+
47
+ ## Install and use the reusable template
48
+
49
+ 1. Copy `assets/templates/obsidian.md` into a template folder inside the
50
+ destination vault, for example `Templates/obsidian.md`. Do not overwrite
51
+ an existing file without approval.
52
+ 2. Enable the core Templates plugin in Obsidian's settings.
53
+ 3. Set **Settings → Templates → Template folder location** to that folder.
54
+ 4. Create and name an empty destination note, then run
55
+ **Templates: Insert template** with the cursor in the note body.
56
+ 5. Fill the prose placeholders, choose tags and aliases, and replace or
57
+ remove the example links and task before treating the note as complete.
58
+
59
+ Kotonoha installs the skill assets, not an Obsidian vault configuration.
60
+ It does not enable plugins or set the template folder automatically.
61
+ This template does not require Templater, Dataview, or custom scripts.
62
+
63
+ ## Recommended skeleton and links
64
+
65
+ The H1 and lead paragraph establish what the note is for. Follow with the
66
+ conclusion, evidence and examples, applicability and uncertainty, related
67
+ notes, next checks, and sources. Remove optional empty sections when creating
68
+ a final note unless the caller has frozen its structure.
69
+
70
+ Use `[[Note name|Display text]]` for related notes and
71
+ `[[Note name#Heading]]` for specific sections. Include a vault-relative path
72
+ when note names are ambiguous. Quote the entire wikilink if placing one in
73
+ YAML, for example `related: "[[Projects/Architecture]]"`.
74
+
75
+ The `> [!summary]` block is an Obsidian callout, and `- [ ]` is an unchecked
76
+ task. Backlinks are computed by Obsidian; do not fill a fake backlinks
77
+ section. Embeds such as `![[Note name]]` are optional and require an actual
78
+ target; do not add an unresolved embed by default.
79
+
80
+ Wikilinks and callouts may not render equivalently outside Obsidian. Use
81
+ ordinary Markdown links and blockquotes if portability is the priority.
82
+ Kotonoha's Markdown diagnostics do not validate vault link targets or
83
+ Obsidian rendering. Preserve wikilink destinations, heading fragments,
84
+ display aliases, embeds, and callout markers during prose optimization;
85
+ pass complete protected link strings through `--protect` where the generic
86
+ invariant checker does not recognize Obsidian syntax.
87
+
88
+ ## Checklist
89
+
90
+ - [ ] Is the result explicitly a reusable template or a completed note?
91
+ - [ ] Are properties flat, unique, and compatible with the vault's types?
92
+ - [ ] Are YAML date variables and YAML wikilinks quoted?
93
+ - [ ] Are core variables retained only in reusable templates, with no
94
+ unrequested community-plugin dependency?
95
+ - [ ] Do the title and lead identify the reader's retrieval or action goal?
96
+ - [ ] Are conclusions separated from evidence, interpretation, and unknowns?
97
+ - [ ] Are example links/tasks replaced or removed in a completed note, and
98
+ are unchecked link targets reported honestly?
99
+ - [ ] Are template installation and date-update limitations clear?
100
+
101
+ ## Official references
102
+
103
+ - [Templates](https://help.obsidian.md/plugins/templates)
104
+ - [Properties](https://help.obsidian.md/properties)
105
+ - [Internal links](https://help.obsidian.md/links)
106
+ - [Callouts](https://help.obsidian.md/callouts)