{ "info": { "author": "Daniel Mizyrycki", "author_email": "mzdaniel@glidelink.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Documentation", "Topic :: Documentation :: Sphinx", "Topic :: Text Processing :: Markup", "Topic :: Utilities" ], "description": "===========\nsphinxserve\n===========\n\n.. image:: https://travis-ci.org/mzdanieltest/sphinxserve.svg?branch=master\n :target: https://travis-ci.org/mzdanieltest/sphinxserve\n :alt: [Build tests]\n.. image:: https://img.shields.io/badge/github-repo-yellowgreen.jpg\n :target: https://github.com/mzdaniel/sphinxserve\n :alt: [Code repo]\n.. image:: https://img.shields.io/pypi/v/sphinxserve.jpg\n :target: https://pypi.python.org/pypi/sphinxserve\n :alt: [Pypi package]\n\n\nsphinxserve is a tool to effectively document projects\n======================================================\n\nSince the internet adopted HTML, many communities are trying to find ways to\nwrite web pages in ways that can be pleasantly readable and writable. In our\npython community, `reStructuredText`_ and `Sphinx`_ have been created to author\nbeautiful documentation. The goal of sphinxserve is to make them more\naccessible, interactive, and convenient to use.\n\n\nExamples of projects using sphinx\n=================================\n\n======================== ================================================\nSphinx http://sphinx-doc.org\nRead The Docs https://read-the-docs.readthedocs.org\nProjects using sphinx http://sphinx-doc.org/examples.html\nsphinxjp.themes.revealjs http://pythonhosted.org/sphinxjp.themes.revealjs\nloadconfig http://loadconfig.glidelink.net/docs\n======================== ================================================\n\n\nDesign considerations\n=====================\n\nsphinxserve was originally conceived as a Python and Linux project that can\nvisualize sphinx document modifications in real time while working on them. At\nits core, sphinxserve uses the awesome projects `gevent`_ to provide\nconcurrency and event coordination, `flask`_ for web communication, Sphinx\nfor reStructucturedText rendering and of course `Python`_. sphinxserve used to\ncontrol browser reloading with xdotool, introducing a complex system tool\ndependency. On release 0.7, sphinxserve decouples from this system dependency\nusing instead flask-sockets python package. The tradeoff here was to\ntemporarily drop python3 support until the gevent ecosystem officially\nsupports python3 which should be soon. Also, the filesystem notification tool\nwas upgraded to watchdog, removing another system dependency and making\nthe code more generic and cleaner. With these changes, as of release 0.7.4,\nsphinxserve is able to run in other platforms as OSX and Windows for example.\n\n\nInstallation\n============\n\nsphinxserve can be installed either as a `python package`_, or as a `docker`_\napplication. On linux and OSX, it can also be installed as a pex\n`python executable`_\n\n.. _python package: https://pypi.python.org/pypi/sphinxserve\n.. _docker app: https://hub.docker.com/r/mzdaniel/sphinxserve\n.. _Python executable: https://github.com/mzdaniel/sphinxserve/releases\n\n\nPython executable (PEX)\n~~~~~~~~~~~~~~~~~~~~~~~\n\nThis is the easiest (no compilation or fancy tooling needed) and smallest\n(~9 MB) way to install sphinxserve using the excellent `PEX`_ tool. In itself,\nit is a zipfile containing all python package dependencies and only requires\nthe python interpreter. This pex is verified to work at least in Debian>=7,\nUbuntu>=14, Centos>=7 and Arch distros on Linux and in Yosemite on OSX.\n\nLinux\n-----\n\nSystem dependencies: glibc linux>=3, python>=2.7,<3 and a web browser\nsupporting websockets (Firefox, Chrome, etc) on Linux::\n\n $ wget -O ~/bin/sphinxserve https://github.com/mzdaniel/sphinxserve/releases/download/0.7.4/sphinxserve-linux\n $ chmod 755 ~/bin/sphinxserve\n\nOSX\n---\n\nYosemite already has all needed dependencies::\n\n $ wget -O ~/bin/sphinxserve https://github.com/mzdaniel/sphinxserve/releases/download/0.7.4/sphinxserve-osx\n $ chmod 755 ~/bin/sphinxserve\n\n\nPython package\n~~~~~~~~~~~~~~\n\nLinux system dependencies: glibc linux>=3, python>=2.7,<3, the C toolchain\n(package names dependent on linux distro) to compile gevent and a web browser\nsupporting websockets. pip automatically downloads sphinxserve and its python\ndependencies, compiles and builds wheel binary packages as needed and finally\ninstall sphinxserve.\n\nOSX system dependencies: Xcode. Verified to work on Yosemite.\n\nWindows system dependencies: Verified to work on Windows 7, python >=2.7,<3 and\na web browser supporting websockets with just pip installing.\n\nIn all systems::\n\n $ pip install sphinxserve\n\n\nDocker application\n~~~~~~~~~~~~~~~~~~\n\n`Docker`_ is an extraordinary tool that simplifies the entire dependency tree\nby including it in a system image. This makes the installation experience\nmuch more pleasant and the ability to run on OSX, Windows and Linux with the\nsame image, assuming proper setup of the docker network and volume. Another\nadvantage is that a running image cannot see your filesystem by default.\nSharing directories and which ones is an explicit setup. This method is\nverified to work on Linux so far.\n\nSystem dependencies: docker and a web browser supporting websockets.\n\nThis installation command automatically downloads sphinxserve image (~40 MB)\nand creates a small shell script ~/bin/sphinxserve that simplifies the running\ninterface with the following command::\n\n $ docker run mzdaniel/sphinxserve install | bash\n\n\nLaunching\n=========\n\nLaunching sphinxserve is as simple as::\n\n $ sphinxserve [OPTIONAL_SPHINX_PATH]\n\nBy default, it assumes the sphinx project is in the current directory. A\nsphinx project needs to have the configuration file conf.py, and if not found,\nsphinxserve will automatically create 2 new files: conf.py and a\nrestructuredtext index.rst.\n\nTo change host and/or port, and other options, check the help with::\n\n $ sphinxserve serve --help\n\n\nWorkflow\n========\n\nAfter launching sphinxserve, it will build the sphinx pages and serve them\nby default on localhost:8888. To see the rendered documentation, just point\nyour browser to localhost:8888. Any saved changes on rst or txt files will\ntrigger docs rebuild.\n\n\nThanks!\n=======\n\n* `Guido van Rossum`_ and `Linus Torvalds`_\n* Georg Brandl & David Goodger for `Sphinx`_ and `reStructuredText`_\n* Denis Bilenko, Armin Rigo & Christian Tismer for `Gevent`_ and `Greenlet`_\n* Armin Ronacher for `Flask`_\n* Jeffrey Gelens & Kenneth Reitz for `gevent websocket`_ and `flask sockets`_\n* Yesudeep Mangalapilly for `watchdog`_\n* Holger Krekel for `pytest`_ and `tox`_\n* Eric Holscher for `Read The Docs`_\n* Brian Wickman for `PEX`_\n* Mark Otto, Jacob Thornton & Ryan Roemer for `Bootstrap`_ `sphinx bootstrap`_\n* Hakim El Hattab & tell-k for `Revealjs`_ and `sphinx revealjs`_\n* Solomon Hykes, Jerome Petazzoni and Sam Alba for `Docker`_\n* The awesome Python, Linux and Git communities\n\n.. _Guido van Rossum: http://en.wikipedia.org/wiki/Guido_van_Rossum\n.. _Linus Torvalds: http://en.wikipedia.org/wiki/Linus_Torvalds\n.. _python: https://www.python.org\n.. _sphinx: http://sphinx-doc.org/tutorial.html\n.. _restructuredtext: http://docutils.sourceforge.net/rst.html\n.. _gevent: http://gevent.org\n.. _greenlet: https://github.com/python-greenlet/greenlet\n.. _flask: http://flask.pocoo.org\n.. _gevent websocket: https://bitbucket.org/Jeffrey/gevent-websocket\n.. _flask sockets: https://github.com/kennethreitz/flask-sockets\n.. _watchdog: https://github.com/gorakhargosh/watchdog\n.. _pytest: http://pytest.org\n.. _pex: https://github.com/pantsbuild/pex\n.. _tox: https://testrun.org/tox\n.. _read the docs: https://readthedocs.org\n.. _bootstrap: http://getbootstrap.com\n.. _sphinx bootstrap: http://ryan-roemer.github.io/sphinx-bootstrap-theme\n.. _revealjs: http://lab.hakim.se/reveal-js\n.. _sphinx revealjs: http://pythonhosted.org/sphinxjp.themes.revealjs\n.. _docker: https://www.docker.com", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mzdaniel/sphinxserve", "keywords": "sphinx\ndocumentation\nrestructuredtext", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "sphinxserve", "package_url": "https://pypi.org/project/sphinxserve/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/sphinxserve/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mzdaniel/sphinxserve" }, "release_url": "https://pypi.org/project/sphinxserve/0.7.4/", "requires_dist": null, "requires_python": null, "summary": "sphinxserve renders sphinx docs monitoring file changes", "version": "0.7.4" }, "last_serial": 2140050, "releases": { "0.6": [ { "comment_text": "", "digests": { "md5": "8bda91841550a7772b24588304a8edd9", "sha256": "e0bf98802fc11bb54dd896e967f9dbbff74fa26bcf696e798743f9fc1e9e559e" }, "downloads": -1, "filename": "sphinxserve-0.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "8bda91841550a7772b24588304a8edd9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 8629, "upload_time": "2015-07-29T06:30:27", "url": "https://files.pythonhosted.org/packages/ed/09/2682f992bb51a9ed73857fdd991ddaae7af65738b723302540232581e9f7/sphinxserve-0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8bc4c241107410536a7a70387802cbf", "sha256": "5cf70cd958bff82a6852346677851a0b93fd4546aabbe959113d6c32f4c50fc5" }, "downloads": -1, "filename": "sphinxserve-0.6.tar.gz", "has_sig": true, "md5_digest": "a8bc4c241107410536a7a70387802cbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6228, "upload_time": "2015-07-29T06:30:24", "url": "https://files.pythonhosted.org/packages/92/a1/d9a0813add3df194cc73ad1f912a2edbe043a329d9ecf6ed6854ffa0365a/sphinxserve-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "f3b9ce61afbdb1fadb2c8a9cdb83c488", "sha256": "c0364e0c6b12cbdcd651eb5d1c7993a5514eda0c596a064d3d33968708c8b3ba" }, "downloads": -1, "filename": "sphinxserve-0.7-py2-none-any.whl", "has_sig": true, "md5_digest": "f3b9ce61afbdb1fadb2c8a9cdb83c488", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11373, "upload_time": "2015-08-11T22:23:03", "url": "https://files.pythonhosted.org/packages/37/a4/6fbc156a33b69a9c6e54ba0445821cfbb222b5c7b8ced4936a68fa1dada6/sphinxserve-0.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "055c2690170847f921b654a44ca18b9a", "sha256": "f330b89e732bd3a7311cea518ae65f9e70877354e6b8e81c264661299f7e408f" }, "downloads": -1, "filename": "sphinxserve-0.7.tar.gz", "has_sig": true, "md5_digest": "055c2690170847f921b654a44ca18b9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8288, "upload_time": "2015-08-11T22:22:59", "url": "https://files.pythonhosted.org/packages/af/26/72d054b9e443f4b02db066b1b40e63d2f29ff369de16e6f4e1653074c132/sphinxserve-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "4f45b42d0d2afd2894e6a6cfceb6dc9c", "sha256": "2672a354ca0a8214f126e78462442b57a5edc9839ee8f5daf5f6b7a78c4e162c" }, "downloads": -1, "filename": "sphinxserve-0.7.1-py2-none-any.whl", "has_sig": true, "md5_digest": "4f45b42d0d2afd2894e6a6cfceb6dc9c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12462, "upload_time": "2015-08-12T22:03:35", "url": "https://files.pythonhosted.org/packages/16/62/d2057f48710c11f76800d8f47a04e7ddc96672d880cf66d9f082e9060cd3/sphinxserve-0.7.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c470180a6b0796b8016970f12ac9bf96", "sha256": "d7ef5aee083340ed43f2cbd85a4874b9b0899d45770b003564c6e48ad12e6d65" }, "downloads": -1, "filename": "sphinxserve-0.7.1.tar.gz", "has_sig": true, "md5_digest": "c470180a6b0796b8016970f12ac9bf96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9000, "upload_time": "2015-08-12T22:03:31", "url": "https://files.pythonhosted.org/packages/c1/7e/f653321a4ce55342e5a3b0b12728d1cd7724a2a4b0bf0b568e85326ec5b0/sphinxserve-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "2ca8e8058ef58dbef82710b64420e754", "sha256": "d08576e8ab9402d38eee7cc290a80a67b68a0ae16cdd6ffcf8e9ac6443d9f5b4" }, "downloads": -1, "filename": "sphinxserve-0.7.2-py2-none-any.whl", "has_sig": true, "md5_digest": "2ca8e8058ef58dbef82710b64420e754", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12299, "upload_time": "2015-08-17T20:12:32", "url": "https://files.pythonhosted.org/packages/cc/03/3d262e262464dcc90311f42f3bc5d583af46e6ba0ece41c6231788c9533e/sphinxserve-0.7.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16e3cf776d794dc47a3790a0121c3ff5", "sha256": "4aa2c22189a66c5f37d172e86f9397c14ce28dc3a18ec27fffca792a8eee0cda" }, "downloads": -1, "filename": "sphinxserve-0.7.2.tar.gz", "has_sig": true, "md5_digest": "16e3cf776d794dc47a3790a0121c3ff5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8904, "upload_time": "2015-08-17T20:12:28", "url": "https://files.pythonhosted.org/packages/55/01/2fddbe16cbb708ded5c2549e87c164ac5ce4245d46ef8a1bc642d38fc8f3/sphinxserve-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "1efbba9233f6e396db2dc48137d2d123", "sha256": "b5e90d398eda894b3e75be6651aff856d7d69a9c5e9f2dd5e1041d16be9c6e0a" }, "downloads": -1, "filename": "sphinxserve-0.7.3-py2-none-any.whl", "has_sig": true, "md5_digest": "1efbba9233f6e396db2dc48137d2d123", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12660, "upload_time": "2015-08-29T03:38:33", "url": "https://files.pythonhosted.org/packages/07/d2/791a94e4bd2cb73c9f0ef2026672341e6bbce195f6cd91c55cfb2f0ace88/sphinxserve-0.7.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4b06fcae50e19e07c879318381f62dc", "sha256": "676e83e7352da0d79edcbe170c5fb7785fe76a61dbd82e8075d4260fa42989d5" }, "downloads": -1, "filename": "sphinxserve-0.7.3.tar.gz", "has_sig": true, "md5_digest": "d4b06fcae50e19e07c879318381f62dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9155, "upload_time": "2015-08-29T03:38:29", "url": "https://files.pythonhosted.org/packages/3a/48/3b8db3ec1d1277f8f5c008ee6455035fd8fa45d6b118ec9273189cee2927/sphinxserve-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "67fa9b193f02166de2462b2bb33ac4d6", "sha256": "1b44ead1157f15b257c125ff06fef6af76995ffe6886b4d1f843ad29ad7218a2" }, "downloads": -1, "filename": "sphinxserve-0.7.4-py2-none-any.whl", "has_sig": true, "md5_digest": "67fa9b193f02166de2462b2bb33ac4d6", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12760, "upload_time": "2015-09-05T22:58:09", "url": "https://files.pythonhosted.org/packages/43/a7/747d1aa894f5d9bd19652cd6f9b07fe713376f9405815047d073ca1ab6ff/sphinxserve-0.7.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cb7a79f49ad509e82baf298938126c5", "sha256": "b9f76a6ecbe2d046c53ed9cb03f261816a7630150d84a171edd2bcd1bed33a9f" }, "downloads": -1, "filename": "sphinxserve-0.7.4.tar.gz", "has_sig": true, "md5_digest": "8cb7a79f49ad509e82baf298938126c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9283, "upload_time": "2015-09-05T22:58:04", "url": "https://files.pythonhosted.org/packages/87/33/3ba4395a9b34fe330543888cb171d6eb2907d04288787c4c8604ab16d5bd/sphinxserve-0.7.4.tar.gz" } ], "0.8b1": [ { "comment_text": "", "digests": { "md5": "4e3dc107689dbf51171f94f9f4aa9e0c", "sha256": "d0df62aa37f14495ca03dc4cbbc5fb54f347b77a47279e678762d2e89d99dc70" }, "downloads": -1, "filename": "sphinxserve-0.8b1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "4e3dc107689dbf51171f94f9f4aa9e0c", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 13707, "upload_time": "2016-05-30T02:27:39", "url": "https://files.pythonhosted.org/packages/91/97/620904bc740002ed2db0a890713c63a881285d2be4020bfcb315d80df898/sphinxserve-0.8b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2cc1980ffb949ae1355ab12da203f64", "sha256": "b1ae4a32c71d6a829395b2ec4600a6bbb2acbe44b5d695834cb9fd459cc7baf5" }, "downloads": -1, "filename": "sphinxserve-0.8b1.tar.gz", "has_sig": true, "md5_digest": "d2cc1980ffb949ae1355ab12da203f64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17421, "upload_time": "2016-05-30T02:27:33", "url": "https://files.pythonhosted.org/packages/a0/a2/8185b2cf85f07215e8148b9bef74492e1b786401274d307df5280ef50d05/sphinxserve-0.8b1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "67fa9b193f02166de2462b2bb33ac4d6", "sha256": "1b44ead1157f15b257c125ff06fef6af76995ffe6886b4d1f843ad29ad7218a2" }, "downloads": -1, "filename": "sphinxserve-0.7.4-py2-none-any.whl", "has_sig": true, "md5_digest": "67fa9b193f02166de2462b2bb33ac4d6", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12760, "upload_time": "2015-09-05T22:58:09", "url": "https://files.pythonhosted.org/packages/43/a7/747d1aa894f5d9bd19652cd6f9b07fe713376f9405815047d073ca1ab6ff/sphinxserve-0.7.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cb7a79f49ad509e82baf298938126c5", "sha256": "b9f76a6ecbe2d046c53ed9cb03f261816a7630150d84a171edd2bcd1bed33a9f" }, "downloads": -1, "filename": "sphinxserve-0.7.4.tar.gz", "has_sig": true, "md5_digest": "8cb7a79f49ad509e82baf298938126c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9283, "upload_time": "2015-09-05T22:58:04", "url": "https://files.pythonhosted.org/packages/87/33/3ba4395a9b34fe330543888cb171d6eb2907d04288787c4c8604ab16d5bd/sphinxserve-0.7.4.tar.gz" } ] }