semvec/pypi-packages huggingface dataset:
flowsaber 0.1.3.7.0
A dataflow based workflow framework
License: MIT
Requires Python: >=3.7, <4
Keywords: dataflow,workflow,asyncio

# A dataflow based workflow framework.
### work in progress


  
    
  
  
  	
  
  
  	
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  
  
    
  


### Features

- Dataflow-like flow/task composing syntax inspired from `nextflow` 's DSL2.
- Pure python: No DSL, Import/Compose/Modify Task/Flow python objects at will.
    - Extensible and interactive due to dynamic nature of Python.
        - Task Cache.
        - ...
- Distributable: Use Dask distributed as Task executor, can deploy in local, cluster, cloud.
- Hybrid model.
    - Build Flow in Local python or web UI.
    - Schedule/Monitor flow execution in remote server through python or web UI.

### Web UI

[sabermap](https://github.com/flowsaber/sabermap)

### Install

```bash
pip install flowsaber
```

### Example

- A minimal working example consists most features and usages of `flowsaber`.

```python
from flowsaber.api import *

@task
def add(self, num):  # self is optional
    return num + 1

@task
def multiply(num1, num2):
    return num1 * num2

@shell
def write(num):
    """echo {num} > {num}.txt"""
    return '*.txt'

@task
def read(f: File):
    return open(str(f)).readlines()

@flow
def sub_flow(num):
    return add(num) | map_(lambda x: x ** 2) | add

@flow
def my_flow(num):
    [sub_flow(num), sub_flow(num)] | multiply \
    | write | read | flatten \
    | map_(lambda x: int(x.strip())) \
    | view

num_ch = Channel.values(1, 2, 3, 4, 5, 6, 7, 8)
# resolve dependencies
workflow = my_flow(num=num_ch)
run(workflow)
```


### Example to run in remote

Both `server` and `agent` need to be run in background before submitting flowruns.

##### Start server(API endpoint)
In bash shell.
```bash
flowsaber server
```

##### Start agent(Flow dispatcher)
In bash shell.
```bash
flowsaber agent --server "http://127.0.0.1:8000" --id test
```

##### Create flow and schedule for running
In python script or IPython console.
```python
from flowsaber.api import *
@task
def add(num):
    print("This is meesage send by print to stdout in task")
    print("This is meesage send by print to stderr in task", file= sys.stderr)
    a = 1
    for i in range(10000000):
        a += 1
    return num + 1

@flow
def myflow(num):
    return num | add | add | view | add | view

num_ch = Channel.values(*list(range(10)))
f = myflow(num_ch)

run(f, server_address="http://127.0.0.1:8000", agent_id="test")
```

### Test

```bash
python -m pytest tests -s -o log_cli=True -vvvv
```


### TODO

- [ ] Pbs/Torque executor
- [ ] More cache mode.
- [ ] Supportrun in Cloud platform.
- [ ] Run CWL script, Convert between CWL and flowsaber flow.

### Reference
- [nextflow](https://github.com/nextflow-io/nextflow)
- [prefect](https://github.com/PrefectHQ/prefect)
cve-bot 1.0.0
CVE Telegram bot.
License: MIT

# CVE Bot: Telegram bot that notifies about package update linked with CVE

[![Build Status](https://travis-ci.com/weastur/cve_bot.svg?branch=main)](https://travis-ci.com/weastur/cve_bot)
[![codecov](https://codecov.io/gh/weastur/cve_bot/branch/main/graph/badge.svg)](https://codecov.io/gh/weastur/cve_bot)
[![PyPi version](https://img.shields.io/pypi/v/cve_bot.svg)](https://pypi.org/project/cve_bot/)
[![Python versions](https://img.shields.io/pypi/pyversions/cve_bot)](https://pypi.org/project/cve_bot/)
[![black-formatter](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

[Try it out!](https://t.me/packages_cve_bot)

## Key Features

* Frequent DB update 
* Get actual info based on CVE number or Package name
* Subscribe to update at any number of CVEs

## Technical Requirements/Installation

### Pre-requirements
Install Python 3.9, and pip package management tool.

## Development Status

CVE Bot is in active development and accepts contributions. See our [Contributing](#how-to-contribute) section below for more details.

We report new releases information [here](https://github.com/weastur/cve_bot/releases).

## How to contribute

Fork, clone, setup development environment. **No third-party build or test tools** need to be installed at your system.

```shell
python3 -m venv .venv
. ./.venv/bin/activate
pip install setuptools wheel
pip install -e '.[dev]'
```

After that you'll have cve_bot and all development tools installed into virtualenv. Refer to [config](./cve_bot/config.py) 
to set proper env vars for development. Actually the minimum required is `CVE_BOT_TOKEN` with your token
Hack, then make PR. Don't forget to write unit tests, and check your code:

```shell
flake8 cve_bot
isort -c cve_bot
black --check cve_bot
pytest --cov
```

Or you can just install git-hooks

### Git hooks

```shell
ln -s -r -t ./.git/hooks/ ./hooks/*
```

## License

MIT, see [LICENSE](./LICENSE).