{ "info": { "author": "CID", "author_email": "author@example.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# CID-DOCS\n\n[![Documentation Status](https://readthedocs.org/projects/cid-docs/badge/?version=latest)](https://cid-docs.readthedocs.io/en/latest/?badge=latest)\n\n## Bienvenidos al sitio de documentaci\u00c3\u00b3n del Centro de investigaci\u00c3\u00b3n Digitial del Instituto Tecnologico de Buenos Aires\n\nHemos armado un tutorial que les ense\u00c3\u00b1ara paso a paso como auto-documentar un proyecto con [Sphinx](https://www.sphinx-doc.org) y publicar la documentaci\u00c3\u00b3n de su proyecto en [Read the Docs](https://readthedocs.org).\n\nUna vez alcanzado este objetivo ahondaremos en como publicar nuestro paquete en PYPI para poder instalarlo mediante pip.\n\n## Preparando los Docstrings\n\nSe llaman docstring a un formato especial de comentario que se utiliza para dar estructura a la documentaci\u00c3\u00b3n. Con estos podemos especificar detalladamente el funcionamiento de las clases y metodos implementados.\n\nExisten diversos formatos de doctrings compatibles con [Sphinx](<[https://link](https://www.sphinx-doc.org)>).\n\n \n\nPueden aprender m\u00c3\u00a1s acerca de estos y como utilizarlos [aqu\u00c3\u00ad](https://https://www.datacamp.com/community/tutorials/docstrings-python).\n\nEn nuestro caso hemos decidido utilizar Numpy Style por su simplicidad y practicidad para documentar.\n\n```python\nclass Hotel:\n \"\"\"\n El hotel tiene varias habitaciones\n\n Parameters\n --------\n nombre : str\n Nombre del hotel\n cuartos : int\n Cantidad de cuartos en el hotel\n \"\"\"\n\n\n def __init__(self, nombre, cuartos):\n self.cuartos = cuartos\n self.nombre = nombre\n\n def make_meal(self, name, size, temperature)\n \"\"\"\n Parameters\n --------\n name : str\n Type of food to prepare\n size : float\n How many kilos to prepare\n temperature : float\n How hot it should be\n\n Returns\n --------\n meal : object\n Your desired meal\n\n Raises\n ------\n ValueError\n if 'name' is not present is not a meal.\n Examples\n --------\n >>> hotel = Hotel(\"PythonHotel\", 400)\n >>> hotel.make_meal(\"Fried Chicken\", 4)\n\n See Also\n --------\n Hotel.make_dessert : for instruction on how to make a dessert.\n\n \"\"\"\n pass\n\n def make_dessert(self, name, size)\n \"\"\"\n ...\n \"\"\"\n pass\n\n```\n\nPara m\u00c3\u00a1s ejemplos de documentaci\u00c3\u00b3n les recomendamos mirar el codigo de fuente de [SimilarityLab](https://github.com/CID-ITBA/cid-docs) o [Numpy](https://github.com/numpy/numpy)\n\n## Empaquetando\n\nNuestro proyecto tiene que poder ser identificado como un paquete distribuible de Python. Para ello necesitamos dos archivos escenciales, `__init__.py` y `setup.py`. Ambos deben alojarse en el mismo directorio que nuestro modulo.\n\nEl archivo `__init__.py` solamente deber exisitir y puede estar vacio. No hay m\u00c3\u00a1s requerimientos que esos.\n\nPara que [Sphinx](https://www.sphinx-doc.org) pueda rastrear la versi\u00c3\u00b3n en la que actualmente estamos trabajando, como as\u00c3\u00ad conocer las dependencias de nuestro proyecto, es necesario generar un archivo `setup.py`.\n\nEl mismo debe encontrarse en el mismo directorio que nuestra clase.\n\n```python\nimport setuptools\n\nwith open(\"README.md\", \"r\") as fh:\n long_description = fh.read()\n\nsetuptools.setup(\n name=\"ProjectName\",\n version=\"0.0.1\",\n author=\"Example Author\",\n author_email=\"author@example.com\",\n description=\"A small example package\",\n long_description=long_description,\n long_description_content_type=\"text/markdown\",\n keywords='Cats dogs words',\n url=\"https://github.com/pypa/sampleproject\",\n packages=setuptools.find_packages(),\n classifiers=[\n \"Programming Language :: Python :: 3\",\n \"License :: OSI Approved :: MIT License\",\n \"Operating System :: OS Independent\",\n ],\n install_requires=[\n 'numpy',\n 'scipy',\n 'SimiLab',\n ],\n python_requires='>=3.6',\n)\n\n```\n\n# Sphinx\n\n## Primeros pasos\n\nPara poder generar nuestra documentaci\u00c3\u00b3n vamos a requerir instalar [Sphinx](https://www.sphinx-doc.org).\n\n```python\npip install sphinx\n```\n\ny para generar nuestro archivo de requerimientos necesitaremos\n\n```python\npip install pipreqs\n```\n\nUna vez instalados corremos desde el directorio raiz de nuestro proyecto\n\n```shell\n>\\MyProject sphinxquickstart docs -ext-autodoc\n```\n\nRecomendamos seguir las opciones por defecto que nos ofrece la CLI de [Sphinx](https://www.sphinx-doc.org).\n\nUna vez terminado deberiamos tener la siguiente estructura:\n\n```\n-MyProject\n -MyPackage\n -package.py\n -__init__.py\n -setup.py\n -docs\n -docs\n -conf.py\n -index.rst\n -make.bat\n -Makefile\n```\n\n## :construction: index.rst :construction:\n\nAs\u00c3\u00ad como en HTML se trabaja con un archivo principal llamado index.html. Cuando trabajamos con sphinx vamos a tener un punto de entrada llamado index.rst. Aqu\u00c3\u00ad ensamblaremos la estructura de nuestra documentaci\u00c3\u00b3n.\nEn este caso utilizamos reStructuredText como lenguaje de markup.\n\n```rst\nWelcome to SimilarityLab's documentation!\n=========================================\n\n.. toctree::\n :maxdepth: 2\n :caption: Contents:\n\n pages/getting-started\n\n.. automodule:: SimiLab\n :members:\n\nIndices and tables\n==================\n\n* :ref:`genindex`\n* :ref:`modindex`\n* :ref:`search`\n\n```\n\nLa indentaci\u00c3\u00b3n es vital para no incurrir en errores al momento de compilar.\n\nPor ejemplo la directiva automodule le dice a Sphinx que tome todos los docstrings contenidos en SimiLab\n\n## conf.py\n\nEl archivo conf.py es generado de forma automatica luego de llamar a sphinxquickstart.\nPara permitir que [Sphinx](https://www.sphinx-doc.org) encuentre nuestro paquete es necesario indicarle donde se encuentra. Sugerimos utilizar de ejemplo el archivo conf.py que se encuentra [aqu\u00c3\u00ad](https://github.com/CID-ITBA/cid-docs/blob/master/docs/conf.py).\n\n### Recordar configurar\n\n\n\n## Archivos .readthedocs.yml y requirements.txt\n\nCiertamene la mayor\u00c3\u00ada de los proyectos requieren ciertas dependecias externas. Sin embargo, aunque sean paquetes de terceros, hay que especificar cuales son.\n\n
    \n
  1. En el directorio raiz crear un archivo .readthedocs.yml
  2. \n
  3. Copiar el archivo de ejemplo
  4. \n
\nLuego debemos generar nuestro archivo de requerimientos\n\n```shell\n >MyProject/MyPackage pipreqs > requirements.txt\n```\n\nSe recomienda mover el mismo a la carpeta docs\n\n# :construction: make html, rdft :construction:\n\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/CID-ITBA", "keywords": "NLP corpus meaning", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "SimilarityLab", "package_url": "https://pypi.org/project/SimilarityLab/", "platform": "", "project_url": "https://pypi.org/project/SimilarityLab/", "project_urls": { "Homepage": "https://github.com/CID-ITBA" }, "release_url": "https://pypi.org/project/SimilarityLab/0.0.5.1/", "requires_dist": [ "numpy", "scipy" ], "requires_python": ">=3.6", "summary": "NPL Package in development", "version": "0.0.5.1" }, "last_serial": 5969849, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a25dcc0df5c087aaf98e915c9c8a5dca", "sha256": "1a995b0de604c0e590fe2e1dfe2ef74a7265ea7b033fa9a9c19fe1d24bd1313b" }, "downloads": -1, "filename": "SimilarityLab-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a25dcc0df5c087aaf98e915c9c8a5dca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 13993, "upload_time": "2019-10-12T05:50:47", "url": "https://files.pythonhosted.org/packages/6e/28/7db666e8dbf5e221c654ee2e0a04128cbc45ecb2890a274ab6cfc67845ee/SimilarityLab-0.0.1-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "456491e6c67a0a65c527cf4f3086b27f", "sha256": "0671dd33968e2beb141971fcae628a3a585ea1073de7ccb4f9da726e5eff019c" }, "downloads": -1, "filename": "SimilarityLab-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "456491e6c67a0a65c527cf4f3086b27f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8883, "upload_time": "2019-10-14T03:35:43", "url": "https://files.pythonhosted.org/packages/3c/70/ab1393bc4ce45891777f9fd0b46d27b23ad62cad2d7753e2cf5f7ba98fe9/SimilarityLab-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f97d0f99d7b595726d813e5c275138a9", "sha256": "29fe1f9396a4e585b48695d627d31ab0586f7d166d27ad59bf4f4bee13daaaae" }, "downloads": -1, "filename": "SimilarityLab-0.0.5.tar.gz", "has_sig": false, "md5_digest": "f97d0f99d7b595726d813e5c275138a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 9950, "upload_time": "2019-10-14T03:35:45", "url": "https://files.pythonhosted.org/packages/92/04/2777ef2c00d4ce2bd1f95922b0b3cd5b882a8c14673234049dfbb4d51d6e/SimilarityLab-0.0.5.tar.gz" } ], "0.0.5.1": [ { "comment_text": "", "digests": { "md5": "b2cdb1c467ee1131eadb672910561585", "sha256": "42c870badf94dce66f76ccdc775b47d0ee8a7ac4bcb99529ddf45b2999b9e39b" }, "downloads": -1, "filename": "SimilarityLab-0.0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b2cdb1c467ee1131eadb672910561585", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9011, "upload_time": "2019-10-14T04:36:31", "url": "https://files.pythonhosted.org/packages/80/b6/c3c41e70f1b146b797867e3eca06e237fcccbdb6545134a8995beb1a211c/SimilarityLab-0.0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03f005d39690c4d5d344bcce98c5ad62", "sha256": "fac6a87ad317ea10db867354f7e45ac8632d53eab511e7e1c69ca95425cae81e" }, "downloads": -1, "filename": "SimilarityLab-0.0.5.1.tar.gz", "has_sig": false, "md5_digest": "03f005d39690c4d5d344bcce98c5ad62", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 10087, "upload_time": "2019-10-14T04:36:33", "url": "https://files.pythonhosted.org/packages/3d/82/e45cf0824d9f160e5f3f88a125750ae73e8a8c39a5ed8f138532b2569c14/SimilarityLab-0.0.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b2cdb1c467ee1131eadb672910561585", "sha256": "42c870badf94dce66f76ccdc775b47d0ee8a7ac4bcb99529ddf45b2999b9e39b" }, "downloads": -1, "filename": "SimilarityLab-0.0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b2cdb1c467ee1131eadb672910561585", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9011, "upload_time": "2019-10-14T04:36:31", "url": "https://files.pythonhosted.org/packages/80/b6/c3c41e70f1b146b797867e3eca06e237fcccbdb6545134a8995beb1a211c/SimilarityLab-0.0.5.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03f005d39690c4d5d344bcce98c5ad62", "sha256": "fac6a87ad317ea10db867354f7e45ac8632d53eab511e7e1c69ca95425cae81e" }, "downloads": -1, "filename": "SimilarityLab-0.0.5.1.tar.gz", "has_sig": false, "md5_digest": "03f005d39690c4d5d344bcce98c5ad62", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 10087, "upload_time": "2019-10-14T04:36:33", "url": "https://files.pythonhosted.org/packages/3d/82/e45cf0824d9f160e5f3f88a125750ae73e8a8c39a5ed8f138532b2569c14/SimilarityLab-0.0.5.1.tar.gz" } ] }