🚀 PyCOMPSs CLI
Command-line interface for the PyCOMPSs programming model Run distributed workflows seamlessly on local machines, Docker, and remote clusters
✨ Features
- ⚡ Run PyCOMPSs applications with zero complex setup
- 🐳 Built-in Docker environment support
- 🌍 Compatible with remote clusters and HPC environments
- 🔧 Easy integration with existing Python workflows
🚀 Quickstart
You can start using PyCOMPSs in three ways:
- Install within a virtual environment (RECOMMENDED)
- Install locally via pip
- Use Docker-based environments
Choose the one that best suits you.
📦 Installation
🌟 Option 1: Virtual Environment (RECOMMENDED)
To avoid conflicts with other Python packages, it is highly recommended to install pycompss-cli inside a virtual environment:
On Linux/macOS:
# Create the environment
python3 -m venv venv
# Activate it
source venv/bin/activate
# Install the package
python3 -m pip install pycompss-cli
On Windows:
# Create the environment
python -m venv venv
# Activate it
.\venv\Scripts\activate
# Install the package
pip install pycompss-cli
🐍 Option 2: Conda Environment
If you use Anaconda or Miniconda, you can create a dedicated environment to keep your dependencies isolated:
# Create a new conda environment with Python 3.12
conda create -n pycompss-env python=3.12
# Activate the environment
conda activate pycompss-env
# Install the package via pip
python3 -m pip install pycompss-cli
⚡ Option 3: Local Installation
If you prefer a global installation (Linux, macOS, and Windows):
python3 -m pip install pycompss-cli
This installs the following executables:
pycompsscompssdislibqdislib
All commands are equivalent and interchangeable.
⚠️ Important If you install with
--user, make sure your local bin path is inPATH, otherwise the commands won't be available.
🐳 Docker Support (Optional but Recommended)
PyCOMPSs CLI can automatically manage Docker-based execution environments.
Requirements
- Docker ≥ 17.12.0-ce
1. Install Docker
Choose your platform:
-
🍎 Docker for Mac (or via Homebrew)
Some distributions use
docker-ceinstead ofdocker
2. Enable non-root usage
Add your user to the Docker group:
👉 https://docs.docker.com/install/linux/linux-postinstall/
3. Verify installation
docker --version
docker ps
Expected: no running containers initially.
4. Install Python Docker client
python3 -m pip install docker
Example Usage
Check available options:
pycompss -h
Run a PyCOMPSs application:
pycompss run my_app.py
📖 Documentation
Full usage guide and advanced examples:
👉 https://compss-doc.readthedocs.io/en/stable/Sections/08_PyCOMPSs_CLI/02_Usage.html
🛠️ Development
Clone the repository:
git clone https://gitlab.bsc.es/wdc/compss/tools/cli.git
cd pycompss-cli
Install in development mode:
./install_editable.sh
🎨 GUI & Internationalization (i18n)
This project uses a GUI that requires a build process to convert UI files into Python code and to manage translations.
⚠️ Note: To run these scripts, you need pyside6-dev-tools (or equivalent) installed on your system.
1. Update Interface
If you modify any .ui files, you must regenerate the corresponding Python files:
cd scripts
./1_build_py_from_ui.sh
cd ..
2. Update Translations
To add new strings or translate the application to other languages, follow this sequential workflow:
- Extract strings: Generate/update translation source files (
.ts) from the UI:cd scripts ./2_build_ts_from_ui.sh cd ..
- Translate: Manually check and edit the
.tsfiles (using Qt Linguist or a text editor):cd scripts ./3_manual_ts_check.sh cd ..
- Compile: Convert the edited
.tsfiles into binary translation files (.qm) that the application can read:cd scripts ./4_build_qm_from_ts.sh cd ..
🛡️ Quality Control
We use the following tools to ensure code quality. You can run them locally:
- Linting & Formatting:
ruffandblack - Static Typing:
mypy - Deep Analysis:
pylint - Testing:
pytest
To run all tests:
cd scripts
./check.sh
🤝 Contributing
Contributions are welcome!
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a Pull Request 🚀
📄 License
Licensed under the Apache License 2.0.
🏢 About
Developed by:
Workflows and Distributed Computing Group Department of Computer Science Barcelona Supercomputing Center (BSC) 🌐 http://www.bsc.es
⭐ Support
If you find this project useful:
- ⭐ Star the repository
- 🐛 Report issues
- 💡 Suggest new features
Metadata
Release files for pycompss-cli 3.4.10
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 |
|---|---|---|---|---|
| pycompss_cli-3.4.10.tar.gz | 658.1 kB | Without provenance | Details for pycompss_cli-3.4.10.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pycompss_cli-3.4.10-py3-none-any.whl | Python 3 | none | any | Details for pycompss_cli-3.4.10-py3-none-any.whl |
Total release size: 1.4 MB
Release files / pycompss_cli-3.4.10.tar.gz
| Download URL | pycompss_cli-3.4.10.tar.gz |
|---|---|
| Size | 658.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d6a6d15c58cabb456fc9543e6d5f53a79a2e336a4c39f672650f32e2d8a4b9cb
|
|
BLAKE2b-256 checksum How to use checksums |
6155e803433cbbb6ddf5c1098bbe92929dc16c86c592ab55fdba0b1a611fd589
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / pycompss_cli-3.4.10-py3-none-any.whl
| Download URL | pycompss_cli-3.4.10-py3-none-any.whl |
|---|---|
| Size | 736.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cf2562930e7c7fa29b0e3e4382bc8da63a50aa5ce5de345bd4a306613be2572e
|
|
BLAKE2b-256 checksum How to use checksums |
a95e3f2729a73196052833412774bee3ba1efc1bf748e1c551f79fdd703136b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for pycompss-cli 3.4.10
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.