Skip to main content

AI-powered CV screening CLI — ranks candidates against a Job Description using Google Gemini and pushes results to Notion

Project description

AI Recruitment Scanning Agent

PyPI version PyPI - Python Version PyPI - License

A CLI tool that screens CVs against a Job Description using Google Gemini 1.5 Flash and pushes ranked candidate profiles into a Notion database — one command, zero manual effort.

PyPI: https://pypi.org/project/ai-recruitment-agent/


Install

pip install ai-recruitment-agent

Configure

Copy .env.example to .env and fill in your credentials:

GOOGLE_GEMINI_API_KEY=your_gemini_api_key
NOTION_API_KEY=your_notion_integration_secret
DEFAULT_NOTION_DB_ID=your_notion_database_id

Where to get these:

Key Source
GOOGLE_GEMINI_API_KEY https://aistudio.google.com/app/apikey
NOTION_API_KEY https://www.notion.so/my-integrations → New integration → copy secret
DEFAULT_NOTION_DB_ID Your Notion database URL: notion.so/yourname/THIS-PART?v=...

Setup Notion Database

Run once to add all required properties to your Notion database automatically:

ai-recruit setup-notion

# or with an explicit database ID:
ai-recruit setup-notion --notion-db-id xxxx-xxxx-xxxx-xxxx

Prerequisite: Share your Notion database with the integration first — open the database → ••• menu → Connections → add your integration.

The command adds 13 properties (Email, Skills, Match Score, Ranking Category, etc.), renames the title column to Candidate Name, and skips anything already present.

Run

ai-recruit process <CV_FOLDER> <JD_PDF> [--notion-db-id <DB_ID>]
# Basic — reads DB ID from .env
ai-recruit process ./cvs/ ./jd.pdf

# Override Notion database
ai-recruit process ./cvs/ ./jd.pdf --notion-db-id xxxx-xxxx-xxxx-xxxx

# Other commands
ai-recruit setup-notion --help
ai-recruit --version
ai-recruit --help
ai-recruit process --help

What it does

  1. Validates API keys and Notion database access on startup.
  2. Reads the JD PDF — extracts position title and job ID via Gemini.
  3. Iterates all .pdf and .docx files in the CV folder with a live progress bar.
  4. For each CV: extracts text → sends to Gemini → receives a score (0–100), ranking (High Fit / Medium Fit / Low Fit), and structured candidate data.
  5. Checks Notion for duplicates by email + job ID before inserting.
  6. Pushes a new page to your Notion database for each unique candidate.
  7. Prints a summary table of processed / skipped / failed counts.

Troubleshooting

Error Fix
GOOGLE_GEMINI_API_KEY not found Check .env exists in your working directory and the key is valid
NOTION_API_KEY not found Verify the integration secret in .env
Notion initialization failed Confirm the database is shared with your integration
Could not extract text from JD PDF PDF may be scanned, image-based, or password-protected
Duplicate entries appearing Ensure Email and Job ID (JD) properties exist with exact names
Gemini API error Check your quota at aistudio.google.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_recruitment_agent-0.3.2.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_recruitment_agent-0.3.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file ai_recruitment_agent-0.3.2.tar.gz.

File metadata

  • Download URL: ai_recruitment_agent-0.3.2.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ai_recruitment_agent-0.3.2.tar.gz
Algorithm Hash digest
SHA256 275d13c9ab783d974304ae483a7de6074d1f2316f3c5122885a42c462d50cfe6
MD5 3ff8aa924a2259b7d015384ada313725
BLAKE2b-256 3449b16d817430622ea5e862110cd14de21404820969f8633fa3a9b5c64f260e

See more details on using hashes here.

File details

Details for the file ai_recruitment_agent-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_recruitment_agent-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e349f9a435492a87e531520646731ff53980806e359084f300f2a2d6820e1e8b
MD5 a47d29a2988f60a34b14f9a4d1d04664
BLAKE2b-256 f331db3c6f7e75ffb93d1953a13558f1f93c30e0a1bc92663d6be3fa78362787

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page