A data analysis management toolkit for high energy physics
Project description
Chern
Chern is a data analysis management toolkit designed for high energy physics research. It provides a structured environment for organizing projects, tasks, algorithms, and data, enabling reproducible and collaborative scientific workflows.
Key Features and Benefits
Chern provides several advantages for scientific data analysis:
- Structured Organization: Clear separation of data, algorithms, and tasks
- Dependency Tracking: Automatic monitoring of relationships between objects
- Version Control: Impressions system for tracking object states over time
- Reproducibility: Complete capture of workflow and parameters
- Adaptability: Easy modification and re-execution of analysis components
- Collaboration: Project sharing and management capabilities
Features
- Project Management: Create, organize, and switch between multiple analysis projects.
- Task & Algorithm Handling: Define tasks and algorithms with configuration files and documentation.
- Data Organization: Manage raw and processed data with clear directory structures.
- Interactive Shell: Launch an IPython shell for interactive exploration and command execution.
- Extensible: Easily add new commands, algorithms, and data types.
Installation
Clone the repository and install dependencies:
git clone https://github.com/hepChern/Chern.git
cd Chern
pip install .
Getting Started
Initialize a new project:
chern init
Start the interactive shell:
chern
Common Commands
| Command | Description |
|---|---|
ls |
Lists the contents of the current directory or specified path. |
cd |
Changes the current working directory. |
mkdir |
Creates a new directory. |
cp |
Copies files or directories. |
mv |
Moves or renames files or directories. |
rm |
Removes (deletes) files or directories. |
cat |
Concatenates files and prints their content to standard output. |
ls-projects |
Lists all available projects within the system environment. |
cd-project |
Changes the active project context (project-level cd). |
| Command | Description |
|---|---|
create-algorithm |
Defines a new reusable algorithm (self-contained script or code block). |
add-algorithm |
Adds an existing algorithm to a project or task configuration. |
add-input |
Specifies a single input dependency for an algorithm or task. |
add-multi-inputs |
Specifies multiple inputs at once (batch / parameter sweep). |
add-parameter |
Defines a configurable parameter for a task or algorithm. |
remove-input |
Removes a specified input dependency. |
remove-parameter |
Removes a specified parameter. |
create-task |
Defines a single task instance of an algorithm. |
create-multi-tasks |
Defines multiple tasks simultaneously. |
create-data |
Registers a new data object or artifact. |
edit-script |
Opens the script associated with an algorithm for editing. |
edit-readme |
Opens and edits the README documentation. |
| Command | Description |
|---|---|
submit |
Submits tasks or workflows for execution. |
status |
Checks execution status (pending, running, failed, completed). |
kill |
Cancels a running or pending job. |
collect |
Retrieves outputs or artifacts from completed tasks. |
trace |
Displays detailed execution logs or history. |
display |
Prints output or results to the console. |
runners |
Lists available execution environments. |
register-runner |
Adds a new execution environment (runner). |
remove-runner |
Deletes an existing runner configuration. |
| Command | Description |
|---|---|
import |
Imports data, tasks, or definitions from another project or source. |
export |
Exports data or definitions to an external location. |
import-file |
Imports a specific external file into the managed file system. |
rm-file |
Removes a managed file. |
mv-file |
Moves or renames a managed file. |
auto-download |
Automatically retrieves required inputs or dependencies. |
| Command | Description |
|---|---|
config |
Displays or modifies configuration settings. |
setenv |
Sets an environment variable. |
set-environment |
Configures the execution environment for tasks. |
set-memory-limit |
Defines the maximum memory allowed for a task. |
| Command | Description |
|---|---|
draw-dag-graphviz |
Generates a static DAG visualization using Graphviz. |
draw-live-dag |
Generates a live (dynamic) DAG visualization with task statuses. |
impress |
Records a key result or output for reporting. |
impression |
Lists or retrieves recorded impressions. |
clean-impressions |
Deletes old or unwanted impressions. |
view |
Opens a file or component in the default viewer/editor. |
See the User Guide for more details.
Documentation
Full documentation is available at chern.readthedocs.io.
License
Apache License, Version 2.0
Author
Mingrui Zhao
2013–2024
Center of High Energy Physics, Tsinghua University
Department of Nuclear Physics, China Institute of Atomic Energy
Niels Bohr Institute, University of Copenhagen
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file celebichrono-0.0.1.tar.gz.
File metadata
- Download URL: celebichrono-0.0.1.tar.gz
- Upload date:
- Size: 79.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
525d6b2aa458fe13c57a2ca8cc4884da1c17c83b5f35dc4a53f31cb80ba8be86
|
|
| MD5 |
fe72798ee2c8efa2dd6a403e3be33b4e
|
|
| BLAKE2b-256 |
2c8e97646e9e1e74dcf8b8098e8e023a059b5db908be6fae083e075cb913065c
|
File details
Details for the file celebichrono-0.0.1-py3-none-any.whl.
File metadata
- Download URL: celebichrono-0.0.1-py3-none-any.whl
- Upload date:
- Size: 99.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc25925825607ca519332aff56382889b653a9ce0eef569851d4fec20f6b3237
|
|
| MD5 |
ad20345e337fd7fc5d9c920ff28603f3
|
|
| BLAKE2b-256 |
38e1155860b861cbc602066345d538ab49aa5ec81ff3a1d9a408a820632dfc9d
|