Skip to main content

🚀 PyCOMPSs CLI

PyPI version Python versions License Docker pipeline status Ruff Black Mypy Pytest

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:

  1. Install within a virtual environment (RECOMMENDED)
  2. Install locally via pip
  3. 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:

  • pycompss
  • compss
  • dislib
  • qdislib

All commands are equivalent and interchangeable.

⚠️ Important If you install with --user, make sure your local bin path is in PATH, 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:

Some distributions use docker-ce instead of docker


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:

  1. Extract strings: Generate/update translation source files (.ts) from the UI:
    cd scripts
    ./2_build_ts_from_ui.sh
    cd ..
    
  2. Translate: Manually check and edit the .ts files (using Qt Linguist or a text editor):
    cd scripts
    ./3_manual_ts_check.sh
    cd ..
    
  3. Compile: Convert the edited .ts files 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: ruff and black
  • Static Typing: mypy
  • Deep Analysis: pylint
  • Testing: pytest

To run all tests:

cd scripts
./check.sh

🤝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. 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

Release files for pycompss-cli 3.4.9

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

Source distribution (sdist)

Source distribution for pycompss-cli 3.4.9
File Size Uploaded
pycompss_cli-3.4.9.tar.gz 655.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycompss-cli 3.4.9
File Interpreter ABI Platform
pycompss_cli-3.4.9-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / pycompss_cli-3.4.9.tar.gz

Download URL pycompss_cli-3.4.9.tar.gz
Size 655.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b7c793dd4bf692c1ed23985640aed2793e4e49638a6b17310ed8846c81cd6f2a
BLAKE2b-256 checksum
How to use checksums
fcd401275574f0e0e583cab0b137e2e249b1a8aaf394ac8bbb99e5638975530a
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.9-py3-none-any.whl

Download URL pycompss_cli-3.4.9-py3-none-any.whl
Size 732.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
19406d252215f36c71ebcf471e2f8e4e18ea2f9aaaac12615cee36efb47d208b
BLAKE2b-256 checksum
How to use checksums
727d55f2e14a4bfef741cd60e8a85c43a0a862d16446102b76e2bbb0586893c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

3.4.9 This release

2 release files

3.4.2

1 release file

3.4.1

1 release file

3.4

2 release files

3.3.9

1 release file

3.3.8

1 release file

3.3.7

1 release file

3.3.6

1 release file

3.3.5

1 release file

3.3.4

1 release file

3.3.3

1 release file

3.3.2

1 release file

3.3.1

1 release file

3.3

1 release file

3.2

1 release file

3.1

1 release file

2.10.12

1 release file

2.10.11

1 release file

2.10.10

1 release file

2.10.9

1 release file

2.10.8

1 release file

2.10.7

1 release file

2.10.6

1 release file

2.10.5

1 release file

2.10.4

1 release file

2.10.3

1 release file

2.10.2

1 release file

2.10.1

1 release file

2.10

1 release file

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