Files
fil/docs/snippets/python/plugins/stateful_plugin.md
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

661 B

import threading
from kreuzberg import ExtractionResult

class StatefulPlugin:
    def __init__(self):
        self.lock: threading.Lock = threading.Lock()
        self.call_count: int = 0
        self.cache: dict = {}

    def name(self) -> str:
        return "stateful-plugin"

    def version(self) -> str:
        return "1.0.0"

    def process(self, result: ExtractionResult) -> ExtractionResult:
        with self.lock:
            self.call_count += 1
            self.cache["last_mime"] = result.mime_type
        return result

    def initialize(self) -> None:
        pass

    def shutdown(self) -> None:
        pass