Registry / devops / ilcdirac

ilcdirac

JSON →
library35.0.11pypypiunverified

iLCDirac is the iLC/CLIC/FCC extension of DIRAC, providing tools and services for distributed computing within the International Linear Collider, CLIC, and Future Circular Collider communities. It is currently at version 35.0.11 and follows the release schedule of the main DIRAC project, with frequent updates.

pip install ilcdirac
INSTALL
IMPORT
SIG · ILCDIRAC
I
ilcdirac
devopspythonv35.0.11
Install
Import
Disk
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
build_error
glibc
py 3.103.920 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

LCJob
from ILCDIRAC.Interfaces.API.NewInterface.LCJob import LCJob
Primary class for defining and managing iLC/CLIC/FCC specific jobs within the DIRAC framework.
Marlin
from ILCDIRAC.Interfaces.API.NewInterface.Applications import Marlin
Example application for high-energy physics data processing, commonly used in iLC/CLIC/FCC experiments.

This quickstart demonstrates how to define a basic iLCDirac job using the `LCJob` class and append a `Marlin` application. It covers setting job properties, application details, and output specifications. Note that actual job submission to the grid requires a fully configured DIRAC client environment and a valid VOMS proxy, which are not covered in this minimal code snippet.

from ILCDIRAC.Interfaces.API.NewInterface.LCJob import LCJob from ILCDIRAC.Interfaces.API.NewInterface.Applications import Marlin # Note: A full DIRAC environment (with configuration and a valid VOMS proxy) # is required for actual job submission. This example focuses on API object creation. # 1. Create an LCJob instance job = LCJob() job.setName('MyILCDiracJob') job.setPlatform('x86_64-slc6-gcc44-opt') # Example platform, choose one appropriate for your grid job.setCPUTime(3600) # Example: 1 hour CPU time limit # 2. Define an application, e.g., Marlin marlin_app = Marlin() marlin_app.setVersion('v01-08-01') # Specify a valid Marlin version available on the grid marlin_app.setSteeringFile('my_steering_file.xml') # Path to a steering file marlin_app.setInputData(['LFN:/ilc/user/exampleuser/input.slcio']) # Logical File Name for input data # 3. Add the application to the job job.appendApplication(marlin_app) # 4. Define output data and where to store it job.setOutputData(['output.root'], OutputSE='CERN-USER') # Store output.root in CERN-USER Storage Element job.setOutputSandbox(['stdout.log', 'stderr.log']) # Files to retrieve to local sandbox # Print job definition summary print(f"Created ILCDIRAC Job '{job.getName()}'") print(f" Platform: {job.getPlatform()}") print(f" CPU Time: {job.getCPUTime()} seconds") if job.applications: print(f" Application: {job.applications[0].__class__.__name__} (Version: {job.applications[0].version})") print(f" Output Data: {job.outputData}") print(f" Output Sandbox: {job.outputSandbox}") # To submit this job to the DIRAC grid, you would typically use: # from DIRAC.Core.Base.Script import parseCommandLine # parseCommandLine() # This initializes the DIRAC environment # result = job.submit() # if result['OK']: # print(f"Job submitted with ID: {result['Value']}") # else: # print(f"Submission failed: {result['Message']}")
Debug
Known issues
breakingMajor version upgrades of ILCDirac (e.g., from 34.x to 35.x) or its underlying DIRAC framework often introduce significant API changes, especially in job definition and application handling interfaces. The `NewInterface` implies older interfaces may be deprecated or removed.
fix
Always consult the official DIRAC and ILCDirac release notes and migration guides before upgrading. Update imports and API calls to align with the current `NewInterface` patterns as documented.
affects: All major version transitions (e.g., 34.x to 35.x)
gotchaILCDirac is a client library for the DIRAC grid. Actual job submission and interaction with the grid requires a separate DIRAC client installation and configuration, including a valid VOMS proxy for authentication. `pip install ilcdirac` alone only provides the Python library components.
fix
Follow the comprehensive DIRAC client installation and configuration guides. Ensure a valid VOMS proxy is available using `voms-proxy-init` before attempting job submission to the grid.
affects: All versions
gotchaIncorrectly specified Logical File Names (LFNs) for input/output data, or non-existent/inaccessible Storage Elements (SEs) for outputs, are common causes of job failures on the grid. Paths must be valid within the distributed file system.
fix
Verify LFNs using DIRAC tools like `dirac-dms-lfns-info` and ensure specified SEs are valid and accessible for your user role within the DIRAC grid configuration.
affects: All versions
Upgrade
Version history
35.0.11latest on PyPI · released Apr 14, 2026
Audit
Dependencies
DIRACrequirediLCDirac is an extension of the DIRAC framework and requires DIRAC itself to be installed (>=35.0.0).
Agent activity
4 hits · last 30 days
node
4
Resources
ilcdirac — pip install ilcdirac · libregistry