Metadata-Version: 2.1
Name: aitronos
Version: 4.4.0
Summary: A Python package for interacting with the Freddy API and other Aitronos services
Home-page: https://github.com/Freddy-Development/aitronos-python-package
Author: Phillip Loacker
Author-email: phillip.loacker@aitronos.com
Project-URL: Bug Tracker, https://github.com/Freddy-Development/aitronos-python-package/issues
Project-URL: Documentation, https://github.com/Freddy-Development/aitronos-python-package#readme
Project-URL: Source Code, https://github.com/Freddy-Development/aitronos-python-package
Keywords: aitronos,freddy,api,machine learning,ai
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: click >=8.0.0
Requires-Dist: requests >=2.25.0
Requires-Dist: typing-extensions >=4.0.0
Requires-Dist: setuptools ~=68.2.0
Requires-Dist: requests ~=2.32.3
Requires-Dist: tqdm ~=4.66.5
Requires-Dist: pip ~=23.2.1
Requires-Dist: wheel ~=0.41.2
Requires-Dist: urllib3 ~=2.2.2
Requires-Dist: certifi ~=2024.7.4
Requires-Dist: idna ~=3.7
Requires-Dist: optional ~=0.0.1
Requires-Dist: httpx ~=0.27.2
Requires-Dist: regex ~=2024.5.15
Requires-Dist: pytest ==8.3.3
Requires-Dist: aitronos ~=4.0.6
Requires-Dist: aitronos-logger ~=0.1.6
Provides-Extra: dev
Requires-Dist: pytest >=6.0.0 ; extra == 'dev'
Requires-Dist: pytest-cov >=2.0.0 ; extra == 'dev'
Requires-Dist: black >=21.0.0 ; extra == 'dev'
Requires-Dist: mypy >=0.900 ; extra == 'dev'

# Aitronos Python Package

A Python package for interacting with the Freddy API and other Aitronos services. This package provides a command-line interface (CLI) for managing Aitronos projects and services.

## Installation

```bash
pip install aitronos
```

## CLI Commands

The `aitronos` CLI provides several commands for project initialization:

### Basic Project Initialization

```bash
aitronos init <project_name>
```

Creates a new project with the standard Aitronos project structure:
- `src/` - Source code directory
- `resources/` - Project resources
- `config.freddy.json` - Configuration file
- `requirements.txt` - Python dependencies
- `documentation.txt` - Project documentation
- `execution_log.json` - Execution logs

### Hello World Example Project

```bash
aitronos init-hello-world <project_name>
```

Creates a basic Hello World example project that includes:
- Basic project structure
- Simple Click-based CLI example in `src/main.py`
- Pre-configured `requirements.txt` with Click dependency
- Example README.md with usage instructions

### Hello World with Parameters Example

```bash
aitronos init-hello-world-params <project_name>
```

Creates an advanced Hello World example that demonstrates CLI parameter handling:
- Complete project structure
- Advanced Click-based CLI example with parameter handling
- Example of using command-line options and arguments
- Detailed README.md with usage examples

### Interactive Hello World Command

```bash
aitronos hello [OPTIONS]
```

A simple interactive command to demonstrate CLI parameter handling.

Options:
- `--name, -n TEXT`: Name to greet (default: "World")
- `--count, -c INTEGER`: Number of times to greet (default: 1)

Example usage:
```bash
# Basic usage
aitronos hello

# Custom name
aitronos hello --name Alice

# Multiple greetings
aitronos hello --name Bob --count 3
```

## Development

To set up the development environment:

1. Clone the repository:
```bash
git clone https://github.com/Freddy-Development/aitronos-python-package.git
cd aitronos-python-package
```

2. Install development dependencies:
```bash
pip install -e ".[dev]"
```

3. Run tests:
```bash
pytest
```

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

## Support

For support, please open an issue on the GitHub repository or contact the development team.

## Library Usage

```python
from Aitronos import Aitronos, Message, MessageRequestPayload

# Initialize with API key (recommended)
client = Aitronos(api_key="your_api_key")

# Or with username/password
client = Aitronos(username="your_username", password="your_password")

# Use the assistant messaging
messaging = client.assistant_messaging
response = messaging.execute_run(
    MessageRequestPayload(
        organization_id=123,
        assistant_id=456,
        messages=[Message(content="Hello!", role="user")]
    )
)
```

## Command Line Interface (CLI)

The Aitronos package includes a powerful CLI for common operations and project management.

### Configuration

Before using the CLI, set up your configuration:

1. Create a `config.json` file in your project root:
```json
{
    "test_key": "your_api_key",
    "test_org_id": your_organization_id,
    "test_assistant_id": your_assistant_id,
    "test_username": "your_username",
    "test_password": "your_password"
}
```

2. Add `config.json` to your `.gitignore` to keep credentials secure:
```bash
echo "config.json" >> .gitignore
```

### Available Commands

1. Initialize a new project:
```bash
aitronos init my_project
```
This creates a new project with the following structure:
```
my_project/
├── config.freddy.json
├── documentation.txt
├── execution_log.json
├── requirements.txt
├── resources/
│   ├── __init__.py
│   ├── current_user.py
│   ├── helpers.py
│   ├── org_data.json
│   └── user_data.json
└── src/
    ├── main/
    │   └── my_project.py
    └── tests/
        └── test_script.py
```

2. Run the hello world example:
```bash
aitronos hello
```
Tests your setup with a simple hello world example using the Aitronos API.

3. Use StreamLine functionality:
```bash
# Interactive mode
aitronos streamline

# Process a file
aitronos streamline --input input.txt --output output.txt
```

### Project Templates

When initializing a new project with `aitronos init`, you get:
- Basic project structure
- Configuration files
- Example code
- Resource templates
- Test setup

The generated project includes:
- Logging setup
- Error handling
- User management
- API integration
- Basic test structure

### Development Workflow

1. Initialize a new project:
```bash
aitronos init my_aitronos_project
cd my_aitronos_project
```

2. Update the configuration:
```bash
# Edit config.json with your credentials
vim config.json
```

3. Install project dependencies:
```bash
pip install -r requirements.txt
```

4. Start developing:
```bash
# Your main code is in src/main/my_aitronos_project.py
# Tests are in src/tests/
```

## Development

To contribute or modify the package:

1. Clone the repository:
```bash
git clone https://github.com/Freddy-Development/aitronos-python-package.git
cd aitronos-python-package
```

2. Install development dependencies:
```bash
pip install -e ".[dev]"
```

3. Run tests:
```bash
python -m unittest discover tests
```

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Support

For support, please:
- Open an [issue](https://github.com/Freddy-Development/aitronos-python-package/issues)
- Contact us at support@aitronos.com

## Security

To report security vulnerabilities, please email security@aitronos.com 
