A Python implementation of the TOPSIS decision-making method.
Project description
TOPSIS Decision Support System
A Python implementation of the Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) used for multi-criteria decision making.
This project provides both a PyPI package and a Flask-based web application that allows users to upload datasets, assign weights and impacts, and receive ranked results via email.
🚀 Features
- Implements the TOPSIS algorithm from scratch
- Accepts CSV/XLSX datasets
- Supports customizable weights and impacts
- Generates TOPSIS score and rank automatically
- Published as an installable PyPI package
- Integrated with a simple and user-friendly Flask web interface
- Automated result delivery through email
- Input validation for weights, impacts, and email format
📦 PyPI Package
Install directly using:
pip install Topsis-Naman-102317229
PyPI Link:
https://pypi.org/project/Topsis-Naman-102317229/
💻 Local Usage
After installing the package:
from topsis.topsis import main
main()
Or via command line:
topsis <inputfile> <weights> <impacts> <outputfile>
Example:
topsis data.csv "1,1,1,1" "+,+,-,+" result.csv
🌐 Live Web Application
Access the deployed web app here:
👉 https://naman25.pythonanywhere.com
Web App Workflow:
- Upload the dataset
- Enter weights (comma separated)
- Enter impacts (+ or -)
- Provide your email address
- Receive the ranked result file via email
📊 Input File Requirements
- First column: Alternative names (non-numeric)
- Remaining columns: Numeric criteria values
- Minimum 3 columns required
- Number of weights must equal number of impacts
- Impacts must be either + (benefit) or - (cost)
🛠 Tech Stack
- Python
- Pandas & NumPy
- Flask
- SMTP (Email Automation)
- PyPI Packaging
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file topsis_naman_102317229-1.2.tar.gz.
File metadata
- Download URL: topsis_naman_102317229-1.2.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54b7b2a626971850a45e31f917f332308382706a6a8012851b77bc84152a1f0f
|
|
| MD5 |
046ea3613efe54a078edae06d278fdc0
|
|
| BLAKE2b-256 |
694e0e2494b147a000d51b9ab74348defc2f8548e9e369749e2f8e8f0e728c0e
|
File details
Details for the file topsis_naman_102317229-1.2-py3-none-any.whl.
File metadata
- Download URL: topsis_naman_102317229-1.2-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9664a58b3bc69d8583f7c378e4440467289656d4d3bd25d49ff30bde7853e114
|
|
| MD5 |
d5f82eb846211b6a73cef493f62443bd
|
|
| BLAKE2b-256 |
41575587c23e280833c8c357376ae8736b20ba15c836dc6a203f2ec14d11ff61
|