Skip to main content

A robust, lightweight, and developer-friendly document management and transport system for Python.

Project description

DocFlow

License Python Build

DocFlow Architecture

DocFlow is a robust, extensible document management and transport system for Python. It supports multiple storage backends, metadata management, and operation tracking, with a unified API for local, SFTP, HTTP, and other protocols.

Features

  • 📁 Document storage and metadata management
  • 🔄 Transport layer with pluggable protocols (local, SFTP, HTTP, etc.)
  • 🛣️ Configurable transport routes and routing rules
  • 📝 Operation and audit tracking
  • 🧩 Extensible architecture for new protocols and workflows

Installation

Install from PyPI:

pip install pydocflow

If you want to use PDF processing features (e.g., custom PDF processors), also install:

pip install pdfminer.six

Quick Start

Before using DocFlow in your code, you must initialize the system using the CLI:

# Run this once to set up configuration and database
$ docflow init

Then you can use the Python API (minimal example):

from docflow import DocFlow
from pathlib import Path

# Create DocFlow instance (will check initialization internally)
docflow = DocFlow()

# Create a basket
basket = docflow.basket('mybasket')

# Create a simple text file
hello_file = Path('hello.txt')
hello_file.write_text('Hello scos.ai!')

# Add the document to the basket
doc = basket.add(str(hello_file))

# Print document details
print(doc.get_details())

hello_file.unlink()

Additional examples can be found in examples/ folder.

Configuration

Configure routes and storage in default_config.yaml:

transport_config:
  routes:
    - name: local_backup
      purpose: backup
      protocol: local
      config:
        type: local
        name: local_backup_transport
        base_path: /path/to/backup
        create_dirs: true
      can_upload: true
      can_download: true
      enabled: true
  default_route: local_backup

Documentation

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydocflow-0.1.9.tar.gz (106.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydocflow-0.1.9-py3-none-any.whl (103.1 kB view details)

Uploaded Python 3

File details

Details for the file pydocflow-0.1.9.tar.gz.

File metadata

  • Download URL: pydocflow-0.1.9.tar.gz
  • Upload date:
  • Size: 106.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for pydocflow-0.1.9.tar.gz
Algorithm Hash digest
SHA256 d06522d8c0d442ef4142f8f13f70be618eb16a13b7fdf0d7c59f2f5bdf50aa46
MD5 4768a25eafde88dbcb08bedf7b0b7ad4
BLAKE2b-256 14133151996d23ced84f61148953458369a3d17d45d490169517d424ff8f0e25

See more details on using hashes here.

File details

Details for the file pydocflow-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: pydocflow-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 103.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for pydocflow-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6f41c068531e702095a22d3dc439d97b52a2a95a70bce544f55e47777cce643b
MD5 0f751cac61907ba967f4c44a743c6e5b
BLAKE2b-256 39c2b15f8af0279048293b115e113f1ec1761825047dec2c71084c7e95fdf00d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page