{"id":24557981,"url":"https://github.com/guoci/external_documentation_redirect","last_synced_at":"2026-04-03T23:36:06.777Z","repository":{"id":162702370,"uuid":"632642963","full_name":"guoci/external_documentation_redirect","owner":"guoci","description":"Python external documentation redirect for JetBrains IDEs","archived":false,"fork":false,"pushed_at":"2023-05-28T21:15:32.000Z","size":2818,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T05:34:26.115Z","etag":null,"topics":["django","documentation-tool","jetbrains-ides","keras","matplotlib","numpy","pandas","pycharm","pytest","python","pytorch","scikit-learn","scipy","sklearn","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guoci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-25T20:44:46.000Z","updated_at":"2024-07-30T19:49:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"3c5d486d-099d-4ee5-b8c8-6c25635a5598","html_url":"https://github.com/guoci/external_documentation_redirect","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoci%2Fexternal_documentation_redirect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoci%2Fexternal_documentation_redirect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoci%2Fexternal_documentation_redirect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guoci%2Fexternal_documentation_redirect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guoci","download_url":"https://codeload.github.com/guoci/external_documentation_redirect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243912607,"owners_count":20367887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","documentation-tool","jetbrains-ides","keras","matplotlib","numpy","pandas","pycharm","pytest","python","pytorch","scikit-learn","scipy","sklearn","tensorflow"],"created_at":"2025-01-23T05:31:32.675Z","updated_at":"2025-12-30T19:32:27.631Z","avatar_url":"https://github.com/guoci.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python external documentation redirect for JetBrains IDEs\n\n**Now available as a PyCharm [plugin](https://github.com/guoci/PyCharm-PythonDocumentationLinkProvider).**\n\nOpen html documentation from PyCharm.\n\nThis is the code for website to redirect to external documentation from the [`View external documentation`](https://www.jetbrains.com/help/pycharm/settings-tools-python-external-documentation.html) feature in Pycharm (or other Jetbrains IDEs with the Python plugin).\n\nPyCharm hardly gives the correct URL for the documentation of 3rd party libraries. e.g. [PY-30970](https://youtrack.jetbrains.com/issue/PY-30970/Cannot-set-up-external-documentation-for-Django-2.0), [PY-36368](https://youtrack.jetbrains.com/issue/PY-36368/Bad-external-documentation-links-to-symbols-imported-directly-from-numpy-module), [PY-36306](https://youtrack.jetbrains.com/issue/PY-36306/Python-external-documentation-not-working-for-numpy), [PY-43736](https://youtrack.jetbrains.com/issue/PY-43736/Python-External-Documentation-Add-more-libraries-and-make-it-default-if-internal-is-missing)\n\nSince most external documentation for 3rd party libraries do not follow a fixed pattern, it is impossible to use a template to give the correct URL for the documentation. This website uses a documentation mapping to redirect to the documentation URL.\n\n## Usage\n\n### Example configuration\n![example configuration](config.png)\n\nThere are 2 methods to configure, by editing IDE config files or changing settings with the IDE\n#### Editing config files\nGo to your [configuration directory](https://www.jetbrains.com/help/idea/directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html#config-directory), open `options/other.xml`.\nLook for\n```xml\n  \u003ccomponent name=\"PythonDocumentationMap\"\u003e\n    \u003coption name=\"entries\"\u003e\n      \u003cmap\u003e\n        \u003centry key=\"...\" value=\"...\" /\u003e\n        ...\n        \u003centry key=\"...\" value=\"...\" /\u003e\n      \u003c/map\u003e\n    \u003c/option\u003e\n  \u003c/component\u003e\n```\nput the following after the last `entry` tag.\n```xml\n        \u003centry key=\"_pytest\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"django\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"keras\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"matplotlib\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"numpy\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"pandas\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"scipy\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"sklearn\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"tensorflow\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n        \u003centry key=\"torch\" value=\"https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\" /\u003e\n```\n\n#### With IDE GUI\nIn `Settings` :arrow_right: `Tools` :arrow_right: `(Python) External Documentation`, change URLs for the supported modules to:\n\n`https://guoci.github.io/external_documentation_redirect/?qname={element.qname}`\n\nPress `Shift+F1` to get external documentation of the symbol under the cursor.\n\nCurrently supported modules:\n- `django`\n- `matplotlib`\n- `numpy`\n- `pandas`\n- `pytest`\n\n  add the URL pattern to `_pytest`\n- `pytorch`\n- `scipy`\n- `sklearn`\n- `tensorflow`, `tensorflow.keras`\n  \n  Requires adding `keras` and `tensorflow` URL pattern, see screenshot for an example.\n\n  For `keras`, do import from `tensorflow.keras` instead of `keras`, for example:\n  `import tensorflow.keras as keras`\n  instead of \n  `import keras`\n  \n  Users from China may want to override the default documentation site with:\n\n  `https://guoci.github.io/external_documentation_redirect/?qname={element.qname}\u0026docsite=https%3A%2F%2Ftensorflow.google.cn`\n\n\n\n### Running a local instance\nYou can copy the files this repository and use [http.server](https://docs.python.org/3/library/http.server.html) to serve.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguoci%2Fexternal_documentation_redirect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguoci%2Fexternal_documentation_redirect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguoci%2Fexternal_documentation_redirect/lists"}