{ "info": { "author": "Moritz Gl\u00f6ckl", "author_email": "moritzgloeckl@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3" ], "description": "# Overleaf-Sync 1.0.1\n\n### Easy Overleaf Two-Way Synchronization\n\n![Made In Austria](https://img.shields.io/badge/Made%20in-Austria-%23ED2939.svg) ![Size](https://img.shields.io/github/size/moritzgloeckl/overleaf-sync.svg) ![PyPI - License](https://img.shields.io/pypi/l/overleaf-sync.svg) ![PyPI](https://img.shields.io/pypi/v/overleaf-sync.svg) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/overleaf-sync.svg)\n\nThis tool provides an easy way to synchronize Overleaf projects from and to your local computer. No paid account necessary.\n\n----\n\n## Features\n- Sync your locally modified `.tex` (and other) files to your Overleaf projects\n- Sync your remotely modified `.tex` (and other) files to computer\n- Works with free Overleaf account\n- No Git or Dropbox required\n- Does not steal or store your login credentials (works with a persisted cookie, [check yourself](https://github.com/moritzgloeckl/overleaf-sync/blob/master/olclient.py#L40))\n\n## How To Use\n### Install\nThe package is available via PyPI. Just run:\n\n```\nmoritz@github:~/test$ pip install overleaf-sync\n```\n\nThat's it!\n\n### Prerequisites\n- Create your project on overleaf.com, for example `test`. The tool is not able to create projects (yet).\n- Create a folder with the same name as the project (`test`) on your computer\n- Execute the script from that folder (`test`)\n\n### Usage\n#### Login \n```\nmoritz@github:~/test$ ols login [-u/--username -p/--pasword --path]\nUsername: \nPassword: \nLogin successful. Cookie persisted as `.olauth`. You may now sync your project.\n```\n\nYou can either specify your username and/or password on the command line or you will be prompted to enter them. The `login` command logs you into Overleaf and stores your *cookie* (**not** your login credentials) in a hidden file called `.olauth` in the same folder you run the command from. It is possible to store the cookie elsewhere using the `--path` option. The cookie file will not be synced to or from Overleaf.\n\n### Syncing\n```\nmoritz@github:~/test$ ols [-s/--sync -l/--local-only -r/--remote-only --store-path -p/--path]\n```\n\nJust calling `ols` will two-way sync your project. When there are changes both locally and remotely you will be asked which file to keep. Using the `-l` or `-r` option you can specify to either sync local project files to Overleaf only or Overleaf files to local ones only respectively. The option `--store-path` specifies the path of the cookie file created by the `login` command. If you did not change its path you do not need to specify this argument. The `-p/--path` option allows you to specify a different sync folder than the one you're calling `ols` from.\n\nSample Output:\n\n```\nProject queried successfully.\n\u2705 Querying project\nProject downloaded successfully.\n\u2705 Downloading project\n\nSyncing files from remote to local\n====================\n\n[SYNCING] report.tex\nreport.tex does not exist on local. Creating file.\n\n[SYNCING] other-report.tex\nother-report.tex does not exist on local. Creating file.\n\n\n\u2705 Syncing files from remote to local\n```\n\n## Known Bugs\n- When modifying a file on Overleaf and immediately syncing afterwards, the tool might not detect the changes. Please allow 1-2 minutes after modifying a file on Overleaf before syncing it to your local computer.\n\n## Disclaimer\nTHE AUTHOR OF THIS SOFTWARE AND THIS SOFTWARE IS NOT ENDORSED BY, DIRECTLY AFFILIATED WITH, MAINTAINED, AUTHORIZED, OR SPONSORED BY OVERLEAF OR WRITELATEX LIMITED. ALL PRODUCT AND COMPANY NAMES ARE THE REGISTERED TRADEMARKS OF THEIR ORIGINAL OWNERS. THE USE OF ANY TRADE NAME OR TRADEMARK IS FOR IDENTIFICATION AND REFERENCE PURPOSES ONLY AND DOES NOT IMPLY ANY ASSOCIATION WITH THE TRADEMARK HOLDER OF THEIR PRODUCT BRAND.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nTHIS SOFTWARE WAS DESIGNED TO BE USED ONLY FOR RESEARCH PURPOSES. THIS SOFTWARE COMES WITH NO WARRANTIES OF ANY KIND WHATSOEVER. USE IT AT YOUR OWN RISK! IF THESE TERMS ARE NOT ACCEPTABLE, YOU AREN'T ALLOWED TO USE THE CODE.\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/moritzgloeckl/overleaf-sync", "keywords": "overleaf sync latex tex", "license": "", "maintainer": "", "maintainer_email": "", "name": "overleaf-sync", "package_url": "https://pypi.org/project/overleaf-sync/", "platform": "", "project_url": "https://pypi.org/project/overleaf-sync/", "project_urls": { "Homepage": "https://github.com/moritzgloeckl/overleaf-sync" }, "release_url": "https://pypi.org/project/overleaf-sync/1.0.1/", "requires_dist": [ "requests", "beautifulsoup4", "yaspin", "python-dateutil", "click" ], "requires_python": ">=3", "summary": "Overleaf Two-Way Sync Tool", "version": "1.0.1" }, "last_serial": 5364006, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "21dcdb839e869d5ef2d7d6d4aeb01963", "sha256": "2352ddc11ca26f948c9b5407f34ba9d356d4e6f0f3e765cff2bd330637b77f92" }, "downloads": -1, "filename": "overleaf_sync-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "21dcdb839e869d5ef2d7d6d4aeb01963", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16172, "upload_time": "2019-06-05T19:47:40", "url": "https://files.pythonhosted.org/packages/11/3e/72e3bc8b260be2659a590adf19d9c93b5ba820eeda2dc4247a208b3ff0c8/overleaf_sync-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "298505664e35fec7a028609e38c93089", "sha256": "5db5e9483bb837995d37bb11bfd2f0e9fba14b32cdfc66d6bda36bb55765f0f2" }, "downloads": -1, "filename": "overleaf-sync-1.0.1.tar.gz", "has_sig": false, "md5_digest": "298505664e35fec7a028609e38c93089", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 7558, "upload_time": "2019-06-05T19:47:45", "url": "https://files.pythonhosted.org/packages/e6/fa/9f2acc3202264799979065f4aeceb1e794cb1b2387340126ca835777259c/overleaf-sync-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21dcdb839e869d5ef2d7d6d4aeb01963", "sha256": "2352ddc11ca26f948c9b5407f34ba9d356d4e6f0f3e765cff2bd330637b77f92" }, "downloads": -1, "filename": "overleaf_sync-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "21dcdb839e869d5ef2d7d6d4aeb01963", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16172, "upload_time": "2019-06-05T19:47:40", "url": "https://files.pythonhosted.org/packages/11/3e/72e3bc8b260be2659a590adf19d9c93b5ba820eeda2dc4247a208b3ff0c8/overleaf_sync-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "298505664e35fec7a028609e38c93089", "sha256": "5db5e9483bb837995d37bb11bfd2f0e9fba14b32cdfc66d6bda36bb55765f0f2" }, "downloads": -1, "filename": "overleaf-sync-1.0.1.tar.gz", "has_sig": false, "md5_digest": "298505664e35fec7a028609e38c93089", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 7558, "upload_time": "2019-06-05T19:47:45", "url": "https://files.pythonhosted.org/packages/e6/fa/9f2acc3202264799979065f4aeceb1e794cb1b2387340126ca835777259c/overleaf-sync-1.0.1.tar.gz" } ] }