makima-cli 0.1.2__tar.gz → 0.2.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.
- {makima_cli-0.1.2 → makima_cli-0.2.0}/PKG-INFO +1 -1
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/config.py +3 -1
- makima_cli-0.2.0/makima/setup.py +53 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima_cli.egg-info/PKG-INFO +1 -1
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima_cli.egg-info/SOURCES.txt +1 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/pyproject.toml +1 -1
- {makima_cli-0.1.2 → makima_cli-0.2.0}/README.md +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/__init__.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/core/__init__.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/core/agent.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/core/context.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/core/memory.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/main.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/providers/base.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/providers/groq_provider.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/tools/__init__.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/tools/file_tools.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/tools/registry.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima/tools/shell_tools.py +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima_cli.egg-info/dependency_links.txt +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima_cli.egg-info/entry_points.txt +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima_cli.egg-info/requires.txt +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/makima_cli.egg-info/top_level.txt +0 -0
- {makima_cli-0.1.2 → makima_cli-0.2.0}/setup.cfg +0 -0
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import sys
|
|
3
|
+
from makima.setup import setup_api_key
|
|
3
4
|
from dotenv import load_dotenv
|
|
4
5
|
load_dotenv()
|
|
5
6
|
|
|
6
|
-
GROQ_API_KEY =
|
|
7
|
+
GROQ_API_KEY = setup_api_key()
|
|
8
|
+
# GROQ_API_KEY = os.getenv("GROQ_API_KEY")
|
|
7
9
|
MODEL_NAME = "qwen/qwen3.6-27b"
|
|
8
10
|
TOKEN_LIMIT = 10000
|
|
9
11
|
# PROJECT_ROOT = os.getcwd()
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from groq import Groq
|
|
3
|
+
import json
|
|
4
|
+
from rich.console import Console
|
|
5
|
+
console = Console()
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def validate_key(key):
|
|
9
|
+
try:
|
|
10
|
+
client = Groq(api_key=key)
|
|
11
|
+
client.chat.completions.create(
|
|
12
|
+
model="qwen/qwen3.6-27b",
|
|
13
|
+
messages=[{"role": "user", "content": "say hi"}],
|
|
14
|
+
max_tokens=5
|
|
15
|
+
)
|
|
16
|
+
return True
|
|
17
|
+
except:
|
|
18
|
+
return False
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def setup_api_key():
|
|
22
|
+
|
|
23
|
+
config_dir = Path.home() / ".makima"
|
|
24
|
+
config_file = config_dir / "config.json"
|
|
25
|
+
|
|
26
|
+
if config_file.exists():
|
|
27
|
+
with open(config_file, "r") as f:
|
|
28
|
+
data = json.load(f)
|
|
29
|
+
key = data["groq_api_key"]
|
|
30
|
+
return key
|
|
31
|
+
|
|
32
|
+
import os
|
|
33
|
+
env_key = os.getenv("GROQ_API_KEY")
|
|
34
|
+
if env_key:
|
|
35
|
+
return env_key
|
|
36
|
+
|
|
37
|
+
console.print("[bold]Welcome to Makima CLI![/]")
|
|
38
|
+
console.print("[dim]Get a free key at https://console.groq.com[/]\n")
|
|
39
|
+
|
|
40
|
+
while True:
|
|
41
|
+
key = console.input("[bold yellow]Enter your Groq API key:[/] ").strip()
|
|
42
|
+
|
|
43
|
+
with console.status("[yellow]Authenticating...[/]"):
|
|
44
|
+
valid = validate_key(key)
|
|
45
|
+
|
|
46
|
+
if valid:
|
|
47
|
+
console.print("[bold green]✓ Connected to Groq[/]")
|
|
48
|
+
config_dir.mkdir(exist_ok=True)
|
|
49
|
+
with open(config_file, "w") as f:
|
|
50
|
+
json.dump({"groq_api_key": key}, f)
|
|
51
|
+
return key
|
|
52
|
+
else:
|
|
53
|
+
console.print("[bold red]✗ Invalid key. Try again.[/]")
|
|
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
|