README.md
pyproject.toml
src/articula/__init__.py
src/articula/_browser.py
src/articula/_extractor.py
src/articula/_fetcher.py
src/articula/_scraper.py
src/articula/exceptions.py
src/articula/models.py
src/articula.egg-info/PKG-INFO
src/articula.egg-info/SOURCES.txt
src/articula.egg-info/dependency_links.txt
src/articula.egg-info/requires.txt
src/articula.egg-info/top_level.txt
tests/test_all_strategies_exhaustion_fetch_error.py
tests/test_async_shared_scraper.py
tests/test_body_validation_extraction_error.py
tests/test_bounded_gather.py
tests/test_browser_availability.py
tests/test_browser_bad_response.py
tests/test_browser_fetch_error.py
tests/test_browser_playwright_installed.py
tests/test_browser_reuse.py
tests/test_browser_teardown.py
tests/test_ci_addopts.py
tests/test_confidence.py
tests/test_context_manager.py
tests/test_date_formats_pipeline.py
tests/test_exceptions.py
tests/test_extraction_error_factory.py
tests/test_extraction_error_strategies_tried.py
tests/test_extraction_failure_escalates.py
tests/test_extractor_bodyless.py
tests/test_extractor_no_author.py
tests/test_extractor_no_date.py
tests/test_fetch_error_on_inaccessible.py
tests/test_language_detection.py
tests/test_lazy_browser_init.py
tests/test_live_marker_registration.py
tests/test_live_smoke.py
tests/test_marker_exclusion_stub.py
tests/test_meaningful_body.py
tests/test_models.py
tests/test_normalize_date.py
tests/test_normalize_date_pipeline.py
tests/test_normalize_date_with_timezone.py
tests/test_packaging.py
tests/test_resolved_url.py
tests/test_result_assembly.py
tests/test_rotation_exhaustion_fetch_error.py
tests/test_rotation_single_success_no_fetch_error.py
tests/test_rotation_ua_iteration.py
tests/test_scrape_confidence.py
tests/test_scrape_language_population.py
tests/test_scrape_many.py
tests/test_scrape_many_sync.py
tests/test_shared_scraper_lazy_init.py
tests/test_static_fetch_exhaustion.py
tests/test_strategy_tier.py
tests/test_url_matrix.py