{"id":15569537,"url":"https://github.com/cito/omnivore-export","last_synced_at":"2025-08-08T16:22:42.120Z","repository":{"id":193720609,"uuid":"689339678","full_name":"Cito/omnivore-export","owner":"Cito","description":"Export tool for the Omnivore read-it-later solution","archived":false,"fork":false,"pushed_at":"2024-11-03T10:35:03.000Z","size":32,"stargazers_count":41,"open_issues_count":0,"forks_count":7,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T16:53:20.860Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cito.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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-09-09T13:54:12.000Z","updated_at":"2024-12-09T20:52:00.000Z","dependencies_parsed_at":"2024-10-11T06:20:54.690Z","dependency_job_id":null,"html_url":"https://github.com/Cito/omnivore-export","commit_stats":null,"previous_names":["cito/omnivore-export"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cito%2Fomnivore-export","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cito%2Fomnivore-export/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cito%2Fomnivore-export/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cito%2Fomnivore-export/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cito","download_url":"https://codeload.github.com/Cito/omnivore-export/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235053753,"owners_count":18928440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-02T17:31:53.901Z","updated_at":"2025-01-22T02:57:38.766Z","avatar_url":"https://github.com/Cito.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# omnivore-export\n\nThis is an export script for the\n[Omnivore](https://github.com/omnivore-app/omnivore)\nread-it-later solution written in Python.\n\nIts main purpose was to create a backup of all links saved in Omnivore,\nas long as the Omnivore app still lacked an export function.\n\nSince Omnivore also lacked functionality to show the number of articles,\nthis repository also provides a script to show these numbers.\n\nMeanwhile, Omnivore provides a way to export the links in the web UI\nvia the menu option \"Settings\" - \"Export Data\", so that the export script\nis not really needed any more.\n\nBut unfortunately, the Omnivore team decided to\n[shut down](https://blog.omnivore.app/p/details-on-omnivore-shutting-down)\nthe service in November 2024 and recommends using\n[Readwise](https://readwise.io/) (paid service) or\n[Wallabag](https://wallabag.org/) (open-source) instead.\n\nWhile Readwise has released\nan [Omnivore importer](https://x.com/ReadwiseReader/status/1851426417684193527),\nWallabag was initially lacking such a feature.\n\nTherefore, this repository also contains a script to convert the exported\nlinks from Omnivore to the import format of Wallabag v2.\n\nMeanwhile, Wallabag also\n[integrated](https://github.com/wallabag/wallabag/pull/7754) a function\nto import from Omnivore, which will be available in version 2.6.10 of Wallabag\nand can be already used in the hosted solution,\nso that this script is not needed any more either.\n\n## Export and summary scripts\n\n### Prerequisites\n\nTo run this script, you need to install\n[gql](https://github.com/graphql-python/gql) with httpx support first:\n\n```sh\npip install --pre -U gql[httpx]\n```\n\nNext, you must\n[create an API key for Omnivore](https://omnivore.app/settings/api).\n\nThen, change the global variable `API_KEY`\nin the script `omnivore-export.py`,\nor set the environment variable `OMNIVORE_API_KEY`.\n\nIf you're not using the free hosted Omnivore,\nyou must also change the global variable `API_URL`\nor set the environment variable `OMNIVORE_API_URL`.\n\n### Other options\n\nYou can change the path for the exported data\nwith the global variable `BACKUP_PATH`\nor the environment variable `OMNIVORE_BACKUP_PATH`.\nThe current date is automatically added to the backup filename,\nunless you change the global variable `WITH_DATE` to False\nor set the environment variable `OMNIVORE_WITH_DATE` to `no`.\n\nThere are some more global variables that you can change in the script:\n\n- `SEARCH = \"in:all\"` - change if you don't want to export everything\n- `LIMIT = 100` - the batch size when querying the API (max. 100)\n- `TIMEOUT = 15` - the request timeout in seconds when querying the API\n- `WITH_CONTENT = False` - change if you want to export the content as well\n\n### Running the script\n\nFinally, just run the script via Python:\n\n```sh\npython omnivore-export.py \n```\n\n### Data store summary\n\nThis repository also contains a script `omnivore-summary.py`\nthat can be used to print a summary of the data store in Omnivore.\n\nAfter configuring it in the same way as the export script, run:\n\n```sh\npython omnivore-summary.py \n```\n\n### Command line options\n\nInstead of setting parameters in the script or via environment variables,\nyou can also pass them as options on the command line. You can show the\nexact command line syntax by running the script with the  `--help` option.\n\n## Data conversion script\n\n### Prerequisites\n\nIn order to convert your Omnivore links to Wallabag, you need to export them\nfirst using the function \"Settings\" - \"Export Data\" in the Omnivore web UI.\n\nThen you need to unpack the downloaded zip file into a sub-directory name\n\"export\" that should be in the same directory as the conversion script\n`omnivore-to-wallabag.py`. You can also specify a different input directory\nby changing the global variable `OMNIVORE_EXPORT_DIR` in the script.\n\n### Running the script\n\nThen simply run the script:\n\n```sh\npython omnivore-to-wallabag.py\n```\n\nIt will produce an output file with the name `wallabag.json`. If your export\nfrom Omnivore contains more than 500 links, then it will produce multiple\nenumerated output files instead, because Wallabag might run out of memory\nwhen the imported files are too huge. You can specify the batch size using\nthe global variable `BATCH_SIZE` in the script.\n\n### Re-importing the data\n\nFinally, import the JSON files generated by the script (in the correct order)\ninto Wallabag. You can find the import function in the web UI under\n\"My account\" - \"Import\" - \"Wallabag v2\" - \"Import contents\" - \"Upload file\".\n\nIf you imported the wrong files and want to start from scratch, you can use\nthe function \"Config\" - \"Reset area\" - \"Remove all entries\" in Wallabag.\n\nNote that the script currently does not convert highlights, just the links\nand the content.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcito%2Fomnivore-export","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcito%2Fomnivore-export","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcito%2Fomnivore-export/lists"}