notio 0.1.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.
notio-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Arash Shahidi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
notio-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,157 @@
1
+ Metadata-Version: 2.4
2
+ Name: notio
3
+ Version: 0.1.0
4
+ Summary: Lightweight project-agnostic CLI for templated notes and log indexes
5
+ Author: Arash Shahidi
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/arashshahidi1997/notio
8
+ Project-URL: Repository, https://github.com/arashshahidi1997/notio
9
+ Project-URL: Issues, https://github.com/arashshahidi1997/notio/issues
10
+ Keywords: notes,markdown,cli,templates,logs
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Topic :: Office/Business :: Groupware
17
+ Classifier: Topic :: Text Processing :: Markup :: Markdown
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Provides-Extra: docs
22
+ Requires-Dist: mkdocs>=1.6; extra == "docs"
23
+ Requires-Dist: mkdocs-material>=9.5; extra == "docs"
24
+ Provides-Extra: mcp
25
+ Requires-Dist: fastmcp; extra == "mcp"
26
+ Provides-Extra: dev
27
+ Requires-Dist: pytest; extra == "dev"
28
+ Requires-Dist: build; extra == "dev"
29
+ Requires-Dist: twine; extra == "dev"
30
+ Requires-Dist: mkdocs>=1.6; extra == "dev"
31
+ Requires-Dist: mkdocs-material>=9.5; extra == "dev"
32
+ Dynamic: license-file
33
+
34
+ # notio
35
+
36
+ `notio` is a lightweight, project-agnostic CLI for creating templated Markdown notes and maintaining browsable log indexes.
37
+
38
+ It is meant for repositories that want plain Markdown notes with predictable structure, local templates, and repo-owned index pages, without introducing a database or a large documentation framework.
39
+
40
+ ## Install
41
+
42
+ ```bash
43
+ pip install notio
44
+ ```
45
+
46
+ ## Package surface
47
+
48
+ - `notio init`
49
+ - `notio note <type>`
50
+ - `notio toc [<type>|--all]`
51
+ - `notio diataxis init`
52
+ - `notio diataxis add <section> <slug>`
53
+ - `notio diataxis toc [<section>|--all]`
54
+ - `notio mcp` — Start FastMCP server (stdio) for agent integration
55
+
56
+ The source of truth is the Python CLI plus `notio.toml`. Make wrappers are optional convenience only.
57
+
58
+ ## MCP server
59
+
60
+ Notio includes an optional MCP server (`pip install notio[mcp]`) that exposes note operations as tools for AI agents:
61
+
62
+ | Tool | Description |
63
+ |------|-------------|
64
+ | `note_list` | List recent notes by type |
65
+ | `note_latest` | Most recent note content |
66
+ | `note_read` | Read a specific note by path |
67
+ | `note_create` | Create a new note |
68
+ | `note_update` | Update note frontmatter fields |
69
+ | `note_types` | List configured note types |
70
+ | `note_search` | Semantic search over notes |
71
+
72
+ Start standalone: `notio mcp`
73
+ Or via projio: `projio mcp -C .` (aggregates all ecosystem tools).
74
+
75
+ ## Quickstart
76
+
77
+ Initialize a workspace:
78
+
79
+ ```bash
80
+ notio init --write-config
81
+ ```
82
+
83
+ Create a note:
84
+
85
+ ```bash
86
+ notio note meeting --title "Sprint sync"
87
+ ```
88
+
89
+ Rebuild all indexes:
90
+
91
+ ```bash
92
+ notio toc --all
93
+ ```
94
+
95
+ Scaffold Diataxis documentation:
96
+
97
+ ```bash
98
+ notio diataxis init --mkdocs
99
+ notio diataxis add tutorial quickstart --title "Getting Started"
100
+ ```
101
+
102
+ ## Local development
103
+
104
+ Install with development dependencies:
105
+
106
+ ```bash
107
+ pip install -e ".[dev]"
108
+ ```
109
+
110
+ Run tests:
111
+
112
+ ```bash
113
+ make test
114
+ ```
115
+
116
+ Run directly from the repository without installation:
117
+
118
+ ```bash
119
+ PYTHONPATH=src python -m notio --root . init
120
+ PYTHONPATH=src python -m notio --root . note meeting --title "Sprint sync"
121
+ PYTHONPATH=src python -m notio --root . toc --all
122
+ ```
123
+
124
+ ## Documentation
125
+
126
+ The repository includes an MkDocs site with a Diataxis-style structure:
127
+
128
+ - Tutorials
129
+ - How-to guides
130
+ - Explanation
131
+ - Reference
132
+
133
+ Build docs locally with:
134
+
135
+ ```bash
136
+ pip install ".[docs]"
137
+ mkdocs serve
138
+ ```
139
+
140
+ ## Configuration
141
+
142
+ `notio` reads configuration from:
143
+
144
+ - `notio.toml`
145
+ - `[tool.notio]` in `pyproject.toml`
146
+
147
+ ## Make wrappers
148
+
149
+ - `make init`
150
+ - `make note-daily`
151
+ - `make note-weekly`
152
+ - `make note-issue TITLE="Fix plotting bug"`
153
+ - `make toc-all`
154
+
155
+ ## Release
156
+
157
+ See [RELEASE.md](RELEASE.md) for build and publish instructions.
notio-0.1.0/README.md ADDED
@@ -0,0 +1,124 @@
1
+ # notio
2
+
3
+ `notio` is a lightweight, project-agnostic CLI for creating templated Markdown notes and maintaining browsable log indexes.
4
+
5
+ It is meant for repositories that want plain Markdown notes with predictable structure, local templates, and repo-owned index pages, without introducing a database or a large documentation framework.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pip install notio
11
+ ```
12
+
13
+ ## Package surface
14
+
15
+ - `notio init`
16
+ - `notio note <type>`
17
+ - `notio toc [<type>|--all]`
18
+ - `notio diataxis init`
19
+ - `notio diataxis add <section> <slug>`
20
+ - `notio diataxis toc [<section>|--all]`
21
+ - `notio mcp` — Start FastMCP server (stdio) for agent integration
22
+
23
+ The source of truth is the Python CLI plus `notio.toml`. Make wrappers are optional convenience only.
24
+
25
+ ## MCP server
26
+
27
+ Notio includes an optional MCP server (`pip install notio[mcp]`) that exposes note operations as tools for AI agents:
28
+
29
+ | Tool | Description |
30
+ |------|-------------|
31
+ | `note_list` | List recent notes by type |
32
+ | `note_latest` | Most recent note content |
33
+ | `note_read` | Read a specific note by path |
34
+ | `note_create` | Create a new note |
35
+ | `note_update` | Update note frontmatter fields |
36
+ | `note_types` | List configured note types |
37
+ | `note_search` | Semantic search over notes |
38
+
39
+ Start standalone: `notio mcp`
40
+ Or via projio: `projio mcp -C .` (aggregates all ecosystem tools).
41
+
42
+ ## Quickstart
43
+
44
+ Initialize a workspace:
45
+
46
+ ```bash
47
+ notio init --write-config
48
+ ```
49
+
50
+ Create a note:
51
+
52
+ ```bash
53
+ notio note meeting --title "Sprint sync"
54
+ ```
55
+
56
+ Rebuild all indexes:
57
+
58
+ ```bash
59
+ notio toc --all
60
+ ```
61
+
62
+ Scaffold Diataxis documentation:
63
+
64
+ ```bash
65
+ notio diataxis init --mkdocs
66
+ notio diataxis add tutorial quickstart --title "Getting Started"
67
+ ```
68
+
69
+ ## Local development
70
+
71
+ Install with development dependencies:
72
+
73
+ ```bash
74
+ pip install -e ".[dev]"
75
+ ```
76
+
77
+ Run tests:
78
+
79
+ ```bash
80
+ make test
81
+ ```
82
+
83
+ Run directly from the repository without installation:
84
+
85
+ ```bash
86
+ PYTHONPATH=src python -m notio --root . init
87
+ PYTHONPATH=src python -m notio --root . note meeting --title "Sprint sync"
88
+ PYTHONPATH=src python -m notio --root . toc --all
89
+ ```
90
+
91
+ ## Documentation
92
+
93
+ The repository includes an MkDocs site with a Diataxis-style structure:
94
+
95
+ - Tutorials
96
+ - How-to guides
97
+ - Explanation
98
+ - Reference
99
+
100
+ Build docs locally with:
101
+
102
+ ```bash
103
+ pip install ".[docs]"
104
+ mkdocs serve
105
+ ```
106
+
107
+ ## Configuration
108
+
109
+ `notio` reads configuration from:
110
+
111
+ - `notio.toml`
112
+ - `[tool.notio]` in `pyproject.toml`
113
+
114
+ ## Make wrappers
115
+
116
+ - `make init`
117
+ - `make note-daily`
118
+ - `make note-weekly`
119
+ - `make note-issue TITLE="Fix plotting bug"`
120
+ - `make toc-all`
121
+
122
+ ## Release
123
+
124
+ See [RELEASE.md](RELEASE.md) for build and publish instructions.
@@ -0,0 +1,59 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "notio"
7
+ version = "0.1.0"
8
+ description = "Lightweight project-agnostic CLI for templated notes and log indexes"
9
+ readme = "README.md"
10
+ requires-python = ">=3.11"
11
+ authors = [
12
+ { name = "Arash Shahidi" }
13
+ ]
14
+ license = "MIT"
15
+ license-files = ["LICENSE"]
16
+ keywords = ["notes", "markdown", "cli", "templates", "logs"]
17
+ classifiers = [
18
+ "Development Status :: 3 - Alpha",
19
+ "Environment :: Console",
20
+ "Intended Audience :: Developers",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Topic :: Office/Business :: Groupware",
24
+ "Topic :: Text Processing :: Markup :: Markdown",
25
+ ]
26
+
27
+ [project.urls]
28
+ Homepage = "https://github.com/arashshahidi1997/notio"
29
+ Repository = "https://github.com/arashshahidi1997/notio"
30
+ Issues = "https://github.com/arashshahidi1997/notio/issues"
31
+
32
+ [project.optional-dependencies]
33
+ docs = [
34
+ "mkdocs>=1.6",
35
+ "mkdocs-material>=9.5",
36
+ ]
37
+ mcp = [
38
+ "fastmcp",
39
+ ]
40
+ dev = [
41
+ "pytest",
42
+ "build",
43
+ "twine",
44
+ "mkdocs>=1.6",
45
+ "mkdocs-material>=9.5",
46
+ ]
47
+
48
+ [project.scripts]
49
+ notio = "notio.cli:main"
50
+ notio-mcp = "notio.mcp.server:main"
51
+
52
+ [tool.setuptools]
53
+ package-dir = {"" = "src"}
54
+
55
+ [tool.setuptools.packages.find]
56
+ where = ["src"]
57
+
58
+ [tool.setuptools.package-data]
59
+ notio = ["templates/default/*.md"]
notio-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,18 @@
1
+ __all__ = [
2
+ "__version__",
3
+ "list_notes",
4
+ "latest_note",
5
+ "read_note",
6
+ "search_notes",
7
+ "update_note_frontmatter",
8
+ ]
9
+
10
+ __version__ = "0.1.0"
11
+
12
+ from notio.query import (
13
+ latest_note,
14
+ list_notes,
15
+ read_note,
16
+ search_notes,
17
+ update_note_frontmatter,
18
+ )
@@ -0,0 +1,6 @@
1
+ from notio.cli import main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ raise SystemExit(main())
6
+