Installation
Installation Methods
Section titled “Installation Methods”Choose the installation method that best suits your needs:
- Quick Install (pip) - Fastest way to get started (recommended for users)
- Development Setup (git + Makefile) - For contributors and advanced users
- Manual Setup - Full control over the installation
- Container Setup - Isolated environment with Docker/Podman
Quick Install (pip)
Section titled “Quick Install (pip)”The easiest way to install hatiyar is from PyPI using pip:
Installation
Section titled “Installation”pip install hatiyarRunning hatiyar
Section titled “Running hatiyar”After installation, you can run hatiyar using either:
# Using the console script (if available in your PATH)hatiyar
# Or using the module entry pointpython -m hatiyar
# To launch the interactive shell directlyhatiyar shell# orpython -m hatiyar shellVerify Installation
Section titled “Verify Installation”Check the installed version:
hatiyar --version# orpython -m hatiyar --versionDevelopment Setup
Section titled “Development Setup”For contributors or users who want the latest development version:
Prerequisites
Section titled “Prerequisites”Before installing hatiyar, ensure you have the following:
- Python 3.9 or higher - Download Python
- git - Install git
- uv - Install uv
- build-essential (Linux only, for Makefile-based setup) - C compiler and build tools
- Debian/Ubuntu:
sudo apt install build-essential - Fedora/RHEL:
sudo dnf install gcc make - Alpine:
apk add build-base
- Debian/Ubuntu:
Installation Steps
Section titled “Installation Steps”1. Clone the Repository
Section titled “1. Clone the Repository”git clone https://github.com/ajutamangdev/hatiyar.gitcd hatiyar2. Set Up the Project
Section titled “2. Set Up the Project”Use the Makefile to set up the virtual environment and install dependencies:
make setupThis will:
- Create a virtual environment (
.venv) - Install all dependencies with
uv sync - Activate the environment
3. Verify Installation
Section titled “3. Verify Installation”Check the project setup:
make infoThis displays:
- Python version (from virtual environment)
- Tool versions (uv, mypy, ruff)
- Project configuration
4. Launch hatiyar
Section titled “4. Launch hatiyar”After setup, use the Makefile to launch hatiyar:
make shell # Launch interactive shellmake info # Show project infoAll commands automatically use the activated virtual environment.
Manual Setup (Without Makefile)
Section titled “Manual Setup (Without Makefile)”If you prefer not to use Makefile or need more control over the setup:
1. Clone the Repository
Section titled “1. Clone the Repository”git clone https://github.com/ajutamangdev/hatiyar.gitcd hatiyar2. Create and Activate Virtual Environment
Section titled “2. Create and Activate Virtual Environment”Using uv to create a virtual environment:
uv venvsource .venv/bin/activate # On Linux/macOS# OR.venv\Scripts\activate # On Windows3. Install Dependencies
Section titled “3. Install Dependencies”uv sync4. Verify Installation
Section titled “4. Verify Installation”python3 src/hatiyar/main.py --version5. Run the Hatiyar
Section titled “5. Run the Hatiyar”python3 src/hatiyar/main.py shell # Interactive shellContainer Setup (Docker/Podman)
Section titled “Container Setup (Docker/Podman)”hatiyar can be containerized for consistent deployment across environments. Use either Docker or Podman.
Prerequisites
Section titled “Prerequisites”- Docker: Install Docker
- Podman: Install Podman
Building the Container Image
Section titled “Building the Container Image”Using Docker
Section titled “Using Docker”# Build the imagedocker build -t hatiyar -f Containerfile .
# Verify the image was createddocker images | grep hatiyarUsing Podman
Section titled “Using Podman”# Build the imagepodman build -t hatiyar -f Containerfile .
# Verify the image was createdpodman images | grep hatiyarRunning the Container
Section titled “Running the Container”Interactive Shell with Docker
Section titled “Interactive Shell with Docker”docker run -it --rm hatiyar shellInteractive Shell with Podman
Section titled “Interactive Shell with Podman”podman run -it --rm hatiyar shellWith AWS Credentials (Local Development)
Section titled “With AWS Credentials (Local Development)”Mount your AWS credentials into the container for cloud operations:
Docker:
docker run -it --rm \ -v ~/.aws:/home/appuser/.aws:ro \ -e AWS_PROFILE=your-profile \ hatiyar shellPodman:
podman run -it --rm \ -v ~/.aws:/home/appuser/.aws:ro \ -e AWS_PROFILE=your-profile \ hatiyar shellReplace your-profile with your AWS profile name.
Troubleshooting Container Issues
Section titled “Troubleshooting Container Issues””typer is not installed” Error
Section titled “”typer is not installed” Error”This error occurs when running a stale container image. Rebuild it:
# Dockerdocker build -t hatiyar -f Containerfile . --no-cache
# Podmanpodman build -t hatiyar -f Containerfile . --no-cacheThe --no-cache flag forces a fresh build without using cached layers.
Container Image Details
Section titled “Container Image Details”The Containerfile uses a multi-stage build for efficiency:
- Builder Stage (
python:3.11-alpine): Compiles dependencies withuv - Runtime Stage (
python:3.11-slim): Runs the application with minimal footprint
Environment variables in the runtime:
PYTHONUNBUFFERED=1: Real-time log outputPYTHONDONTWRITEBYTECODE=1: No.pycfiles in container- Non-root
appuserfor security
Platform-Specific Notes
Section titled “Platform-Specific Notes”Install system dependencies:
# Debian/Ubuntu (with build tools for Makefile)sudo apt updatesudo apt install python3 python3-pip git build-essential
# Fedora/RHEL (with build tools for Makefile)sudo dnf install python3 python3-pip git gcc make
# Alpine (with build tools for Makefile)apk add python3 git build-baseThen install uv:
curl -LsSf https://astral.sh/uv/install.sh | shUsing Homebrew:
brew install python git
# Install uvcurl -LsSf https://astral.sh/uv/install.sh | shWindows
Section titled “Windows”- Install Python
- Install git for Windows
- Install uv via PowerShell:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Troubleshooting
Section titled “Troubleshooting”uv Not Found
Section titled “uv Not Found”Verify uv is installed:
uv --versionIf not installed, follow the uv installation guide
Python Version Issues
Section titled “Python Version Issues”Check Python version:
python3 --version# Should show 3.9 or higherNext Steps
Section titled “Next Steps”- Quick Start - Run your first exploit
- Usage Guide - Learn all commands
- Configuration - Customize settings
Updating
Section titled “Updating”To update to the latest version:
cd hatiyargit pull origin mainmake setup # Update dependencies and activate environmentUninstallation
Section titled “Uninstallation”# Remove directorycd ..rm -rf hatiyar