{"id":16406831,"url":"https://github.com/terror/pdfathom","last_synced_at":"2026-07-30T03:31:31.049Z","repository":{"id":153749000,"uuid":"630164440","full_name":"terror/pdfathom","owner":"terror","description":"Query PDFs in natural language from the command-line","archived":false,"fork":false,"pushed_at":"2023-04-20T17:17:25.000Z","size":7870,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-13T11:46:13.693Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/terror.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-19T20:01:15.000Z","updated_at":"2023-04-21T10:59:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"565706d8-6220-4c95-91c3-77d3cac06dd6","html_url":"https://github.com/terror/pdfathom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/terror/pdfathom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terror%2Fpdfathom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terror%2Fpdfathom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terror%2Fpdfathom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terror%2Fpdfathom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/terror","download_url":"https://codeload.github.com/terror/pdfathom/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/terror%2Fpdfathom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36059044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-30T02:00:05.956Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T06:11:05.297Z","updated_at":"2026-07-30T03:31:30.259Z","avatar_url":"https://github.com/terror.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"**pdfathom** is a command-line utility that lets you query PDF documents with\nnatural language.\n\n![](https://user-images.githubusercontent.com/31192478/233440529-8b60a6eb-a9bf-487a-9ee0-ff175e87a29d.png)\n\n### Installation\n\nYou can install it via the pip package manager:\n\n```bash\n$ pip install pdfathom\n```\n\n### Configuration\n\n**pdfathom** looks for a configuration file called `.pdfathom.json` located in\nyour home directory, and it looks like:\n\n```\n{\"openai_api_key\": \"\u003cOPENAI-API-KEY\u003e\"}\n```\n\nYou will be prompted for an OpenAI API key upon running the program if it's not\nalready present in the configuration file, this will also handle creating the\nconfiguration file for you.\n\n### Usage\n\nBelow is the output of `pdfathom --help`:\n\n```present python3 pdfathom --help\nusage: pdfathom [-h] [--config CONFIG] [--openai_api_key OPENAI_API_KEY]\n                [--chunk_size CHUNK_SIZE] [--chunk_overlap CHUNK_OVERLAP]\n                pdfs [pdfs ...]\n\npositional arguments:\n  pdfs                  Path to the pdf file(s) or URL(s)\n\noptions:\n  -h, --help            show this help message and exit\n  --config CONFIG, -c CONFIG\n                        Path to the configuration file\n  --openai_api_key OPENAI_API_KEY, -k OPENAI_API_KEY\n                        OpenAI API key\n  --chunk_size CHUNK_SIZE, -s CHUNK_SIZE\n                        Chunk size\n  --chunk_overlap CHUNK_OVERLAP, -o CHUNK_OVERLAP\n                        Chunk overlap\n```\n\nA sample run would look like `pdfathom a.pdf b.pdf https://someurl.com/baz.pdf`\n(space-separated) to load in respective PDF files into an interactive REPL\nenvironment (assuming those pdf files exist).\n\nThe REPL environment gives you access to a few commands that make it easier to\nload and switch to different files:\n\n```\n- active: Prints the active PDF document.\n- clear: Clears the terminal screen.\n- exit: Exits the application.\n- help: Displays the help text with available commands.\n- list: Lists all loaded PDF documents.\n- load \u003cpath or url\u003e: Loads a new PDF document from a specified path or URL.\n- switch \u003cpath or url\u003e: Switches to another PDF document from a specified path or URL.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterror%2Fpdfathom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fterror%2Fpdfathom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fterror%2Fpdfathom/lists"}