Skip to main content

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

Project description

DocEX

License Python Build

DocEX Architecture

DocEX 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 docex

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

pip install pdfminer.six

Quick Start

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

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

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

from docex import DocEX
from pathlib import Path

# Create DocEX instance (will check initialization internally)
docEX = DocEX()

# Create a basket
basket = docEX.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

docex-2.0.1.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

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

docex-2.0.1-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file docex-2.0.1.tar.gz.

File metadata

  • Download URL: docex-2.0.1.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for docex-2.0.1.tar.gz
Algorithm Hash digest
SHA256 a360b3b2c1f6e5d8718bca1c2fa7f46abc761635c54b1a7ae69ea8239bef48a6
MD5 05f5fcf57c4198ad4ba57fabccad410e
BLAKE2b-256 e797eb1ccf9ca5c7d602a99a9b5bb1e9e43575da72c7dfa333b25bcb9274409a

See more details on using hashes here.

File details

Details for the file docex-2.0.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for docex-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 243a059e5cd6996841fbf25cd1c71c23f3c7e582056bb45f08a4c9d372875ae6
MD5 d319f4f11851ebc49252814c643288ff
BLAKE2b-256 832004c097e84e1aa61b501d2c73cf8820fd82418e028fc1e1d6fedb9b5414d7

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