{"id":13771217,"url":"https://github.com/sabidib/remarking","last_synced_at":"2025-05-11T03:33:08.368Z","repository":{"id":39656529,"uuid":"388488492","full_name":"sabidib/remarking","owner":"sabidib","description":"Remarking is an unofficial command line tool for extracting highlights from documents on your reMarkable tablet.","archived":false,"fork":false,"pushed_at":"2022-05-29T02:42:18.000Z","size":477,"stargazers_count":53,"open_issues_count":14,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-19T06:42:38.844Z","etag":null,"topics":["highlighting","python","remarkable-tablet"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sabidib.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null}},"created_at":"2021-07-22T14:19:43.000Z","updated_at":"2025-02-12T17:43:20.000Z","dependencies_parsed_at":"2022-08-28T05:41:59.610Z","dependency_job_id":null,"html_url":"https://github.com/sabidib/remarking","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabidib%2Fremarking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabidib%2Fremarking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabidib%2Fremarking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabidib%2Fremarking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sabidib","download_url":"https://codeload.github.com/sabidib/remarking/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514352,"owners_count":21920327,"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":["highlighting","python","remarkable-tablet"],"created_at":"2024-08-03T17:00:49.173Z","updated_at":"2025-05-11T03:33:08.073Z","avatar_url":"https://github.com/sabidib.png","language":"Python","funding_links":[],"categories":["Cloud Tools","Python"],"sub_categories":["Launchers"],"readme":"\u003ch1 align=\"center\"\u003e\n  Remarking\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/sabidib/remarking/issues/new?assignees=\u0026labels=bug\u0026template=01_BUG_REPORT.md\u0026title=bug%3A+\"\u003eReport a Bug\u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/sabidib/remarking/issues/new?assignees=\u0026labels=enhancement\u0026template=02_FEATURE_REQUEST.md\u0026title=feat%3A+\"\u003eRequest a Feature\u003c/a\u003e\n  .\n  \u003ca href=\"https://github.com/sabidib/remarking/issues/new?assignees=\u0026labels=question\u0026template=04_SUPPORT_QUESTION.md\u0026title=support%3A+\"\u003eAsk a Question\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003cbr /\u003e\n\n[![license](https://img.shields.io/github/license/sabidib/remarking.svg?style=flat-square)](LICENSE)\n[![PRs welcome](https://img.shields.io/badge/PRs-welcome-ff69b4.svg?style=flat-square)](https://github.com/sabidib/remarking/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)\n[![code with hearth by sabidib](https://img.shields.io/badge/%3C%2F%3E%20with%20%E2%99%A5%20by-sabidib-ff1414.svg?style=flat-square)](https://github.com/sabidib)\n[![Documentation Status](https://readthedocs.org/projects/remarking/badge/?version=latest)](http://ansicolortags.readthedocs.io/?badge=latest)\n\n\n\u003c/div\u003e\n\n\n## About\n\nRemarking is a command line tool for extracting highlights from documents on your reMarkable tablet.\n\nRemarking makes it as easy as possible to extract highlights from your annotated documents.\n\n\n![Remarking demo](docs/images/remarking_demo.gif)\n\n\n\nRemarking serves to be the first part of a highlight extraction pipeline.\n\nThis means, you can use Remarking to extract your highlights for then futher processing such as:\n  - Sending it to a service \n  - Combining it with another collection of highlights\n  - Further filtering of highlights with more tooling\n\nI found that there was no easy way of extracting highlights from the reMarkable. There were quite a few \ntools that focussed solely on extracting the highlights from the downloaded pdfs. However, nothing made\nthe process as easy as specifiying the folder to scan for documents.\n\n\n## Installation\n\n### Requirements\n\nYou will need at least:\n  - Python 3.7+\n  - Pip\n\n\n### Install\nTo get started you can install the package from pip with:\n```\npip3 install remarking\n```\n\nThe `remarking` command should then be available for you to use.\n\n\n## Usage\n\nCheck out the [docs](https://remarking.readthedocs.io/en/latest/) for help, or run `remarking --help`.\n\n\n### Token\n\nBefore you start you will need to grab a one-time authorization key from [https://my.remarkable.com/device/connect/desktop](https://my.remarkable.com/device/connect/desktop). This code is used to access the reMarkable cloud.\n\n[rmapy](https://github.com/subutux/rmapy) is used to access the reMarkable Cloud. After authorizing the first time, the tool will store an auth\ntoken in `~/.rmapi` for future use. You won't need to re-authorize by providing the token again until you deauthorize\nthe key.\n\nYou can specify the token through the `REMARKING_TOKEN` env var in addition to via command line with `--token`.\n\n### Modes\n\nThere are two main modes of usage of Remarking: run and persist.\n\n#### run\n\n`remarking run` will run the default extractors on all passed documents and folders. Highlights extracted\nare then output using the writer subcommand passed.\n\n```\nremarking run json books\n```\n\nThis command will run the default extractors on all documents in the books folder and output the highlights as json.\n\n#### persist\n\n`remarking persist` performs the same extraction on documents as run, however it maintains state\nof previously seen documents and highlights.\n\nBy default it creates a `remarking_database.sqlite3` database file in the current working directory that keeps track of\nseen highlights and documents.\n\nYou can also use your own database by providing the `--sqlalchemy` argument with a sqlalchemy connection string.\n\n```\nremarking persist json books\n```\n\nThis command will run the default extractors on all documents in the books folder and output the highlights as json.\n\nAll documents and their highlights found would also be added to the sqlite3 database `remarking_database.sqlite3`.\n\nA second run would return no new highlights if the documents in the books folder are not modified.\n\n## Examples\n\nYou can check out some examples in [the examples section of the docs](https://remarking.readthedocs.io/en/latest/examples.html).\n\n## Roadmap\n\nSee the [open issues](https://github.com/sabidib/remarking/issues) for a list of proposed features (and known issues).\n\n## Built With\n\n  - Python 3\n  - [rmapy](https://github.com/subutux/rmapy)\n  - [click](https://click.palletsprojects.com/en/8.0.x/)\n  - [sqlalchemy](https://www.sqlalchemy.org/)\n\n## Support\n\nReach out to the maintainer at one of the following places:\n\n\n- [GitHub issues](https://github.com/sabidib/remarking/issues/new?assignees=\u0026labels=question\u0026template=04_SUPPORT_QUESTION.md\u0026title=support%3A+)\n- The email which is located [in this GitHub profile](https://github.com/sabidib)\n\n\n## Contributing\n\nFirst off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are **greatly appreciated**.\n\nWe have set up a separate document containing our [contribution guidelines](CONTRIBUTING.md).\n\nThank you for being involved!\n\n## Authors \u0026 contributors\n\nThe original setup of this repository is by [Samy Abidib](https://github.com/sabidib).\n\nFor a full list of all authors and contributors, check [the contributor's page](https://github.com/sabidib/remarking/contributors).\n\n## Security\n\nRemarking follows good practices of security, but 100% security can't be granted in software.\nRemarking is provided **\"as is\"** without any **warranty**. Use at your own risk.\n\n_For more info, please refer to [security](SECURITY.md)._\n\n## License\n\nThis project is licensed under the **GPL v3** license.\n\nSee [LICENSE](LICENSE) for more information.\n\n## Acknowledgements\n\n* [rmapy](https://github.com/subutux/rmapy)\n* [remarks](https://github.com/lucasrla/remarks)\n* [biff](https://github.com/soulisalmed/biff)\n* [sqlalchemy](https://www.sqlalchemy.org/)\n* [The unofficial reMarkable discord](https://discord.gg/u3P9sDW)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabidib%2Fremarking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsabidib%2Fremarking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabidib%2Fremarking/lists"}