🚀 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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pycompss_cli-3.4.9.tar.gz | 655.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|