Skip to main content

dcm-processor-db-provider

dcm-processor-db-provider is the persistence layer for the dcm-processor platform.

It defines the storage-facing API used by the other modules and currently provides a MongoDB-backed implementation for:

  • metadata storage
  • job queue storage
  • session storage
  • GridFS-backed file storage
  • application settings

Role In The Bigger Picture

This module is the shared state layer for the platform.

Nearly every other module depends on it:

  • dcm-processor-cli uses it for app config, services, workers, peers, and nodes
  • dcm-processor-dicom-server uses it to persist received DICOM data
  • dcm-processor-job-scheduler uses it to discover work and create queued jobs
  • dcm-processor-worker uses it to fetch service and worker artifacts and job records
  • dcm-processor-service uses it indirectly for session data, files, and peer/session lookups

If the CLI is the front door, this module is the system record.

Main Responsibilities

1. Database Abstraction

The package exposes DBManager, which acts as the common API used across the platform.

Its job is to hide provider-specific details behind a shared interface for:

  • services
  • workers
  • jobs
  • sessions
  • peers
  • nodes
  • patients, studies, series, and instances
  • app settings
  • component files and session files

2. File Storage

This package stores binary artifacts such as:

  • service modules
  • service registry modules
  • worker support files
  • uploaded DICOM objects
  • session files

That makes it the bridge between metadata records and binary package/data payloads.

3. Job Queue Persistence

The job scheduler writes queued jobs through this module, and workers read them back through the same API.

This includes:

  • creating jobs
  • resolving session ids from jobs
  • storing and reading session data and files
  • cleaning up session data

4. DICOM Metadata Persistence

The DICOM server stores received instance data through this package, and the DB manager builds the patient/study/series structure around those objects.

Key Internal Areas

  • dcm_processor_db_provider/manager.py
    • high-level manager used by the rest of the system
  • dcm_processor_db_provider/base.py
    • abstract provider interface
  • dcm_processor_db_provider/mongo.py
    • MongoDB/GridFS implementation
  • dcm_processor_db_provider/conversion.py
    • data conversion helpers

Data Domains Managed Here

This module manages the persistence contract for:

  • application settings
  • DICOM peers and nodes
  • services and workers
  • queued jobs
  • sessions
  • session files and key/value session data
  • DICOM files and derived patient/study/series metadata

What This Module Is Not

This package is not:

  • the command-line interface
  • the scheduler logic
  • the DICOM network server
  • the worker runtime itself

It stores and retrieves the system state those modules operate on.

Summary

Use this module when you need the system’s durable state.

It is the storage contract that lets the CLI, scheduler, DICOM server, worker runtime, and service helpers all speak the same persistence language.

Release files for dcm-processor-db-provider 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dcm-processor-db-provider 0.0.1
File Size Uploaded
dcm_processor_db_provider-0.0.1.tar.gz 15.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dcm-processor-db-provider 0.0.1
File Interpreter ABI Platform
dcm_processor_db_provider-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 30.6 kB

Release files / dcm_processor_db_provider-0.0.1.tar.gz

Download URL dcm_processor_db_provider-0.0.1.tar.gz
Size 15.3 kB
Tags Source
SHA-256 checksum
How to use checksums
49ec163eaccbca0a8d6a62126d9e07bea3a6dc4854b2dbecf956a52da1b9cf77
BLAKE2b-256 checksum
How to use checksums
23ad4821756c76a60d68bd698751c0c0cee9ba90a7397237c41dea397c888217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / dcm_processor_db_provider-0.0.1-py3-none-any.whl

Download URL dcm_processor_db_provider-0.0.1-py3-none-any.whl
Size 15.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41bd8f45429efdb375733740012e205c8ca0521ac92d367d94fb6e2ebee55c46
BLAKE2b-256 checksum
How to use checksums
b8d4c5730594680a6e64c5782ef78d56d0d3273c938d836d777c4a4513ceddbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page