feat: add Himalayas.app scraper (NeraJob#5) - #1
Open
CloneBro wants to merge 64 commits into
Open
Conversation
…es#49) - Add parse_salary_value() to extract numeric salary from strings (80k, $80,000, etc.) - Add --min-salary CLI flag to scan command - Jobs with unparseable salaries are kept (not filtered out) - 5 tests added Closes mergeos-bounties#36 Co-authored-by: CloneBro <rundm.wiechmann@gmail.com>
- Extend SKILL_ALIASES for hardware terms - Patch bump
- Extend SKILL_ALIASES for logistics terms - Patch bump
- Extend SKILL_ALIASES for finance terms - Patch bump
- Extend SKILL_ALIASES for cybersecurity - Patch bump
- Extend SKILL_ALIASES for data engineering - Patch bump
- Extend SKILL_ALIASES for UX/product design - Patch bump
- Extend SKILL_ALIASES for devops/SRE - Patch bump
- Extend SKILL_ALIASES for mobile development - Patch bump
- Extend SKILL_ALIASES for machine learning - Patch bump
- Extend SKILL_ALIASES for cloud engineering - Patch bump
- Extend SKILL_ALIASES with blockchain/web3 domain - Bump patch version
- Extend SKILL_ALIASES for game development - Bump patch version
- Extend SKILL_ALIASES for QA/test automation - Bump patch version
- Extend SKILL_ALIASES for CS/support - Bump patch version
- Extend SKILL_ALIASES for solutions/sales eng - Bump patch version
…nties#73) * feat: implement [200 MRG] Feature: multi-CV profiles with selector (mergeos-bounties#42) * docs: add contributor guide for adding new skill domains to push PR for NeraJob#62 ) --------- Co-authored-by: CloneBro <rundm.wiechmann@gmail.com>
…ergeos-bounties#42) (mergeos-bounties#72) Co-authored-by: CloneBro <rundm.wiechmann@gmail.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
- Add comprehensive skill aliases for ML/MLOps domain - Include core ML, MLOps, data, tool, and workflow skills - Provide usage examples for resumes and job requirements Fixes mergeos-bounties#56 Co-authored-by: Gustavo Morais <gustavo@MacBook-Air-de-Gustavo-7.local>
* docs: add ML/MLOps skill aliases - Add comprehensive skill aliases for ML/MLOps domain - Include core ML, MLOps, data, tool, and workflow skills - Provide usage examples for resumes and job requirements Fixes mergeos-bounties#56 * docs: add data engineering skill aliases - Add comprehensive skill aliases for data engineering domain - Include core DE, pipeline, storage, cloud, and streaming skills - Provide usage examples for resumes and job requirements Fixes mergeos-bounties#51 --------- Co-authored-by: Gustavo Morais <gustavo@MacBook-Air-de-Gustavo-7.local>
- Implements BaseScraper interface for GitHub Jobs API - Supports search by query and location - Offline mode with 5 sample jobs for testing - Proper error handling with fallback to offline - 100% test coverage with 6 test functions Closes mergeos-bounties#38 Co-authored-by: Gustavo Morais <gustavo@MacBook-Air-de-Gustavo-7.local>
- Added comprehensive test suite for cybersecurity domain skill aliases - Tests cover SIEM, pentest, IAM, infosec, and SOC alias expansion - All tests pass locally Closes mergeos-bounties#50 Co-authored-by: Gustavo Morais <gustavo@MacBook-Air-de-Gustavo-7.local>
…tion [bounty mergeos-bounties#61] (mergeos-bounties#88) Co-authored-by: smslc <smslc@users.devnorepdely.local>
…-bounties#18] (mergeos-bounties#91) * feat: add fixture packs, ethical scraping docs, offline match CLI [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: remove unused imports (ruff lint) [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: add source to fixture JSONs, create __main__.py for python -m support [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * feat: shared HTTP client with retry/rate-limit/robots [bounty mergeos-bounties#18] --------- Co-authored-by: smslc <smslc@users.devnorepdely.local>
mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] (mergeos-bounties#89) * feat: add fixture packs, ethical scraping docs, offline match CLI [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: remove unused imports (ruff lint) [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: add source to fixture JSONs, create __main__.py for python -m support [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] --------- Co-authored-by: smslc <smslc@users.devnorepdely.local>
…nties#41 mergeos-bounties#19] (mergeos-bounties#90) * feat: scan preset profile CLI + scan --all dedupe count [bounties mergeos-bounties#41 mergeos-bounties#19] * fix: remove unused ScanPreset import (ruff lint) --------- Co-authored-by: smslc <smslc@users.devnorepdely.local>
…os-bounties#99) Implements FindworkScraper in src/nerajob/scrapers/findwork.py. Live API at https://findwork.dev/api/jobs/ with Token auth. Offline fallback when NERAJOB_FINDWORK_API_TOKEN not set or API fails. Tests: 19 new in tests/test_findwork.py covering registration, offline mode, live API (mocked httpx), error fallback, edge cases. Full suite: 112 passed (93 baseline + 19 new). Co-authored-by: Bounty Hunter Bot <bounty-hunter-bot@users.noreply.github.com>
…ergeos-bounties#97) Fixes mergeos-bounties#53 Expanded from 71 lines to comprehensive 300+ line policy covering: - 12 ethical principles - 15-source Preferred Official APIs table - Source Selection Priority (Tier A-E) - 11 sources with ToS + robots.txt notes (incl. Himalayas + USAJOBS) - Sources NOT to scrape (LinkedIn, Indeed, Glassdoor, etc.) - Rate limit config (6 env vars + scraper-specific tokens) - Exponential backoff strategy with code example - User-Agent standard - 10-step new scraper checklist - 13-item compliance checklist Added README link in Compliance section. Co-authored-by: Bounty Hunter Bot <bounty-hunter-bot@users.noreply.github.com>
…mergeos-bounties#96) Co-authored-by: Hermes Agent <hermes@agent.nousresearch.com>
…geos-bounties#77) * feat(aliases): expand cloud, devops, mobile, and finance domains. Fixes mergeos-bounties#57, Fixes mergeos-bounties#58, Fixes mergeos-bounties#59 * fix(aliases): add terraform->cloud and risk->finance mappings to satisfy CI alias tests --------- Co-authored-by: Jamie DC Phillips <jamiedcphillips@users.noreply.github.com>
- Add growth_marketing domain keywords for match scoring - Patch version bump
…ergeos-bounties#95) * feat: add fixture packs, ethical scraping docs, offline match CLI [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: remove unused imports (ruff lint) [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: add source to fixture JSONs, create __main__.py for python -m support [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * feat: jobs list --sort match [bounty mergeos-bounties#20] * feat: PDF CV export [bounty mergeos-bounties#21] * feat: Jooble API scraper [bounty mergeos-bounties#15] * feat: application tracker status states [bounty mergeos-bounties#40] * fix: remove unused imports (ruff lint) * fix: restore Path import in cli.py * fix: restore missing imports after rebase * fix: add save_scan_preset to cli.py imports * chore: trigger CI re-run --------- Co-authored-by: smslc <smslc@users.devnorepdely.local>
…ergeos-bounties#94) * feat: add fixture packs, ethical scraping docs, offline match CLI [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: remove unused imports (ruff lint) [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: add source to fixture JSONs, create __main__.py for python -m support [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * feat: jobs list --sort match [bounty mergeos-bounties#20] * feat: PDF CV export [bounty mergeos-bounties#21] * feat: Jooble API scraper [bounty mergeos-bounties#15] * fix: remove unused imports (ruff lint) * fix: restore Path import in cli.py * fix: remove unused imports (ruff) * chore: trigger CI re-run --------- Co-authored-by: smslc <smslc@users.devnorepdely.local>
mergeos-bounties#93) * feat: add fixture packs, ethical scraping docs, offline match CLI [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: remove unused imports (ruff lint) [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: add source to fixture JSONs, create __main__.py for python -m support [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * feat: jobs list --sort match [bounty mergeos-bounties#20] * feat: PDF CV export [bounty mergeos-bounties#21] * fix: remove unused imports (ruff lint) * fix: restore Path import in cli.py * fix: rebase + restore missing Path import * chore: trigger CI re-run --------- Co-authored-by: smslc <smslc@users.devnorepdely.local>
…unties#92) * feat: add fixture packs, ethical scraping docs, offline match CLI [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: remove unused imports (ruff lint) [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * fix: add source to fixture JSONs, create __main__.py for python -m support [bounties mergeos-bounties#52 mergeos-bounties#53 mergeos-bounties#54] * feat: jobs list --sort match [bounty mergeos-bounties#20] * fix: remove unused imports (ruff lint) * fix: remove unused Path from test file, restore in cli.py * fix: restore missing Path import after rebase * chore: trigger CI re-run --------- Co-authored-by: smslc <smslc@users.devnorepdely.local>
- Add customer_success domain keywords for match scoring - Patch version bump
…ergeos-bounties#98) * feat(aliases): expand cloud, devops, mobile, and finance domains. Fixes mergeos-bounties#57, Fixes mergeos-bounties#58, Fixes mergeos-bounties#59 * fix(aliases): add terraform->cloud and risk->finance mappings to satisfy CI alias tests --------- Co-authored-by: Jamie DC Phillips <jamiedcphillips@users.noreply.github.com>
…ergeos-bounties#105) Add Reed.co.uk API scraper with offline fallback and Greenhouse public board scraper - reed.py: Reed Jobs API v1.0 integration (bounty mergeos-bounties#9 - 50 MRG) - greenhouse.py: Greenhouse Job Board API integration (bounty mergeos-bounties#11 - 50 MRG)
…ties#7] (mergeos-bounties#102) * Add src/nerajob/scrapers/adzuna.py for Adzuna scraper (mergeos-bounties#7) * Add tests/test_adzuna.py for Adzuna scraper (mergeos-bounties#7) * Add src/nerajob/scrapers/registry.py for Adzuna scraper (mergeos-bounties#7)
- Added HimalayasScraper implementing BaseScraper - Integrated into scraper registry - Added tests for registration and offline mode - Supports live API with offline fallback - Handles query, location filtering, and pagination Fixes mergeos-bounties#5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a new scraper for Himalayas.app public jobs API.
Changes
HimalayasScraperinsrc/nerajob/scrapers/himalayas.pysrc/nerajob/scrapers/registry.pytests/test_himalayas.pyFeatures
Fixes mergeos-bounties#5