Metadata-Version: 2.4
Name: atrium-job-scraper
Version: 2.0.4
Summary: A powerful job scraper with a FastAPI Web UI
Author: devkunal2812
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31.0
Requires-Dist: beautifulsoup4>=4.12.3
Requires-Dist: lxml>=5.2.0
Requires-Dist: selenium>=4.20.0
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: pytest>=8.2.0
Requires-Dist: gspread
Requires-Dist: google-auth
Requires-Dist: fastapi>=0.111.0
Requires-Dist: uvicorn[standard]>=0.29.0
Requires-Dist: jinja2>=3.1.4
Requires-Dist: sse-starlette>=2.1.0
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: prompt_toolkit>=3.0.0
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: requires-dist
Dynamic: summary

# Atrium Job Scraper

A powerful, polite, and modular scraper that collects internship and job listings for the Atrium student community from various portals (Internshala, Naukri, LinkedIn, Indeed).

Features a beautiful interactive Terminal User Interface (TUI) and a full FastAPI Web Dashboard!

## 🚀 Installation

```bash
pip install atrium-job-scraper
```
> **Note**: For the Indeed scraper, Google Chrome (or Chromium) must be installed on your machine. Selenium Manager will automatically handle the driver.

## ⚙️ Configuration

Copy the example environment file to configure your filters:

```bash
cp .env.example .env
```

Key `.env` settings to customize your search:
```bash
KEYWORDS=react,node.js,python,java
LOCATION=india
REMOTE_ONLY=false
INTERNSHIP_ONLY=false
MAX_PAGES=5
```
*(You can also override these settings directly via CLI flags).*

## 💻 Usage Guide

### 1. The Interactive Terminal (TUI) & Web UI 🌟

Launch the interactive `opencode`-style terminal alongside the live Web UI dashboard:
```bash
atrium-scraper
```

![Terminal Interface Demo](/home/kunal/.gemini/antigravity-ide/brain/486a470e-7110-4dc6-88b7-1b5f7376960e/terminal_tui_demo_1787030021358.png)

* **Terminal Commands**: Use `/scrape naukri` or `/scrape all` to fetch jobs. Prefix with `!` to run standard bash commands (e.g., `!ls`). Type `exit` or `Ctrl+C` to quit.
* **Web UI**: Automatically launches at `http://localhost:8000`.

### 2. Standalone Web UI
If you only want the Web Dashboard without the interactive terminal:
```bash
uvicorn app:app --host 0.0.0.0 --port 8000
```

### 3. Traditional CLI (`atrium-cli`)
Perfect for cron jobs, automation, or quick one-off commands:
```bash
# Scrape specific sources
atrium-cli --source internshala
atrium-cli --source linkedin

# Scrape all supported sources
atrium-cli --source all

# Override your .env filters for a single run
atrium-cli --source all --keyword "frontend developer" --location "india"
```

## 📁 Output
By default, all scraped jobs are saved as both `.json` and `.csv` files inside the `output/` directory, and duplicates are automatically removed. Detailed logs can be found in `logs/scraper.log`.
