semvec/pypi-packages huggingface dataset:
quantium-signal 0.1.0b0
Unlock TradingView alerts without the premium plan using Quantium Signal.
License: MIT
Requires Python: >=3.8
Keywords: okx, free, bybit, signal, crypto, pionex, binance, tradingview

# Quantium Signal

TradingView is a great platform for charting, backtesting, etc., but for using one of the most powerful features,
alerts, you need to have a premium subscription. Quantium Signal is a free and open-source project that allows you to
use alerts completely free.

## Configuration

If you already have an EC2 instance or any other virtual private server, then you can follow the steps below to
self-host the Quantium Signal for handling TradingView alerts.

- Configure a DNS record for your server to access it with a domain name (mandatory).
- Install the package by `python3 -m pip install quantium-signal` command.
- Create a subclass for your crypto exchange and run the Signal handler ([step-by-step guide](https://github.com/quantium-ai/signal/discussions/1)).
- Once you run the Signal handler, you have created an SMTP server that handles emails sent to your domain.
- Open the Profile Settings of your TradingView account and set the "Alternative email for alerts" to
  `tradingview@yourdomain.com` - where username doesn't matter if you don't use username filtering.
- Create as many alerts as you need and tick the "Send plain text" checkbox from alert's "Notification" tab.

There you go! Once your strategy triggers an alert, the handler will receive the message through the SMTP server and
call the configured webhook URL with the alert message.

## Contribute

Any contribution is welcome. Always feel free to open an issue or a discussion if you have any questions not covered by
the documentation. If you have any ideas or suggestions, please, open a pull request.

## License

Copyright (C) 2025 Quantium. [MIT](https://github.com/quantium-ai/signal/blob/main/LICENSE)
weightedpandas 0.1.0
Extends pandas Series and DataFrame classes to support weighted operations
License: MIT
Requires Python: >=3.8

# WeightedPandas

WeightedPandas extends pandas Series and DataFrame classes to support weighted operations. It provides drop-in replacements for pandas objects that automatically handle weights in statistical operations.

## Installation

```bash
pip install weightedpandas
```

## Requirements

- Python 3.8+
- pandas 1.4.0+
- numpy 1.20.0+

## Features

- Weighted versions of common statistical operations:
  - `sum()`, `mean()`, `var()`, `std()`
  - `median()`, `quantile()`
  - `corr()`, `cov()`
- Preserves weights through arithmetic operations
- Familiar pandas interface
- Supports both Series and DataFrame objects

## Usage

```python
import pandas as pd
import numpy as np
from weightedpandas import WeightedSeries, WeightedDataFrame

# Create a weighted series
data = [1, 2, 3, 4, 5]
weights = [5, 4, 3, 2, 1]
ws = WeightedSeries(data, weights=weights)

# Calculate weighted statistics
print(f"Weighted sum: {ws.sum()}")
print(f"Weighted mean: {ws.mean()}")
print(f"Weighted median: {ws.median()}")
print(f"Weighted standard deviation: {ws.std()}")

# Create a weighted dataframe
df_data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1]
}
wdf = WeightedDataFrame(df_data, weights=weights)

# Calculate weighted statistics
print(wdf.sum())
print(wdf.mean())
print(wdf.corr())

# Weights are preserved through operations
ws2 = ws * 2 + 1
print(ws2.weights)  # Same as original weights
```

## How Weights are Applied

In weighted calculations:

- `sum()`: Each value is multiplied by its weight before summing
- `mean()`: The weighted sum divided by the sum of weights
- `var()` and `std()`: Each squared deviation is weighted
- `quantile()`: The quantile is determined from the weighted cumulative distribution

## Helper Functions

For convenience, you can use the following helper functions:

```python
from weightedpandas import weighted_series, weighted_dataframe

# These are equivalent to the constructor calls
ws = weighted_series(data, weights=weights)
wdf = weighted_dataframe(df_data, weights=weights)
```

## License

This project is licensed under the MIT License - see the LICENSE file for details.