cernopendata-client
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
-
Clone the repository:
$ git clone https://github.com/cernopendata/cernopendata-client
-
Setup a virtual environment:
$ python3 -m venv env $ source env/bin/activate
-
Install [cernopendata-client]{.title-ref} in editable mode:
$ pip install -e '.[tests]'
Useful links
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
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 --protocolparameter (#154) (625eb9d), closes #152 - searcher: respect
get-file-locations --serverparameter (#155) (16af0d0), closes #153
Test suite
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
Code refactoring
Test suite
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
0.4.0 (2024-08-22)
- Adds support for Python 3.11 and 3.12.
- Improves
get-metadata --output-fieldcommand by adding a new--filteroption 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-filescommand to resume interrupted downloads when using HTTP downloads withpycurlengine. - Improves XRootD downloader by using vanilla XRootD package. Changes
xrootdpyfstoxrootddownload engine. - Improves
download-filescommand with a new option--download-engineto selectpycurlorrequestsengines 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-directorycommand to list content of EOS directories holding open data files. - Adds support for Python 3.9.
- Improves
download-filescommand to allow using XRootD protocol. - Improves
download-filescommand to allow using HTTPS protocol. - Improves
download-filescommand to optionally verify file integrity as soon as files are being downloaded. - Improves
get-file-locationscommand 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-filescommand to optionally download only files matching certain name, regexp, or range count. - Adds new
verify-filescommand to verify number, size, and checksum of downloaded files. - Improves
get-metadatacommand 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)
| 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.