LICENSE
README.md
pyproject.toml
setup.py
src/scansci_pdf/__init__.py
src/scansci_pdf/__main__.py
src/scansci_pdf/_cli_core.py
src/scansci_pdf/_publisher_strategies_core.py
src/scansci_pdf/acs_batch.py
src/scansci_pdf/auth.py
src/scansci_pdf/bibparser.py
src/scansci_pdf/bibtex.py
src/scansci_pdf/browser_backend.py
src/scansci_pdf/browser_cookies.py
src/scansci_pdf/browser_discovery.py
src/scansci_pdf/browser_engine.py
src/scansci_pdf/browser_login.py
src/scansci_pdf/cache.py
src/scansci_pdf/camofox.py
src/scansci_pdf/citation.py
src/scansci_pdf/cloakbrowser_compat.py
src/scansci_pdf/config.py
src/scansci_pdf/deps.py
src/scansci_pdf/discovery.py
src/scansci_pdf/domain_db.py
src/scansci_pdf/embedded_tor.py
src/scansci_pdf/fetcher.py
src/scansci_pdf/flaresolverr.py
src/scansci_pdf/http_utils.py
src/scansci_pdf/identifiers.py
src/scansci_pdf/log.py
src/scansci_pdf/main.py
src/scansci_pdf/mcp_server.py
src/scansci_pdf/md_export.py
src/scansci_pdf/models.py
src/scansci_pdf/network.py
src/scansci_pdf/paperlist.py
src/scansci_pdf/pdf_utils.py
src/scansci_pdf/pipeline.py
src/scansci_pdf/profile_health.py
src/scansci_pdf/progress_bar.py
src/scansci_pdf/progress_reporter.py
src/scansci_pdf/publisher_access.py
src/scansci_pdf/publisher_batch.py
src/scansci_pdf/publisher_pdf_router.py
src/scansci_pdf/publisher_profiles.py
src/scansci_pdf/remote_assist.py
src/scansci_pdf/rename.py
src/scansci_pdf/resolver.py
src/scansci_pdf/schools.py
src/scansci_pdf/search.py
src/scansci_pdf/server.py
src/scansci_pdf/session_broker.py
src/scansci_pdf/session_heal.py
src/scansci_pdf/session_store.py
src/scansci_pdf/setup.py
src/scansci_pdf/supplementary.py
src/scansci_pdf/tor.py
src/scansci_pdf/web.py
src/scansci_pdf/zotero.py
src/scansci_pdf.egg-info/PKG-INFO
src/scansci_pdf.egg-info/SOURCES.txt
src/scansci_pdf.egg-info/dependency_links.txt
src/scansci_pdf.egg-info/entry_points.txt
src/scansci_pdf.egg-info/requires.txt
src/scansci_pdf.egg-info/top_level.txt
src/scansci_pdf/_core/__init__.py
src/scansci_pdf/cli/__init__.py
src/scansci_pdf/cli/_utils.py
src/scansci_pdf/cli/fetch_commands.py
src/scansci_pdf/cli/main_commands.py
src/scansci_pdf/data/institutional_identity_policy.json
src/scansci_pdf/data/publisher_access_catalog.json
src/scansci_pdf/data/publisher_browser_verification_matrix.json
src/scansci_pdf/data/publisher_carsi.json
src/scansci_pdf/data/webvpn.dat
src/scansci_pdf/data/webvpn.json
src/scansci_pdf/extractors/__init__.py
src/scansci_pdf/extractors/html_extractor.py
src/scansci_pdf/extractors/pdf_extractor.py
src/scansci_pdf/extractors/publisher_adapters/__init__.py
src/scansci_pdf/extractors/publisher_adapters/acs.py
src/scansci_pdf/extractors/publisher_adapters/elsevier.py
src/scansci_pdf/extractors/publisher_adapters/generic.py
src/scansci_pdf/extractors/publisher_adapters/nature.py
src/scansci_pdf/extractors/publisher_adapters/rsc.py
src/scansci_pdf/extractors/publisher_adapters/tandfonline.py
src/scansci_pdf/extractors/publisher_adapters/wiley.py
src/scansci_pdf/institutional/__init__.py
src/scansci_pdf/institutional/carsi_client.py
src/scansci_pdf/institutional/cloakbrowser_compat.py
src/scansci_pdf/institutional/config_adapter.py
src/scansci_pdf/institutional/fetcher.py
src/scansci_pdf/institutional/flaresolverr.py
src/scansci_pdf/institutional/http_utils.py
src/scansci_pdf/institutional/instsci_bridge.py
src/scansci_pdf/institutional/models.py
src/scansci_pdf/institutional/profile_health.py
src/scansci_pdf/institutional/publisher_access.py
src/scansci_pdf/institutional/publisher_batch.py
src/scansci_pdf/institutional/publisher_pdf_router.py
src/scansci_pdf/institutional/publisher_profiles.py
src/scansci_pdf/institutional/session_broker.py
src/scansci_pdf/institutional/session_store.py
src/scansci_pdf/institutional/extractors/__init__.py
src/scansci_pdf/institutional/extractors/html_extractor.py
src/scansci_pdf/institutional/extractors/pdf_extractor.py
src/scansci_pdf/institutional/extractors/publisher_adapters/__init__.py
src/scansci_pdf/institutional/extractors/publisher_adapters/acs.py
src/scansci_pdf/institutional/extractors/publisher_adapters/elsevier.py
src/scansci_pdf/institutional/extractors/publisher_adapters/generic.py
src/scansci_pdf/institutional/extractors/publisher_adapters/nature.py
src/scansci_pdf/institutional/extractors/publisher_adapters/rsc.py
src/scansci_pdf/institutional/extractors/publisher_adapters/tandfonline.py
src/scansci_pdf/institutional/extractors/publisher_adapters/wiley.py
src/scansci_pdf/institutional/sources/__init__.py
src/scansci_pdf/institutional/sources/arxiv.py
src/scansci_pdf/institutional/sources/elsevier_api.py
src/scansci_pdf/institutional/sources/unpaywall.py
src/scansci_pdf/publisher_strategies/__init__.py
src/scansci_pdf/publisher_strategies/acm.py
src/scansci_pdf/publisher_strategies/acs.py
src/scansci_pdf/publisher_strategies/aip.py
src/scansci_pdf/publisher_strategies/aps.py
src/scansci_pdf/publisher_strategies/asce.py
src/scansci_pdf/publisher_strategies/base.py
src/scansci_pdf/publisher_strategies/copernicus.py
src/scansci_pdf/publisher_strategies/elsevier.py
src/scansci_pdf/publisher_strategies/generic.py
src/scansci_pdf/publisher_strategies/ieee.py
src/scansci_pdf/publisher_strategies/iop.py
src/scansci_pdf/publisher_strategies/nature.py
src/scansci_pdf/publisher_strategies/oxford.py
src/scansci_pdf/publisher_strategies/registry.py
src/scansci_pdf/publisher_strategies/royalsociety.py
src/scansci_pdf/publisher_strategies/rsc.py
src/scansci_pdf/publisher_strategies/sage.py
src/scansci_pdf/publisher_strategies/science.py
src/scansci_pdf/publisher_strategies/springer.py
src/scansci_pdf/publisher_strategies/tandfonline.py
src/scansci_pdf/publisher_strategies/wiley.py
src/scansci_pdf/sources/__init__.py
src/scansci_pdf/sources/arxiv.py
src/scansci_pdf/sources/carsi.py
src/scansci_pdf/sources/carsi_source.py
src/scansci_pdf/sources/core_api.py
src/scansci_pdf/sources/crossref.py
src/scansci_pdf/sources/elsevier_api.py
src/scansci_pdf/sources/europepmc.py
src/scansci_pdf/sources/ezproxy.py
src/scansci_pdf/sources/instsci.py
src/scansci_pdf/sources/libgen.py
src/scansci_pdf/sources/nature.py
src/scansci_pdf/sources/oa_discovery.py
src/scansci_pdf/sources/openaire.py
src/scansci_pdf/sources/openalex.py
src/scansci_pdf/sources/publishers.py
src/scansci_pdf/sources/scibban.py
src/scansci_pdf/sources/scihub.py
src/scansci_pdf/sources/scoring.py
src/scansci_pdf/sources/semantic_scholar.py
src/scansci_pdf/sources/unpaywall.py
src/scansci_pdf/sources/vpnsci.py
src/scansci_pdf/templates/index.html
tests/test_batch_termination.py
tests/test_browser_reaper.py
tests/test_browser_restart.py
tests/test_checkout_sync.py
tests/test_cloakbrowser_gate.py
tests/test_config_masking.py
tests/test_doi_index.py
tests/test_find_bridge.py
tests/test_ip_block_detection.py
tests/test_lane_oa_enrich.py
tests/test_main.py
tests/test_mcp_lifecycle.py
tests/test_mcp_surface.py
tests/test_md_export.py
tests/test_openaire.py
tests/test_pipeline.py
tests/test_policy_lanes.py
tests/test_progress_reporter.py
tests/test_proxy_rotation.py
tests/test_publisher_strategies.py
tests/test_scihub_pool.py
tests/test_session_heal.py
tests/test_sources_negcache.py
tests/test_sso_publishers.py
tests/test_zotero.py