lcode-cli 0.4.0__tar.gz → 0.4.1__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.
Files changed (87) hide show
  1. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/workflows/ci.yml +1 -1
  2. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/CHANGELOG.md +11 -1
  3. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/PKG-INFO +10 -2
  4. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/README.md +8 -1
  5. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/installation.md +15 -2
  6. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/quickstart.md +1 -1
  7. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/pyproject.toml +1 -0
  8. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/__init__.py +1 -1
  9. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.editorconfig +0 -0
  10. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/CODEOWNERS +0 -0
  11. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  12. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  13. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  14. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/ISSUE_TEMPLATE/model_request.yml +0 -0
  15. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  16. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/dependabot.yml +0 -0
  17. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/workflows/docs.yml +0 -0
  18. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.github/workflows/release.yml +0 -0
  19. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.gitignore +0 -0
  20. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/.pre-commit-config.yaml +0 -0
  21. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/AGENTS.md +0 -0
  22. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/CODE_OF_CONDUCT.md +0 -0
  23. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/CONTRIBUTING.md +0 -0
  24. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/LICENSE +0 -0
  25. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/SECURITY.md +0 -0
  26. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/assets/demo.svg +0 -0
  27. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/assets/extra.css +0 -0
  28. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/assets/logo.svg +0 -0
  29. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/assets/social-preview.png +0 -0
  30. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/bench.md +0 -0
  31. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/changelog.md +0 -0
  32. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/configuration.md +0 -0
  33. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/contributing.md +0 -0
  34. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/how-it-works.md +0 -0
  35. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/index.md +0 -0
  36. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/mcp.md +0 -0
  37. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/models.md +0 -0
  38. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/troubleshooting.md +0 -0
  39. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/docs/usage.md +0 -0
  40. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/install.sh +0 -0
  41. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/mkdocs.yml +0 -0
  42. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/overrides/main.html +0 -0
  43. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/scripts/record_demo.py +0 -0
  44. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/scripts/social-preview.html +0 -0
  45. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/__main__.py +0 -0
  46. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/agent.py +0 -0
  47. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/bench.py +0 -0
  48. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/catalog.py +0 -0
  49. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/checkpoints.py +0 -0
  50. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/cli.py +0 -0
  51. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/config.py +0 -0
  52. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/hardware.py +0 -0
  53. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/limits.py +0 -0
  54. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/__init__.py +0 -0
  55. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/auth.py +0 -0
  56. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/catalog.py +0 -0
  57. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/catalog.toml +0 -0
  58. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/client.py +0 -0
  59. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/commands.py +0 -0
  60. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/config.py +0 -0
  61. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/http.py +0 -0
  62. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/manager.py +0 -0
  63. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/protocol.py +0 -0
  64. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/mcp/stdio.py +0 -0
  65. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/models.toml +0 -0
  66. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/ollama.py +0 -0
  67. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/permissions.py +0 -0
  68. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/render.py +0 -0
  69. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/repl.py +0 -0
  70. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/sessions.py +0 -0
  71. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/tools.py +0 -0
  72. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/src/lcode/web.py +0 -0
  73. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/conftest.py +0 -0
  74. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/fake_mcp_server.py +0 -0
  75. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_agent.py +0 -0
  76. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_bench.py +0 -0
  77. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_catalog.py +0 -0
  78. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_checkpoints.py +0 -0
  79. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_cli.py +0 -0
  80. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_config.py +0 -0
  81. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_context_picker.py +0 -0
  82. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_mcp.py +0 -0
  83. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_permissions.py +0 -0
  84. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_sessions.py +0 -0
  85. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_tools.py +0 -0
  86. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/tests/test_web.py +0 -0
  87. {lcode_cli-0.4.0 → lcode_cli-0.4.1}/uv.lock +0 -0
@@ -31,7 +31,7 @@ jobs:
31
31
  fail-fast: false
32
32
  matrix:
33
33
  os: [ubuntu-latest, macos-latest]
34
- python: ["3.10", "3.11", "3.12", "3.13"]
34
+ python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
35
35
  steps:
36
36
  - uses: actions/checkout@v7
37
37
  - uses: astral-sh/setup-uv@v10.2.0
@@ -6,6 +6,15 @@ All notable changes to lcode are documented here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.4.1] - 2026-10-01
10
+
11
+ ### Added
12
+
13
+ - Homebrew: `brew install nasser1941/tap/lcode` on macOS (Apple Silicon and Intel) and Linux. The
14
+ [tap](https://github.com/nasser1941/homebrew-tap) tests the formula on both and updates it
15
+ automatically for each release, about a day after it's published.
16
+ - Python 3.14 is supported and tested.
17
+
9
18
  ## [0.4.0] - 2026-10-01
10
19
 
11
20
  ### Added
@@ -165,7 +174,8 @@ First public release.
165
174
  - `AGENTS.md` project instructions and `/init` to generate them.
166
175
  - One-line installer for Linux and macOS.
167
176
 
168
- [Unreleased]: https://github.com/nasser1941/lcode/compare/v0.4.0...HEAD
177
+ [Unreleased]: https://github.com/nasser1941/lcode/compare/v0.4.1...HEAD
178
+ [0.4.1]: https://github.com/nasser1941/lcode/compare/v0.4.0...v0.4.1
169
179
  [0.4.0]: https://github.com/nasser1941/lcode/compare/v0.3.1...v0.4.0
170
180
  [0.3.1]: https://github.com/nasser1941/lcode/compare/v0.3.0...v0.3.1
171
181
  [0.3.0]: https://github.com/nasser1941/lcode/compare/v0.2.2...v0.3.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: lcode-cli
3
- Version: 0.4.0
3
+ Version: 0.4.1
4
4
  Summary: A local-first terminal coding agent powered by open-weight models on your own GPU or Mac, via Ollama.
5
5
  Project-URL: Homepage, https://nasser1941.github.io/lcode/
6
6
  Project-URL: Documentation, https://nasser1941.github.io/lcode/
@@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.10
22
22
  Classifier: Programming Language :: Python :: 3.11
23
23
  Classifier: Programming Language :: Python :: 3.12
24
24
  Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Programming Language :: Python :: 3.14
25
26
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
26
27
  Classifier: Topic :: Software Development
27
28
  Requires-Python: >=3.10
@@ -107,6 +108,13 @@ uv tool install lcode-cli # or: pipx install lcode-cli
107
108
  lcode setup
108
109
  ```
109
110
 
111
+ On a Mac with [Homebrew](https://brew.sh):
112
+
113
+ ```bash
114
+ brew install nasser1941/tap/lcode
115
+ lcode setup
116
+ ```
117
+
110
118
  See the [installation guide](https://nasser1941.github.io/lcode/installation/) for details.
111
119
 
112
120
  ## Quickstart
@@ -176,7 +184,7 @@ fills up. Details: [How it works](https://nasser1941.github.io/lcode/how-it-work
176
184
 
177
185
  See the pinned [Roadmap issue](https://github.com/nasser1941/lcode/issues/10). Next up:
178
186
 
179
- - [Homebrew formula](https://github.com/nasser1941/lcode/issues/8) and an [optional sandbox for shell commands](https://github.com/nasser1941/lcode/issues/9)
187
+ - An [optional sandbox for shell commands](https://github.com/nasser1941/lcode/issues/9)
180
188
  - More models in the catalog, and test reports from your hardware ([report one](https://github.com/nasser1941/lcode/issues/new?template=model_request.yml))
181
189
 
182
190
  ## Contributing
@@ -74,6 +74,13 @@ uv tool install lcode-cli # or: pipx install lcode-cli
74
74
  lcode setup
75
75
  ```
76
76
 
77
+ On a Mac with [Homebrew](https://brew.sh):
78
+
79
+ ```bash
80
+ brew install nasser1941/tap/lcode
81
+ lcode setup
82
+ ```
83
+
77
84
  See the [installation guide](https://nasser1941.github.io/lcode/installation/) for details.
78
85
 
79
86
  ## Quickstart
@@ -143,7 +150,7 @@ fills up. Details: [How it works](https://nasser1941.github.io/lcode/how-it-work
143
150
 
144
151
  See the pinned [Roadmap issue](https://github.com/nasser1941/lcode/issues/10). Next up:
145
152
 
146
- - [Homebrew formula](https://github.com/nasser1941/lcode/issues/8) and an [optional sandbox for shell commands](https://github.com/nasser1941/lcode/issues/9)
153
+ - An [optional sandbox for shell commands](https://github.com/nasser1941/lcode/issues/9)
147
154
  - More models in the catalog, and test reports from your hardware ([report one](https://github.com/nasser1941/lcode/issues/new?template=model_request.yml))
148
155
 
149
156
  ## Contributing
@@ -56,6 +56,19 @@ The [installer](https://github.com/nasser1941/lcode/blob/main/install.sh) instal
56
56
  [PyPI](https://pypi.org/project/lcode-cli/) with its own Python into `~/.local/bin`, checks that
57
57
  Ollama is running, and starts `lcode setup`.
58
58
 
59
+ !!! tip "Homebrew"
60
+
61
+ On a Mac (or with Homebrew on Linux) you can install lcode with Homebrew instead:
62
+
63
+ ```bash
64
+ brew install nasser1941/tap/lcode
65
+ brew install ollama && brew services start ollama # if you don't have Ollama yet
66
+ lcode setup
67
+ ```
68
+
69
+ Upgrade with `brew upgrade lcode`. New releases reach the
70
+ [tap](https://github.com/nasser1941/homebrew-tap) about a day after they're published.
71
+
59
72
  ??? note "Prefer to do it by hand?"
60
73
 
61
74
  lcode is published on PyPI as `lcode-cli` (the command is `lcode`). With
@@ -146,8 +159,8 @@ steps. NVIDIA GPUs work inside WSL2 with the regular Windows driver.
146
159
  ## Upgrade and uninstall
147
160
 
148
161
  ```bash
149
- uv tool upgrade lcode-cli # upgrade (pipx: pipx upgrade lcode-cli)
150
- uv tool uninstall lcode-cli # remove lcode
162
+ uv tool upgrade lcode-cli # upgrade (pipx: pipx upgrade lcode-cli; Homebrew: brew upgrade lcode)
163
+ uv tool uninstall lcode-cli # remove lcode (Homebrew: brew uninstall lcode)
151
164
  rm -rf ~/.config/lcode ~/.local/state/lcode # remove settings and saved sessions
152
165
  ollama rm lcode-qwen3.6-35b qwen3.6:35b-a3b-coding # remove downloaded models
153
166
  ```
@@ -12,7 +12,7 @@ lcode
12
12
 
13
13
  ```text
14
14
  ╭──────────────────────────────────────────────╮
15
- │ lcode v0.4.0 — local coding agent │
15
+ │ lcode v0.4.1 — local coding agent │
16
16
  │ │
17
17
  │ model lcode-qwen3.6-35b │
18
18
  │ context 256K tokens │
@@ -24,6 +24,7 @@ classifiers = [
24
24
  "Programming Language :: Python :: 3.11",
25
25
  "Programming Language :: Python :: 3.12",
26
26
  "Programming Language :: Python :: 3.13",
27
+ "Programming Language :: Python :: 3.14",
27
28
  "Topic :: Scientific/Engineering :: Artificial Intelligence",
28
29
  "Topic :: Software Development",
29
30
  ]
@@ -1,3 +1,3 @@
1
1
  """lcode — a local-first terminal coding agent powered by open-weight models via Ollama."""
2
2
 
3
- __version__ = "0.4.0"
3
+ __version__ = "0.4.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes