Metadata-Version: 2.4
Name: vdi-client
Version: 0.2.1
Summary: VDI client - client tools for the virtual data infrastructure
Author-email: Thomas Roeblitz <thomas.roblitz@uib.no>
License-Expression: GPL-2.0-only
Project-URL: Homepage, https://github.com/virtual-data-infrastructure/vdi-client
Project-URL: Documentation, https://github.com/virtual-data-infrastructure/vdi-client
Project-URL: Repository, https://github.com/virtual-data-infrastructure/vdi-client
Project-URL: Issues, https://github.com/virtual-data-infrastructure/vdi-client/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typing-extensions>=4.5.0; python_version < "3.10"
Provides-Extra: dev
Requires-Dist: build==1.3.0; extra == "dev"
Requires-Dist: pytest==8.3.3; extra == "dev"
Requires-Dist: pytest-cov==5.0.0; extra == "dev"
Requires-Dist: coverage==7.6.9; extra == "dev"
Requires-Dist: mypy==1.11.1; extra == "dev"
Requires-Dist: pyright==1.1.414; extra == "dev"
Requires-Dist: ruff==0.14.5; extra == "dev"
Requires-Dist: pymarkdownlnt==0.9.33; extra == "dev"
Requires-Dist: codespell==2.4.1; extra == "dev"
Dynamic: license-file

<p align="center">
  <img src="https://raw.githubusercontent.com/virtual-data-infrastructure/vdi-client/main/docs/assets/logo-lockup-transparent.png" alt="VDI logo" width="400">
</p>

# VDI client

Client tools for the [virtual data infrastructure](https://github.com/virtual-data-infrastructure).

The `vdi` command-line tool intercepts file-system calls made by a program,
logs them, and transparently downloads files from a VDI server via URL when
needed. This lets you run scientific workloads against remote data without
manually staging files. Accesses are tracked and served on demand.

## Installation

```bash
pip install vdi-client
```

## Usage

The `vdi` CLI provides three subcommands:

- **`vdi run`**: run a program with VDI extensions (file-system interception,
  logging, transparent URL download).
- **`vdi view`**: create, list, delete, upload to, and download from views on
  a VDI server.
- **`vdi log`**: list, show, and clean up VDI log files.

### Examples

Run a program with VDI extensions:

```bash
vdi run python my_script.py
```

List views on a VDI server:

```bash
vdi view --base-url https://vdi.example.org list
```

Show the contents of a log file:

```bash
vdi log show --pid 12345
```

Run `vdi -h` for the full usage overview.

## Supported platforms

- Linux `x86_64` and `aarch64`
- EESSI stack versions 2023.06, 2025.06, and 2026.06

## License

GPL-2.0-only
