What Are the Dependencies for the ai-job-search Project?

The ai-job-search project uses a hybrid architecture where the Python orchestration layer requires third-party packages like requests, pandas, and PyPDF2, while the Node.js portal CLIs maintain zero runtime dependencies and operate solely with built-in Node.js modules.

The ai-job-search repository by MadsLorentzen combines a Python-based automation core with lightweight Node.js command-line tools for specific job portals. Understanding the dependencies for the ai-job-search project requires examining both the Python import statements found in utility scripts and the package.json files distributed across the CLI directories. The project intentionally avoids shipping a centralized requirements.txt, instead declaring Python dependencies through direct imports in specific tool files.

Python Dependencies in the Orchestration Layer

The Python components handle HTTP requests, data parsing, PDF processing, and Gmail synchronization. You must install these packages manually based on which tools you intend to run.

Web Scraping and HTML Parsing

Job scraping utilities rely on requests for HTTP calls to external APIs and job portals. beautifulsoup4 parses HTML responses to extract structured data from web pages.

Data Processing and Excel Handling

The file tools/convert_salary_excel.py imports pandas for data-frame operations and openpyxl for reading and writing Excel files. These libraries enable conversion between CSV and Excel formats for salary data analysis.


# tools/convert_salary_excel.py

import pandas as pd
import openpyxl

PDF Parsing and Progress Tracking

CV verification tools located in tools/verify_pdf.py use PyPDF2 to extract text from PDF documents for validation. tqdm provides visual progress bars during long-running batch operations.


# tools/verify_pdf.py

import PyPDF2
from tqdm import tqdm

Configuration and CLI Framework

The project uses python-dotenv to load environment variables from .env files, click for building command-line interfaces, and PyYAML to parse skill specifications stored in .claude/ directories.

Gmail Integration

The Gmail sync functionality located in .agents/skills/gmail-sync/cli requires google-api-python-client and google-auth-httplib2 for OAuth authentication and Gmail API access.

Node.js Dependencies in Portal CLIs

The Node.js layer follows a strict zero-dependency policy for runtime operations, ensuring portable execution across environments without npm install.

Zero Runtime Dependencies

Each package.json located under .agents/skills/*/cli/ (such as .agents/skills/linkedin-search/cli/package.json) contains no dependencies field. These tools execute using only Node.js built-in modules like fs, path, and child_process.

Development-Only Packages

The package.json files list only devDependencies including typescript, ts-node, jest, eslint, and @types/node. These support type-checking, unit testing, and linting during development but are never required for end-user execution.

Installing and Running the Project

Since the repository lacks a consolidated requirements.txt, install Python packages individually based on the specific tools you need.

Install core Python dependencies:

pip install requests beautifulsoup4 pandas openpyxl PyPDF2 tqdm python-dotenv click PyYAML

Install Gmail synchronization support:

pip install google-api-python-client google-auth-httplib2

Execute Node.js CLIs directly without package installation:

node .agents/skills/linkedin-search/cli/index.js

Summary

  • The ai-job-search project employs a dual-layer dependency strategy: third-party Python libraries for heavy data processing and zero-dependency Node.js CLIs for portal automation.
  • Python dependencies include requests, beautifulsoup4, pandas, openpyxl, PyPDF2, tqdm, python-dotenv, click, PyYAML, and Google API libraries for specific integrations.
  • Node.js CLIs in .agents/skills/*/cli/ maintain no runtime dependencies; their package.json files contain only development tools like TypeScript and Jest.
  • Key Python files declaring these dependencies are tools/verify_pdf.py (PyPDF2) and tools/convert_salary_excel.py (pandas/openpyxl).
  • Users must manually install Python packages via pip as no centralized requirements file exists in the repository.

Frequently Asked Questions

Do the Node.js CLIs require npm install?

No. The Node.js command-line tools located in .agents/skills/*/cli/ contain zero runtime dependencies. They execute using only Node.js built-in modules, eliminating the need for npm install during deployment or usage.

Which Python file handles PDF parsing?

The file tools/verify_pdf.py uses the PyPDF2 library to extract and verify text content from PDF documents, typically for CV validation and content verification tasks.

Is there a requirements.txt file in the ai-job-search repository?

No. The project does not ship a single manifest file. Dependencies are declared through direct import statements in specific Python files and must be installed manually via pip based on which tools you plan to use.

What is the purpose of python-dotenv in this project?

The python-dotenv package loads configuration variables from .env files into the environment, allowing tool scripts to access sensitive credentials like API keys and email passwords without hardcoding them into source files.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →