{"action":"created","comment":{"url":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/comments/237281810","pull_request_review_id":179533823,"id":237281810,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNzI4MTgxMA==","diff_hunk":"@@ -0,0 +1,258 @@\n+Introduction to Python and to the Django world\n+==============================================\n+\n+This page will introduce you to python, to some of python's modules such\n+as ipython and to the django and django-rest frameworks.\n+\n+Python and its advantages\n+-------------------------\n+\n+As you may already know, python is a programming language, more\n+specifically an interpreted high-level programming language for\n+general-purpose programming. It is also widely used these days!\n+Big companies like Google, Disney and Dropbox make excessive use\n+of this programming language! You'll know why in an instant.\n+\n+- To begin with, the syntax in Python helps programmers to do\n+  coding in fewer steps as compared to other languages such as\n+  Java or C++ because it uses relatively less lines and words\n+  while still performing the same operations.\n+- Additionally, python offers excellent readability and uncluttered\n+  simple-to-learn syntax which helps beginners to utilize this\n+  programming language.\n+- Also, python has a large standard library full of pre-defined\n+  functions which can help fulfil tasks related to string operations,\n+  Internet, web service tools, operating system interfaces and protocols\n+  a lot more quickly and easily.\n+- Believe it or not, python language is developed under an OSI-approved\n+  open source license, which makes it free to use and distribute,\n+  including for commercial purposes!\n+- Python has built-in list and dictionary data structures which can be\n+  used to construct fast runtime data structures too!\n+- Finally, python has clean object-oriented design, provides enhanced\n+  process control capabilities, and possesses strong integration and\n+  text processing capabilities and its own unit testing framework,\n+  all of which contribute to the increase in its speed and productivity.\n+\n+So, did all these advantages make your mouth watery yet? If you want to\n+learn python as a programming language, you can try taking a look quickly\n+`there <https://www.learnpython.org>`_ or consider checking out the\n+python course on `SoloLearn <https://www.sololearn.com>`_ for a more\n+detailed beginner course.\n+\n+Django\n+------\n+\n+Django is a high-level Python Web framework that encourages rapid\n+development and clean, pragmatic design.  It takes care of much of the\n+hassle of Web development and is free and open source.\n+\n+Here are some advantages of Django:\n+- **Ridiculously Fast**: Django was designed to help developers take\n+applications from concept to completion as quickly as possible.\n+- **Fully Loaded**: It works in a way that includes dozens of extras\n+to help with user authentication, site maps, content administration,\n+RSS feeds and much more such things. These aspects help in carrying\n+out the web development process completely.\n+- **Reassuringly secure**: Django takes security seriously and helps\n+developers avoid many common security mistakes.\n+- **Exceedingly scalable**: Some of the busiest sites on the Web leverage\n+Django’s ability to quickly and flexibly scale.\n+\n+You can get started with django by following `this tutorial\n+<https://www.djangoproject.com/start/>`_ or`this one\n+<https://pythonprogramming.net/web-development-tutorials/>`_.\n+\n+Django REST framework\n+---------------------\n+\n+Django REST framework is a powerful and flexible toolkit for building\n+Web APIs and it's used and trusted by internationally recognised\n+companies including Mozilla, Red Hat, Heroku, and Eventbrite.\n+\n+Here are some reasons why you would want to use the REST framework:\n+- Simplicity, flexibility, quality, and test coverage of source code.\n+- Powerful serialization engine compatible with both ORM and non-ORM\n+data sources.\n+- Clean, simple, views for Resources, using Django's new class based\n+views.\n+- HTTP response handling, content type negotiation using HTTP Accept\n+headers.\n+- Publishing of metadata along with querysets.\n+\n+Thus, DRF allows the flexibility to extend and customize the framework’s\n+tools according to programmer’s demands that greatly reduces development\n+time. You can find some more details with examples and tutorials\n+`on the official DRF website <https://www.django-rest-framework.org>`_\n+or consider checking out the DRF tutorial along with some other tutorials\n+on `this website <https://wsvincent.com/>`_.\n+\n+Django Extensions\n+-----------------\n+\n+`Django Extensions <https://django-extensions.readthedocs.io/>`_ is a\n+collection of custom extensions for the Django Framework. These include\n+management commands, additional database fields, admin extensions and\n+much more but we will focus more on 2 of them for now, namely\n+``shell_plus`` and ``runserver_plus``.\n+\n+Django Extensions can be installed with:\n+\n+``pip install django-extensions``\n+\n+`shell_plus\n+<django-extensions.readthedocs.io/en/latest/shell_plus.html>`_:\n+Django shell with autoloading of the apps database models and subclasses\n+of user-defined classes.\n+\n+`runserver_plus\n+<django-extensions.readthedocs.io/en/latest/runserver_plus.html>`_:\n+Typical runserver with Werkzeug debugger baked in.\n+\n+Django Debug Toolbar\n+--------------------\n+\n+The Django Debug Toolbar is a configurable set of panels that display\n+various debug information about the current request/response and when\n+clicked, display more details about the panel’s content.\n+\n+It can be installed with:\n+\n+``pip install django-debug-toolbar``\n+\n+More details can be found on its `website\n+<https://django-debug-toolbar.readthedocs.io/en/latest/>`_\n+or on `pypi <https://pypi.org/project/django-debug-toolbar/>`_.\n+\n+IPython and ipdb\n+----------------\n+\n+IPython (Interactive Python) is a command shell for interactive computing\n+in multiple programming languages, originally developed for the Python\n+programming language, that offers introspection, rich media, shell\n+syntax, tab completion, and history.\n+\n+It provides:\n+- A powerful interactive shell.\n+- A browser-based notebook interface with support for code, text,\n+mathematical expressions, inline plots and other media.\n+- Support for interactive data visualization and use of GUI toolkits.\n+- Flexible, embeddable interpreters to load into one's own projects.\n+- Tools for parallel computing.\n+\n+More details including installation and updates can be found on the\n+`official webite <https://ipython.org>`_ and a simple usage tutorial\n+can be found `here <http://cs231n.github.io/ipython-tutorial/>`_.\n+\n+As for ipdb, it exports functions to access the IPython debugger. It\n+comes along with ipython. More details about ipdb can be obtained\n+on `its pypi page <https://pypi.org/project/ipdb/>`_.\n+\n+OpenWISP Implementation","path":"developer/introduction.rst","position":151,"original_position":151,"commit_id":"e06387aad0443f1864866cd323d0bcc4672a0b4f","original_commit_id":"e06387aad0443f1864866cd323d0bcc4672a0b4f","user":{"login":"nemesisdesign","id":841044,"node_id":"MDQ6VXNlcjg0MTA0NA==","avatar_url":"https://avatars3.githubusercontent.com/u/841044?v=4","gravatar_id":"","url":"https://api.github.com/users/nemesisdesign","html_url":"https://github.com/nemesisdesign","followers_url":"https://api.github.com/users/nemesisdesign/followers","following_url":"https://api.github.com/users/nemesisdesign/following{/other_user}","gists_url":"https://api.github.com/users/nemesisdesign/gists{/gist_id}","starred_url":"https://api.github.com/users/nemesisdesign/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nemesisdesign/subscriptions","organizations_url":"https://api.github.com/users/nemesisdesign/orgs","repos_url":"https://api.github.com/users/nemesisdesign/repos","events_url":"https://api.github.com/users/nemesisdesign/events{/privacy}","received_events_url":"https://api.github.com/users/nemesisdesign/received_events","type":"User","site_admin":false},"body":"change to `How to enable these dev tools in OpenWISP modules`","created_at":"2018-11-28T22:11:04Z","updated_at":"2018-11-28T22:12:37Z","html_url":"https://github.com/openwisp/openwisp2-docs/pull/68#discussion_r237281810","pull_request_url":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/comments/237281810"},"html":{"href":"https://github.com/openwisp/openwisp2-docs/pull/68#discussion_r237281810"},"pull_request":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68"}}},"pull_request":{"url":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68","id":233391838,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMzMzkxODM4","html_url":"https://github.com/openwisp/openwisp2-docs/pull/68","diff_url":"https://github.com/openwisp/openwisp2-docs/pull/68.diff","patch_url":"https://github.com/openwisp/openwisp2-docs/pull/68.patch","issue_url":"https://api.github.com/repos/openwisp/openwisp2-docs/issues/68","number":68,"state":"open","locked":false,"title":"[dev] Python/django development tools page #54","user":{"login":"EdgeKing810","id":42406341,"node_id":"MDQ6VXNlcjQyNDA2MzQx","avatar_url":"https://avatars0.githubusercontent.com/u/42406341?v=4","gravatar_id":"","url":"https://api.github.com/users/EdgeKing810","html_url":"https://github.com/EdgeKing810","followers_url":"https://api.github.com/users/EdgeKing810/followers","following_url":"https://api.github.com/users/EdgeKing810/following{/other_user}","gists_url":"https://api.github.com/users/EdgeKing810/gists{/gist_id}","starred_url":"https://api.github.com/users/EdgeKing810/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EdgeKing810/subscriptions","organizations_url":"https://api.github.com/users/EdgeKing810/orgs","repos_url":"https://api.github.com/users/EdgeKing810/repos","events_url":"https://api.github.com/users/EdgeKing810/events{/privacy}","received_events_url":"https://api.github.com/users/EdgeKing810/received_events","type":"User","site_admin":false},"body":"GCI task for [that](https://github.com/openwisp/openwisp2-docs/issues/54) issue. \r\n\r\nPlease note that I have not yet fully resolved the issue. I've done only part of it and I'm creating this PR to get a review on what I've done so far. That will help me fix issues you point out or improvements that may be added based on your opinions. I will work on that issue tomorrow too (it's nigggggghtt).","created_at":"2018-11-25T18:29:27Z","updated_at":"2018-11-28T22:12:36Z","closed_at":null,"merged_at":null,"merge_commit_sha":"47185f1a39c28e4d110b282d4f8ce01907e2455e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68/commits","review_comments_url":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68/comments","review_comment_url":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openwisp/openwisp2-docs/issues/68/comments","statuses_url":"https://api.github.com/repos/openwisp/openwisp2-docs/statuses/e06387aad0443f1864866cd323d0bcc4672a0b4f","head":{"label":"EdgeKing810:master","ref":"master","sha":"e06387aad0443f1864866cd323d0bcc4672a0b4f","user":{"login":"EdgeKing810","id":42406341,"node_id":"MDQ6VXNlcjQyNDA2MzQx","avatar_url":"https://avatars0.githubusercontent.com/u/42406341?v=4","gravatar_id":"","url":"https://api.github.com/users/EdgeKing810","html_url":"https://github.com/EdgeKing810","followers_url":"https://api.github.com/users/EdgeKing810/followers","following_url":"https://api.github.com/users/EdgeKing810/following{/other_user}","gists_url":"https://api.github.com/users/EdgeKing810/gists{/gist_id}","starred_url":"https://api.github.com/users/EdgeKing810/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EdgeKing810/subscriptions","organizations_url":"https://api.github.com/users/EdgeKing810/orgs","repos_url":"https://api.github.com/users/EdgeKing810/repos","events_url":"https://api.github.com/users/EdgeKing810/events{/privacy}","received_events_url":"https://api.github.com/users/EdgeKing810/received_events","type":"User","site_admin":false},"repo":{"id":156885019,"node_id":"MDEwOlJlcG9zaXRvcnkxNTY4ODUwMTk=","name":"openwisp2-docs","full_name":"EdgeKing810/openwisp2-docs","private":false,"owner":{"login":"EdgeKing810","id":42406341,"node_id":"MDQ6VXNlcjQyNDA2MzQx","avatar_url":"https://avatars0.githubusercontent.com/u/42406341?v=4","gravatar_id":"","url":"https://api.github.com/users/EdgeKing810","html_url":"https://github.com/EdgeKing810","followers_url":"https://api.github.com/users/EdgeKing810/followers","following_url":"https://api.github.com/users/EdgeKing810/following{/other_user}","gists_url":"https://api.github.com/users/EdgeKing810/gists{/gist_id}","starred_url":"https://api.github.com/users/EdgeKing810/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EdgeKing810/subscriptions","organizations_url":"https://api.github.com/users/EdgeKing810/orgs","repos_url":"https://api.github.com/users/EdgeKing810/repos","events_url":"https://api.github.com/users/EdgeKing810/events{/privacy}","received_events_url":"https://api.github.com/users/EdgeKing810/received_events","type":"User","site_admin":false},"html_url":"https://github.com/EdgeKing810/openwisp2-docs","description":"OpenWISP 2 Docs","fork":true,"url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs","forks_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/forks","keys_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/teams","hooks_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/hooks","issue_events_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/issues/events{/number}","events_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/events","assignees_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/assignees{/user}","branches_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/branches{/branch}","tags_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/tags","blobs_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/languages","stargazers_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/stargazers","contributors_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/contributors","subscribers_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/subscribers","subscription_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/subscription","commits_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/contents/{+path}","compare_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/merges","archive_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/downloads","issues_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/issues{/number}","pulls_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/labels{/name}","releases_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/releases{/id}","deployments_url":"https://api.github.com/repos/EdgeKing810/openwisp2-docs/deployments","created_at":"2018-11-09T16:00:24Z","updated_at":"2018-11-28T03:06:40Z","pushed_at":"2018-11-28T03:06:38Z","git_url":"git://github.com/EdgeKing810/openwisp2-docs.git","ssh_url":"git@github.com:EdgeKing810/openwisp2-docs.git","clone_url":"https://github.com/EdgeKing810/openwisp2-docs.git","svn_url":"https://github.com/EdgeKing810/openwisp2-docs","homepage":"http://openwisp.io/docs/","size":1253,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openwisp:master","ref":"master","sha":"b451fb414f79a8e8ae9df804f17141ed5cb213d2","user":{"login":"openwisp","id":1150243,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNTAyNDM=","avatar_url":"https://avatars1.githubusercontent.com/u/1150243?v=4","gravatar_id":"","url":"https://api.github.com/users/openwisp","html_url":"https://github.com/openwisp","followers_url":"https://api.github.com/users/openwisp/followers","following_url":"https://api.github.com/users/openwisp/following{/other_user}","gists_url":"https://api.github.com/users/openwisp/gists{/gist_id}","starred_url":"https://api.github.com/users/openwisp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openwisp/subscriptions","organizations_url":"https://api.github.com/users/openwisp/orgs","repos_url":"https://api.github.com/users/openwisp/repos","events_url":"https://api.github.com/users/openwisp/events{/privacy}","received_events_url":"https://api.github.com/users/openwisp/received_events","type":"Organization","site_admin":false},"repo":{"id":86808560,"node_id":"MDEwOlJlcG9zaXRvcnk4NjgwODU2MA==","name":"openwisp2-docs","full_name":"openwisp/openwisp2-docs","private":false,"owner":{"login":"openwisp","id":1150243,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExNTAyNDM=","avatar_url":"https://avatars1.githubusercontent.com/u/1150243?v=4","gravatar_id":"","url":"https://api.github.com/users/openwisp","html_url":"https://github.com/openwisp","followers_url":"https://api.github.com/users/openwisp/followers","following_url":"https://api.github.com/users/openwisp/following{/other_user}","gists_url":"https://api.github.com/users/openwisp/gists{/gist_id}","starred_url":"https://api.github.com/users/openwisp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openwisp/subscriptions","organizations_url":"https://api.github.com/users/openwisp/orgs","repos_url":"https://api.github.com/users/openwisp/repos","events_url":"https://api.github.com/users/openwisp/events{/privacy}","received_events_url":"https://api.github.com/users/openwisp/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/openwisp/openwisp2-docs","description":"OpenWISP 2 Docs","fork":false,"url":"https://api.github.com/repos/openwisp/openwisp2-docs","forks_url":"https://api.github.com/repos/openwisp/openwisp2-docs/forks","keys_url":"https://api.github.com/repos/openwisp/openwisp2-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openwisp/openwisp2-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openwisp/openwisp2-docs/teams","hooks_url":"https://api.github.com/repos/openwisp/openwisp2-docs/hooks","issue_events_url":"https://api.github.com/repos/openwisp/openwisp2-docs/issues/events{/number}","events_url":"https://api.github.com/repos/openwisp/openwisp2-docs/events","assignees_url":"https://api.github.com/repos/openwisp/openwisp2-docs/assignees{/user}","branches_url":"https://api.github.com/repos/openwisp/openwisp2-docs/branches{/branch}","tags_url":"https://api.github.com/repos/openwisp/openwisp2-docs/tags","blobs_url":"https://api.github.com/repos/openwisp/openwisp2-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openwisp/openwisp2-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openwisp/openwisp2-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/openwisp/openwisp2-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openwisp/openwisp2-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/openwisp/openwisp2-docs/languages","stargazers_url":"https://api.github.com/repos/openwisp/openwisp2-docs/stargazers","contributors_url":"https://api.github.com/repos/openwisp/openwisp2-docs/contributors","subscribers_url":"https://api.github.com/repos/openwisp/openwisp2-docs/subscribers","subscription_url":"https://api.github.com/repos/openwisp/openwisp2-docs/subscription","commits_url":"https://api.github.com/repos/openwisp/openwisp2-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/openwisp/openwisp2-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/openwisp/openwisp2-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/openwisp/openwisp2-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/openwisp/openwisp2-docs/contents/{+path}","compare_url":"https://api.github.com/repos/openwisp/openwisp2-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openwisp/openwisp2-docs/merges","archive_url":"https://api.github.com/repos/openwisp/openwisp2-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openwisp/openwisp2-docs/downloads","issues_url":"https://api.github.com/repos/openwisp/openwisp2-docs/issues{/number}","pulls_url":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/openwisp/openwisp2-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/openwisp/openwisp2-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openwisp/openwisp2-docs/labels{/name}","releases_url":"https://api.github.com/repos/openwisp/openwisp2-docs/releases{/id}","deployments_url":"https://api.github.com/repos/openwisp/openwisp2-docs/deployments","created_at":"2017-03-31T10:40:41Z","updated_at":"2018-11-28T11:26:01Z","pushed_at":"2018-11-28T11:25:59Z","git_url":"git://github.com/openwisp/openwisp2-docs.git","ssh_url":"git@github.com:openwisp/openwisp2-docs.git","clone_url":"https://github.com/openwisp/openwisp2-docs.git","svn_url":"https://github.com/openwisp/openwisp2-docs","homepage":"http://openwisp.io/docs/","size":1122,"stargazers_count":22,"watchers_count":22,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":38,"mirror_url":null,"archived":false,"open_issues_count":12,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":38,"open_issues":12,"watchers":22,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68"},"html":{"href":"https://github.com/openwisp/openwisp2-docs/pull/68"},"issue":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/issues/68"},"comments":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/issues/68/comments"},"review_comments":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68/comments"},"review_comment":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/pulls/68/commits"},"statuses":{"href":"https://api.github.com/repos/openwisp/openwisp2-docs/statuses/e06387aad0443f1864866cd323d0bcc4672a0b4f"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"nemesisdesign"}}