CLIPPy - Command Line Interface Plus Python
╭────────────────────────────────────╮
│ It looks like you want to use HPC. │
│ Would you like help with that? │
╰────────────────────────────────────╯
╲
╲
╭──╮
⊙ ⊙│╭
││ ││
│╰─╯│
╰───╯
Overview
Clippy (CLI + PYthon) is a Python language interface to HPC resources. Precompiled binaries
that execute on HPC systems are exposed as methods to a dynamically-created Clippy Python
object, where they present a familiar interface to researchers, data scientists, and others.
Clippy allows these users to interact with HPC resources in an easy, straightforward
environment – at the REPL, for example, or within a notebook – without the need to learn
complex HPC behavior and arcane job submission commands.
Installation of Python Code
There are three ways to use the Python code:
- Install from PyPI:
$ pip install llnl-clippy
- Install from the cloned repository:
$ cd py/src && pip install .
- Via
PYTHONPATH(see below)
Building C++ Examples
$ cd cpp && mkdir build && cd build
$ cmake ..
$ make
Running Current C++ Examples (after building)
From the repository root (using PYTHONPATH):
$ PYTHONPATH=py/src:$PYTHONPATH CLIPPY_BACKEND_PATH=$(pwd)/cpp/build/examples ipython
In [1]: from clippy import ExampleBag
In [2]: b = ExampleBag()
In [3]: b.insert(5).insert(6).insert(7) # can chain methods
Out[3]: <clippy.backends.fs.ExampleBag at 0x107d50830>
In [4]: b.insert(5).insert(8)
Out[4]: <clippy.backends.fs.ExampleBag at 0x107d50830>
In [5]: b.size()
Out[5]: 5
In [6]: b.remove_if(b.value > 6) # removes 2 elements
Out[6]: <clippy.backends.fs.ExampleBag at 0x107d50830>
In [7]: b.size()
Out[7]: 3
Authors
- Seth Bromberger (seth at llnl dot gov)
- Roger Pearce (rpearce at llnl dot gov)
License
CLIPPy is distributed under the MIT license.
See LICENSE-MIT, NOTICE, and COPYRIGHT for details.
SPDX-License-Identifier: MIT
Release
LLNL-CODE-818157
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llnl_clippy-0.5.7.tar.gz.
File metadata
- Download URL: llnl_clippy-0.5.7.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c63ee000f91ce231fb69c1bd7a6054c24ed866a4278e96d68e85da2040e41627
|
|
| MD5 |
9872b31eee5c4fc037c0f018e658cc5b
|
|
| BLAKE2b-256 |
172f327b33d750c3e11c20bad63b20a8dd7cda5f2857347dd08ad5013f87576f
|
Provenance
The following attestation bundles were made for llnl_clippy-0.5.7.tar.gz:
Publisher:
publish.yml on llnl/clippy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llnl_clippy-0.5.7.tar.gz -
Subject digest:
c63ee000f91ce231fb69c1bd7a6054c24ed866a4278e96d68e85da2040e41627 - Sigstore transparency entry: 2363968165
- Sigstore integration time:
-
Permalink:
llnl/clippy@73a983e1ce0ee95b6bc5ef8e2d48390c05e0858d -
Branch / Tag:
refs/tags/v0.5.7 - Owner: https://github.com/llnl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73a983e1ce0ee95b6bc5ef8e2d48390c05e0858d -
Trigger Event:
release
-
Statement type:
File details
Details for the file llnl_clippy-0.5.7-py3-none-any.whl.
File metadata
- Download URL: llnl_clippy-0.5.7-py3-none-any.whl
- Upload date:
- Size: 18.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
494e4c206b3ad3a36cbdcbe72a2c567479a3253c1d4803b2afd531867ec8d899
|
|
| MD5 |
2294bbef1e030b763a13bdab91b13d3b
|
|
| BLAKE2b-256 |
dca16b56701db4318baffbef7949fcb104e3a0c34ff10aff820e71b07d9da3f2
|
Provenance
The following attestation bundles were made for llnl_clippy-0.5.7-py3-none-any.whl:
Publisher:
publish.yml on llnl/clippy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llnl_clippy-0.5.7-py3-none-any.whl -
Subject digest:
494e4c206b3ad3a36cbdcbe72a2c567479a3253c1d4803b2afd531867ec8d899 - Sigstore transparency entry: 2363968306
- Sigstore integration time:
-
Permalink:
llnl/clippy@73a983e1ce0ee95b6bc5ef8e2d48390c05e0858d -
Branch / Tag:
refs/tags/v0.5.7 - Owner: https://github.com/llnl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@73a983e1ce0ee95b6bc5ef8e2d48390c05e0858d -
Trigger Event:
release
-
Statement type: