semvec/pypi-packages huggingface dataset:
TOPSIS-Utkarsh-101803419 1.0
Package for ranking multiple components based on TOPSIS calculation

# TOPSIS-Python


Submitted By: **Utkarsh Sharma -- 101803419**

***
pypi: <https://pypi.org/project/TOPSIS-Utkarsh-101803419>
<br>

***

## What is TOPSIS

**T**echnique for **O**rder **P**reference by **S**imilarity to **I**deal
**S**olution (TOPSIS) originated in the 1980s as a multi-criteria decision
making method. TOPSIS chooses the alternative of shortest Euclidean distance
from the ideal solution, and greatest distance from the negative-ideal
solution. More details at [wikipedia](https://en.wikipedia.org/wiki/TOPSIS).

<br>

## How to use this package:

TOPSIS-UTKARSH-101803419  can be run as in the following example:



### In Command Prompt
```
>> pip install TOPSIS-Utkarsh-101803419==1.0
```
>> python
>> from topsis_gen.topsiscode import topsis
>> topsis("data.csv","1,1,1,2","+,+,-,+")

<br>


## Sample dataset

The decision matrix (`a`) should be constructed with each row representing a Model alternative, and each column representing a criterion like Accuracy, R<sup>2</sup>, Root Mean Squared Error, Correlation, and many more.

Model | Correlation | R<sup>2</sup> | 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.3	 | 80.39

Weights (`w`) is not already normalised will be normalised later in the code.

Information of benefit positive(+) or negative(-) impact criteria should be provided in `I`.

<br>

## Output

```
Model   Score    Rank
-----  --------  ----
  1    0.77221     2
  2    0.225599    5
  3    0.438897    4
  4    0.523878    3
  5    0.811389    1
```
<br>
The rankings are displayed in the form of a table using a package 'tabulate', with the 1st rank offering us the best decision, and last rank offering the worst decision making, according to TOPSIS method.
clcert-chachagen 1.1
Library of random related utilities, based on the ChaCha20 stream cipher

# ChaCha20-Generator-Utilities - Python
Uses the ChaCha20 implementation in pycryptodome https://pycryptodome.readthedocs.io/en/latest/ as a base for various functions related to random number generation.

The actual file is chacha20_generator.py inside the folder "clcert_chachagen", but we structured it this way to make use of setup.py and make the python version a proper package.

## Install package
```
$ pip install clcert_chachagen
```

## Examples
```python
import clcert_chachagen as chachagen

# Create a chacha object with a zeros seed
chacha_zero = chachagen.ChaChaGen()

# Create a chacha object with a seed (hexadecimal)
chacha = chachagen.ChaChaGen("5ee5e2327a68a9db8a78efdaa855d102ed8bf14e128e0a72ae1c9d72e5f9747e27479f21dfbfd501")

# Get a float in [0, 1)
chacha.random()               # 0.47738372261817247               
# Get 3 random bytes
chacha.getbytes(3)            # b'\\1N'
# Get 5 random bits (an integer between 0 and 2^5 - 1)
chacha.getrandbits(5)         # 9
# Get a number between [1, 100]
chacha.randint(1, 100)        # 71
# Shuffle an array
chacha.shuffle([1,2,3,4])     # [4, 1, 3, 2]
# Get a single random element from an array
chacha.choice([1,2,3,4])      # 3
# Get an array of 5 elements from a given array. The elements could be repeated.
chacha.choices([1,2,3,4], 5)  # [4, 3, 1, 4, 4]       
# Get an array of 3 elements from a given array. The elements can't be repeated.
chacha.sample([1,2,3,4,5], 3) # [4, 5, 3]

# Reseed (essentially the same as creating an entirely new one with the new seed)
chacha.reseed("8ee5e2327a68a9db8a78efdaa855d102ed8bf14e128e0a72ae1c9d72e5f9747e27479f21dfbfd501")
```