Skip to main content

cernopendata-client

image image image image image image

About

cernopendata-client is a command-line tool to facilitate downloading files from the CERN Open Data portal. The tool enables to query datasets hosted on the CERN Open Data portal and to download and verify the individual data set files.

Installation

$ pip install cernopendata-client

Usage

The detailed information on how to install and use cernopendata-client can be found in cernopendata-client.readthedocs.io.

Development

  1. Clone the repository:

    $ git clone https://github.com/cernopendata/cernopendata-client
    
  2. Setup a virtual environment:

    $ python3 -m venv env
    $ source env/bin/activate
    
  3. Install [cernopendata-client]{.title-ref} in editable mode:

    $ pip install -e '.[tests]'
    

Changelog

1.0.2 (2025-12-17)

Bug fixes

  • download: use record IDs for all local data paths (#167) (9b97f7c), closes #166
  • verifier: zero-pad Adler32 checksums to 8 hex characters (#169) (b6daa50)

Code refactoring

  • searcher: remove Python 2 compatibility code (#170) (cc3bb8b)
  • validator: remove Python 2 compatibility code (#170) (b03de4f)

Test suite

  • conftest: add fixture for automatic directory cleanup (#168) (b847121)
  • conftest: add shared CLI runner fixture (#168) (b387fde)
  • downloader: add unit tests for file filtering functions (#170) (a93d2be)
  • get-metadata: add test for filter without output-value (#170) (7c65a79)
  • global: add @pytest.mark.local marker for local-only tests (#170) (59fb1da)
  • list-directory: add test for empty directory (#170) (22e75e5)
  • metadater: add tests for filter edge cases (#170) (b1855b9)
  • validator: correct typos in test assertions (#170) (07b7b00)

Continuous integration

  • commitlint: fix local running of commit linter on macOS (#168) (6f411b1)

Documentation

  • claude: add initial Claude Code configuration (#164) (7d14b38)
  • claude: expand file change instructions for all file types (#168) (5652939)

1.0.1 (2025-11-10)

Build

Bug fixes

  • searcher: respect get-file-locations --protocol parameter (#154) (625eb9d), closes #152
  • searcher: respect get-file-locations --server parameter (#155) (16af0d0), closes #153

Test suite

  • verifier: replace sed calls with native Python code (#157) (20588e8)

1.0.0 (2025-02-25)

⚠ BREAKING CHANGES

  • python: Drops support for Python 3.6 and 3.7.

Build

  • docker: upgrade to Ubuntu 24.04 and Python 3.12 (#143) (bac8200)
  • python: add support for Python 3.13 (#146) (1714dbf)
  • python: drop support for Python 3.6 and 3.7 (#143) (cb633e0)

Bug fixes

  • searcher: adapt to the new metadata schema with file indices (#147) (bab9401), closes #148

Code refactoring

Test suite

  • metadater: adapt filtering test after CCID removal (#147) (4ff86a9)

Continuous integration

  • actions: update GitHub actions due to Node 16 deprecation (#143) (a3a898e)
  • actions: upgrade to Ubuntu 24.04 and Python 3.12 (#143) (925c0b5)
  • commitlint: addition of commit message linter (#143) (e01fff8)
  • jsonlint: add JSON linting (#150) (cab5fcb)
  • markdownlint: add Markdown linting (#150) (45a2a5f)
  • prettier: add Prettier code formatting checks (#150) (1020c7c)
  • release-please: increment version number in Dockerfile (#151) (1bbfcd5)
  • release-please: initial Release Please configuration (#143) (5724844)
  • run-tests: add usage help and refactor options (#150) (b9368d8)
  • run-tests: stop properly after running all tests (#145) (357a719)
  • shfmt: add shfmt code formatting checks (#150) (e70291e)
  • yamllint: add YAML linting (#150) (0d70783)

Documentation

  • usage: add an example on how to retrieve container images (#141) (fef3295)

0.4.0 (2024-08-22)

  • Adds support for Python 3.11 and 3.12.
  • Improves get-metadata --output-field command by adding a new --filter option allowing to output only selected field values matching desired criteria.
  • Changes container image base to Fedora 38 and slightly optimises image size.
  • Drops support for Python 2.7.

0.3.0 (2022-03-16)

  • Adds support for Python 3.10.
  • Improves download-files command to resume interrupted downloads when using HTTP downloads with pycurl engine.
  • Improves XRootD downloader by using vanilla XRootD package. Changes xrootdpyfs to xrootd download engine.
  • Improves download-files command with a new option --download-engine to select pycurl or requests engines when downloading files over HTTP.
  • Fixes minor issues with file index unwinding and output directory handling.

0.2.0 (2020-11-19)

  • Adds new list-directory command to list content of EOS directories holding open data files.
  • Adds support for Python 3.9.
  • Improves download-files command to allow using XRootD protocol.
  • Improves download-files command to allow using HTTPS protocol.
  • Improves download-files command to optionally verify file integrity as soon as files are being downloaded.
  • Improves get-file-locations command to optionally output file sizes and checksums.
  • Improves output format colouring to better indicate notes and errors.
  • Fixes minor issues and improves code coverage.

0.1.0 (2020-09-24)

  • Enriches download-files command to optionally download only files matching certain name, regexp, or range count.
  • Adds new verify-files command to verify number, size, and checksum of downloaded files.
  • Improves get-metadata command with respect to outputting only certain desired metadata field values.
  • Enriches user documentation.

0.0.1 (2020-09-09)

  • Initial public release.

Metadata

Release files for cernopendata-client 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cernopendata-client 1.0.2
File Size Uploaded Provenance Actions
cernopendata_client-1.0.2.tar.gz 116.0 kB Without provenance Details for cernopendata_client-1.0.2.tar.gz

Release files / cernopendata_client-1.0.2.tar.gz

Download URL cernopendata_client-1.0.2.tar.gz
Size 116.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9d829c78434d5117806dea112fd276bade8c8d8cb93a10383c69f20845243a12
BLAKE2b-256 checksum
How to use checksums
2f8e0ebe3698e156eae3cbf4a18c6ae98e4f0bee552d31908acb4a0212d946ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for cernopendata-client 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page