codio-tools 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.
- codio_tools-0.1.0/LICENSE +21 -0
- codio_tools-0.1.0/PKG-INFO +98 -0
- codio_tools-0.1.0/README.md +69 -0
- codio_tools-0.1.0/pyproject.toml +42 -0
- codio_tools-0.1.0/setup.cfg +4 -0
- codio_tools-0.1.0/src/codio/__init__.py +56 -0
- codio_tools-0.1.0/src/codio/cli.py +599 -0
- codio_tools-0.1.0/src/codio/config.py +65 -0
- codio_tools-0.1.0/src/codio/mcp.py +61 -0
- codio_tools-0.1.0/src/codio/models.py +200 -0
- codio_tools-0.1.0/src/codio/paths.py +32 -0
- codio_tools-0.1.0/src/codio/rag.py +129 -0
- codio_tools-0.1.0/src/codio/registry.py +301 -0
- codio_tools-0.1.0/src/codio/scaffold.py +79 -0
- codio_tools-0.1.0/src/codio/skills/__init__.py +1 -0
- codio_tools-0.1.0/src/codio/skills/discovery.py +132 -0
- codio_tools-0.1.0/src/codio/skills/study.py +153 -0
- codio_tools-0.1.0/src/codio/skills/update.py +223 -0
- codio_tools-0.1.0/src/codio/templates/codio/catalog.yml.tmpl +3 -0
- codio_tools-0.1.0/src/codio/templates/codio/profiles.yml.tmpl +3 -0
- codio_tools-0.1.0/src/codio/templates/codio/repos.yml.tmpl +3 -0
- codio_tools-0.1.0/src/codio/vocab.py +143 -0
- codio_tools-0.1.0/src/codio_tools.egg-info/PKG-INFO +98 -0
- codio_tools-0.1.0/src/codio_tools.egg-info/SOURCES.txt +35 -0
- codio_tools-0.1.0/src/codio_tools.egg-info/dependency_links.txt +1 -0
- codio_tools-0.1.0/src/codio_tools.egg-info/entry_points.txt +2 -0
- codio_tools-0.1.0/src/codio_tools.egg-info/requires.txt +7 -0
- codio_tools-0.1.0/src/codio_tools.egg-info/top_level.txt +1 -0
- codio_tools-0.1.0/tests/test_cli.py +349 -0
- codio_tools-0.1.0/tests/test_codio.py +7 -0
- codio_tools-0.1.0/tests/test_m7_features.py +438 -0
- codio_tools-0.1.0/tests/test_mcp.py +51 -0
- codio_tools-0.1.0/tests/test_models.py +91 -0
- codio_tools-0.1.0/tests/test_rag.py +50 -0
- codio_tools-0.1.0/tests/test_registry.py +106 -0
- codio_tools-0.1.0/tests/test_skills.py +131 -0
- codio_tools-0.1.0/tests/test_vocab.py +47 -0
|
@@ -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.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: codio-tools
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Code intelligence and reuse discovery for research repositories
|
|
5
|
+
Author: Arash Shahidi
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/arashshahidi1997/codio
|
|
8
|
+
Project-URL: Repository, https://github.com/arashshahidi1997/codio
|
|
9
|
+
Project-URL: Issues, https://github.com/arashshahidi1997/codio/issues
|
|
10
|
+
Keywords: code,reuse,discovery,library,registry,intelligence
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
18
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
19
|
+
Requires-Python: >=3.11
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Requires-Dist: pyyaml>=6.0
|
|
23
|
+
Requires-Dist: pydantic>=2.0
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: pytest; extra == "dev"
|
|
26
|
+
Requires-Dist: build; extra == "dev"
|
|
27
|
+
Requires-Dist: twine; extra == "dev"
|
|
28
|
+
Dynamic: license-file
|
|
29
|
+
|
|
30
|
+
# codio
|
|
31
|
+
|
|
32
|
+
Code intelligence and reuse discovery for research repositories.
|
|
33
|
+
|
|
34
|
+
Codio answers a practical question before implementation begins:
|
|
35
|
+
*What code already exists that solves this problem?*
|
|
36
|
+
|
|
37
|
+
It maintains a two-layer registry — a **catalog** of library identity (name, language, repo, license) and a **project profile** of local policy (priority, runtime import rules, capability tags) — so agents and humans can search before they build.
|
|
38
|
+
|
|
39
|
+
## Install
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
pip install codio
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Quick start
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
codio init # scaffold .codio/ in your project
|
|
49
|
+
codio list # list registered libraries
|
|
50
|
+
codio discover "signal-processing" # search by capability
|
|
51
|
+
codio get mylib # full library record
|
|
52
|
+
codio validate # check registry consistency
|
|
53
|
+
codio vocab # show controlled vocabulary
|
|
54
|
+
codio study mylib # structured library analysis
|
|
55
|
+
codio compare lib1 lib2 # compare libraries side-by-side
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Registry model
|
|
59
|
+
|
|
60
|
+
Codio separates **what a library is** from **how your project uses it**:
|
|
61
|
+
|
|
62
|
+
- **Catalog** (`.codio/catalog.yml`) — shared, project-agnostic metadata: name, kind, language, repo URL, package name, license, local source paths.
|
|
63
|
+
- **Profile** (`.codio/profiles.yml`) — project-local interpretation: priority tier, runtime import policy, decision default, capability tags, curated note path.
|
|
64
|
+
|
|
65
|
+
Fields use a controlled vocabulary (`codio vocab`): `kind` (internal, external_mirror, utility), `runtime_import` (internal, pip_only, reference_only), `decision_default` (existing, wrap, direct, new), `priority` (tier1, tier2, ...).
|
|
66
|
+
|
|
67
|
+
## MCP integration
|
|
68
|
+
|
|
69
|
+
Codio exposes tools through the projio MCP server:
|
|
70
|
+
|
|
71
|
+
| Tool | Description |
|
|
72
|
+
|------|-------------|
|
|
73
|
+
| `codio_list` | Filtered library listing |
|
|
74
|
+
| `codio_get` | Full library record |
|
|
75
|
+
| `codio_registry` | Full registry snapshot |
|
|
76
|
+
| `codio_vocab` | Controlled vocabulary |
|
|
77
|
+
| `codio_validate` | Registry consistency check |
|
|
78
|
+
| `codio_discover` | Capability search across libraries |
|
|
79
|
+
| `codio_add_urls` | Add libraries from GitHub/GitLab URLs |
|
|
80
|
+
|
|
81
|
+
## Agent skills
|
|
82
|
+
|
|
83
|
+
- **codelib-discovery** — search before implement: returns candidates with evidence and recommends a decision (reuse, wrap, depend, or implement new).
|
|
84
|
+
- **codelib-update** — maintain registry and curated notes.
|
|
85
|
+
- **library-study** — deep parallel analysis of external libraries.
|
|
86
|
+
|
|
87
|
+
## Ecosystem
|
|
88
|
+
|
|
89
|
+
Codio is part of the [projio](https://github.com/arashshahidi1997/projio) ecosystem alongside [indexio](https://github.com/arashshahidi1997/indexio) (semantic search), [biblio](https://github.com/arashshahidi1997/biblio) (bibliography), and [notio](https://github.com/arashshahidi1997/notio) (structured notes).
|
|
90
|
+
|
|
91
|
+
## Documentation
|
|
92
|
+
|
|
93
|
+
See the [full documentation](docs/index.md) for tutorials, how-to guides, and reference.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
pip install codio[dev]
|
|
97
|
+
mkdocs serve
|
|
98
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# codio
|
|
2
|
+
|
|
3
|
+
Code intelligence and reuse discovery for research repositories.
|
|
4
|
+
|
|
5
|
+
Codio answers a practical question before implementation begins:
|
|
6
|
+
*What code already exists that solves this problem?*
|
|
7
|
+
|
|
8
|
+
It maintains a two-layer registry — a **catalog** of library identity (name, language, repo, license) and a **project profile** of local policy (priority, runtime import rules, capability tags) — so agents and humans can search before they build.
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
pip install codio
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Quick start
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
codio init # scaffold .codio/ in your project
|
|
20
|
+
codio list # list registered libraries
|
|
21
|
+
codio discover "signal-processing" # search by capability
|
|
22
|
+
codio get mylib # full library record
|
|
23
|
+
codio validate # check registry consistency
|
|
24
|
+
codio vocab # show controlled vocabulary
|
|
25
|
+
codio study mylib # structured library analysis
|
|
26
|
+
codio compare lib1 lib2 # compare libraries side-by-side
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Registry model
|
|
30
|
+
|
|
31
|
+
Codio separates **what a library is** from **how your project uses it**:
|
|
32
|
+
|
|
33
|
+
- **Catalog** (`.codio/catalog.yml`) — shared, project-agnostic metadata: name, kind, language, repo URL, package name, license, local source paths.
|
|
34
|
+
- **Profile** (`.codio/profiles.yml`) — project-local interpretation: priority tier, runtime import policy, decision default, capability tags, curated note path.
|
|
35
|
+
|
|
36
|
+
Fields use a controlled vocabulary (`codio vocab`): `kind` (internal, external_mirror, utility), `runtime_import` (internal, pip_only, reference_only), `decision_default` (existing, wrap, direct, new), `priority` (tier1, tier2, ...).
|
|
37
|
+
|
|
38
|
+
## MCP integration
|
|
39
|
+
|
|
40
|
+
Codio exposes tools through the projio MCP server:
|
|
41
|
+
|
|
42
|
+
| Tool | Description |
|
|
43
|
+
|------|-------------|
|
|
44
|
+
| `codio_list` | Filtered library listing |
|
|
45
|
+
| `codio_get` | Full library record |
|
|
46
|
+
| `codio_registry` | Full registry snapshot |
|
|
47
|
+
| `codio_vocab` | Controlled vocabulary |
|
|
48
|
+
| `codio_validate` | Registry consistency check |
|
|
49
|
+
| `codio_discover` | Capability search across libraries |
|
|
50
|
+
| `codio_add_urls` | Add libraries from GitHub/GitLab URLs |
|
|
51
|
+
|
|
52
|
+
## Agent skills
|
|
53
|
+
|
|
54
|
+
- **codelib-discovery** — search before implement: returns candidates with evidence and recommends a decision (reuse, wrap, depend, or implement new).
|
|
55
|
+
- **codelib-update** — maintain registry and curated notes.
|
|
56
|
+
- **library-study** — deep parallel analysis of external libraries.
|
|
57
|
+
|
|
58
|
+
## Ecosystem
|
|
59
|
+
|
|
60
|
+
Codio is part of the [projio](https://github.com/arashshahidi1997/projio) ecosystem alongside [indexio](https://github.com/arashshahidi1997/indexio) (semantic search), [biblio](https://github.com/arashshahidi1997/biblio) (bibliography), and [notio](https://github.com/arashshahidi1997/notio) (structured notes).
|
|
61
|
+
|
|
62
|
+
## Documentation
|
|
63
|
+
|
|
64
|
+
See the [full documentation](docs/index.md) for tutorials, how-to guides, and reference.
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install codio[dev]
|
|
68
|
+
mkdocs serve
|
|
69
|
+
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=68"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "codio-tools"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Code intelligence and reuse discovery for research repositories"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
|
+
authors = [{ name = "Arash Shahidi" }]
|
|
12
|
+
license = "MIT"
|
|
13
|
+
license-files = ["LICENSE"]
|
|
14
|
+
keywords = ["code", "reuse", "discovery", "library", "registry", "intelligence"]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 3 - Alpha",
|
|
17
|
+
"Environment :: Console",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Intended Audience :: Science/Research",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3.11",
|
|
22
|
+
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
23
|
+
"Topic :: Software Development :: Libraries",
|
|
24
|
+
]
|
|
25
|
+
dependencies = ["pyyaml>=6.0", "pydantic>=2.0"]
|
|
26
|
+
|
|
27
|
+
[project.urls]
|
|
28
|
+
Homepage = "https://github.com/arashshahidi1997/codio"
|
|
29
|
+
Repository = "https://github.com/arashshahidi1997/codio"
|
|
30
|
+
Issues = "https://github.com/arashshahidi1997/codio/issues"
|
|
31
|
+
|
|
32
|
+
[project.scripts]
|
|
33
|
+
codio = "codio.cli:main"
|
|
34
|
+
|
|
35
|
+
[project.optional-dependencies]
|
|
36
|
+
dev = ["pytest", "build", "twine"]
|
|
37
|
+
|
|
38
|
+
[tool.setuptools.packages.find]
|
|
39
|
+
where = ["src"]
|
|
40
|
+
|
|
41
|
+
[tool.setuptools.package-data]
|
|
42
|
+
codio = ["templates/**/*.tmpl"]
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"""Top-level package for codio."""
|
|
2
|
+
|
|
3
|
+
from codio.config import CodioConfig, load_config
|
|
4
|
+
from codio.models import (
|
|
5
|
+
CodeSourceEntry,
|
|
6
|
+
LibraryCatalogEntry,
|
|
7
|
+
LibraryRecord,
|
|
8
|
+
ProjectProfileEntry,
|
|
9
|
+
RegistrySnapshot,
|
|
10
|
+
RepositoryEntry,
|
|
11
|
+
ValidationResult,
|
|
12
|
+
)
|
|
13
|
+
from codio.paths import find_project_root
|
|
14
|
+
from codio.registry import Registry, load_catalog, load_profiles, load_repos
|
|
15
|
+
from codio.scaffold import ScaffoldResult, init_codio_scaffold
|
|
16
|
+
from codio.vocab import (
|
|
17
|
+
AddedBy,
|
|
18
|
+
DecisionDefault,
|
|
19
|
+
Hosting,
|
|
20
|
+
Kind,
|
|
21
|
+
Priority,
|
|
22
|
+
RuntimeImport,
|
|
23
|
+
SourceType,
|
|
24
|
+
Status,
|
|
25
|
+
Storage,
|
|
26
|
+
get_vocab,
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
__all__ = [
|
|
30
|
+
"AddedBy",
|
|
31
|
+
"CodeSourceEntry",
|
|
32
|
+
"CodioConfig",
|
|
33
|
+
"DecisionDefault",
|
|
34
|
+
"Hosting",
|
|
35
|
+
"Kind",
|
|
36
|
+
"LibraryCatalogEntry",
|
|
37
|
+
"LibraryRecord",
|
|
38
|
+
"Priority",
|
|
39
|
+
"ProjectProfileEntry",
|
|
40
|
+
"Registry",
|
|
41
|
+
"RegistrySnapshot",
|
|
42
|
+
"RepositoryEntry",
|
|
43
|
+
"RuntimeImport",
|
|
44
|
+
"ScaffoldResult",
|
|
45
|
+
"SourceType",
|
|
46
|
+
"Status",
|
|
47
|
+
"Storage",
|
|
48
|
+
"ValidationResult",
|
|
49
|
+
"find_project_root",
|
|
50
|
+
"get_vocab",
|
|
51
|
+
"init_codio_scaffold",
|
|
52
|
+
"load_catalog",
|
|
53
|
+
"load_config",
|
|
54
|
+
"load_profiles",
|
|
55
|
+
"load_repos",
|
|
56
|
+
]
|