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

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.


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.10

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.10
File Size Uploaded
pycompss_cli-3.4.10.tar.gz 658.1 kB Details

Built distribution (wheel)

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

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

Release history Release notifications | RSS feed

This release

3.4.10 This release

2 release files

3.4.9

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