Python Projects

Python Projects


AWS security Check application V2.0

AWS Security Check Application,V2.0 still a work in progress…
This application allows you to quickly audit AWS S3 RDS, IAM and EC2 security using a graphical user interface (GUI). Once you have provided keys you can generate reports at the touch of a button both simplifying and saving time.
V3.0 1-Click Batch operations to be added, including batch EC2 Manipulation, S3 object control and more.

Current functionalities:-

  • Identifies publicly accessible S3 buckets.
  • Provides recommendations for securing buckets.
  • Connects to your AWS account using provided credentials.
  • ADDED Functionality to check EC2, IAM and RDS
    • IAM – Checks all users have MFA enabled generating a security report.
    • RDS – Checks for publicly accessible Databases.
    • EC2 – Checks for public ingress of security groups in the IP CIDR 0.0.0.0/0

      Challenges:- During the testing of the RDS Features, I experienced issues with trying to discover the RDS Databases themselves, Which caused my functions to fail. To overcome this it was necessary for me add error checking to my code and print operations to ascertain where the underlying issue was being caused. I then went over the Boto3 documentations and AWS whitepapers to find a solution to the issue, resolved it and cleaned up the code afterwards.

Whack a mole

Introduction to My Whack-A-Mole Python Game
I’m thrilled to introduce you to my latest Python application: Whack-A-Mole. Inspired by the classic carnival attraction, this game brings all the fun and excitement of whacking moles to your computer screen. With a simple yet engaging graphical user interface (GUI), this game is designed to test your reflexes and hand-eye coordination.

Overview of Whack-A-Mole

In this game, players have 30 seconds to score as many points as possible by clicking on a mole that moves around the screen. Here’s how it works:

  • Game Start: When the game is launched, a GUI window opens and a 30-second timer starts.
  • Moving Mole: The mole appears at random locations on the screen.
  • Scoring Points: Each time the player successfully clicks on the mole, they earn a point.
  • Timer: The goal is to score as many points as possible within the 30-second time limit.

Key Features

  • Interactive GUI: A user-friendly interface that makes the game accessible and enjoyable for players of all ages.
  • Randomized Mole Movement: Keeps the game challenging and unpredictable, ensuring endless fun.
  • Real-time Scoring: Instantly see your score as you hit the mole, adding to the excitement.

Challenges and Solutions

Creating Whack-A-Mole was a rewarding experience, but it came with its set of challenges. Here are a few key points on what I faced and how I overcame them:

  • Mouse-to-Mole Mapping: Initially, getting the mouse clicks to accurately register hits on the moving mole was inconsistent. The detection area wasn’t aligning well with the mole’s position.
    • Solution: I restructured the function responsible for detecting mouse clicks, ensuring that the clickable area was precisely tied to the mole’s location on the screen. This adjustment significantly improved the accuracy of hit detection, making the gameplay smooth and responsive.
    • For the Python Code visit my GITHUB repo HERE.

How to Play

  1. Launch the Game: Start the application to open the game window.
  2. Start Whacking: As soon as the timer starts, begin clicking on the mole as it appears at random locations.
  3. Score Points: Each successful click on the mole adds to your score.
  4. Time Limit: Try to score as many points as possible within 30 seconds.

Whack-A-Mole is not just a game; it’s a test of speed, accuracy, and reflexes. I hope you have as much fun playing it as I had creating it. Give it a try and see how many moles you can whack in 30 seconds! Enjoy the game and happy whacking!


Fizz Buzz interactive GUI
Introduction to My Python Script with GUI: FizzBuzz Calculator
I’m excited to share with you a Python script I created, which features a graphical user interface (GUI) and a fun, interactive way to explore the classic FizzBuzz problem.

Key Features of the FizzBuzz GUI Application

  • User Input Field: Enter any number to be processed.
  • Confirm Button: Press to submit the number for processing.
  • Real-time Output: See instant results based on the divisibility of the input number.

Challenges Encountered

Developing this application wasn’t without its challenges. Here are a few key points on what I faced and how I overcame them:

  • Initial Calculation Errors: At first, the script wouldn’t run the calculations correctly. This was due to the order in which I wrote the functions.
  • Understanding Modulo Operations: The main issue was with the usage of the modulo function (%). By revisiting and thoroughly understanding how modulo operations work, I was able to correct the function.
  • Function Order and Logic: I had to rearrange the logic to ensure that numbers divisible by both 3 and 5 (i.e., 15) would be correctly identified as “FizzBuzz” before any other checks.

How the FizzBuzz Script Works

  1. User Input: The user enters a number into the input field in the GUI.
  2. Processing: When the confirm button is pressed, the script processes the number using modulo operations:
    • If the number is divisible by both 3 and 5, it prints “FizzBuzz”.
    • If the number is divisible by 3 only, it prints “Fizz”.
    • If the number is divisible by 5 only, it prints “Buzz”.
    • If the number is not divisible by either, it prints the number itself.
  3. Output: The result is displayed on the GUI in real-time, providing instant feedback to the user.

This project was a great learning experience, combining Python’s robust programming capabilities with the user-friendly nature of a GUI. It’s a fun way to dive into programming logic and see immediate results. for the project code visit the Github repo HERE

I hope you find this script as enjoyable to use as it was to create. Feel free to try it out and see how it handles different numbers!


These are just a couple of examples of the projects I have undertaken using python. For more of my work please see my Github Repositories. HERE