semvec/pypi-packages huggingface dataset:
docat 1.0.0
Easy and simple document to plain text tool. Supported formats: doc, docx, xls, xlsx, pdf, and many more!
Requires Python: >=3.6

# Docat

Easy and simple document to plain text tool. Supported formats: doc, docx, xls, xlsx, pdf, and many more!

**Github**: [https://github.com/lluises/docat](https://github.com/lluises/docat)


## How it works

Docat works by identifying the document through the MIME type, and then selects a parser to extract all the text from the document.

Currently no OCR is implemented, therefore no text is extracted from images.


# Use from CLI

```
usage: docat [-h] [-o OUTPUT] [-l] [-nl] [documents ...]

Document to plain text transformation tool

positional arguments:
  documents            Documents to process

options:
  -h, --help           show this help message and exit
  -o, --output OUTPUT  Output file. By default outputs to stdout
  -l, --list           List all supported mime types and exit
  -nl, --newline       Ensure that the output ends with a newline (\n)
```

## Example

```bash
docat myfile.pdf
```

Will output all the text from myfile.pdf to the console (stdout).



# Use as a python library

```python
import docat

text = docat.process("path/to/myfile.pdf")

print(text)
```

Using _Path_ from _pathlib_ is also supported:

```python
from pathlib import Path
import docat

file_path = Path(".") / "myfile.pdf"
text = docat.process(file_path)

print(text)
```



# Supported files

Currently, docat supports:

- Microsoft Docs
- Microsoft Excel
- Microsoft PowerPoint
- Open document (LibreOffice, OpenOffice...)
- PDF
- Plain text files
- SVG with plain text embedded

Suggestions for more documents are welcome.


## MIME types

The following MIME types are currently supported by **docat**:

- application/javascript
- application/json
- application/msword
- application/pdf
- application/vnd.ms-excel
- application/vnd.ms-excel.sheet.macroEnabled.12
- application/vnd.ms-powerpoint
- application/vnd.ms-word.document.macroEnabled.12
- application/vnd.oasis.opendocument.presentation
- application/vnd.oasis.opendocument.spreadsheet
- application/vnd.oasis.opendocument.text
- application/vnd.openxmlformats-officedocument.presentationml.presentation
- application/vnd.openxmlformats-officedocument.presentationml.slideshow
- application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- application/vnd.openxmlformats-officedocument.wordprocessingml.document
- image/svg+xml
- text


# License

All the code in this repository is licensed under the **Apache License Version 2.0**. You may get a copy of the license in the [LICENCE](./LICENCE) file, or online at [https://www.apache.org/licenses/LICENSE-2.0.txt](https://www.apache.org/licenses/LICENSE-2.0.txt).

This program depends on other software packages, which have their own license. Check them to ensure compatibility with your project.
aipype 0.2.0a1
A modular AI agent framework with declarative pipeline-based task orchestration
Requires Python: >=3.12
Keywords: agents, ai, automation, framework, llm, pipeline

# aipype

Core AI agent framework with declarative pipeline orchestration.

## Installation

```bash
pip install aipype
```

## Quick Start

Use the `@task` decorator for clean, Pythonic agent definitions:

```python
from aipype import PipelineAgent, task, llm, search

class ResearchAgent(PipelineAgent):

    @task
    def find_sources(self) -> dict:
        """Search for articles - no dependencies, runs first."""
        return search(self.config["topic"], max_results=5)

    @task
    def summarize(self, find_sources: dict) -> str:
        """Summarize sources - dependency auto-inferred from parameter."""
        return llm(
            prompt=f"Summarize: {find_sources}",
            model="gpt-4o",
            temperature=0.3
        )

agent = ResearchAgent("research", {"topic": "AI trends"})
agent.run()
agent.display_results()
```

**Key Concepts:**
- `@task` decorator marks methods as pipeline tasks
- Parameter names matching task names create automatic dependencies
- `self.config` provides access to agent configuration
- Helper functions: `llm()`, `search()`, `mcp_server()`, `transform()`

## Environment Variables

```bash
# LLM Providers
export OPENAI_API_KEY=sk-your-key-here
export GEMINI_API_KEY=your-key-here
export OLLAMA_API_BASE=http://localhost:11434

# Search
export SERPER_API_KEY=your-serper-key-here
```

## Development

### Requirements
- Python ≥3.12
aipype-g 0.2.0a1
Google API integrations for the aipype framework
Requires Python: >=3.12
Keywords: agents, ai, gmail, google, sheets, tasklib

# aipype-g

Google API integrations for the aipype framework.

## Installation

```bash
pip install aipype-g
```

## Setup

### 1. Google Cloud Console
1. Create project at [console.cloud.google.com](https://console.cloud.google.com/)
2. Enable Gmail/Sheets APIs
3. Configure OAuth consent screen
4. Create OAuth client ID (Desktop application)
5. Download credentials JSON

### 2. Environment Variables
```bash
export GOOGLE_CREDENTIALS_FILE=path/to/google_credentials.json
export GMAIL_TOKEN_FILE=path/to/gmail_token.json
export SHEETS_TOKEN_FILE=path/to/sheets_token.json
```

## Usage

Check the examples package in the main github repo. 

## Development

### Requirements
- Python ≥3.12
- aipype (core framework)
- google-auth ≥2.0.0
aipype-extras 0.2.0a1
Extra features and tools for the aipype framework
Requires Python: >=3.12
Keywords: agents, ai, extras, llm, tools

# aipype-extras

Extra tools for the aipype framework.

## Installation

```bash
pip install aipype-extras
```

## Components

### LLM Log Viewer

Web interface for viewing LLM conversation logs.

**Important Security Note**

**This feature is designed for local use only for the developer to check the LLM calls being made from the agent. It should not be exposed as a remote service over public internet.**


```bash
# Start log viewer
python -m aipype_extras.llm_log_viewer

# Custom log file
python -m aipype_extras.llm_log_viewer /path/to/logs.jsonl

# Custom port
python -m aipype_extras.llm_log_viewer --port 8080

# Development mode
python -m aipype_extras.llm_log_viewer --debug
```

## Development

### Requirements
- Python ≥3.12
- aipype (core framework)
- Flask ≥3.0.0
redwrenlib 0.1.1
Python library for the RedWren ecosystem. Provides an interface for building applications, and extending functionality of the hardware.
Requires Python: >=3.9

# redwrenlib

redwrenlib is a Python library crafted for the RedWren ecosystem, enabling developers to control and
extend the functionality of their hardware with ease. Designed to offer an interactive interface,
this library empowers users to build customised applications tailored to their unique needs.

## Installation

To install redwrenlib, use the following command:

```bash
pip install redwrenlib
```

## Development Status

This library is currently under development. If you try it out and encounter any issues, please
submit them on this repository's issues page.

For any feedback or contributions, feel free to reach out!