dbs3-client
What it is and what it does
DBS3-Client is a Python wrapper around the Data Bookkeeping Service 3 REST API used by the CMS experiment at CERN. It allows Python scripts to query and manage event dataset metadata—including processing history, associated files, runs, and data tiers—without directly calling HTTP endpoints. The library abstracts the REST layer and JSON serialization, providing a Pythonic interface to a CMS-internal data catalog.
The package depends on dbs3-pycurl for HTTP communication and requires libcurl to be installed on the system. Setup involves installing system libraries, configuring X.509 certificates for authentication, and exporting environment variables. It is designed for CMS physicists and data managers working with Monte Carlo simulations and recorded collision data.
Use it for:
- Query CMS dataset metadata (tiers, files, runs) from Python scripts in analysis workflows.
- Automate dataset discovery and validation during data processing pipelines.
- Retrieve processing history and file locations for a given dataset in batch jobs.
- Validate dataset availability and metadata consistency in Monte Carlo production.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Python client for querying and managing datasets in the Data Bookkeeping Service 3 (DBS3), a CMS experiment event data catalog that tracks datasets, processing history, files, and runs via REST API.
Yes, if you are a CMS physicist or data manager needing programmatic access to DBS3 from Python. No, if you are outside the CMS collaboration or need a general-purpose REST client—the package is CMS-specific, dormant (last release 697 days ago), and requires non-trivial system setup (libcurl, X.509 certs). The low install friction and zero known vulnerabilities are offset by operational complexity and maintenance uncertainty.
Install
dbs3-client on PyPI
pip
pip install dbs3-clientuv
uv add dbs3-clientpoetry
poetry add dbs3-clientInstalling dbs3-client
Before you install
Low install friction with a single runtime dependency (dbs3-pycurl). However, the package is dormant—last release was 697 days ago—and requires libcurl system libraries and X.509 certificate setup, which adds operational complexity despite straightforward pip installation.
License in practice
Licensed under Apache License, Version 2.0 (permissive), allowing commercial and private use with minimal restrictions; suitable for most deployment contexts.
Quickstart
pip install dbs3-client
from dbs3_client import DbsApi
url = "https://cmsweb-testbed.cern.ch/dbs/prod/global/DBSReader/"
dbs3api = DbsApi(url=url)
print(dbs3api.listDataTiers(data_tier_name='AOD'))
Requires libcurl system library (install via yum or apt-get), X.509 certificate and key files for authentication, and environment variables DBS3_CLIENT_ROOT, X509_USER_CERT, X509_USER_KEY to be set.
Verify before relying
- Whether the package works with Python versions beyond 3.8.2 despite documentation recommending 3.8.2 specifically.
- Current compatibility with modern pycurl versions or if pycurl==7.43.0.6 remains a hard requirement.
- Whether the package is actively maintained or if dormancy signals end-of-life for this CMS-internal tool.
- Exact API surface and available methods beyond listDataTiers() shown in documentation.
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — dbs3-pycurl |
| Maintenance | dormant — 697 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 485,720/month — #6,396 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbs3_client-4.0.19-py3-none-any.whl
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
dbs3-pycurlProvides a Python client wrapper around pycurl…
permissive · top 15,000 on PyPI
athina-clientA Python SDK for logging and interacting with…
permissive · top 15,000 on PyPI
arize-phoenix-clientPhoenix Client provides a Python interface to…
permissive · top 5,000 on PyPI
contentful_managementPython client for Contentful's Management API,…
permissive · top 15,000 on PyPI
bdbagbdbag creates, validates, and manages BagIt…
permissive · top 15,000 on PyPI
google-cloud-datacatalogA Python client library for Google Cloud Data…
permissive · top 1,000 on PyPI
globus-sdkProvides a Python interface to Globus APIs for…
permissive · top 15,000 on PyPI
fiftyoneFiftyOne is a Python framework for building,…
permissive · top 15,000 on PyPI
django-cmsdjango CMS is a Django-based content management…
permissive · top 15,000 on PyPI
google-cloud-bigqueryPython client library for querying and managing…
permissive · top 1,000 on PyPI