Metadata-Version: 2.4
Name: snakemake-logger-plugin-flowo
Version: 0.1.9
Summary: A Snakemake logger plugin that stores workflow execution data in PostgreSQL
Project-URL: Homepage, https://github.com/jmzhang1911/snakemake-logger-plugin-flowo
Project-URL: Repository, https://github.com/jmzhang1911/snakemake-logger-plugin-flowo
Project-URL: Issues, https://github.com/jmzhang1911/snakemake-logger-plugin-flowo/issues
Author-email: Haomiao Zhang <zhanghm@iregene.com>, Jingmin Zhang <zhangjm@iregene.com>
License-File: LICENSE
Keywords: logger,plugin,postgresql,snakemake,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: psycopg2-binary>=2.9.9
Requires-Dist: pydantic-settings>=2.9.1
Requires-Dist: pydantic>=2.11.5
Requires-Dist: pygments>=2.19.2
Requires-Dist: snakemake-interface-logger-plugins>=1.2.3
Requires-Dist: snakemake>=9.6.2
Requires-Dist: sqlalchemy>=2.0.41
Description-Content-Type: text/markdown

# Snakemake Logger Plugin - Flowo

A Snakemake logger plugin designed to be used with **[FlowO](https://github.com/zhanghaomiao/flowo)** for real-time task monitoring, making workflow management simple, interactive, and fun! 🎉

**Demo page: [flowo online](https://zhanghaomiao.github.io/flowo)**

**Important:** This plugin is designed to be used together with FlowO and requires FlowO to function correctly. It is not a standalone monitoring tool.

## 🎈 Features

- Stores Snakemake workflow execution data in PostgreSQL database
- Tracks jobs, rules, files, and errors
- Provides comprehensive logging and monitoring capabilities
- Easy integration with existing Snakemake workflows

## 💻 Installation

```bash
pip install snakemake-logger-plugin-flowo
```
## 🔧 Configuration

```bash
# To generate the default configuration file, run the following command:
# This will create the default .env configuration file in your $HOME/.config/flowo/ directory.
flowo --generate-config

# After generating the .env file, open it with your preferred text editor to adjust the settings:
vim $HOME/.config/flowo/.env
```
The following environment variables are available for configuration in the `.env` file:

- `POSTGRES_USER`: PostgreSQL username (default: flowo)
- `POSTGRES_PASSWORD`: PostgreSQL password (default: flowo_password)
- `POSTGRES_DB`: PostgreSQL database name (default: flowo_logs)
- `POSTGRES_HOST`: PostgreSQL host (default: localhost)
- `POSTGRES_PORT`: PostgreSQL port (default: 5432)
- `FLOWO_USER`: User displayed in Flowo
- `FLOWO_WORKING_PATH`: Snakemake execution project path

**Note:** The PostgreSQL database used by this plugin is configured in FlowO. Ensure FlowO is properly set up before using this logger plugin.
```

## 🚀 Usage
Basic usage
```bash
snakemake --logger flowo
```
config `flowo_project_name` or `flowo_tags`
```
snakemake \
    --config flowo_project_name=your_project_name flowo_tags="tagA,tagB,tagC" \
    --logger flowo
```
or config in --configfile
```
flowo_project_name: your_project_name
flowo_tags: "tagA,tagB,tagC"
```
## 🙏 Acknowledgement

This project is developed based on the excellent work of [cademirch/snakemake-logger-plugin-snkmt](https://github.com/cademirch/snakemake-logger-plugin-snkmt).
Special thanks to the original author for providing a solid foundation under the MIT License.
