Skip to main content

A Command line tool for the dicom processor library

Project description

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.

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

dcm_processor_db_provider-0.0.1.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

dcm_processor_db_provider-0.0.1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file dcm_processor_db_provider-0.0.1.tar.gz.

File metadata

File hashes

Hashes for dcm_processor_db_provider-0.0.1.tar.gz
Algorithm Hash digest
SHA256 49ec163eaccbca0a8d6a62126d9e07bea3a6dc4854b2dbecf956a52da1b9cf77
MD5 033c14e29d2520b0cf927bf37823be5d
BLAKE2b-256 23ad4821756c76a60d68bd698751c0c0cee9ba90a7397237c41dea397c888217

See more details on using hashes here.

File details

Details for the file dcm_processor_db_provider-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dcm_processor_db_provider-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41bd8f45429efdb375733740012e205c8ca0521ac92d367d94fb6e2ebee55c46
MD5 5afdf766815a92a9eb55e2e9b7d9a583
BLAKE2b-256 b8d4c5730594680a6e64c5782ef78d56d0d3273c938d836d777c4a4513ceddbf

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