Skip to main content

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:

  1. Upload the dataset
  2. Enter weights (comma separated)
  3. Enter impacts (+ or -)
  4. Provide your email address
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

topsis_naman_102317229-1.2.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

topsis_naman_102317229-1.2-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

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

Hashes for topsis_naman_102317229-1.2.tar.gz
Algorithm Hash digest
SHA256 54b7b2a626971850a45e31f917f332308382706a6a8012851b77bc84152a1f0f
MD5 046ea3613efe54a078edae06d278fdc0
BLAKE2b-256 694e0e2494b147a000d51b9ab74348defc2f8548e9e369749e2f8e8f0e728c0e

See more details on using hashes here.

File details

Details for the file topsis_naman_102317229-1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for topsis_naman_102317229-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9664a58b3bc69d8583f7c378e4440467289656d4d3bd25d49ff30bde7853e114
MD5 d5f82eb846211b6a73cef493f62443bd
BLAKE2b-256 41575587c23e280833c8c357376ae8736b20ba15c836dc6a203f2ec14d11ff61

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page