Skip to main content

A small homework assignment to navigate through creating a python library

Project description

Graphs Library: Dijkstra's Shortest Path

This Python library provides an implementation of Dijkstra's shortest path algorithm and other graph-related utilities. The goal of this project is to practice packaging a Python library into a standardized format so it can be easily installed and used.

Repository Structure:

src/
├── graphs_asaqib1/
│   ├── __init__.py
│   ├── heapq.py
│   └── sp.py
├── test.py
├── README.md
└── pyproject.toml

*graphs_asaqib1/sp.py: Contains the implementation of Dijkstra’s shortest path algorithm
*graphs_asaqib1/heapq.py: Helper function for priority queue operations
*test.py: Script to test the library
*pyproject.toml: Packaging configuration
*README.md: This file which contains basic information about this library

Installation:

You can install the package using pip:

pip install asaqib1==0.0.6

Features:

*Finds the shortest paths from a source vertex to all other vertices in a weighted graph
*Supports extension with other graph algorithms
*Uses a min-heap to efficiently select the next vertex with the smallest known distance

Example:

For a graph with 9 vertices, the shortest path from vertex 0 to vertex 1 may have a cost of 4, and to vertex 8 may have a cost of 14.

Author Information

*Author: Alizah Saqib
*GitHub: https://github.com/asaqib1

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

asaqib1-0.0.7.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

asaqib1-0.0.7-py3-none-any.whl (1.6 kB view details)

Uploaded Python 3

File details

Details for the file asaqib1-0.0.7.tar.gz.

File metadata

  • Download URL: asaqib1-0.0.7.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for asaqib1-0.0.7.tar.gz
Algorithm Hash digest
SHA256 e080a20e801bcbe7df4f54750624bbb9268817f20b5e96640c25ef786a65ee5e
MD5 eed0adc6a2cae8ae5ebe4fdb50ead5ce
BLAKE2b-256 7a627fa5004b2454bbbbcaea747fa3710d21c00960a3f6d8cc9159afd54d5c60

See more details on using hashes here.

File details

Details for the file asaqib1-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: asaqib1-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 1.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for asaqib1-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1fb2efb90c9c21cd8ee03b3be00091d195fe00b1bdb428796eb2d0f05ce58f46
MD5 19ef01793b5b199fb79d0b81cafc37d3
BLAKE2b-256 11472251e1e8831dadbad5ee6e4c3685d47acc76eb9f92990f795c9b46afc8fe

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