code-puppy 0.0.79__tar.gz → 0.0.80__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 (30) hide show
  1. {code_puppy-0.0.79 → code_puppy-0.0.80}/PKG-INFO +1 -1
  2. code_puppy-0.0.80/code_puppy/command_line/motd.py +52 -0
  3. {code_puppy-0.0.79 → code_puppy-0.0.80}/pyproject.toml +1 -1
  4. code_puppy-0.0.79/code_puppy/command_line/motd.py +0 -55
  5. {code_puppy-0.0.79 → code_puppy-0.0.80}/.gitignore +0 -0
  6. {code_puppy-0.0.79 → code_puppy-0.0.80}/LICENSE +0 -0
  7. {code_puppy-0.0.79 → code_puppy-0.0.80}/README.md +0 -0
  8. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/__init__.py +0 -0
  9. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/agent.py +0 -0
  10. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/agent_prompts.py +0 -0
  11. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/command_line/__init__.py +0 -0
  12. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/command_line/file_path_completion.py +0 -0
  13. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/command_line/meta_command_handler.py +0 -0
  14. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/command_line/model_picker_completion.py +0 -0
  15. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/command_line/prompt_toolkit_completion.py +0 -0
  16. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/command_line/utils.py +0 -0
  17. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/config.py +0 -0
  18. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/main.py +0 -0
  19. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/message_history_processor.py +0 -0
  20. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/model_factory.py +0 -0
  21. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/models.json +0 -0
  22. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/session_memory.py +0 -0
  23. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/state_management.py +0 -0
  24. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/tools/__init__.py +0 -0
  25. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/tools/command_runner.py +0 -0
  26. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/tools/common.py +0 -0
  27. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/tools/file_modifications.py +0 -0
  28. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/tools/file_operations.py +0 -0
  29. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/tools/ts_code_map.py +0 -0
  30. {code_puppy-0.0.79 → code_puppy-0.0.80}/code_puppy/version_checker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-puppy
3
- Version: 0.0.79
3
+ Version: 0.0.80
4
4
  Summary: Code generation agent
5
5
  Author: Michael Pfaffenberger
6
6
  License: MIT
@@ -0,0 +1,52 @@
1
+ """
2
+ MOTD (Message of the Day) feature for code-puppy.
3
+ Stores seen versions in ~/.puppy_cfg/motd.txt.
4
+ """
5
+
6
+ import os
7
+
8
+ MOTD_VERSION = "20250815"
9
+ MOTD_MESSAGE = """
10
+
11
+ 🐾 Happy Friday, Aug 15, 2025!
12
+
13
+ Biscuit the code puppy is on full zoomie mode!
14
+ Major paws-ups:
15
+ 1. We now integrate Cerebras gpt-oss-120b!
16
+ It's a bit underwhelming compared to Qwen3-Coder-480b (obviously), but it's still good for basic fetches.
17
+ 2. We also added support for OpenAI gpt-5!
18
+ It's so good, it'll make you want to teach it to sit!
19
+
20
+ • To use one of the Cerebras models just have a CEREBRAS_API_KEY set in the environment variables.
21
+ • Use ~m to swap models in the middle of your session!
22
+ • Take stretch breaks – you'll need 'em!
23
+ • DRY your code, but keep your pup hydrated.
24
+ • If you hit a bug, treat yourself for finding it!
25
+
26
+ Today: sniff, code, roll over, and let these fancy AI models do the heavy lifting. Fire up a ~motd anytime
27
+ you need some puppy hype!
28
+
29
+ """
30
+ MOTD_TRACK_FILE = os.path.expanduser("~/.puppy_cfg/motd.txt")
31
+
32
+
33
+ def has_seen_motd(version: str) -> bool:
34
+ if not os.path.exists(MOTD_TRACK_FILE):
35
+ return False
36
+ with open(MOTD_TRACK_FILE, "r") as f:
37
+ seen_versions = {line.strip() for line in f if line.strip()}
38
+ return version in seen_versions
39
+
40
+
41
+ def mark_motd_seen(version: str):
42
+ os.makedirs(os.path.dirname(MOTD_TRACK_FILE), exist_ok=True)
43
+ with open(MOTD_TRACK_FILE, "a") as f:
44
+ f.write(f"{version}\n")
45
+
46
+
47
+ def print_motd(console, force: bool = False) -> bool:
48
+ if force or not has_seen_motd(MOTD_VERSION):
49
+ console.print(MOTD_MESSAGE)
50
+ mark_motd_seen(MOTD_VERSION)
51
+ return True
52
+ return False
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "code-puppy"
7
- version = "0.0.79"
7
+ version = "0.0.80"
8
8
  description = "Code generation agent"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -1,55 +0,0 @@
1
- """
2
- MOTD (Message of the Day) feature for code-puppy.
3
- Stores seen versions in ~/.puppy_cfg/motd.txt.
4
- """
5
-
6
- import os
7
-
8
- MOTD_VERSION = "20250815"
9
- MOTD_MESSAGE = """
10
- /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\\
11
- | 🐾 Happy Friday, Aug 15, 2025! |
12
- | |
13
- | Biscuit the code puppy is on full zoomie mode! |
14
- | Major paws-ups: |
15
- | 1. We now integrate Cerebras gpt-oss-120b! |
16
- | It's a bit underwhelming compared to Qwen3-Coder-480b |
17
- | (obviously), but it's still good for basic fetches. |
18
- | 2. We also added support for OpenAI gpt-5! |
19
- | It's so good, it'll make you want to teach it to sit!|
20
- | |
21
- | • To use one of the Cerebras models just have a |
22
- | CEREBRAS_API_KEY set in the environment variables. |
23
- | • Use ~m to swap models in the middle of your session! |
24
- | • Take stretch breaks – you'll need 'em! |
25
- | • DRY your code, but keep your pup hydrated. |
26
- | • If you hit a bug, treat yourself for finding it! |
27
- | |
28
- | Today: sniff, code, roll over, and let these fancy AI |
29
- | models do the heavy lifting. Fire up a ~motd anytime |
30
- | you need some puppy hype! |
31
- \___________________________________________________________/
32
- """
33
- MOTD_TRACK_FILE = os.path.expanduser("~/.puppy_cfg/motd.txt")
34
-
35
-
36
- def has_seen_motd(version: str) -> bool:
37
- if not os.path.exists(MOTD_TRACK_FILE):
38
- return False
39
- with open(MOTD_TRACK_FILE, "r") as f:
40
- seen_versions = {line.strip() for line in f if line.strip()}
41
- return version in seen_versions
42
-
43
-
44
- def mark_motd_seen(version: str):
45
- os.makedirs(os.path.dirname(MOTD_TRACK_FILE), exist_ok=True)
46
- with open(MOTD_TRACK_FILE, "a") as f:
47
- f.write(f"{version}\n")
48
-
49
-
50
- def print_motd(console, force: bool = False) -> bool:
51
- if force or not has_seen_motd(MOTD_VERSION):
52
- console.print(MOTD_MESSAGE)
53
- mark_motd_seen(MOTD_VERSION)
54
- return True
55
- return False
File without changes
File without changes
File without changes