Metadata-Version: 2.1
Name: freeact-skills
Version: 0.0.2
Summary: Library of predefined freeact agent skills
Home-page: https://github.com/gradion-ai/freeact-skills
License: Apache-2.0
Author: Martin Krasser
Author-email: martin@gradion.ai
Requires-Python: >=3.10,<3.13
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: all
Provides-Extra: reader
Provides-Extra: resume
Provides-Extra: search-google
Provides-Extra: search-perplexity
Provides-Extra: zotero
Requires-Dist: beautifulsoup4 (>=4.12,<5.0) ; extra == "resume" or extra == "all"
Requires-Dist: google-genai (>=0.2.2,<0.3.0) ; extra == "search-google" or extra == "all"
Requires-Dist: httpx (>=0.27.2,<0.28.0) ; extra == "search-perplexity" or extra == "all"
Requires-Dist: openai (>=1.56.0,<2.0.0) ; extra == "search-perplexity" or extra == "all"
Requires-Dist: pydantic (>=2.9,<3.0) ; extra == "resume" or extra == "all"
Requires-Dist: python-dateutil (>=2.9,<3.0) ; extra == "reader" or extra == "zotero" or extra == "all"
Requires-Dist: pyyaml (>=6.0,<7.0) ; extra == "resume" or extra == "all"
Requires-Dist: pyzotero (>=1.5,<2.0) ; extra == "zotero" or extra == "all"
Requires-Dist: requests (>=2.32,<3.0) ; extra == "reader" or extra == "resume" or extra == "all"
Description-Content-Type: text/markdown

# Freeact Skills

Freeact Skills is a curated set of Python-based modules designed for integration with [freeact](https://github.com/gradion-ai/freeact) agents. These skills offer a wide range of capabilities, from basic operations like internet searches to more advanced tasks such as Zotero library management, for example. In freeact applications, these skills are typically executed within [ipybox](https://github.com/gradion-ai/ipybox) sandboxed environments. While currently experimental, this repository will be continuously expanded to support more advanced skills over time.

## Installation

### Local installation

To install all skills, run:

```bash
pip install freeact-skills[all]
```

To install a specific skill, run one or more of:

```bash
# Readwise Reader integration
pip install freeact-skills[reader]

# Google search integration
pip install freeact-skills[search-google]

# Perplexity search integration
pip install freeact-skills[search-perplexity]

# Zotero integration
pip install freeact-skills[zotero]
```

### ipybox installation

If you want to pre-install these skills on [ipybox](https://github.com/gradion-ai/ipybox), install the `ipybox` package first:

```bash
pip install ipybox
```

Then create a `dependencies.txt` file with the following content:

```
# all skills (or alternatively a list of specific skills)
freeact-skills = {version = "*", extras = ["all"]}
```

Build an ipybox Docker image with the skills pre-installed:

```bash
python -m ipybox build -t your-image-tag -d dependencies.txt
```

## Development

Clone the repository:

```bash
git clone https://github.com/gradion-ai/freeact-skills.git
cd freeact-skills
```

Create a new Conda environment and activate it:

```bash
conda env create -f environment.yml
conda activate freeact-skills
```

Install dependencies with Poetry:

```bash
poetry install --all-extras
```

Run tests:

```bash
pytest -s tests
```

