Metadata-Version: 2.4
Name: jarvis-os
Version: 0.1.21
Summary: Local voice assistant with AI, voice input, and system control
Author-email: Arvin Adeli <adeli.d.arvin@gmail.com>
License: Copyright 2025 Arvin Adeli
        
        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at
        
            http://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: vosk
Requires-Dist: pyaudio
Requires-Dist: requests
Requires-Dist: pyttsx3
Requires-Dist: rich>=13.0
Requires-Dist: pygame
Requires-Dist: beautifulsoup4
Requires-Dist: pygetwindow
Requires-Dist: pyautogui
Requires-Dist: pywin32
Requires-Dist: psutil
Requires-Dist: google-genai>=0.3.0
Requires-Dist: protobuf>=4.23.0
Requires-Dist: google-auth>=2.20.0
Requires-Dist: grpcio>=1.56.0
Requires-Dist: fuzzywuzzy
Requires-Dist: python-Levenshtein
Dynamic: license-file

# Jarvis OS

**Jarvis OS** is a voice assistant designed to streamline and automate anything from your daily tasks to hardcore developing and everything in between. It integrates offline speech recognition, AI-powered natural language responses, and system-level command execution. Additional customization can be done by using LM studio alongside Jarvis on your own machine. Jarvis can also be used as a voice-powered CLI, accesing, organizing, and manipulating files as well as running simple bash commands. 

## Features

- Offline speech recognition with [Vosk](https://alphacephei.com/vosk/)
- Natural voice synthesis using [Yapper TTS](https://github.com/n1teshy/yapper-tts)
- Streaming from Local or Online LLM models
    - Default: Gemini 1.5 Flash
    - Local Default: Llama 3.2 1B parameters [Run LM Studio server and change URL for LLM calls in main.py to customize or change model] 
- Implemented RAG system for queries that may require or benefit from web searches
- Terminal-based interface with dynamic boot and loading screens
- Executes system commands: open applications, perform searches, file management, shut down, and more

## Example commands:

"Jarvis open vscode"

"Jarvis google how to bake sourdough"

"Jarvis shutdown"

"Jarvis explain quantum entanglement"

"Jarvis delete the read me file"

## Reccomended before Install

It is best to run inside a python virtual enviornment:

```bash
python -m venv jarvis-env
```
Windows:
```bash
jarvis-env\Scripts\activate
```
POSIX (Max/Linux):
```bash
source jarvis-env/bin/activate
```
-- )


## Installation

```bash
pip install jarvis-os
```

## Configuration
Python version 3.8 or higher is required

Ensure microphone input is enabled on your system

To use an AI backend (like LM Studio), modify the API endpoint in main.py

## Additional Notes
This package was initially built for Windows software. Support for POSIX is in progress (so some features work and others may not).

## License
This project is licensed under the Apache License 2.0.

## Author
Arvin Adeli

