semvec/pypi-packages huggingface dataset:
rumorz 0.1.15
Rumorz.io official Python SDK
Requires Python: >=3.8


<p align="center">
    <img src="https://i.postimg.cc/s2P93CGN/blue-logo-no-text-svg.png" alt="Rumorz Logo" width="150"/>
</p>

# 🚀 What is Rumorz?

Rumorz tracks 100s of sources across the web and financial markets to extract investments insights and sentiment analytics.
We index a large amount of web data in real-time and use AI Agents to 
save you time reading, staying up to date, and identifying trends and investment
opportunities.


## How does it work?

AI Agents read and analyze web data 24/7 and ingest 100s of pages of text a day into a knowledge graph, allowing
social and semantic analysis at state of the art performance.

<p align="center">
    <img src="https://github.com/rumorz-ai/rumorz/blob/main/docs/assets/architecture.png" alt="Rumorz architecture" width='500'>
</p>


## 🛠️ Install

```bash
pip install rumorz
```

## 🗎 Documentation

[Please visit the official documentation website](https://docs.rumorz.io)

## 🔒 API Access
Sign up to [Rumorz](https://rumorz.io) to get your API key.

# 🚀 Examples
* [Using the SDK Copilot to generate docs.rumorz.io](docs/examples/copilot.py)
* [Real-time summary of the top and bottom cryptocurrencies by 24h sentiment](docs/examples/examples.py)
* [Plot the sentiment scores of Bitcoin over time](docs/examples/bitcoin_sentiment.py)
opencv-plot 0.3.8
Dora Node for plotting text and bbox on image with OpenCV
Requires Python: <4.0,>=3.7

# Dora Node for plotting data with OpenCV

This node is used to plot a text and a list of bbox on a base image (ideal for object detection).

# YAML

```yaml
- id: opencv-plot
  build: pip install ../../node-hub/opencv-plot
  path: opencv-plot
  inputs:
    # image: Arrow array of size 1 containing the base image
    # bbox: Arrow array of bbox
    # text: Arrow array of size 1 containing the text to be plotted

  env:
    PLOT_WIDTH: 640 # optional, default is image input width
    PLOT_HEIGHT: 480 # optional, default is image input height
```

# Inputs

- `image`: Arrow array containing the base image

```python
## Image data
image_data: UInt8Array # Example: pa.array(img.ravel())
metadata = {
  "width": 640,
  "height": 480,
  "encoding": str, # bgr8, rgb8
}

## Example
node.send_output(
  image_data, {"width": 640, "height": 480, "encoding": "bgr8"}
  )

## Decoding
storage = event["value"]

metadata = event["metadata"]
encoding = metadata["encoding"]
width = metadata["width"]
height = metadata["height"]

if encoding == "bgr8":
    channels = 3
    storage_type = np.uint8

frame = (
    storage.to_numpy()
    .astype(storage_type)
    .reshape((height, width, channels))
)
```

- `bbox`: an arrow array containing the bounding boxes, confidence scores, and class names of the detected objects

```Python

bbox: {
    "bbox": np.array,  # flattened array of bounding boxes
    "conf": np.array,  # flat array of confidence scores
    "labels": np.array,  # flat array of class names
}

encoded_bbox = pa.array([bbox], {"format": "xyxy"})

decoded_bbox = {
    "bbox": encoded_bbox[0]["bbox"].values.to_numpy().reshape(-1, 4),
    "conf": encoded_bbox[0]["conf"].values.to_numpy(),
    "labels": encoded_bbox[0]["labels"].values.to_numpy(zero_copy_only=False),
}
```

- `text`: Arrow array containing the text to be plotted

```python
text: str

encoded_text = pa.array([text])

decoded_text = encoded_text[0].as_py()
```

## Example

Check example at [examples/python-dataflow](examples/python-dataflow)

## License

This project is licensed under Apache-2.0. Check out [NOTICE.md](../../NOTICE.md) for more information.