Metadata-Version: 2.4
Name: pydcache
Version: 0.1.6
Summary: Collection of dCache Python utilities
Author-email: Dmitry Litvintsev <litvinse@fnal.gov>
License-Expression: AGPL-3.0-only
Project-URL: Homepage, https://github.com/DmitryLitvintsev/pydcache
Project-URL: Issues, https://github.com/DmitryLitvintsev/pydcache/issues
Keywords: dcache,chimera,tape,storage,hep
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: paramiko>=2.7
Requires-Dist: psycopg2-binary>=2.8
Requires-Dist: pyyaml>=5.1
Provides-Extra: kafka
Requires-Dist: kafka-python>=2.0; extra == "kafka"
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"
Requires-Dist: pytest>=7.0; extra == "dev"
Dynamic: license-file

# pydcache
Collections of dCache python utilities

## scripts/cta_nanny.py

Long-running “nanny” that consumes CTA taped/ingest logs from Kafka, detects specific duplicate-key failures, and enqueues PNFSIDs for worker processes that repair/update Chimera metadata and trigger dCache admin actions.

### Flow (overview)

![Flow (overview)](docs/diagrams/cta_nanny_flow_overview.svg)

### Flow (worker per PNFSID)

![Flow (worker per PNFSID)](docs/diagrams/cta_nanny_flow_worker.svg)

