About

Fermi Data Platform Tools is a client suite for the Fermi Data Platform (FDP): storage on the dCache instance amsc.fnal.gov, the MetaCat / AmSC catalog, and the AmSC data movement service. It is written by Andrew Norman (Fermilab) and kept in a private GitHub repository, normanajn/Fermi-Data-Platform-Tools. FDP itself is documented at fnal-scd.github.io/fdpdocs.

Design in brief

Dependencies

DependencyUsed forNeeded by
libcurlHTTP/WebDAV, MetaCat, Globuslibfdp
OpenSSL (libcrypto)SHA-256, PKCE, CA handlinglibfdp
Boost 1.75+ (JSON, PropertyTree, Program_options)JSON, WebDAV XML, option parsinglibfdp, CLIs
yaml-cppconfiguration fileslibfdp
XRootD client (XrdCl)root:// access (optional)libfdp
OpenMPparallel transfers (optional)libfdp
htgettokenbearer tokens from the Fermilab vaultruntime
pybind11, scikit-build-corePython extension and wheelfdptools
Qt 6 (Widgets)fdp-qtfdp-qt
SwiftUI, Xcode, XcodeGenFDP BrowsermacOS app
CppUnit, pytest, QtTest, XCTesttestsdevelopment
PyYAMLwebsite build and deploy scriptsdevelopment

Tested platforms

PlatformToolchainResult
macOS 26 arm64AppleClang 17, Homebrew, Qt 6.11all suites; live checks; notarized packages
AlmaLinux 9.8GCC 11.5, distro/EPEL/OSG packages, XRootD 5.9all suites; interactive checklist
AlmaLinux 8.10 (no root)conda-forge GCC 15, XRootD 5.8, Qt 6.9all suites; interactive checklist
Amazon Linux 2023GCC 11.5, Qt 6.11 (aqt), no XRootD runtimeall suites
Windows 11MSVC 2022, vcpkgdefined, not yet run

This website