Python-sharelatex is a library to interact with https://sharelatex.irisa.fr. It
also includes a command line tools to sync your remote project with Git. This
allows you to work offline on your project and later sync your local copy with
the remote one.
Links
-----
- Source: https://gitlab.inria.fr/sed-rennes/sharelatex
- Documentation: https://sed-rennes.gitlabpages.inria.fr/sharelatex/python-sharelatex
- Mattermost: https://mattermost.irisa.fr/sed-rba/channels/sharelatex-users
- Pypi: https://pypi.org/project/sharelatex/
**The code is currently experimental and under development. Use it with caution.**
Installation
------------
.. code:: bash
# Latest stable version
pip install sharelatex
# Development version
git clone https://gitlab.inria.fr/sed-rennes/sharelatex/python-sharelatex
cd python-sharelatex
pip install [-e] .
Compatibility notes
-------------------
The tool is targetting the community edition of ShareLatex/Overleaf and we are
testing it on:
- https://sharelatex.irisa.fr -- ``legacy`` authentication method
- https://overleaf.irisa.fr -- ``gitlab`` authentication method
- Overleaf CE (3.0.1) -- ``community`` authentication method
Persistent sessions
-------------------
Sessions are persistent and store in the application directory (exact might
differ on the OS used). Is uses `appdirs
<https://github.com/ActiveState/appdirs>`_ internally.
Note on passwords management
----------------------------
Passwords are stored in your keyring service (Keychain, Kwallet ...) thanks to
the `keyring <https://pypi.org/project/keyring/>`_ library. Please refer to the
dedicated documentation for more information.
Quick examples
--------------
Display the possible actions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`slatex` is a subcommand of git that calls the ``git-slatex`` programm shipped by this project.
.. code:: bash
$) git slatex
Usage: git-slatex [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
clone Get (clone) the files from sharelatex projet URL and crate a...
compile Compile the remote version of a project
new Upload the current directory as a new sharelatex project
pull Pull the files from sharelatex.
push Push the commited changes back to sharelatex
For instance you can get the help on a specific sub-command with the following:
.. code:: bash
git slatex clone --help
Get an existing project on slatex
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: bash
mkdir test
cd test
# download all files of a remote project
git slatex clone <project_URL> <local_path_to_project>
Editing and pushing back to slatex
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: bash
# edit your files
# commit, commit, commit ...
#
# Push back your change to sharelatex
git slatex push
Concurrent updates may occur between your local files (because you changed them)
and the remote ones (because you collaborators changed them). So before pushing,
we try to make sure the merge between the remote copy and the local ones is ok.
You'll have to resolve the conflict manually (as usual with Git) and attempt a
new push.
Pull changes from sharelatex to local (like a git pull)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: bash
# Pull changes from sharelatex
git slatex pull
Create a remote project from a local git
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: bash
git slatex new <base_server_URL> <new_project_name>
Raw data
{
"_id": null,
"home_page": "https://gitlab.inria.fr/sed-rennes/sharelatex/synchro-git-sharelatex",
"name": "sharelatex",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "sharelatex,client",
"author": "sed-rennes",
"author_email": "sed-rba@inria.fr",
"download_url": "",
"platform": null,
"description": "Python-sharelatex is a library to interact with https://sharelatex.irisa.fr. It\nalso includes a command line tools to sync your remote project with Git. This\nallows you to work offline on your project and later sync your local copy with\nthe remote one.\n\nLinks\n-----\n\n- Source: https://gitlab.inria.fr/sed-rennes/sharelatex\n- Documentation: https://sed-rennes.gitlabpages.inria.fr/sharelatex/python-sharelatex\n- Mattermost: https://mattermost.irisa.fr/sed-rba/channels/sharelatex-users\n- Pypi: https://pypi.org/project/sharelatex/\n\n\n**The code is currently experimental and under development. Use it with caution.**\n\n\nInstallation\n------------\n\n\n.. code:: bash\n\n # Latest stable version\n pip install sharelatex\n\n # Development version\n git clone https://gitlab.inria.fr/sed-rennes/sharelatex/python-sharelatex\n cd python-sharelatex\n pip install [-e] .\n\nCompatibility notes\n-------------------\n\nThe tool is targetting the community edition of ShareLatex/Overleaf and we are\ntesting it on:\n\n- https://sharelatex.irisa.fr -- ``legacy`` authentication method\n- https://overleaf.irisa.fr -- ``gitlab`` authentication method\n- Overleaf CE (3.0.1) -- ``community`` authentication method\n\n\nPersistent sessions\n-------------------\n\nSessions are persistent and store in the application directory (exact might\ndiffer on the OS used). Is uses `appdirs\n<https://github.com/ActiveState/appdirs>`_ internally.\n\nNote on passwords management\n----------------------------\n\nPasswords are stored in your keyring service (Keychain, Kwallet ...) thanks to\nthe `keyring <https://pypi.org/project/keyring/>`_ library. Please refer to the\ndedicated documentation for more information.\n\nQuick examples\n--------------\n\nDisplay the possible actions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n`slatex` is a subcommand of git that calls the ``git-slatex`` programm shipped by this project.\n\n.. code:: bash\n\n $) git slatex\n\n Usage: git-slatex [OPTIONS] COMMAND [ARGS]...\n\n Options:\n --help Show this message and exit.\n\n Commands:\n clone Get (clone) the files from sharelatex projet URL and crate a...\n compile Compile the remote version of a project\n new Upload the current directory as a new sharelatex project\n pull Pull the files from sharelatex.\n push Push the commited changes back to sharelatex\n\n\nFor instance you can get the help on a specific sub-command with the following:\n\n.. code:: bash\n\n git slatex clone --help\n\n\nGet an existing project on slatex\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: bash\n\n mkdir test\n cd test\n # download all files of a remote project\n git slatex clone <project_URL> <local_path_to_project>\n\n\nEditing and pushing back to slatex\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n\n.. code:: bash\n\n # edit your files\n # commit, commit, commit ...\n #\n # Push back your change to sharelatex\n git slatex push\n\nConcurrent updates may occur between your local files (because you changed them)\nand the remote ones (because you collaborators changed them). So before pushing,\nwe try to make sure the merge between the remote copy and the local ones is ok.\nYou'll have to resolve the conflict manually (as usual with Git) and attempt a\nnew push.\n\nPull changes from sharelatex to local (like a git pull)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n\n.. code:: bash\n\n # Pull changes from sharelatex\n git slatex pull\n\n\n\n\nCreate a remote project from a local git\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: bash\n\n git slatex new <base_server_URL> <new_project_name>\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "",
"version": "1.0.3",
"split_keywords": [
"sharelatex",
"client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0983444b517babbff4bd426f8aad0ac96430fd32a7056b204afc12a8487c36ab",
"md5": "490c93c623dd50fc45d13c1eca1366b3",
"sha256": "ec558aceca91fbf53e44564b35012f73d92b939267d6dca2581cf749a2b32118"
},
"downloads": -1,
"filename": "sharelatex-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "490c93c623dd50fc45d13c1eca1366b3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 33747,
"upload_time": "2023-01-05T22:57:55",
"upload_time_iso_8601": "2023-01-05T22:57:55.568504Z",
"url": "https://files.pythonhosted.org/packages/09/83/444b517babbff4bd426f8aad0ac96430fd32a7056b204afc12a8487c36ab/sharelatex-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-05 22:57:55",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "sharelatex"
}