|
| 1 | +# Rucio comms |
| 2 | + |
| 3 | +The rucio_comms package is a Python library that provides a high-level interface for interacting with Rucio. Here are its key components and features: |
| 4 | + |
| 5 | +1. Core Classes: |
| 6 | +- `FileManager`: Manages Rucio file operations |
| 7 | + - Registers file replicas with existing PFNs |
| 8 | + - Associates files with datasets |
| 9 | + - Handles batch operations for multiple files |
| 10 | + - Tracks registered files |
| 11 | + |
| 12 | +- `DatasetManager`: Handles Rucio dataset operations |
| 13 | + - Creates and manages datasets |
| 14 | + - Sets metadata, lifetime, and status |
| 15 | + - Follows PanDA-style dataset management patterns |
| 16 | + |
| 17 | +- `FileInfo`: Represents a file with its metadata |
| 18 | + - Handles logical/physical file names (LFN/PFN) |
| 19 | + - Manages checksums, size, and GUIDs |
| 20 | + - Validates file attributes |
| 21 | + |
| 22 | +2. Utility Modules: |
| 23 | +- `RucioUtils`: Helper functions for Rucio operations |
| 24 | + - Scope extraction from dataset names |
| 25 | + - GUID and VUID generation |
| 26 | + - PFN parsing and formatting |
| 27 | + |
| 28 | +- `ValidationUtils`: Input validation |
| 29 | + - Validates dataset names, scopes, LFNs, PFNs |
| 30 | + - Checks checksums and file sizes |
| 31 | + - Enforces format rules |
| 32 | + |
| 33 | +- `MetadataUtils`: Metadata handling |
| 34 | + - Creates standardized file metadata |
| 35 | + - Manages dataset metadata |
| 36 | + - Follows PanDA/Rucio metadata conventions |
0 commit comments