Skip to main content

NetworkSim

NetworkSim is a project I wrote for CPE 400 (Computer Networking) and have implemented testing and CI/CD for as a part of CS 491 (DevOps and Testing).

NetworkSim generates random double-weighted graphs and finds the shortest distance between each node to every other node in the graph. The user can specify the number of simulations they want to run and the program will create a directory of directories representing each simulation. In each simulation directory exists a .png picture of the graph and a text file that has a list of the shortest path between every node to every other node, along with the weight of taking that path.

This program simply brute forces all of these calculations, so I would recommend playing with it a bit before going and running a million simulations on a Core 2 Duo. YMMV!


I would recommend using a virtual environment to run this package.

To initialize, simply run:

python3 -m venv env

source env/bin/activate

Then to install the required packages, simply run:

pip install -r requirements.txt

Once all required libraries are installed, simply run:

python src/networksim_package/NetworkSim.py

Or change directory into the packag directory by running:

cd src/networksim_package/
python NetworkSim.py

After reading all of the initial prompts, please input the parameters that one would like to use to run the simulations. Some lightweight parameters that one can use to test the functionality can be found below:

Number of simulations: __ (Up to the user)

Estimated number of nodes: 15 (Takes usually less than 3 seconds per sim on 2017 Macbook Pro i7)

Edge creation probability: 0.2 (0.3 can be fine too, but expect longer time per simulation iteration)

Min/max weights for nodes/edges: __ (Up to the user, just arithmetic, doesn't affect performance)

Release files for NetworkSim-brysonreese 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for NetworkSim-brysonreese 0.0.3
File Size Uploaded
NetworkSim-brysonreese-0.0.3.tar.gz 5.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for NetworkSim-brysonreese 0.0.3
File Interpreter ABI Platform
NetworkSim_brysonreese-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 11.6 kB

Release files / NetworkSim-brysonreese-0.0.3.tar.gz

Download URL NetworkSim-brysonreese-0.0.3.tar.gz
Size 5.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2d4a226ed74236e35f1c97d62ce1e97a92a26cff1bbfafc26a05691d56dc9491
BLAKE2b-256 checksum
How to use checksums
770283dbf7e73826922ac9bfb19a40b51f4fded551fc5af36d6d75aa51965ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release files / NetworkSim_brysonreese-0.0.3-py3-none-any.whl

Download URL NetworkSim_brysonreese-0.0.3-py3-none-any.whl
Size 5.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26428ddab7d535852c9cdf7c5d62cef9f45073d7fbd098ae4feb222f7581521e
BLAKE2b-256 checksum
How to use checksums
821d5380a47427026a443a45c1ed6b0b891a1f25c75a31978ce0bce468689d98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.12

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page