sharelatex


Namesharelatex JSON
Version 1.0.3 PyPI version JSON
download
home_pagehttps://gitlab.inria.fr/sed-rennes/sharelatex/synchro-git-sharelatex
Summary
upload_time2023-01-05 22:57:55
maintainer
docs_urlNone
authorsed-rennes
requires_python
license
keywords sharelatex client
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.02516s