semvec/pypi-packages huggingface dataset:
Olaluwoye-data-structures 0.1.0
A Python package implementing core data structures from scratch using object-oriented Python
License: MIT
Requires Python: >=3.6

# data-structures-python

A beginner-friendly Python package that implements classic data structures from scratch using **object-oriented Python**. Designed to help learners understand how data structures work under the hood without relying on Python’s built-in abstractions.

Whether you're a coding bootcamp student, computer science learner, or self-taught developer — this package is for you.

---

## Why This Project?

Most learners rely on built-in Python data types (lists, sets, dicts) without truly understanding how they work under the hood.

This package is designed for:
- Beginners who want hands-on experience
- Bootcamp students preparing for interviews
- Anyone transitioning into software engineering or data structures


## 🧠 What’s Inside?

This package provides detailed implementations and clean interfaces for the following data structures:

| Data Structure       | Description |
|----------------------|-------------|
| ✅ **Array**          | Dynamic array with index-based operations |
| ✅ **Stack**          | LIFO stack implemented using both a Python list and a linked list |
| ✅ **Queue**          | FIFO queue implemented using a list |
| ✅ **Linked List**    | Singly linked list with insert, delete, search, and update operations |
| ✅ **Doubly Linked List** | Bi-directional traversal with flexible insert/delete |
| ✅ **Binary Search Tree (BST)** | Recursive insert, search, and in-order traversal |
| ✅ **Graph**          | Undirected graph using an adjacency list |

All implementations are **self-contained**, easy to understand, and extensible for future improvements (e.g., weighted graphs, AVL trees, etc.).

---

data-structures-python/
├── data_structures/         # Core package code
│   ├── array.py
│   ├── stack.py
│   ├── stack_linked.py
│   ├── queue.py
│   ├── linked_list.py
│   ├── doubly_linked_list.py
│   ├── tree.py
│   └── graph.py
├── examples/                # Jupyter notebooks (demos)
│   ├── stack_example.ipynb
│   ├── queue_example.ipynb
│   ├── ...
├── README.md
├── LICENSE
├── setup.py
└── pyproject.toml

---

## 🚀 Installation

Once published on PyPI, install using:

```bash
pip install data-structures-python

---
## Author

Created by [Your Olaluwoye Olalekan Taofeek] — MSc in Statistics and Big Data.

📧 Email: oolaluwoye@aimsammi.org  
🔗 LinkedIn: [linkedin.com/in/olaluwoye-olalekan](linkedin.com/in/olaluwoye-olalekan-612a92147)

---
## Live Documentation

Access the live documentation here:  
👉 [Live Docs - data-structures-python](https://olaluwoye9.github.io/data-structures-python/)
excepthook 0.3.1
Enhanced exception handler with intelligent LLM that can fix errors and enhance output
License: MIT
Requires Python: >=3.10

# ExceptHook

#### Description
This replaces the exception hook with one with a nice traceback and LLM integration for fixing errors

##### Usage
In any module that you are working in, when you run the module and an exception is triggered, the custom exception handler will be triggered. By default when the handler is triggered, the default traceback is printed but with a little enhancement using the `rich` library.

##### Options
If anywhere in your code there are any of these options trigger different behaviours.
- `#: fix`
- `#: enhance`

##### Fix
This will contact `Groq` LLM to fix the exception code.

##### Enhance
This will enhance the traceback in a well structured way

#### Environment
Create a virtual environment and activate it

#### Method 1
- Clone the project and build the package locally then install using this command `pip install .`

#### Method 2
- Install from PyPI using this command `pip install excepthook`.

#### Setup 
- Create a `.env` file with your `GROQ_API_KEY`
- Run `install_hook` to write the `sitecustomize.py` in the `sitepackages` directory which will be providing the features.

```
Python

#: enhance
#: fix

def foo(*args, **kwargs):

    if not args:
        raise ValueError("No argument provided")

foo()
```
> Sample python code to illustrate

Note: Enusre you have created a virtual environment, activated it and installed the packge in it.