semvec/pypi-packages huggingface dataset:
Topsis-Mukul-102303463 0.0.0
TOPSIS implementation with CLI support
Requires Python: >=3.7

# TOPSIS

**Author:** Mukul Ghai 
**Roll Number:** 102303463

---

## Overview

**TOPSIS (Technique for Order Preference by Similarity to Ideal Solution)** is a
multi-criteria decision-making (MCDM) method developed in the 1980s.  
It ranks alternatives based on their relative closeness to the ideal best and
ideal worst solutions.

This package provides a command-line implementation of the TOPSIS algorithm and
supports CSV input files.

---

## Installation

Install the package using pip:

pip install Topsis-Mukul-102303463

---

## Command Line Usage

After installation, run the following command in the current working directory:

**topsis <InputDataFile> <Weights> <Impacts> <ResultFileName>**

### Example

topsis data.csv "1,2,1,1" "+,-,-,+" result.csv

---

## Input Requirements

- Input file must contain **three or more columns**
- **First column** must contain alternative names (non-numeric)
- **Second to last columns** must contain **numeric values only**
- Number of **weights**, **impacts**, and **criteria columns** must be equal
- Impacts must be:
  - `+` for benefit criteria
  - `-` for cost criteria
- Weights and impacts must be **comma-separated**
- Weights need not be normalized (handled internally)

---

## Input File Format (data.csv)

Each row represents an alternative, and each column (except the first) represents
a decision criterion such as Correlation, RÂ², RMSE, Accuracy, etc.

Example:

| Model | Corr | Rseq | RMSE | Accuracy |
|------:|-----:|-----:|-----:|---------:|
| M1 | 0.79 | 0.62 | 1.25 | 60.89 |
| M2 | 0.66 | 0.44 | 2.89 | 63.07 |
| M3 | 0.56 | 0.31 | 1.57 | 62.87 |
| M4 | 0.82 | 0.67 | 2.68 | 70.19 |
| M5 | 0.75 | 0.56 | 1.30 | 80.39 |


---

## Output File Format (result.csv)

For weights "1,2,1,1" and impacts "+,-,-,+", the output file will contain two
additional columns: **Topsis Score** and **Rank**.

## Example Output

| Model | Corr | Rseq | RMSE | Accuracy | Topsis Score | Rank |
|------:|-----:|-----:|-----:|---------:|-------------:|-----:|
| M1 | 0.79 | 0.62 | 1.25 | 60.89 | 0.423744391359611 | 4 |
| M2 | 0.66 | 0.44 | 2.89 | 63.07 | 0.467426368298297 | 3 |
| M3 | 0.56 | 0.31 | 1.57 | 62.87 | 0.760230957034903 | 1 |
| M4 | 0.82 | 0.67 | 2.68 | 70.19 | 0.207772533881566 | 5 |
| M5 | 0.75 | 0.56 | 1.30 | 80.39 | 0.504864457803718 | 2 |


---

## Description of Output

- **Topsis Score**: Relative closeness of the alternative to the ideal solution  
- **Rank**: Rank based on TOPSIS score (1 = best alternative)

---

## License

This project is developed for academic purposes.
mnemosynecoretest 0.0.2
Internal analytics toolkit for data pipelines
Requires Python: >=3.10

mnemosynecore

Internal analytics toolkit for data pipelines
Инструментарий для работы с Vertica, Airflow, Vault, Mattermost и pandas DataFrame.

📦 Установка
Базовая установка
pip install mnemosynecore

С поддержкой Airflow
pip install "mnemosynecore[airflow]"

🔐 Работа с секретами (Vault / Env / Tests)
Поддерживаемые источники

Переменные окружения

Vault

Локальные JSON-файлы (для тестов)

Формат секрета (JSON)
{
  "host": "vertica.host",
  "port": 5433,
  "login": "user",
  "password": "password",
  "schema": "dwh"
}

Получение секрета
from mnemosynecore.vault import get_secret

cfg = get_secret("VERTICA_PROD")

Тестовый режим (без Vault)
from mnemosynecore.vault import get_secret_test

cfg = get_secret_test("VERTICA_TEST", dir_path="./secrets")

🟣 Vertica
Создание подключения
from mnemosynecore.vertica import vertica_conn

conn = vertica_conn("VERTICA_PROD")

Выполнение SQL
from mnemosynecore.vertica import vertica_sql

vertica_sql(
    conn_id="VERTICA_PROD",
    sql="DELETE FROM mart.events WHERE dt = CURRENT_DATE"
)

SELECT → pandas DataFrame
from mnemosynecore.vertica import vertica_select

df = vertica_select(
    conn_id="VERTICA_PROD",
    sql="SELECT * FROM mart.events LIMIT 100"
)

Upsert DataFrame в Vertica
from mnemosynecore.vertica import vertica_upsert

vertica_upsert(
    df=df,
    table_name="mart.events",
    unique_keys=["event_id"],
    conn=conn,
    date_col="dt",
    days_back=7
)

Удаление дублей (dedupe)
from mnemosynecore.vertica import vertica_dedupe

vertica_dedupe(
    table_name="mart.events",
    unique_keys=["event_id"],
    date_col="updated_at",
    conn_id="VERTICA_PROD"
)

SQLAlchemy Engine
from mnemosynecore.vertica import get_vertica_engine

engine = get_vertica_engine("VERTICA_PROD")

🟦 Airflow
Загрузка SQL-файлов как VerticaOperator

Структура

sql/
 ├── users.sql
 ├── events.sql

from mnemosynecore.airflow import load_sql_tasks_from_dir

tasks = load_sql_tasks_from_dir(
    dir_sql="/opt/airflow/sql",
    vertica_conn_id="VERTICA_PROD"
)


📌

Автоматически берёт текущий DAG

Каждый .sql → отдельный VerticaOperator

💬 Mattermost
Отправка сообщения (Vault)
from mnemosynecore.mattermost import send_message

send_message(
    channel_id="channel_id",
    bot_id="MM_BOT_PROD",
    text="🚀 Pipeline успешно завершён"
)

Тестовый режим (локальный JSON)
from mnemosynecore.mattermost import send_message_test

send_message_test(
    channel_id="channel_id",
    bot_id="MM_BOT_TEST",
    text="Тестовое сообщение",
    dir_path="./secrets"
)

🧪 Локальные тесты без Airflow и Vault
secrets/
 ├── VERTICA_TEST.json
 └── MM_BOT_TEST.json

export VERTICA_TEST='{"host": "..."}'


или через get_secret_test
spead2 4.4.1
High-performance SPEAD implementation
Requires Python: >=3.9

spead2
======

.. image:: https://readthedocs.org/projects/spead2/badge/?version=latest
   :target: https://readthedocs.org/projects/spead2/?badge=latest
   :alt: Documentation Status

.. image:: https://github.com/ska-sa/spead2/actions/workflows/test.yml/badge.svg
   :target: https://github.com/ska-sa/spead2/actions/workflows/test.yml
   :alt: Test Status

.. image:: https://coveralls.io/repos/github/ska-sa/spead2/badge.svg
   :target: https://coveralls.io/github/ska-sa/spead2
   :alt: Coverage Status

spead2 is an implementation of the SPEAD_ protocol, with both Python and C++
bindings. The *2* in the name indicates that this is a new implementation of
the protocol; the protocol remains essentially the same. Compared to the
PySPEAD_ implementation, spead2:

- is at least an order of magnitude faster when dealing with large heaps;
- correctly implements several aspects of the protocol that were implemented
  incorrectly in PySPEAD (bug-compatibility is also available);
- correctly implements many corner cases on which PySPEAD would simply fail;
- cleanly supports several SPEAD flavours (e.g. 64-40 and 64-48) in one
  module, with the receiver adapting to the flavour used by the sender;
- supports Python 3;
- supports asynchronous operation, using asyncio_.

For more information, refer to the documentation on readthedocs_.

.. _SPEAD: https://casper.berkeley.edu/wiki/SPEAD
.. _PySPEAD: https://github.com/ska-sa/PySPEAD/
.. _asyncio: https://docs.python.org/3/library/asyncio.html
.. _readthedocs: http://spead2.readthedocs.io/en/latest/
Topsis-Aditya-102303353 1.0.2
A Python package for Multi Criteria Decision Making using TOPSIS.

# Topsis-Aditya-102303353

**For:** UCS654 (Predictive Analytics)  
**Submitted by:** Aditya Soam  
**Roll Number:** 102303353  

---

## Overview
This is a Python package that implements the **Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS)**. It is a multi-criteria decision-making (MCDM) method used to rank alternatives based on their distance from the "Ideal Best" and "Ideal Worst" solutions.



## Installation

You can install the package directly from PyPI using the following command:

```bash
pip install Topsis-Aditya-102303353


## Usage

The package is designed to be executed via the command line. Use the following format:

```bash
topsis <InputDataFile> <Weights> <Impacts> <ResultFileName>

## Example Input

The input file must be a CSV where the first column contains the names of the alternatives and the subsequent columns contain numeric data.

Model,Storage,Camera,Price,Looks
M1,16,12,250,5
M2,16,8,200,3
M3,32,16,300,4
M4,32,8,275,4

## Example Command

```bash
topsis data.csv "1,1,1,2,1" "+,+,-,+,+" result.csv

## Example Output

After running the command, the package performs Vector Normalization and calculates the Euclidean Distance from the Ideal Best and Ideal Worst solutions to generate the final scores and rankings.

The resulting file will contain your original columns plus the calculated Topsis Score and Rank:

Model,Storage,Camera,Price,Looks,TopsisScore,Rank
M1,16,12,250,5,0.5342,3
M2,16,8,200,3,0.3891,4
M3,32,16,300,4,0.7215,1
M4,32,8,275,4,0.6128,2

## License

https://choosealicense.com/licenses/mit/