janito 3.15.1__py3-none-any.whl → 3.16.1__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.
janito/README.md CHANGED
@@ -1,192 +1,192 @@
1
- # Janito CLI
2
-
3
- A powerful command-line tool for running LLM-powered workflows with built-in tool execution capabilities.
4
-
5
- ## Quick Start
6
-
7
- ### Installation
8
-
9
- ```bash
10
- uv pip install janito
11
- ```
12
-
13
- ### First-Time Setup
14
-
15
- 1. **Get your API key**: Sign up at [Moonshot AI](https://platform.moonshot.cn/) and get your API key
16
- 2. **Set your API key**:
17
- ```bash
18
- janito --set-api-key YOUR_MOONSHOT_API_KEY -p moonshot
19
- ```
20
-
21
- ### Basic Usage
22
-
23
- **Moonshot (Recommended - Default Provider)**
24
- ```bash
25
- # Using the default provider (moonshot) and model
26
- janito "Create a Python script that reads a CSV file"
27
-
28
- # Using a specific Moonshot model
29
- janito -m kimi-k1-8k "Explain quantum computing"
30
- ```
31
-
32
- **Other Providers**
33
- ```bash
34
- # OpenAI
35
- janito -p openai -m gpt-4 "Write a React component"
36
-
37
- # Anthropic
38
- janito -p anthropic -m claude-3-5-sonnet-20241022 "Analyze this code"
39
-
40
- # Google
41
- janito -p google -m gemini-2.0-flash-exp "Generate unit tests"
42
- ```
43
-
44
- ### Interactive Chat Mode
45
-
46
- Start an interactive session (default mode):
47
- ```bash
48
- janito
49
- ```
50
-
51
- Or explicitly:
52
- ```bash
53
- janito --chat
54
- ```
55
-
56
- In chat mode, you can:
57
-
58
- - Have multi-turn conversations
59
- - Execute code and commands
60
- - Read and write files
61
- - Use built-in tools
62
-
63
- ### Available Commands
64
-
65
- - `janito --list-providers` - List all supported providers
66
- - `janito --list-models` - List all available models
67
- - `janito --list-tools` - List available tools
68
- - `janito --show-config` - Show current configuration
69
-
70
- ### Configuration
71
-
72
- Set default provider and model:
73
- ```bash
74
- janito --set provider=moonshot
75
- janito --set model=kimi-k1-8k
76
- ```
77
-
78
- ## Providers
79
-
80
- ### Moonshot (Recommended)
81
-
82
- - **Models**: kimi-k1-8k, kimi-k1-32k, kimi-k1-128k, kimi-k2-turbo-preview
83
- - **Strengths**: Excellent Chinese/English support, competitive pricing, fast responses
84
- - **Setup**: Get API key from [Moonshot AI Platform](https://platform.moonshot.cn/)
85
-
86
- ### OpenAI
87
-
88
- - **Models**: gpt-5, gpt-4.1, gpt-4o, gpt-4-turbo, gpt-3.5-turbo
89
- - **Setup**: Get API key from [OpenAI Platform](https://platform.openai.com/)
90
-
91
- ### Anthropic
92
-
93
- - **Models**: claude-3-7-sonnet-20250219, claude-3-5-sonnet-20241022, claude-3-opus-20250514
94
- - **Setup**: Get API key from [Anthropic Console](https://console.anthropic.com/)
95
-
96
- ### IBM WatsonX
97
-
98
- - **Models**: ibm/granite-3-8b-instruct, ibm/granite-3-2b-instruct, meta-llama/llama-3-1-8b-instruct, meta-llama/llama-3-1-70b-instruct, mistralai/mistral-large
99
- - **Strengths**: Enterprise-grade AI, IBM Granite models, hosted Llama and Mistral models
100
- - **Setup**: Get API key and project ID from [IBM Cloud](https://cloud.ibm.com/)
101
-
102
- ### Google
103
-
104
- - **Models**: gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-lite-preview-06-17
105
- - **Setup**: Get API key from [Google AI Studio](https://makersuite.google.com/)
106
-
107
- ## Advanced Features
108
-
109
- ### Tool Usage
110
-
111
- Janito includes powerful built-in tools for:
112
-
113
- - File operations (read, write, search)
114
- - Code execution
115
- - Web scraping
116
- - System commands
117
- - And more...
118
-
119
- ### Profiles
120
- Use predefined system prompts:
121
- ```bash
122
- janito --developer "Create a REST API" # Same as --profile developer
123
- janito --market "Analyze market trends" # Same as --profile market-analyst
124
- ```
125
-
126
- ### Environment Variables
127
- You can also configure via environment variables:
128
-
129
- **Moonshot:**
130
- ```bash
131
- export MOONSHOT_API_KEY=your_key_here
132
- export JANITO_PROVIDER=moonshot
133
- export JANITO_MODEL=kimi-k1-8k
134
- ```
135
-
136
- **OpenAI:**
137
- ```bash
138
- export OPENAI_API_KEY=your_key_here
139
- export JANITO_PROVIDER=openai
140
- export JANITO_MODEL=gpt-5
141
- ```
142
-
143
- **IBM WatsonX:**
144
- ```bash
145
- export WATSONX_API_KEY=your_key_here
146
- export WATSONX_PROJECT_ID=your_project_id
147
- export WATSONX_SPACE_ID=your_space_id # optional
148
- export JANITO_PROVIDER=ibm
149
- export JANITO_MODEL=ibm/granite-3-8b-instruct
150
- ```
151
-
152
- **Anthropic:**
153
- ```bash
154
- export ANTHROPIC_API_KEY=your_key_here
155
- export JANITO_PROVIDER=anthropic
156
- export JANITO_MODEL=claude-3-7-sonnet-20250219
157
- ```
158
-
159
- **Google:**
160
- ```bash
161
- export GOOGLE_API_KEY=your_key_here
162
- export JANITO_PROVIDER=google
163
- export JANITO_MODEL=gemini-2.5-flash
164
- ```
165
-
166
- ## Examples
167
-
168
- ### Code Generation
169
- ```bash
170
- janito "Create a Python FastAPI application with user authentication"
171
- ```
172
-
173
- ### File Analysis
174
- ```bash
175
- janito "Analyze the performance bottlenecks in my_app.py"
176
- ```
177
-
178
- ### Data Processing
179
- ```bash
180
- janito "Process this CSV file and generate summary statistics"
181
- ```
182
-
183
- ### Web Development
184
- ```bash
185
- janito "Create a responsive landing page with Tailwind CSS"
186
- ```
187
-
188
- ## Support
189
-
190
- - **Documentation**: Check individual provider directories for detailed setup guides
191
- - **Issues**: Report bugs and feature requests on GitHub
1
+ # Janito CLI
2
+
3
+ A powerful command-line tool for running LLM-powered workflows with built-in tool execution capabilities.
4
+
5
+ ## Quick Start
6
+
7
+ ### Installation
8
+
9
+ ```bash
10
+ uv pip install janito
11
+ ```
12
+
13
+ ### First-Time Setup
14
+
15
+ 1. **Get your API key**: Sign up at [Moonshot AI](https://platform.moonshot.cn/) and get your API key
16
+ 2. **Set your API key**:
17
+ ```bash
18
+ janito --set-api-key YOUR_MOONSHOT_API_KEY -p moonshot
19
+ ```
20
+
21
+ ### Basic Usage
22
+
23
+ **Moonshot (Recommended - Default Provider)**
24
+ ```bash
25
+ # Using the default provider (moonshot) and model
26
+ janito "Create a Python script that reads a CSV file"
27
+
28
+ # Using a specific Moonshot model
29
+ janito -m kimi-k1-8k "Explain quantum computing"
30
+ ```
31
+
32
+ **Other Providers**
33
+ ```bash
34
+ # OpenAI
35
+ janito -p openai -m gpt-4 "Write a React component"
36
+
37
+ # Anthropic
38
+ janito -p anthropic -m claude-sonnet-4-5-20250929 "Analyze this code"
39
+
40
+ # Google
41
+ janito -p google -m gemini-2.0-flash-exp "Generate unit tests"
42
+ ```
43
+
44
+ ### Interactive Chat Mode
45
+
46
+ Start an interactive session (default mode):
47
+ ```bash
48
+ janito
49
+ ```
50
+
51
+ Or explicitly:
52
+ ```bash
53
+ janito --chat
54
+ ```
55
+
56
+ In chat mode, you can:
57
+
58
+ - Have multi-turn conversations
59
+ - Execute code and commands
60
+ - Read and write files
61
+ - Use built-in tools
62
+
63
+ ### Available Commands
64
+
65
+ - `janito --list-providers` - List all supported providers
66
+ - `janito --list-models` - List all available models
67
+ - `janito --list-tools` - List available tools
68
+ - `janito --show-config` - Show current configuration
69
+
70
+ ### Configuration
71
+
72
+ Set default provider and model:
73
+ ```bash
74
+ janito --set provider=moonshot
75
+ janito --set model=kimi-k1-8k
76
+ ```
77
+
78
+ ## Providers
79
+
80
+ ### Moonshot (Recommended)
81
+
82
+ - **Models**: kimi-k1-8k, kimi-k1-32k, kimi-k1-128k, kimi-k2-turbo-preview
83
+ - **Strengths**: Excellent Chinese/English support, competitive pricing, fast responses
84
+ - **Setup**: Get API key from [Moonshot AI Platform](https://platform.moonshot.cn/)
85
+
86
+ ### OpenAI
87
+
88
+ - **Models**: gpt-5, gpt-4.1, gpt-4o, gpt-4-turbo, gpt-3.5-turbo
89
+ - **Setup**: Get API key from [OpenAI Platform](https://platform.openai.com/)
90
+
91
+ ### Anthropic
92
+
93
+ - **Models**: claude-3-7-sonnet-20250219, claude-3-5-sonnet-20241022, claude-3-opus-20250514
94
+ - **Setup**: Get API key from [Anthropic Console](https://console.anthropic.com/)
95
+
96
+ ### IBM WatsonX
97
+
98
+ - **Models**: ibm/granite-3-8b-instruct, ibm/granite-3-2b-instruct, meta-llama/llama-3-1-8b-instruct, meta-llama/llama-3-1-70b-instruct, mistralai/mistral-large
99
+ - **Strengths**: Enterprise-grade AI, IBM Granite models, hosted Llama and Mistral models
100
+ - **Setup**: Get API key and project ID from [IBM Cloud](https://cloud.ibm.com/)
101
+
102
+ ### Google
103
+
104
+ - **Models**: gemini-2.5-flash, gemini-2.5-pro, gemini-2.5-flash-lite-preview-06-17
105
+ - **Setup**: Get API key from [Google AI Studio](https://makersuite.google.com/)
106
+
107
+ ## Advanced Features
108
+
109
+ ### Tool Usage
110
+
111
+ Janito includes powerful built-in tools for:
112
+
113
+ - File operations (read, write, search)
114
+ - Code execution
115
+ - Web scraping
116
+ - System commands
117
+ - And more...
118
+
119
+ ### Profiles
120
+ Use predefined system prompts:
121
+ ```bash
122
+ janito --developer "Create a REST API" # Same as --profile developer
123
+ janito --market "Analyze market trends" # Same as --profile market-analyst
124
+ ```
125
+
126
+ ### Environment Variables
127
+ You can also configure via environment variables:
128
+
129
+ **Moonshot:**
130
+ ```bash
131
+ export MOONSHOT_API_KEY=your_key_here
132
+ export JANITO_PROVIDER=moonshot
133
+ export JANITO_MODEL=kimi-k1-8k
134
+ ```
135
+
136
+ **OpenAI:**
137
+ ```bash
138
+ export OPENAI_API_KEY=your_key_here
139
+ export JANITO_PROVIDER=openai
140
+ export JANITO_MODEL=gpt-5
141
+ ```
142
+
143
+ **IBM WatsonX:**
144
+ ```bash
145
+ export WATSONX_API_KEY=your_key_here
146
+ export WATSONX_PROJECT_ID=your_project_id
147
+ export WATSONX_SPACE_ID=your_space_id # optional
148
+ export JANITO_PROVIDER=ibm
149
+ export JANITO_MODEL=ibm/granite-3-8b-instruct
150
+ ```
151
+
152
+ **Anthropic:**
153
+ ```bash
154
+ export ANTHROPIC_API_KEY=your_key_here
155
+ export JANITO_PROVIDER=anthropic
156
+ export JANITO_MODEL=claude-3-7-sonnet-20250219
157
+ ```
158
+
159
+ **Google:**
160
+ ```bash
161
+ export GOOGLE_API_KEY=your_key_here
162
+ export JANITO_PROVIDER=google
163
+ export JANITO_MODEL=gemini-2.5-flash
164
+ ```
165
+
166
+ ## Examples
167
+
168
+ ### Code Generation
169
+ ```bash
170
+ janito "Create a Python FastAPI application with user authentication"
171
+ ```
172
+
173
+ ### File Analysis
174
+ ```bash
175
+ janito "Analyze the performance bottlenecks in my_app.py"
176
+ ```
177
+
178
+ ### Data Processing
179
+ ```bash
180
+ janito "Process this CSV file and generate summary statistics"
181
+ ```
182
+
183
+ ### Web Development
184
+ ```bash
185
+ janito "Create a responsive landing page with Tailwind CSS"
186
+ ```
187
+
188
+ ## Support
189
+
190
+ - **Documentation**: Check individual provider directories for detailed setup guides
191
+ - **Issues**: Report bugs and feature requests on GitHub
192
192
  - **Discord**: Join our community for help and discussions
@@ -1,6 +1,18 @@
1
1
  from janito.llm.model import LLMModelInfo
2
2
 
3
3
  MODEL_SPECS = {
4
+ "claude-sonnet-4-5-20250929": LLMModelInfo(
5
+ name="claude-sonnet-4-5-20250929",
6
+ max_response=64000,
7
+ default_temp=0.7,
8
+ driver="OpenAIModelDriver",
9
+ ),
10
+ "claude-opus-4-1-20250805": LLMModelInfo(
11
+ name="claude-opus-4-1-20250805",
12
+ max_response=32000,
13
+ default_temp=0.7,
14
+ driver="OpenAIModelDriver",
15
+ ),
4
16
  "claude-opus-4-20250514": LLMModelInfo(
5
17
  name="claude-opus-4-20250514",
6
18
  max_response=32000,
@@ -1,72 +1,76 @@
1
- from janito.llm.provider import LLMProvider
2
- from janito.llm.model import LLMModelInfo
3
- from janito.llm.auth import LLMAuthManager
4
- from janito.llm.driver_config import LLMDriverConfig
5
- from janito.tools import get_local_tools_adapter
6
- from janito.providers.registry import LLMProviderRegistry
7
- from janito.providers.anthropic.model_info import MODEL_SPECS
8
- from janito.drivers.openai.driver import OpenAIModelDriver
9
-
10
-
11
- class AnthropicProvider(LLMProvider):
12
- """Anthropic LLM Provider implementation."""
13
-
14
- name = "anthropic"
15
- NAME = "anthropic" # For backward compatibility
16
- MAINTAINER = "Alberto Minetti <alberto.minetti@gmail.com>"
17
- MODEL_SPECS = MODEL_SPECS
18
- DEFAULT_MODEL = "claude-3-7-sonnet-20250219"
19
- available = OpenAIModelDriver.available
20
- unavailable_reason = OpenAIModelDriver.unavailable_reason
21
-
22
- def __init__(
23
- self, auth_manager: LLMAuthManager = None, config: LLMDriverConfig = None
24
- ):
25
- self._tools_adapter = get_local_tools_adapter()
26
-
27
- # Call parent constructor to initialize base functionality
28
- super().__init__(auth_manager=auth_manager, config=config, tools_adapter=self._tools_adapter)
29
-
30
- # Initialize API key and configure Anthropic-specific settings
31
- if self.available:
32
- self._initialize_anthropic_config()
33
-
34
- def _initialize_anthropic_config(self):
35
- """Initialize Anthropic-specific configuration."""
36
- # Initialize API key
37
- api_key = self.auth_manager.get_credentials(self.name)
38
- if not api_key:
39
- from janito.llm.auth_utils import handle_missing_api_key
40
- handle_missing_api_key(self.name, "ANTHROPIC_API_KEY")
41
-
42
- # Set API key in config
43
- if not self.config.api_key:
44
- self.config.api_key = api_key
45
-
46
- # Set the Anthropic OpenAI-compatible API endpoint
47
- self.config.base_url = "https://api.anthropic.com/v1/"
48
-
49
- def create_driver(self) -> OpenAIModelDriver:
50
- """
51
- Create and return a new OpenAIModelDriver instance for Anthropic.
52
-
53
- Returns:
54
- A new OpenAIModelDriver instance configured for Anthropic API
55
- """
56
- if not self.available:
57
- raise ImportError(f"AnthropicProvider unavailable: {self.unavailable_reason}")
58
-
59
- driver = OpenAIModelDriver(
60
- tools_adapter=self.tools_adapter,
61
- provider_name=self.name
62
- )
63
- driver.config = self.config
64
- return driver
65
-
66
- def execute_tool(self, tool_name: str, event_bus, *args, **kwargs):
67
- """Execute a tool by name."""
68
- self.tools_adapter.event_bus = event_bus
69
- return self.tools_adapter.execute_by_name(tool_name, *args, **kwargs)
70
-
71
-
72
- LLMProviderRegistry.register(AnthropicProvider.NAME, AnthropicProvider)
1
+ from janito.llm.provider import LLMProvider
2
+ from janito.llm.model import LLMModelInfo
3
+ from janito.llm.auth import LLMAuthManager
4
+ from janito.llm.driver_config import LLMDriverConfig
5
+ from janito.tools import get_local_tools_adapter
6
+ from janito.providers.registry import LLMProviderRegistry
7
+ from janito.providers.anthropic.model_info import MODEL_SPECS
8
+ from janito.drivers.openai.driver import OpenAIModelDriver
9
+
10
+
11
+ class AnthropicProvider(LLMProvider):
12
+ """Anthropic LLM Provider implementation."""
13
+
14
+ name = "anthropic"
15
+ NAME = "anthropic" # For backward compatibility
16
+ MAINTAINER = "Alberto Minetti <alberto.minetti@gmail.com>"
17
+ MODEL_SPECS = MODEL_SPECS
18
+ DEFAULT_MODEL = "claude-sonnet-4-5-20250929"
19
+ available = OpenAIModelDriver.available
20
+ unavailable_reason = OpenAIModelDriver.unavailable_reason
21
+
22
+ def __init__(
23
+ self, auth_manager: LLMAuthManager = None, config: LLMDriverConfig = None
24
+ ):
25
+ self._tools_adapter = get_local_tools_adapter()
26
+
27
+ # Call parent constructor to initialize base functionality
28
+ super().__init__(
29
+ auth_manager=auth_manager, config=config, tools_adapter=self._tools_adapter
30
+ )
31
+
32
+ # Initialize API key and configure Anthropic-specific settings
33
+ if self.available:
34
+ self._initialize_anthropic_config()
35
+
36
+ def _initialize_anthropic_config(self):
37
+ """Initialize Anthropic-specific configuration."""
38
+ # Initialize API key
39
+ api_key = self.auth_manager.get_credentials(self.name)
40
+ if not api_key:
41
+ from janito.llm.auth_utils import handle_missing_api_key
42
+
43
+ handle_missing_api_key(self.name, "ANTHROPIC_API_KEY")
44
+
45
+ # Set API key in config
46
+ if not self.config.api_key:
47
+ self.config.api_key = api_key
48
+
49
+ # Set the Anthropic OpenAI-compatible API endpoint
50
+ self.config.base_url = "https://api.anthropic.com/v1/"
51
+
52
+ def create_driver(self) -> OpenAIModelDriver:
53
+ """
54
+ Create and return a new OpenAIModelDriver instance for Anthropic.
55
+
56
+ Returns:
57
+ A new OpenAIModelDriver instance configured for Anthropic API
58
+ """
59
+ if not self.available:
60
+ raise ImportError(
61
+ f"AnthropicProvider unavailable: {self.unavailable_reason}"
62
+ )
63
+
64
+ driver = OpenAIModelDriver(
65
+ tools_adapter=self.tools_adapter, provider_name=self.name
66
+ )
67
+ driver.config = self.config
68
+ return driver
69
+
70
+ def execute_tool(self, tool_name: str, event_bus, *args, **kwargs):
71
+ """Execute a tool by name."""
72
+ self.tools_adapter.event_bus = event_bus
73
+ return self.tools_adapter.execute_by_name(tool_name, *args, **kwargs)
74
+
75
+
76
+ LLMProviderRegistry.register(AnthropicProvider.NAME, AnthropicProvider)
@@ -1,62 +1,62 @@
1
- Metadata-Version: 2.4
2
- Name: janito
3
- Version: 3.15.1
4
- Summary: A new Python package called janito.
5
- Author-email: João Pinto <janito@ikignosis.org>
6
- Project-URL: Homepage, https://github.com/ikignosis/janito
7
- Requires-Python: >=3.8
8
- Description-Content-Type: text/markdown
9
- License-File: LICENSE
10
- Requires-Dist: attrs==25.3.0
11
- Requires-Dist: rich==14.0.0
12
- Requires-Dist: pathspec==0.12.1
13
- Requires-Dist: setuptools>=61.0
14
- Requires-Dist: pyyaml>=6.0
15
- Requires-Dist: jinja2>=3.0.0
16
- Requires-Dist: prompt_toolkit>=3.0.51
17
- Requires-Dist: lxml>=5.4.0
18
- Requires-Dist: requests>=2.32.4
19
- Requires-Dist: bs4>=0.0.2
20
- Requires-Dist: questionary>=2.0.1
21
- Requires-Dist: openai>=1.68.0
22
- Requires-Dist: Pillow>=10.0.0
23
- Provides-Extra: dev
24
- Requires-Dist: pytest; extra == "dev"
25
- Requires-Dist: pre-commit; extra == "dev"
26
- Requires-Dist: ruff==0.11.9; extra == "dev"
27
- Requires-Dist: detect-secrets==1.4.0; extra == "dev"
28
- Requires-Dist: codespell==2.4.1; extra == "dev"
29
- Requires-Dist: black; extra == "dev"
30
- Requires-Dist: questionary>=2.0.1; extra == "dev"
31
- Requires-Dist: setuptools_scm>=8.0; extra == "dev"
32
- Requires-Dist: mkdocs; extra == "dev"
33
- Requires-Dist: mkdocs-material; extra == "dev"
34
- Requires-Dist: mkdocs-material-extensions; extra == "dev"
35
- Dynamic: license-file
36
-
37
- # Janito
38
-
39
- ```bash
40
- $ janito --help
41
- Usage: janito <command>
42
-
43
- A command-line tool for managing your projects.
44
-
45
- Run "janito <command> --help" for more information on a command.
46
- ```
47
-
48
- ## Setup
49
-
50
- ```bash
51
- # Install using pip
52
- pip install janito
53
-
54
- # Or install from source
55
- git clone https://github.com/yourusername/janito.git
56
- cd janito
57
- pip install -e .
58
- ```
59
-
60
- ## Getting started
61
-
62
- * Run `janito --help` to get a list of all available commands
1
+ Metadata-Version: 2.4
2
+ Name: janito
3
+ Version: 3.16.1
4
+ Summary: A new Python package called janito.
5
+ Author-email: João Pinto <janito@ikignosis.org>
6
+ Project-URL: Homepage, https://github.com/ikignosis/janito
7
+ Requires-Python: >=3.8
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: attrs==25.3.0
11
+ Requires-Dist: rich==14.0.0
12
+ Requires-Dist: pathspec==0.12.1
13
+ Requires-Dist: setuptools>=61.0
14
+ Requires-Dist: pyyaml>=6.0
15
+ Requires-Dist: jinja2>=3.0.0
16
+ Requires-Dist: prompt_toolkit>=3.0.51
17
+ Requires-Dist: lxml>=5.4.0
18
+ Requires-Dist: requests>=2.32.4
19
+ Requires-Dist: bs4>=0.0.2
20
+ Requires-Dist: questionary>=2.0.1
21
+ Requires-Dist: openai>=1.68.0
22
+ Requires-Dist: Pillow>=10.0.0
23
+ Provides-Extra: dev
24
+ Requires-Dist: pytest; extra == "dev"
25
+ Requires-Dist: pre-commit; extra == "dev"
26
+ Requires-Dist: ruff==0.11.9; extra == "dev"
27
+ Requires-Dist: detect-secrets==1.4.0; extra == "dev"
28
+ Requires-Dist: codespell==2.4.1; extra == "dev"
29
+ Requires-Dist: black; extra == "dev"
30
+ Requires-Dist: questionary>=2.0.1; extra == "dev"
31
+ Requires-Dist: setuptools_scm>=8.0; extra == "dev"
32
+ Requires-Dist: mkdocs; extra == "dev"
33
+ Requires-Dist: mkdocs-material; extra == "dev"
34
+ Requires-Dist: mkdocs-material-extensions; extra == "dev"
35
+ Dynamic: license-file
36
+
37
+ # Janito
38
+
39
+ ```bash
40
+ $ janito --help
41
+ Usage: janito <command>
42
+
43
+ A command-line tool for managing your projects.
44
+
45
+ Run "janito <command> --help" for more information on a command.
46
+ ```
47
+
48
+ ## Setup
49
+
50
+ ```bash
51
+ # Install using pip
52
+ pip install janito
53
+
54
+ # Or install from source
55
+ git clone https://github.com/yourusername/janito.git
56
+ cd janito
57
+ pip install -e .
58
+ ```
59
+
60
+ ## Getting started
61
+
62
+ * Run `janito --help` to get a list of all available commands
@@ -1,4 +1,4 @@
1
- janito/README.md,sha256=WkD-WSx8LQ3FWvefSlIgml59yRpwSnYm5s6hUzxKZPA,4549
1
+ janito/README.md,sha256=Wc1XHEsU9KjEW5sYbzJfRrGPd6PxPcv7QaL9Gzzj6gk,4740
2
2
  janito/__init__.py,sha256=a0pFui3A_AfWJiUfg93yE-Vf4868bqG3y9yg2fkTIuY,244
3
3
  janito/__main__.py,sha256=lPQ8kAyYfyeS1KopmJ8EVY5g1YswlIqCS615mM_B_rM,70
4
4
  janito/_version.py,sha256=nsX_0pSnMlBdPtQfo7-jSpHdr6c64NQci57iXCaTf2A,2292
@@ -208,8 +208,8 @@ janito/providers/registry.py,sha256=Ygwv9eVrTXOKhv0EKxSWQXO5WMHvajWE2Q_Lc3p7dKo,
208
208
  janito/providers/alibaba/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
209
  janito/providers/alibaba/model_info.py,sha256=cvw4s0YQMB6cbFkIsiu5rMCsWVnko2Cfb5bAtF--s2I,5510
210
210
  janito/providers/alibaba/provider.py,sha256=YgGDpo19dAjmX1WlhosbUjCWGwHUeAPeT6xl7zDg3yI,3474
211
- janito/providers/anthropic/model_info.py,sha256=m6pBh0Ia8_xC1KZ7ke_4HeHIFw7nWjnYVItnRpkCSWc,1206
212
- janito/providers/anthropic/provider.py,sha256=x_aAP7dJ64rXk6ZbzjcF8VH8y8JV9Bko_Yx5SXjPLwc,2810
211
+ janito/providers/anthropic/model_info.py,sha256=ppDB5LRdEg6NG9Q5-egMpUg-8pky21WufT0n3YlEAZo,1590
212
+ janito/providers/anthropic/provider.py,sha256=BeeVq4Q7obekANqec1Hqyrup-3YeHerRbbDf1I2D0hA,2874
213
213
  janito/providers/azure_openai/model_info.py,sha256=TMSqEpQROIIYUGAyulYJ5xGhj7CbLoaKL_JXeLbXaG0,689
214
214
  janito/providers/azure_openai/provider.py,sha256=7N3tOKrPujn9sYPcB3lNBkIVcFj-ql7_awdg462QDMQ,5144
215
215
  janito/providers/cerebras/__init__.py,sha256=w7VvVDG-AmW7axvt80TSM_HvAM7MjtH_2yM2wzy-Wok,28
@@ -266,9 +266,9 @@ janito/tools/tool_utils.py,sha256=alPm9DvtXSw_zPRKvP5GjbebPRf_nfvmWk2TNlL5Cws,12
266
266
  janito/tools/tools_adapter.py,sha256=3Phjw34mOqG0KvXzQpZKIWigfSgZWRvdYuSdvV7Dj4M,21965
267
267
  janito/tools/tools_schema.py,sha256=bv7jQfjh6yCbiRNPJykmbCTBgZZrOV2z_WqWQOjeY5o,4324
268
268
  janito/tools/url_whitelist.py,sha256=0CPLkHTp5HgnwgjxwgXnJmwPeZQ30q4j3YjW59hiUUE,4295
269
- janito-3.15.1.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
270
- janito-3.15.1.dist-info/METADATA,sha256=7dAoBZpDeEkolaG2QtmuWYuiF1XpwrRmc7EKfSNMgr8,1660
271
- janito-3.15.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
272
- janito-3.15.1.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
273
- janito-3.15.1.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
274
- janito-3.15.1.dist-info/RECORD,,
269
+ janito-3.16.1.dist-info/licenses/LICENSE,sha256=dXV4fOF2ZErugtN8l_Nrj5tsRTYgtjE3cgiya0UfBio,11356
270
+ janito-3.16.1.dist-info/METADATA,sha256=L9KSwTseQzNHWmIUb1wwR-vTFZ9ZPFvUOdI-0bmOAOI,1722
271
+ janito-3.16.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
272
+ janito-3.16.1.dist-info/entry_points.txt,sha256=wIo5zZxbmu4fC-ZMrsKD0T0vq7IqkOOLYhrqRGypkx4,48
273
+ janito-3.16.1.dist-info/top_level.txt,sha256=m0NaVCq0-ivxbazE2-ND0EA9Hmuijj_OGkmCbnBcCig,7
274
+ janito-3.16.1.dist-info/RECORD,,