Metadata-Version: 2.1
Name: codemie-tools
Version: 0.0.320
Summary: Package with CodeMie tools for AI Agents
Author: CodeMie Team
Author-email: codemie@epam.com
Requires-Python: >=3.12,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: PyGithub (>=2.2.0,<3.0.0)
Requires-Dist: atlassian-python-api (>=3.41.14,<4.0.0)
Requires-Dist: azure-core (>=1.30.2,<2.0.0)
Requires-Dist: azure-identity (>=1.16.0,<2.0.0)
Requires-Dist: boto3 (>=1.34.147,<2.0.0)
Requires-Dist: chardet (>=5.2.0,<6.0.0)
Requires-Dist: clevercsv (>=0.8.3,<0.9.0)
Requires-Dist: codeboxapi (>=0.1.21,<0.2.0)
Requires-Dist: elastic-transport (==8.13.1)
Requires-Dist: elasticsearch (==8.14.0)
Requires-Dist: flake8 (>=7.1.1,<8.0.0)
Requires-Dist: gitpython (>=3.1.32,<4.0.0)
Requires-Dist: google-api-python-client (>=2.137.0,<3.0.0)
Requires-Dist: googlemaps (>=4.10.0,<5.0.0)
Requires-Dist: httpx (>=0.27.0,<0.28.0)
Requires-Dist: jupyter-kernel-gateway (>=3.0.1,<4.0.0)
Requires-Dist: kubernetes (>=30.1.0,<31.0.0)
Requires-Dist: langchain (==0.3.3)
Requires-Dist: langchain-community (>=0.3.2,<0.4.0)
Requires-Dist: langchain-core (>=0.3.11,<0.4.0)
Requires-Dist: langchain-experimental (>=0.3.2,<0.4.0)
Requires-Dist: langchain-google-community (==2.0.1)
Requires-Dist: langchain-openai (>=0.2.2,<0.3.0)
Requires-Dist: markdownify (>=0.13.1,<0.14.0)
Requires-Dist: matplotlib (>=3.9.1,<4.0.0)
Requires-Dist: openapi-schema-pydantic (>=1.2.4,<2.0.0)
Requires-Dist: openhands_aci (==0.1.2)
Requires-Dist: pandas (>=2.2.2,<3.0.0)
Requires-Dist: psycopg (>=3.2.3,<4.0.0)
Requires-Dist: pydantic (>=2.9.2,<3.0.0)
Requires-Dist: pydantic-settings (>=2.5.2,<3.0.0)
Requires-Dist: pymupdf4llm (>=0.0.17,<0.0.18)
Requires-Dist: pymysql (>=1.1.1,<2.0.0)
Requires-Dist: pytest (>=8.3.1,<9.0.0)
Requires-Dist: pytest-asyncio (>=0.23.7,<0.24.0)
Requires-Dist: pytest-cov (>=5.0.0,<6.0.0)
Requires-Dist: pytest-env (>=1.1.3,<2.0.0)
Requires-Dist: pytest-mock (>=3.14.0,<4.0.0)
Requires-Dist: python-dotenv (>=1.0.0,<2.0.0)
Requires-Dist: python-gitlab (>=4.6.0,<5.0.0)
Requires-Dist: python-pptx (>=1.0.2,<2.0.0)
Requires-Dist: ruff (>=0.5.4,<0.6.0)
Requires-Dist: sqlalchemy (>=2.0.35,<3.0.0)
Requires-Dist: tiktoken (>=0.7.0,<0.8.0)
Requires-Dist: wikipedia (>=1.4.0,<2.0.0)
Requires-Dist: zephyr-python-api (>=0.1.0,<0.2.0)
Description-Content-Type: text/markdown

# Codemie Tools

## Overview

Codemie Tools is a comprehensive toolkit designed to simplify and streamline various development tasks. This toolkit provides a set of tools for access management, notification, code quality, data management, version control, project management, and research.

## Installation

To install Codemie Tools, use the following pip command:

```bash
pip install codemie-tools
```

```bash
poetry add codemie-tools
```
For local development, clone the repository and run:

```bash
make install
```

```bash
make build
```


## Usage

### Using `get_toolkit` Function

The `get_toolkit` function is used to get the toolkit instance with the provided configuration. Here is an example of how to use this function:

```python
from codemie_tools.<toolkit_module> import <ToolkitClass>

config = {
    'email': {
        'url': 'smtp.example.com',
        'smtp_username': 'your_username',
        'smtp_password': 'your_password'
    },
    'keycloak': {
        'base_url': 'http://localhost:8080',
        'realm': 'example-realm',
        'client_id': 'example-client-id',
        'client_secret': 'example-client-secret',
        'username': 'admin',
        'password': 'password'
    },
    'sonar_creds': {
        'url': 'http://sonarqube.example.com',
        'sonar_token': 'your_sonar_token',
        'sonar_project_name': 'example_project'
    },
    'elastic': {
        'hosts': ['http://localhost:9200'],
        'username': 'elastic',
        'password': 'password'
    },
    'jira': {
        'url': 'http://jira.example.com',
        'token': 'your_jira_token'
    },
    'confluence': {
        'url': 'http://confluence.example.com',
        'token': 'your_confluence_token'
    },
    'research_config': {
        'google_search_api_key': 'your_google_search_api_key',
        'google_search_cde_id': 'your_google_search_cde_id'
    },
    'root_directory': '/path/to/root_directory',
    'user_id': 'your_user_id',
    'azure_dalle_config': {
        'api_key': 'your_azure_dalle_api_key'
    }
}

toolkit = <ToolkitClass>.get_toolkit(config)
tools = toolkit.get_tools()
```

## Toolkits

### Access Management Toolkit

```python
from codemie_tools.access_management.toolkit import AccessManagementToolkit

config = {
    'keycloak': {
        'base_url': 'http://localhost:8080',
        'realm': 'example-realm',
        'client_id': 'example-client-id',
        'client_secret': 'example-client-secret'
    }
}

toolkit = AccessManagementToolkit.get_toolkit(config)
```

### Notification Toolkit

```python
from codemie_tools.notification.toolkit import NotificationToolkit

config = {
    'email': {
        'url': 'smtp.example.com',
        'smtp_username': 'your_username',
        'smtp_password': 'your_password'
    }
}

toolkit = NotificationToolkit.get_toolkit(config)
```

### Code Toolkit

```python
from codemie_tools.code.sonar.toolkit import SonarToolkit

config = {
    'url': 'http://sonarqube.example.com',
    'sonar_token': 'your_sonar_token',
    'sonar_project_name': 'example_project'
}

toolkit = SonarToolkit.get_toolkit(config)
```

### Data Management Toolkit

```python
from codemie_tools.data_management.toolkit import DataManagementToolkit

config = {
    'elastic': {
        'url': ['http://localhost:9200'],
        'api_key': 'elastic'
    }
}

toolkit = DataManagementToolkit.get_toolkit(config)
```

### Version Control Toolkit

```python
from codemie_tools.vcs.toolkit import VcsToolkit

config = {
    'base_url': 'http://gitlab.example.com',
    'access_token': 'your_gitlab_access_token'
}

toolkit = VcsToolkit.get_toolkit(config)
```

### Project Management Toolkit

```python
from codemie_tools.project_management.toolkit import ProjectManagementToolkit

config = {
    'jira': {
        'url': 'http://jira.example.com',
        'token': 'your_jira_token'
    },
    'confluence': {
        'url': 'http://confluence.example.com',
        'token': 'your_confluence_token'
    }
}

toolkit = ProjectManagementToolkit.get_toolkit(config)
```

### Research Toolkit

```python
from codemie_tools.research.toolkit import ResearchToolkit

config = {
    'google_search_api_key': 'your_google_search_api_key',
    'google_search_cde_id': 'your_google_search_cde_id'
}

toolkit = ResearchToolkit.get_toolkit(config)
```

### File System Toolkit

```python
from codemie_tools.data_management.file_system.toolkit import FileSystemToolkit

config = {
    'root_directory': '/path/to/root_directory',
    'user_id': 'your_user_id',
    'azure_dalle_config': {
        'api_key': 'your_azure_dalle_api_key',
        ...
    }
}

toolkit = FileSystemToolkit.get_toolkit(config)
```

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

