Metadata-Version: 2.1
Name: docr
Version: 0.2.1
Summary: 🛠️ Docr: A modular toolkit for intelligent document analysis and processing. Easy to expand and flexible to use, just like playing with building blocks!
License: MIT
Author: liferecords
Author-email: yjmm10@yeah.net
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: dynaconf (>=3.1.12,<4.0.0)
Requires-Dist: fastapi (>=0.112.0,<0.113.0)
Requires-Dist: onnxruntime (>=1.18.1,<2.0.0)
Requires-Dist: opencv-python (>=4.10.0.84,<5.0.0.0)
Requires-Dist: pillow (>=10.4.0,<11.0.0)
Requires-Dist: psutil (>=6.0.0,<7.0.0)
Requires-Dist: pyclipper (>=1.3.0.post5,<2.0.0)
Requires-Dist: pydantic (>=2.8.2,<3.0.0)
Requires-Dist: pymupdf (>=1.24.9,<2.0.0)
Requires-Dist: python-multipart (>=0.0.9,<0.0.10)
Requires-Dist: shapely (>=2.0.5,<3.0.0)
Requires-Dist: streamlit (>=1.37.1,<2.0.0)
Requires-Dist: tokenizers (>=0.19.1,<0.20.0)
Requires-Dist: uvicorn[standard] (>=0.30.5,<0.31.0)
Description-Content-Type: text/markdown

English | [中文](README_zh.md) | [日语]()
# Docr 🚀

## 1. Overview 🌟

🛠️ Component design with module-based functionality, allowing for on-demand feature acquisition, 🚀 easy to expand, and flexible to use, just like playing with building blocks!

Docr is a modular component-based toolkit for document analysis and processing. It's designed with flexibility and extensibility in mind, making it easy to expand and use various document processing functionalities as needed.

## 2. Features 🛠️

- 📄 Layout Analysis
- 🔢 Formula Detection and Recognition
- 📝 Optical Character Recognition (OCR)
- 📊 Table Structure Recognition
- 📚 Reading Order Analysis
- 🖼️ Image Processing Utilities

## 3. Installation and Usage 📦

### 3.1 Prerequisites

- Python 3.10 or higher
- Poetry (for dependency management)

### 3.2 Setup

1. Clone the repository:
   ```bash
   git clone https://github.com/yjmm10/docr.git
   cd docr
   git clone https://huggingface.co/liferecords/Telos.git docr/models
   ```

2. Install dependencies:
   ```bash
   poetry install -v
   ```

### 3.3 Usage

Here's a quick example of how to use Docr for OCR:

```python
from docr import OCR
import cv2

# Initialize the OCR model
ocr_model = OCR()

# Read an image
image = cv2.imread("path/to/your/image.png")

# Perform OCR
result = ocr_model(image)

print(result)
```

Docr comes with a Streamlit-based web UI for easy demonstration of its capabilities:

1. Run the demo:
   ```bash
   streamlit run webui/demo.py
   ```

2. Open your browser and navigate to the provided URL (usually http://localhost:8501)

3. Upload an image and select the model you want to use for processing

Docr also provides a FastAPI-based API service for integration into other applications:

1. Start the API server:
   ```bash
   uvicorn api.docr_api:app --host 0.0.0.0 --port 8000
   ```

2. The API documentation will be available at http://localhost:8000/docs

## 4. Development 🔬

For detailed information on development, please refer to the [development guide](./docs/development.md). This guide will help you set up your IDE for working with Docr, including SRC Layout configuration.

## 5. Contributing 🤝

We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for more details.

## 6. License 📄

Docr is released under the MIT License. See the [LICENSE](LICENSE) file for more details.

## 7. Contact 📧

For any questions or feedback, please contact the project maintainer:
liferecords <yjmm10@yeah.net>
