Skip to content

Repository files navigation

ShadowFox

As a Python Development Intern at ShadowFox, I am gaining hands-on experience in solving real-world problems and developing scalable projects. This role enhances my expertise in backend development, automation, and secure coding while collaborating with industry professionals to build impactful solutions.

ShadowFox Internship - Python Development Tasks

![ShadowFox Logo](https://via.placeholder.com/150? =ShadowFox)
LEARN • CREATE • LEAD

This repository contains the tasks completed as part of my ShadowFox Python Development Internship. The internship includes a series of Python programming tasks at beginner, intermediate, and advanced levels, designed to enhance skills in Python development, data analysis, and ethical programming practices. Below is an overview of the tasks, directory structure, and instructions for running the code.


Internship Overview

As a ShadowFox Python Development Intern, I completed the following requirements:

  • LinkedIn Profile Update: Added "ShadowFox Python Development Intern" to my experience and updated my technical skills.
  • GitHub Repository: Created this repository named "ShadowFox" to store all task-related code.
  • Proof of Work: Recorded video explanations for each task and posted them on LinkedIn, tagging ShadowFox. Screenshots of code and outputs were prepared for submission.
  • Task Completion: Completed 5 beginner tasks, both intermediate tasks, and 1 advanced task, as per the task list.

Tasks Completed

Beginner Level (5 out of 9)

  1. Task 1: Variables

    • Created a variable pi with value 22/7 and checked its data type.
    • Attempted to use for as a variable name and explained the resulting SyntaxError.
    • Calculated Simple Interest for 3 years using the formula P x R x T / 100.
  2. Task 2: Numbers

    • Formatted the number 145 with format specifier 'o' (octal representation).
    • Calculated the area of a circular pond (radius 84m, π = 3.14) and the total water volume (1.4 liters per square meter).
  3. Task 3: Lists

    • Managed a justice_league list by performing operations like adding members, reordering, separating conflicting members, replacing the team, and sorting alphabetically.
  4. Task 4: If Condition

    • Built a BMI calculator with categories (Obesity, Overweight, Normal, Underweight).
    • Determined the country of a given city using a predefined list.
    • Checked if two cities belong to the same country.
  5. Task 5: For Loop

    • Simulated rolling a six-sided die 20 times, counting occurrences of 6, 1, and consecutive 6s.
    • Created a workout routine simulation for 100 jumping jacks, allowing breaks if the user is tired.

Intermediate Level (Both Tasks)

  1. Task 1: Web Scraper

    • Used Beautiful Soup to scrape quotes and authors from quotes.toscrape.com.
  2. Task 2: Hangman

    • Implemented a Hangman game with visual progress (ASCII art), hints, and a word list.

Advanced Level (1 out of 3)

  1. Task 3: NLP with Language Model
    • Implemented a sentiment analysis model using BERT in a Jupyter Notebook.
    • Analyzed BERT's performance on sample s, visualized results, and drew conclusions about its capabilities.

Additional Work (Bonus)

  • Packet Sniffer Tool (Developed earlier during the internship)
    • Created a packet sniffer using scapy to capture network packets, displaying source/destination IPs, protocols, and payloads. This could be extended as an advanced task if needed.

Directory Structure

ShadowFox/ │ ├── Task1_Variables/ │ └── task1_variables.py │ ├── Task2_Numbers/ │ └── task2_numbers.py │ ├── Task3_Lists/ │ └── task3_lists.py │ ├── Task4_IfCondition/ │ └── task4_if_condition.py │ ├── Task5_ForLoop/ │ └── task5_for_loop.py │ ├── Task_Intermediate1_WebScraper/ │ └── task_intermediate1_web_scraper.py │ ├── Task_Intermediate2_Hangman/ │ └── task_intermediate2_hangman.py │ ├── Task_Advanced3_NLP/ │ └── task_advanced3_nlp.ipynb │ ├── Bonus_PacketSniffer/ │ └── packet_sniffer.py │ └── README.md

## Prerequisites

To run the code in this repository, you'll need Python 3.x and the following libraries:

- **General Requirements:**
pip install requests beautifulsoup4 transformers torch pandas matplotlib seaborn scikit-learn scapy

- **Task-Specific Requirements:**
- Web Scraper: `requests`, `beautifulsoup4`
- NLP Task: `transformers`, `torch`, `pandas`, `matplotlib`, `seaborn`, `scikit-learn`
- Packet Sniffer: `scapy` (requires admin privileges to run)

- **Task-Specific Requirements:**
- Web Scraper: `requests`, `beautifulsoup4`
- NLP Task: `transformers`, `torch`, `pandas`, `matplotlib`, `seaborn`, `scikit-learn`
- Packet Sniffer: `scapy` (requires admin privileges to run)

**Installation Instructions:**
1. Clone this repository:
git clone https://github.com/your-username/ShadowFox.git
cd ShadowFox

2. Install the required packages:
pip install -r requirements.txt


## How to Run the Code

1. **Beginner Tasks (Tasks 1–5):**
- Navigate to the respective folder (e.g., `cd Task1_Variables`).
- Run the Python script:
python task1_variables.py

- Follow any input prompts (e.g., for principal amount in Task 1 or city names in Task 4).

2. **Intermediate Task 1: Web Scraper**
- Navigate to `Task_Intermediate1_WebScraper`.
- Run:
python task_intermediate1_web_scraper.py
 
- Ensure you have an internet connection to scrape the website.

3. **Intermediate Task 2: Hangman**
- Navigate to `Task_Intermediate2_Hangman`.
- Run:
python task_intermediate2_hangman.py

- Follow the prompts to guess letters and play the game.

4. **Advanced Task 3: NLP with Language Model**
- Navigate to `Task_Advanced3_NLP`.
- Open the Jupyter Notebook:
jupyter notebook task_advanced3_nlp.ipynb

- Run all cells to see the sentiment analysis results and visualizations.

5. **Bonus: Packet Sniffer**
- Navigate to `Bonus_PacketSniffer`.
- Run with admin privileges:
- On Windows (as Administrator):

python packet_sniffer.py
- On Linux/Mac (with sudo):


## Ethical Considerations
Several tasks in this repository involve tools that can be misused if not handled responsibly:
- **Packet Sniffer:** Capturing network packets without permission is illegal in many jurisdictions. This tool was developed and tested on my own network for educational purposes only.
- **General Use:** All code was written for learning and demonstration purposes during my internship. Unauthorized use of any tool (e.g., to harm systems, networks, or individuals) is strictly prohibited.

---

## Proof of Work

As per ShadowFox requirements:
- **LinkedIn Videos:** I’ve posted video explanations for each task on LinkedIn, tagging ShadowFox. Each video demonstrates the code and its output.
- **Screenshots:** Screenshots of the code and outputs for all tasks are available and were submitted as part of the internship deliverables.
- **GitHub:** All code is organized in this repository for review.

---

## Learnings and Reflections
Through this internship, I gained hands-on experience in:
- Python fundamentals (variables, lists, loops, conditionals).
- Intermediate concepts like web scraping and game development.
- Advanced techniques in NLP and machine learning using BERT.
- Ethical programming practices, especially in handling sensitive tools like packet sniffers.

The tasks helped me improve my problem-solving skills, learn how to work with external libraries, and present my work professionally through GitHub and LinkedIn.

---

## Acknowledgments
- **ShadowFox Team:** Thank you for providing this opportunity to learn, create, and lead through practical Python development tasks.
- **Resources Used:**
- ShadowFox Task List and Guidelines
- Python Roadmap: [roadmap.sh/python](https://roadmap.sh/python)
- Kaggle for datasets (e.g., student marks for file handling task, if completed)

---

**Yeshwanth Raj Selvaraj**  
ShadowFox Python Development Intern  
[LinkedIn Profile](https://www.linkedin.com/in/yeshwanth-raj-selvaraj-153796248/)  
April 2025

About

As a Python Development Intern at ShadowFox, I am gaining hands-on experience in solving real-world problems and developing scalable projects. This role enhances my expertise in backend development, automation, and secure coding while collaborating with industry professionals to build impactful solutions.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages