noah-code 0.1.0__py3-none-any.whl

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,173 @@
1
+ Metadata-Version: 2.4
2
+ Name: noah-code
3
+ Version: 0.1.0
4
+ Summary: Noah Code terminal coding agent, built on NVIDIA OO Agents (NOOA)
5
+ Project-URL: Homepage, https://github.com/skundu42/noah-code
6
+ Project-URL: Documentation, https://github.com/skundu42/noah-code#readme
7
+ Project-URL: Repository, https://github.com/skundu42/noah-code.git
8
+ Project-URL: Issues, https://github.com/skundu42/noah-code/issues
9
+ Project-URL: Releases, https://github.com/skundu42/noah-code/releases
10
+ Author: noah-code contributors
11
+ License: Apache-2.0
12
+ Keywords: agents,coding,nooa,terminal
13
+ Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Environment :: Console
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
+ Classifier: Operating System :: MacOS
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development
21
+ Requires-Python: <3.14,>=3.12
22
+ Requires-Dist: click>=8.1.0
23
+ Requires-Dist: litellm<1.92.0,>=1.84.0
24
+ Requires-Dist: nooa-cli==0.0.8
25
+ Requires-Dist: nooa==0.0.8
26
+ Requires-Dist: packaging>=24.0
27
+ Requires-Dist: pydantic>=2.5.0
28
+ Requires-Dist: rich>=13.0.0
29
+ Requires-Dist: textual>=1.0.0
30
+ Requires-Dist: tomli>=2.0.0; python_version < '3.11'
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
33
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
34
+ Requires-Dist: ruff>=0.8.0; extra == 'dev'
35
+ Provides-Extra: mcp
36
+ Requires-Dist: nooa[mcp]==0.0.8; extra == 'mcp'
37
+ Provides-Extra: tracing
38
+ Requires-Dist: nooa[tracing]==0.0.8; extra == 'tracing'
39
+ Provides-Extra: tui
40
+ Requires-Dist: textual>=1.0.0; extra == 'tui'
41
+ Description-Content-Type: text/markdown
42
+
43
+ # Noah Code
44
+
45
+ [![PyPI](https://img.shields.io/pypi/v/noah-code.svg)](https://pypi.org/project/noah-code/)
46
+ [![CI](https://github.com/skundu42/noah-code/actions/workflows/ci.yml/badge.svg)](https://github.com/skundu42/noah-code/actions/workflows/ci.yml)
47
+ [![Python](https://img.shields.io/pypi/pyversions/noah-code.svg)](https://pypi.org/project/noah-code/)
48
+
49
+ **Noah Code** (`noah-code`) is a terminal coding agent for understanding repositories, planning
50
+ changes, editing files, running commands, and carrying work across persistent sessions. It is
51
+ built on the [NVIDIA OO Agents (NOOA)](https://github.com/NVIDIA-NeMo/labs-OO-Agents) runtime.
52
+
53
+ ## Install
54
+
55
+ Install Noah Code and its managed Python runtime with one command. No existing Python, Homebrew,
56
+ or system package setup is required.
57
+
58
+ ```bash
59
+ curl -LsSf https://raw.githubusercontent.com/skundu42/noah-code/main/install.sh | sh
60
+ ```
61
+
62
+ The bootstrapper validates macOS/Linux support, installs the standalone uv package manager, and
63
+ downloads an isolated Python 3.12 runtime plus Noah Code. It does not modify a system Python.
64
+
65
+ Open a new terminal, move into a repository, and run:
66
+
67
+ ```bash
68
+ noah .
69
+ ```
70
+
71
+ Noah Code supports macOS on Apple Silicon and Intel, plus Linux on arm64 and x86_64 with Landlock
72
+ and seccomp support. You also need an LLM provider account such as OpenAI, Anthropic, OpenRouter or NVIDIA.
73
+
74
+ ## Features
75
+
76
+ - Read files, search with ripgrep, and inspect Git status, diffs, and history.
77
+ - Edit files with anchored replacements, full rewrites, and concurrent-change detection.
78
+ - Run permission-gated shell commands with timeouts and streamed output.
79
+ - Follow repository instructions from `AGENTS.md`, `CLAUDE.md`, and `.noah-code/instructions.md`.
80
+ - Switch between implementation-focused **build** mode and read-only **plan** mode.
81
+ - Approve actions once or for a session with ordered `allow`, `ask`, and `deny` rules.
82
+ - Undo and redo journaled file edits across process restarts.
83
+ - Work in a full-screen TUI, a classic console, or one-shot non-interactive mode.
84
+ - Resume workspace-scoped sessions with todos and automatic context compaction.
85
+ - Extend workflows with slash commands, opt-in skills, MCP servers, model selection, and tracing.
86
+
87
+ ## Quick start
88
+
89
+ Start the TUI in the current repository and describe the desired end state in plain language:
90
+
91
+ ```bash
92
+ noah .
93
+ ```
94
+
95
+ ```text
96
+ Find the cause of the failing parser tests, implement the smallest safe fix, and run the
97
+ focused test file.
98
+ ```
99
+
100
+ Common commands:
101
+
102
+ ```bash
103
+ # Open another workspace
104
+ noah /path/to/repository
105
+
106
+ # Use the line-oriented console
107
+ noah --console .
108
+
109
+ # Run one task and exit
110
+ noah run "Explain how authentication is wired" .
111
+
112
+ # Allow actions that would normally ask; explicit deny rules still apply
113
+ noah run --auto "Fix the failing unit test" .
114
+
115
+ # Inspect and plan without editing
116
+ noah --mode plan .
117
+
118
+ # Resume work
119
+ noah --continue .
120
+ noah --session SESSION_ID .
121
+ ```
122
+
123
+ Check the installation or inspect resolved configuration with:
124
+
125
+ ```bash
126
+ noah --version
127
+ noah doctor .
128
+ noah config show .
129
+ noah update --check
130
+ ```
131
+
132
+ The package also installs `noah-code` and `nc` as equivalent entry points. Because `nc` commonly
133
+ refers to netcat, `noah` or `noah-code` is recommended. Keep provider API keys in the environment
134
+ or trusted NOOA user configuration, never in a repository or Noah Code session metadata.
135
+
136
+ ## Documentation
137
+
138
+ - [Interactive interface and sessions](docs/interactive-reference.md)
139
+ - [Configuration, modes, permissions, and updates](docs/configuration.md)
140
+ - [Generated-code security](docs/security.md)
141
+ - [Custom commands, skills, MCP, and tracing](docs/extensions.md)
142
+ - [Development, CI, and releases](docs/development.md)
143
+
144
+ ## Updates
145
+
146
+ Noah Code checks PyPI for new versions at most once every 24 hours and updates uv-managed
147
+ installations automatically. To check or update immediately:
148
+
149
+ ```bash
150
+ noah update --check
151
+ noah update
152
+ ```
153
+
154
+ ## Development
155
+
156
+ ```bash
157
+ uv sync --extra dev
158
+ uv run ruff check src tests
159
+ uv run pytest tests
160
+ uv build
161
+ ```
162
+
163
+ See the [development guide](docs/development.md) for platform checks and the release process.
164
+
165
+ ## License
166
+
167
+ Apache-2.0, as declared in the project metadata. NOOA remains separately licensed by its upstream
168
+ project.
169
+
170
+ ## Credits
171
+
172
+ Built on [NVIDIA OO Agents (NOOA)](https://github.com/NVIDIA-NeMo/labs-OO-Agents). Thanks to the
173
+ NVIDIA NeMo team and NOOA contributors for the agent runtime that powers Noah Code.
@@ -0,0 +1,31 @@
1
+ noah_code/__init__.py,sha256=MDl7OQK6NwMlNa3a09kdBCkm-OUokLh0pod6fajnMFA,85
2
+ noah_code/__main__.py,sha256=4xEhswSHLJhoqaA9atd_KxC4IHfCnS9mf3Qv526iW08,128
3
+ noah_code/agent.py,sha256=WPQLULBENQDdCQbfUcyTd8KpjJ-crXRC97KO_yMl2-c,14282
4
+ noah_code/approvals.py,sha256=CaPHFu08_WmHH1x6q6W5Xn5DFHO1vqApe2yHV0BkuBY,3311
5
+ noah_code/cli.py,sha256=K7QH8QLifRKJRV_2lzy4F0yQiwktHO3SDp-bb_w6Q0o,13429
6
+ noah_code/commands.py,sha256=b0T-_G7wLdCZG5nIpGc1ipuoLQpZfDbt7VRjL4FtBVk,2556
7
+ noah_code/config.py,sha256=zNFfIXF-_8iMgX_mTURxal874bz1d5M9QzNbjTOy2RY,9217
8
+ noah_code/custom_commands.py,sha256=dyhx5DxD01r9OSHX-F7vZWhn-u_md4fBPU7_jzUpUQk,3253
9
+ noah_code/event_bridge.py,sha256=ukUwRPdk60AEQIVTQXVEXbvh2oKqw_RnUmhY154u9d4,4422
10
+ noah_code/events.py,sha256=sXq64y7SfyC0exQV_nL5bFsS40XV6YeN4nz2RdEuhwQ,590
11
+ noah_code/host.py,sha256=xIkn0F12_v0Rk5FYP798SH-iISOGIX-Jk3kcEyOWuxg,26310
12
+ noah_code/macos_sandbox.py,sha256=LuII0cFe5xjgqDI7ZFruRF6ahsKf0ExZdWjGye8C5t4,4968
13
+ noah_code/mcp_setup.py,sha256=45gc98sisf4ijD85KgvXMi2eIuUBy1HAQGPQtc7e7Uw,2817
14
+ noah_code/permissions.py,sha256=sgLtDJK6-4Rn5dNnYUy_bdc_GIhmD26lx3Qbj7Xn0jY,13162
15
+ noah_code/sessions.py,sha256=M7ln_fWWPI6uBnM4dSvzqer9CwJqegEEMzGIec-jbD0,5695
16
+ noah_code/skills_setup.py,sha256=6Q4Ronry-dXULtM0N-yzuxTs-_PUIYPfDDpdeTSjVJU,1792
17
+ noah_code/snapshots.py,sha256=yyJyxPctBai07R2BKDtIWLl_aG5BQNZz4KG2Km4cxhs,11464
18
+ noah_code/updates.py,sha256=1rdQk_nw_VgfLRWxZnCw8Be35-n9N-FFN7Q--pa3whM,6181
19
+ noah_code/workspace.py,sha256=8s6vR2j5uTqp7cx3uDtOTkliTCEghpxf2zH2nmHieXw,1498
20
+ noah_code/tools/__init__.py,sha256=0U_TdZm4tEJHG2hDxW5wAYeZJ_vYMg6vdIEGZI6Hykg,190
21
+ noah_code/tools/git_tools.py,sha256=ccGUHJ5WdYfM1yZEE5rZq5GcZmO4mBZhmYnhHSLiHNc,1449
22
+ noah_code/tools/workspace_tools.py,sha256=usYXQkjrQ42sakFEUYJViVC6MLiyD6pYtdYxok9o3sc,11186
23
+ noah_code/ui/__init__.py,sha256=1gIQWeM80hGx-q1pHYq6jV9IMkKonH-2pPefdI7LTcs,158
24
+ noah_code/ui/console.py,sha256=QVRThuo3rINY0qcyXKeB4-7M2APIXCtopDZuYVI5MBM,3435
25
+ noah_code/ui/protocol.py,sha256=I6UEi9_UHMCOHFpR641FdHZWGgIfpwGWP09Z5VKKoak,993
26
+ noah_code/ui/textual_app.py,sha256=IGpco7Ezt8RSCBR2d4ONVkGp9uG-fH8RxSUGt5RedBA,16152
27
+ noah_code/ui/textual.css,sha256=omQ2HNiCdXGwSYZHDpmRMEelWSt49kpVXeVxxNMMCXI,263
28
+ noah_code-0.1.0.dist-info/METADATA,sha256=fSe2OZywgLZeaKMF53jbWFg94k35Gg6R1dUFlEeTT7M,6051
29
+ noah_code-0.1.0.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
30
+ noah_code-0.1.0.dist-info/entry_points.txt,sha256=wNqq2ncLl_LCUOddHc5xsNq8j1_xcOFR8vJ008se6Fk,99
31
+ noah_code-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.31.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,4 @@
1
+ [console_scripts]
2
+ nc = noah_code.cli:main
3
+ noah = noah_code.cli:main
4
+ noah-code = noah_code.cli:main