.dockerignore
Dockerfile
LICENSE
MANIFEST.in
README.md
pyproject.toml
runtime.example.toml
setup.py
examples/example.py
examples/example_advanced_config.py
examples/example_openai.py
src/LinkedInWebScraper.egg-info/PKG-INFO
src/LinkedInWebScraper.egg-info/SOURCES.txt
src/LinkedInWebScraper.egg-info/dependency_links.txt
src/LinkedInWebScraper.egg-info/entry_points.txt
src/LinkedInWebScraper.egg-info/requires.txt
src/LinkedInWebScraper.egg-info/top_level.txt
src/linkedin_web_scraper/__init__.py
src/linkedin_web_scraper/application/__init__.py
src/linkedin_web_scraper/application/daily_scrape_service.py
src/linkedin_web_scraper/application/linkedin_job_scraper.py
src/linkedin_web_scraper/application/release_manager.py
src/linkedin_web_scraper/application/runtime_runner.py
src/linkedin_web_scraper/application/storage.py
src/linkedin_web_scraper/config/__init__.py
src/linkedin_web_scraper/config/constants.py
src/linkedin_web_scraper/config/job_scraper_advanced_config.py
src/linkedin_web_scraper/config/job_scraper_config.py
src/linkedin_web_scraper/config/job_scraper_config_factory.py
src/linkedin_web_scraper/config/keywords.py
src/linkedin_web_scraper/config/locations.py
src/linkedin_web_scraper/config/openai.py
src/linkedin_web_scraper/config/options.py
src/linkedin_web_scraper/config/runtime.py
src/linkedin_web_scraper/config/storage.py
src/linkedin_web_scraper/config/tech_stack.py
src/linkedin_web_scraper/config/time_filters.py
src/linkedin_web_scraper/config/user_agents.py
src/linkedin_web_scraper/domain/__init__.py
src/linkedin_web_scraper/domain/job_data_cleaner.py
src/linkedin_web_scraper/domain/job_title_classifier.py
src/linkedin_web_scraper/infra/__init__.py
src/linkedin_web_scraper/infra/logging.py
src/linkedin_web_scraper/infra/paths.py
src/linkedin_web_scraper/infra/http/__init__.py
src/linkedin_web_scraper/infra/http/job_scraper.py
src/linkedin_web_scraper/infra/http/policy.py
src/linkedin_web_scraper/infra/http/utils.py
src/linkedin_web_scraper/infra/openai/__init__.py
src/linkedin_web_scraper/infra/openai/job_description_processor.py
src/linkedin_web_scraper/infra/openai/models.py
src/linkedin_web_scraper/infra/openai/openai_handler.py
src/linkedin_web_scraper/infra/storage/__init__.py
src/linkedin_web_scraper/infra/storage/file_manager.py
src/linkedin_web_scraper/infra/storage/models.py
src/linkedin_web_scraper/infra/storage/sqlite.py
src/linkedin_web_scraper/interfaces/__init__.py
src/linkedin_web_scraper/interfaces/cli/__init__.py
src/linkedin_web_scraper/interfaces/cli/main.py
tests/test_cli_main.py
tests/test_config_models.py
tests/test_daily_scrape_service.py
tests/test_example_advanced_config_smoke.py
tests/test_example_openai_smoke.py
tests/test_example_smoke.py
tests/test_file_manager.py
tests/test_github_workflows.py
tests/test_http_policy.py
tests/test_internal_codex_docs.py
tests/test_job_data_cleaner_transformations.py
tests/test_job_scraper_fixture.py
tests/test_linkedin_job_scraper.py
tests/test_location_normalization.py
tests/test_logging.py
tests/test_main_smoke.py
tests/test_openai_enrichment.py
tests/test_paths.py
tests/test_process_ds_jobs_smoke.py
tests/test_release_manager.py
tests/test_runtime_config.py
tests/test_runtime_runner.py
tests/test_sqlite_scrape_storage.py