Metadata-Version: 2.4
Name: alita_tools
Version: 0.3.103
Summary: Default set of tools and toolkits available within ELITEA Agents.
Author-email: Artem Rozumenko <support@projectalita.ai>, Artem Dubrovskii <artem_dubrovskii@epam.com>
Project-URL: Homepage, https://projectalita.ai
Project-URL: Issues, https://github.com/ProjectAlita/application-tools/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic~=2.10.0
Requires-Dist: langchain~=0.3.0
Requires-Dist: langchain_chroma~=0.1.0
Requires-Dist: sentence-transformers==2.7.0
Requires-Dist: pygithub==2.3.0
Requires-Dist: atlassian_python_api==3.41.16
Requires-Dist: markdownify==0.14.1
Requires-Dist: pillow==11.1.0
Requires-Dist: requests_openapi==1.0.5
Requires-Dist: duckduckgo_search==5.3.0
Requires-Dist: playwright==1.51.0
Requires-Dist: google-api-python-client==2.154.0
Requires-Dist: wikipedia==1.4.0
Requires-Dist: python-gitlab==4.5.0
Requires-Dist: jinja2==3.1.3
Requires-Dist: lxml==5.2.2
Requires-Dist: beautifulsoup4
Requires-Dist: pymupdf==1.24.9
Requires-Dist: yagmail==0.15.293
Requires-Dist: gitpython==3.1.43
Requires-Dist: qtest-swagger-client==0.0.3
Requires-Dist: requests~=2.3
Requires-Dist: testrail-api==1.13.2
Requires-Dist: azure-devops==7.1.0b4
Requires-Dist: msrest==0.7.1
Requires-Dist: python-graphql-client~=0.4.3
Requires-Dist: zephyr-python-api==0.1.0
Requires-Dist: yarl==1.17.1
Requires-Dist: pyral==1.6.0
Requires-Dist: chardet<6.0.0,>=5.2.0
Requires-Dist: googlemaps==4.10.0
Requires-Dist: boto3==1.35.79
Requires-Dist: azure-core==1.30.2
Requires-Dist: azure-identity==1.16.0
Requires-Dist: azure-keyvault-keys==4.9.0
Requires-Dist: azure-keyvault-secrets==4.8.0
Requires-Dist: azure-mgmt-core==1.4.0
Requires-Dist: azure-mgmt-resource==23.0.1
Requires-Dist: azure-mgmt-storage==21.1.0
Requires-Dist: azure-storage-blob==12.23.1
Requires-Dist: azure-search-documents==11.5.2
Requires-Dist: PyMySQL==1.1.1
Requires-Dist: psycopg2-binary==2.9.10
Requires-Dist: Office365-REST-Python-Client==2.5.14
Requires-Dist: python-docx==1.1.2
Requires-Dist: pandas==2.2.3
Requires-Dist: langchain-openai~=0.3.1
Requires-Dist: tree_sitter==0.20.2
Requires-Dist: tree-sitter-languages==1.10.2
Requires-Dist: pdf2image==1.16.3
Requires-Dist: reportlab==4.2.5
Requires-Dist: svglib==1.5.1
Requires-Dist: FigmaPy==2018.1.0
Requires-Dist: pytesseract~=0.3.13
Requires-Dist: pypdf2~=3.0.1
Requires-Dist: astor~=0.8.1
Dynamic: license-file

# application-tools
Default set of tools available in ELITEA for Agents

Link other dependencies to alita-sdk as source code
---

Create any python file in the root folder (for instance, **_link.py_**) with the content below:
```python
import os

# Example for application-tools
# WIN
source_file = 'C:\\\\myProjects\\application-tools\\src\\alita_tools'
symlink_path = 'C:\\\\myProjects\\alita-sdk\\alita_tools'

os.symlink(source_file, symlink_path)
```
Then execute it:
```bash
python link.py
```
Expected result is linked **_alita_tools_** folder in project structure.

**alita-sdk**  
|-- ...  
|-- **aliata_tools**   
|-- ...  
|-- **src**  
|-- ...  

# PyTest
### Dependencies
- pytest
- allure-pytest==2.13.5

### How to run
##### Install all dependencies:

```bash
python -m venv .venv && . .venv/bin/activate &&
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r dev-requirements.txt
pip install pytest coverage allure-pytest
```

##### Run tests:
```bash
pytest .
```
> Make sure you run them from virtual env and from root directory

##### (Optional) Open Allure report:
```bash
allure open docs -h localhost
```
where: docs folder is generated in `conftest.py` automatically from `allure-results` which are being removed during execution
> allure report creates and removes folders **locally** in conftest.py file. Remotely it uses simple-elf/allure-report-action@master

##### (Optional) Run Coverage report:
```bash
coverage run -m pytest 
coverage report
coverage html --show-contexts
```
Open `<full_directory_path>/htmlcov/index.html` in the browser

##### Run specific pytests:
- Keyword
```
pytest -k "test_link_work_items_api_error"
```

- Quit mode
```
pytest -q
```

- With mark
```
pytest -m "positive"
```

- Collect only without running
```
pytest --collect-only
```

- Last failed only
```
pytest --ff
```

- Coverage for specific module
```
coverage erase
coverage run --source=src/alita_tools/ado/work_item/ -m pytest src/tests/ado/work_item/test_unit_ado_wrapper.py
coverage report
coverage html --show-contexts
```

### Add new tests
- Follow the guide for the tests which are already developed.
- Don't forget to add new marker description in markers if any.
- Make sure your tests are using code from src/ but not from virtual env.
- Check the coverage as acceptance criteria for added tests.
