# QrM - Qt5 based file explorer for reMarkable
Use a Qt5 based UI to ~manage~ view, upload, delete content of/to your
reMarkable I/II via SSH.
[Project page](https://projects.om-office.de/frans/qrm)
## Usage
Once configured run `qrm` to start up a UI, connect to and see a list of content on a (WiFi enabled
and switched on) reMarkable device. Drag and drop EPUB and PDF files onto the window to make them
available on the device.
Run `qrm [ls|list]` to list content on the connected device
Run `qrm [upload|push] <FILE> [<FILE>]` to copy stuff onto the connected device
Run `qrm info` to see configuration and stuff
Run `qrm reboot` to .. you know..
Run `qrm config-auth <KEY>=<VALUE> ...` to configure stuff, e.g.
Please note that currently reMarkable will not recognize file modifications done via SSH - to make
new files available you'll have to reboot the device. Run `qrm reboot` or press the `Reboot` button
to do this via SSH (or reboot it manually).
### Configuration
In the UI just enter your credentials, they're getting saved automatically.
The command line interface allows persistant configuration using the `config-auth` sub-command:
```
qrm config-auth host=192.168.178.13 password='s0rry_Pl4in+ex+!'
```
Please note that currently only connection via IP address (rather than hostname) and plaintext
password is working. This is subject to change ("of course").
## ToDo for v1.0
* Allow hostnames instead of IP addresses
* Make use of shared keys and configuration in `~/.ssh/config`
* Support drag&drop to add content in UI
* Support deletion
* Support Pdf
* Support web pages via Pdf
## Future features
* Download and manage notes
* Make backups
* Other convenience stuff via SSH, e.g. installing software
## Installation
```
pip3 install [--user] [--upgrade] qrm
```
## Development & Contribution
```
# provide dependencies, consider also using pyenv
pip3 install -U poetry pre-commit
git clone --recurse-submodules https://projects.om-office.de/frans/qrm.git
cd qrm
# activate a pre-commit gate keeper
pre-commit install
# if you need a specific version of Python inside your dev environment
poetry env use ~/.pyenv/versions/3.10.4/bin/python3
poetry install
```
## License
For all code contained in this repository the rules of GPLv3 apply unless
otherwise noted. That means that you can do what you want with the source
code as long as you make the files with their original copyright notice
and all modifications available.
See [GNU / GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html) for details.
## Read
*(nothing here yet)*
Raw data
{
"_id": null,
"home_page": "https://projects.om-office.de/frans/qrm.git",
"name": "qrm",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "",
"author": "Frans F\u00fcrst",
"author_email": "frans.fuerst+gitlab@protonmail.com",
"download_url": "https://files.pythonhosted.org/packages/18/26/9c649b79713b7fb8a07e8372577ff0eb11c5da908fb87d30e013383d0f8e/qrm-0.2.0.tar.gz",
"platform": null,
"description": "# QrM - Qt5 based file explorer for reMarkable\n\nUse a Qt5 based UI to ~manage~ view, upload, delete content of/to your\nreMarkable I/II via SSH.\n\n[Project page](https://projects.om-office.de/frans/qrm)\n\n\n## Usage\n\nOnce configured run `qrm` to start up a UI, connect to and see a list of content on a (WiFi enabled\nand switched on) reMarkable device. Drag and drop EPUB and PDF files onto the window to make them\navailable on the device.\n\nRun `qrm [ls|list]` to list content on the connected device\n\nRun `qrm [upload|push] <FILE> [<FILE>]` to copy stuff onto the connected device\n\nRun `qrm info` to see configuration and stuff\n\nRun `qrm reboot` to .. you know..\n\nRun `qrm config-auth <KEY>=<VALUE> ...` to configure stuff, e.g.\n\nPlease note that currently reMarkable will not recognize file modifications done via SSH - to make\nnew files available you'll have to reboot the device. Run `qrm reboot` or press the `Reboot` button\nto do this via SSH (or reboot it manually).\n\n\n### Configuration\n\nIn the UI just enter your credentials, they're getting saved automatically.\n\nThe command line interface allows persistant configuration using the `config-auth` sub-command:\n\n```\nqrm config-auth host=192.168.178.13 password='s0rry_Pl4in+ex+!'\n```\n\nPlease note that currently only connection via IP address (rather than hostname) and plaintext\npassword is working. This is subject to change (\"of course\").\n\n\n## ToDo for v1.0\n\n* Allow hostnames instead of IP addresses\n* Make use of shared keys and configuration in `~/.ssh/config`\n* Support drag&drop to add content in UI\n* Support deletion\n* Support Pdf\n* Support web pages via Pdf\n\n\n## Future features\n\n* Download and manage notes\n* Make backups\n* Other convenience stuff via SSH, e.g. installing software\n\n\n## Installation\n\n```\npip3 install [--user] [--upgrade] qrm\n```\n\n\n## Development & Contribution\n\n```\n# provide dependencies, consider also using pyenv\npip3 install -U poetry pre-commit\n\ngit clone --recurse-submodules https://projects.om-office.de/frans/qrm.git\n\ncd qrm\n\n# activate a pre-commit gate keeper\npre-commit install\n\n# if you need a specific version of Python inside your dev environment\npoetry env use ~/.pyenv/versions/3.10.4/bin/python3\n\npoetry install\n```\n\n## License\n\nFor all code contained in this repository the rules of GPLv3 apply unless\notherwise noted. That means that you can do what you want with the source\ncode as long as you make the files with their original copyright notice\nand all modifications available.\n\nSee [GNU / GPLv3](https://www.gnu.org/licenses/gpl-3.0.en.html) for details.\n\n\n## Read\n\n*(nothing here yet)*\n",
"bugtrack_url": null,
"license": "",
"summary": "PyQt5 based reMarkable explorer",
"version": "0.2.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "193e460b82fecc40a682856f572e373e2c49de2aff9c63269c8464f10899ab70",
"md5": "2c36e792dadc69dd1f68a9c0d0d7d774",
"sha256": "b2e7948bbaf7b2b16c82e6fc33fddcc42b63e61bdc6dcf9a8e0ed420360cfce2"
},
"downloads": -1,
"filename": "qrm-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2c36e792dadc69dd1f68a9c0d0d7d774",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 9137,
"upload_time": "2023-03-15T11:07:52",
"upload_time_iso_8601": "2023-03-15T11:07:52.079165Z",
"url": "https://files.pythonhosted.org/packages/19/3e/460b82fecc40a682856f572e373e2c49de2aff9c63269c8464f10899ab70/qrm-0.2.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "18269c649b79713b7fb8a07e8372577ff0eb11c5da908fb87d30e013383d0f8e",
"md5": "0826f385363c582fd72c64744f77921a",
"sha256": "18483142d26560710457fad17b81e707173389754d417f66073369f45864f913"
},
"downloads": -1,
"filename": "qrm-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "0826f385363c582fd72c64744f77921a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 9822,
"upload_time": "2023-03-15T11:07:53",
"upload_time_iso_8601": "2023-03-15T11:07:53.876484Z",
"url": "https://files.pythonhosted.org/packages/18/26/9c649b79713b7fb8a07e8372577ff0eb11c5da908fb87d30e013383d0f8e/qrm-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-15 11:07:53",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "qrm"
}