{"action":"created","comment":{"url":"https://api.github.com/repos/coala/coala/pulls/comments/183255292","pull_request_review_id":114212374,"id":183255292,"diff_hunk":"@@ -0,0 +1,334 @@\n+NextGen-Core\n+============\n+\n+This document provides a brief overview of coala's NextGen-Core.\n+coala's NextGen-Core comes with the promise of lifting many limitations of the\n+existing core and better efficiency and performance.\n+\n+What is new?\n+------------\n+\n+The following new features have been added as a part of the NextGen-Core:\n+\n+- Easier Interface\n+- Official support for virtual files\n+- Improved dependency system\n+- New base bear type: ``DependencyBear``\n+- Ability to modify bear dependencies at runtime\n+- Superior caching\n+\n+What has changed?\n+-----------------\n+\n+- ``Global Bears`` are now called ``Project Bears`` and ``Local Bears`` are\n+  now known as ``File Bears``. Both the ``ProjectBear`` and the ``FileBear``\n+  classes inherit from the new base class ``coalib.core.Bear``.\n+- There is no need to pass ``HiddenResults`` between different bears (made\n+  possible by the new dependency management system) to hide results to the\n+  result callback. Only the results that were explicitly requested by passing\n+  the needed bears are passed now. The dependency bears can pass arbitrary\n+  python objects, not just the ``Result`` objects.\n+- The former ``run`` function that was inherited by all the bears to run code\n+  analysis is now replaced by the ``analyze`` function.\n+\n+Easier Interface\n+----------------\n+\n+Running a coala session with the NextGen-Core can be done by accessing only one\n+function i.e. ``core.run(bears)``. The ``run`` method takes the following\n+arguments ``bears``, ``result_callback``, ``cache`` and ``executor``\n+(the last two are ``None`` by default) and initiates a coala session.\n+\n+* The ``bears`` argument contains the list of bears to be run for a coala\n+  session.\n+* The ``result_callback`` is a function that is called when the results from a\n+  bear run are available. Each of the bears scheduled to run for a session has\n+  this callback function. It should have the following signature\n+  ``def result_callback(result)``.\n+* The ``cache`` argument if provided enables caching and runs the session using\n+  the cache provided to store the bear results. The default value of this\n+  parameter is ``None`` which when provided, runs coala without a cache.\n+* The ``executor`` argument is used to provide a custom executor in which the\n+  passed bears are to be run which is closed after the core is closed. If this\n+  argument is not provided then ``ProcessPoolExecutor`` is used using as many\n+  processes as cores available on the system.\n+\n+Bears in the NextGen-Core are implemented differently as compared to the old\n+bears. For instance every bear has an ``analyze`` function to perform code\n+analysis instead of the ``run`` function that was there in the old bears.\n+Following points must be kept in mind while writing NextGen bears.\n+\n+* The new bears always have to constructed with ``section`` and ``file_dict``\n+  as parameters, this is important as it makes the new dependency system\n+  possible.\n+* Bear writers need to keep this in mind while writing their ``__init__``\n+  methods, default parameters are allowed as many as wanted but the same isn't\n+  true for positional parameters (default parameters are discouraged, since the\n+  dependency system automatically instantiates bears, which might lead to\n+  unwanted side-effects). More details can be found at the\n+  `API Docs <http://api.coala.io/>`_.\n+\n+Official support for virtual files\n+----------------------------------\n+\n+IDEs like IntelliJ use virtual files to represent files in a filesystem (VFS)\n+and perform operations on them. Hence NextGen-Core provides official support\n+for virtual files. Bears have to point to the right file data objects when\n+run, whether they are real files or virtual ones. This makes coala easier to\n+integrate with IDEs.\n+\n+Task Objects\n+------------\n+\n+Task objects are the representation of tasks performed by bears. Structure-wise\n+they are a tuple containing the tuples of positional arguments and a dicts of\n+keyword arguments to the ``analyze`` (which are being invoked by the\n+``execute_task`` function) function. Task objects are instrumental to the\n+caching mechanism as their hash values are stored in the cache along with the\n+bear results and are looked up during each coala run to fetch the results.\n+\n+For instance we have a ``FileBear`` that looks like this:\n+\n+::\n+\n+    from coalib.core.FileBear import FileBear\n+\n+\n+    class SomeFileBear(FileBear):\n+\n+        def analyze(self, file, filename, filename_prefix: str='',\n+                    filename_suffix: str=''):\n+            yield 'Some analysis result'\n+\n+Its corresponding task object would look like the one below:\n+\n+::\n+\n+    [\n+        [(file, filename), {'filename_prefix': \"\", 'filename_suffix': \"\"}],\n+    ]\n+\n+Improved Dependency System\n+--------------------------\n+\n+The NextGen-Core introduces a better dependency management system than the\n+one used by the old core. It features following improvements:\n+\n+*  A bear dependent on other bears can specify its dependencies in\n+   ``BEAR_DEPS``.\n+* A class ``DependencyTracker`` manages this task of dependency management.\n+  Dependencies are added and resolved by this class and it checks for\n+  circular dependencies.\n+* Dependency relations between two objects are tracked using a directed\n+  graph. When two objects (or nodes) are connected with a directed edge they\n+  form a dependency relation. This lifts the limitation of GlobalBears being\n+  dependent on LocalBears which was the case in the old core.\n+\n+The ``initialize_dependencies`` method in ``Core.py`` receives the bears that\n+are to be run and processes bear dependencies using a consumer-based system so\n+that each dependency bear has only one instance per section and file-dict. It\n+returns a set of dependency bears along with those bears that don't have any\n+dependencies or whose dependencies have been resolved (these are the ones that\n+are scheduled to be run). The bears are resolved by traversing each edge of the\n+dependency graph and instantiating dependency bears accordingly one per section.\n+Before the bears are run we initialize the dependency tracking in the\n+``__init__`` method of the class ``Session`` which is responsible for running\n+coala sessions. The ``dependency_tracker`` object is used while scheduling and\n+cleaning up bears and also while finishing bear tasks.\n+\n+The bears that have no dependencies or whose dependencies have been resolved,\n+only their tasks will be scheduled for execution. Before executing any task\n+coala looks it up in the cache. In case of a hit, the existing results that are\n+stored in the cache for the corresponding task arguments are called using\n+``execute_task_with_cache`` method. In case of a miss or if coala is run without\n+a cache the task is executed. The bears without any running tasks are cleaned up\n+from the state of an ongoing run by resolving its dependencies, scheduling\n+dependent bears and removing the bear from the ``running_tasks`` dict. When a\n+task belonging to a particular bear completes, then ``_finish_task`` method is\n+responsible for checking whether the bear execution is complete and the result\n+generated from the task have been returned. If any new tasks are to be scheduled\n+then this method is responsible for doing so after the dependencies have been\n+resolved.\n+\n+Even though bears still have to pass ``Result`` instances to communicate with\n+coala, it is now possible to pass arbitrary Python objects. Dependency bears\n+benefit from this because now they can pass data according to their needs\n+without being bound to only ``Result`` objects.\n+\n+The ``dependency_results`` lie inside ``self.dependecy_results`` inside a bear\n+and can be accessed that way. **Although this is highly discouraged since it\n+bypasses caching and could yield weird results when the core is run multiple\n+times in a row.**\n+\n+``DependencyBear``\n+------------------\n+\n+Handling of bear dependencies by the old core wasn't effective. The\n+old core used a queuing mechanism to communicate between bear runs and passed\n+all the dependencies to the ``dependency_results`` argument of the ``run``\n+function which led to problems of a ``GlobalBear`` not running if any one of its\n+dependencies (e.g. a ``LocalBear``) terminated. The NextGen-Core improves on","path":"docs/Developers/NextGen_Core.rst","position":170,"original_position":170,"commit_id":"b5b492baed26833977e730049f7bd3d6677050fc","original_commit_id":"b5b492baed26833977e730049f7bd3d6677050fc","user":{"login":"Makman2","id":6023916,"avatar_url":"https://avatars3.githubusercontent.com/u/6023916?v=4","gravatar_id":"","url":"https://api.github.com/users/Makman2","html_url":"https://github.com/Makman2","followers_url":"https://api.github.com/users/Makman2/followers","following_url":"https://api.github.com/users/Makman2/following{/other_user}","gists_url":"https://api.github.com/users/Makman2/gists{/gist_id}","starred_url":"https://api.github.com/users/Makman2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Makman2/subscriptions","organizations_url":"https://api.github.com/users/Makman2/orgs","repos_url":"https://api.github.com/users/Makman2/repos","events_url":"https://api.github.com/users/Makman2/events{/privacy}","received_events_url":"https://api.github.com/users/Makman2/received_events","type":"User","site_admin":false},"body":"actually, if a dependency terminates, the dependent component gets unscheduled too^^ This is desired^^","created_at":"2018-04-22T23:19:44Z","updated_at":"2018-04-23T00:03:30Z","html_url":"https://github.com/coala/coala/pull/5262#discussion_r183255292","pull_request_url":"https://api.github.com/repos/coala/coala/pulls/5262","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/coala/coala/pulls/comments/183255292"},"html":{"href":"https://github.com/coala/coala/pull/5262#discussion_r183255292"},"pull_request":{"href":"https://api.github.com/repos/coala/coala/pulls/5262"}}},"pull_request":{"url":"https://api.github.com/repos/coala/coala/pulls/5262","id":175361056,"html_url":"https://github.com/coala/coala/pull/5262","diff_url":"https://github.com/coala/coala/pull/5262.diff","patch_url":"https://github.com/coala/coala/pull/5262.patch","issue_url":"https://api.github.com/repos/coala/coala/issues/5262","number":5262,"state":"open","locked":false,"title":"docs: Adds NextGen-Core docs","user":{"login":"palash25","id":21367710,"avatar_url":"https://avatars0.githubusercontent.com/u/21367710?v=4","gravatar_id":"","url":"https://api.github.com/users/palash25","html_url":"https://github.com/palash25","followers_url":"https://api.github.com/users/palash25/followers","following_url":"https://api.github.com/users/palash25/following{/other_user}","gists_url":"https://api.github.com/users/palash25/gists{/gist_id}","starred_url":"https://api.github.com/users/palash25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palash25/subscriptions","organizations_url":"https://api.github.com/users/palash25/orgs","repos_url":"https://api.github.com/users/palash25/repos","events_url":"https://api.github.com/users/palash25/events{/privacy}","received_events_url":"https://api.github.com/users/palash25/received_events","type":"User","site_admin":false},"body":"Closes: https://github.com/coala/coala/issues/4584\r\n<!--\r\nThanks for your contribution!\r\n\r\nPlease take a quick look at those things down there. They're quite important.\r\nReally! We wrote them for you. Yes you! With utmost care. Read them.\r\n-->\r\n\r\n**For short term contributors:** we understand that getting your commits well\r\ndefined like we require is a hard task and takes some learning. If you\r\nlook to help without wanting to contribute long term there's no need\r\nfor you to learn this. Just drop us a message and we'll take care of brushing\r\nup your stuff for merge!\r\n\r\n### Checklist\r\n\r\n- [x] I read the [commit guidelines](http://coala.io/commit) and I've followed\r\n      them.\r\n- [x] I ran coala over my code locally. (*All commits have to pass\r\n      individually.* It is not sufficient to have \"fixup commits\" on your PR,\r\n      our bot will still report the issues for the previous commit.) You will\r\n      likely receive a lot of bot comments and build failures if coala does not\r\n      pass on every single commit!\r\n\r\nAfter you submit your pull request, **DO NOT click the 'Update Branch' button.**\r\nWhen asked for a rebase, consult [coala.io/rebase](https://coala.io/rebase)\r\ninstead.\r\n\r\nPlease consider helping us by reviewing other peoples pull requests as well:\r\n\r\n- pick up any PR at <https://coala.io/review>\r\n- review it (check <https://coala.io/reviewing> for more info)\r\n- if you are sure that it needs work, use `cobot mark wip <URL>` to get it out\r\n  of the review queue.\r\n\r\nThe more you review, the more your score will grow at coala.io and we will\r\nreview your PRs faster!\r\n","created_at":"2018-03-15T19:51:03Z","updated_at":"2018-04-23T00:03:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e516fc6687ee96f95f62174dc2a9ce2c02037bf0","assignee":{"login":"palash25","id":21367710,"avatar_url":"https://avatars0.githubusercontent.com/u/21367710?v=4","gravatar_id":"","url":"https://api.github.com/users/palash25","html_url":"https://github.com/palash25","followers_url":"https://api.github.com/users/palash25/followers","following_url":"https://api.github.com/users/palash25/following{/other_user}","gists_url":"https://api.github.com/users/palash25/gists{/gist_id}","starred_url":"https://api.github.com/users/palash25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palash25/subscriptions","organizations_url":"https://api.github.com/users/palash25/orgs","repos_url":"https://api.github.com/users/palash25/repos","events_url":"https://api.github.com/users/palash25/events{/privacy}","received_events_url":"https://api.github.com/users/palash25/received_events","type":"User","site_admin":false},"assignees":[{"login":"palash25","id":21367710,"avatar_url":"https://avatars0.githubusercontent.com/u/21367710?v=4","gravatar_id":"","url":"https://api.github.com/users/palash25","html_url":"https://github.com/palash25","followers_url":"https://api.github.com/users/palash25/followers","following_url":"https://api.github.com/users/palash25/following{/other_user}","gists_url":"https://api.github.com/users/palash25/gists{/gist_id}","starred_url":"https://api.github.com/users/palash25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palash25/subscriptions","organizations_url":"https://api.github.com/users/palash25/orgs","repos_url":"https://api.github.com/users/palash25/repos","events_url":"https://api.github.com/users/palash25/events{/privacy}","received_events_url":"https://api.github.com/users/palash25/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":308860856,"url":"https://api.github.com/repos/coala/coala/labels/area/documentation","name":"area/documentation","color":"bfe5bf","default":false},{"id":308852297,"url":"https://api.github.com/repos/coala/coala/labels/difficulty/medium","name":"difficulty/medium","color":"0052cc","default":false},{"id":141036774,"url":"https://api.github.com/repos/coala/coala/labels/process/pending%20review","name":"process/pending review","color":"bfe5bf","default":false},{"id":293861057,"url":"https://api.github.com/repos/coala/coala/labels/size/M","name":"size/M","color":"eb6420","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/coala/coala/pulls/5262/commits","review_comments_url":"https://api.github.com/repos/coala/coala/pulls/5262/comments","review_comment_url":"https://api.github.com/repos/coala/coala/pulls/comments{/number}","comments_url":"https://api.github.com/repos/coala/coala/issues/5262/comments","statuses_url":"https://api.github.com/repos/coala/coala/statuses/b5b492baed26833977e730049f7bd3d6677050fc","head":{"label":"palash25:nextgen-docs","ref":"nextgen-docs","sha":"b5b492baed26833977e730049f7bd3d6677050fc","user":{"login":"palash25","id":21367710,"avatar_url":"https://avatars0.githubusercontent.com/u/21367710?v=4","gravatar_id":"","url":"https://api.github.com/users/palash25","html_url":"https://github.com/palash25","followers_url":"https://api.github.com/users/palash25/followers","following_url":"https://api.github.com/users/palash25/following{/other_user}","gists_url":"https://api.github.com/users/palash25/gists{/gist_id}","starred_url":"https://api.github.com/users/palash25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palash25/subscriptions","organizations_url":"https://api.github.com/users/palash25/orgs","repos_url":"https://api.github.com/users/palash25/repos","events_url":"https://api.github.com/users/palash25/events{/privacy}","received_events_url":"https://api.github.com/users/palash25/received_events","type":"User","site_admin":false},"repo":{"id":101528154,"name":"coala","full_name":"palash25/coala","owner":{"login":"palash25","id":21367710,"avatar_url":"https://avatars0.githubusercontent.com/u/21367710?v=4","gravatar_id":"","url":"https://api.github.com/users/palash25","html_url":"https://github.com/palash25","followers_url":"https://api.github.com/users/palash25/followers","following_url":"https://api.github.com/users/palash25/following{/other_user}","gists_url":"https://api.github.com/users/palash25/gists{/gist_id}","starred_url":"https://api.github.com/users/palash25/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/palash25/subscriptions","organizations_url":"https://api.github.com/users/palash25/orgs","repos_url":"https://api.github.com/users/palash25/repos","events_url":"https://api.github.com/users/palash25/events{/privacy}","received_events_url":"https://api.github.com/users/palash25/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/palash25/coala","description":"coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.","fork":true,"url":"https://api.github.com/repos/palash25/coala","forks_url":"https://api.github.com/repos/palash25/coala/forks","keys_url":"https://api.github.com/repos/palash25/coala/keys{/key_id}","collaborators_url":"https://api.github.com/repos/palash25/coala/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/palash25/coala/teams","hooks_url":"https://api.github.com/repos/palash25/coala/hooks","issue_events_url":"https://api.github.com/repos/palash25/coala/issues/events{/number}","events_url":"https://api.github.com/repos/palash25/coala/events","assignees_url":"https://api.github.com/repos/palash25/coala/assignees{/user}","branches_url":"https://api.github.com/repos/palash25/coala/branches{/branch}","tags_url":"https://api.github.com/repos/palash25/coala/tags","blobs_url":"https://api.github.com/repos/palash25/coala/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/palash25/coala/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/palash25/coala/git/refs{/sha}","trees_url":"https://api.github.com/repos/palash25/coala/git/trees{/sha}","statuses_url":"https://api.github.com/repos/palash25/coala/statuses/{sha}","languages_url":"https://api.github.com/repos/palash25/coala/languages","stargazers_url":"https://api.github.com/repos/palash25/coala/stargazers","contributors_url":"https://api.github.com/repos/palash25/coala/contributors","subscribers_url":"https://api.github.com/repos/palash25/coala/subscribers","subscription_url":"https://api.github.com/repos/palash25/coala/subscription","commits_url":"https://api.github.com/repos/palash25/coala/commits{/sha}","git_commits_url":"https://api.github.com/repos/palash25/coala/git/commits{/sha}","comments_url":"https://api.github.com/repos/palash25/coala/comments{/number}","issue_comment_url":"https://api.github.com/repos/palash25/coala/issues/comments{/number}","contents_url":"https://api.github.com/repos/palash25/coala/contents/{+path}","compare_url":"https://api.github.com/repos/palash25/coala/compare/{base}...{head}","merges_url":"https://api.github.com/repos/palash25/coala/merges","archive_url":"https://api.github.com/repos/palash25/coala/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/palash25/coala/downloads","issues_url":"https://api.github.com/repos/palash25/coala/issues{/number}","pulls_url":"https://api.github.com/repos/palash25/coala/pulls{/number}","milestones_url":"https://api.github.com/repos/palash25/coala/milestones{/number}","notifications_url":"https://api.github.com/repos/palash25/coala/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/palash25/coala/labels{/name}","releases_url":"https://api.github.com/repos/palash25/coala/releases{/id}","deployments_url":"https://api.github.com/repos/palash25/coala/deployments","created_at":"2017-08-27T03:48:19Z","updated_at":"2018-04-05T21:07:48Z","pushed_at":"2018-04-22T03:38:46Z","git_url":"git://github.com/palash25/coala.git","ssh_url":"git@github.com:palash25/coala.git","clone_url":"https://github.com/palash25/coala.git","svn_url":"https://github.com/palash25/coala","homepage":"https://coala.io/","size":13096,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":1,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"coala:master","ref":"master","sha":"229bd95ee69626b8eeb69efcce10bcb895a274af","user":{"login":"coala","id":10620750,"avatar_url":"https://avatars3.githubusercontent.com/u/10620750?v=4","gravatar_id":"","url":"https://api.github.com/users/coala","html_url":"https://github.com/coala","followers_url":"https://api.github.com/users/coala/followers","following_url":"https://api.github.com/users/coala/following{/other_user}","gists_url":"https://api.github.com/users/coala/gists{/gist_id}","starred_url":"https://api.github.com/users/coala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coala/subscriptions","organizations_url":"https://api.github.com/users/coala/orgs","repos_url":"https://api.github.com/users/coala/repos","events_url":"https://api.github.com/users/coala/events{/privacy}","received_events_url":"https://api.github.com/users/coala/received_events","type":"Organization","site_admin":false},"repo":{"id":19816973,"name":"coala","full_name":"coala/coala","owner":{"login":"coala","id":10620750,"avatar_url":"https://avatars3.githubusercontent.com/u/10620750?v=4","gravatar_id":"","url":"https://api.github.com/users/coala","html_url":"https://github.com/coala","followers_url":"https://api.github.com/users/coala/followers","following_url":"https://api.github.com/users/coala/following{/other_user}","gists_url":"https://api.github.com/users/coala/gists{/gist_id}","starred_url":"https://api.github.com/users/coala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coala/subscriptions","organizations_url":"https://api.github.com/users/coala/orgs","repos_url":"https://api.github.com/users/coala/repos","events_url":"https://api.github.com/users/coala/events{/privacy}","received_events_url":"https://api.github.com/users/coala/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/coala/coala","description":"coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.","fork":false,"url":"https://api.github.com/repos/coala/coala","forks_url":"https://api.github.com/repos/coala/coala/forks","keys_url":"https://api.github.com/repos/coala/coala/keys{/key_id}","collaborators_url":"https://api.github.com/repos/coala/coala/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/coala/coala/teams","hooks_url":"https://api.github.com/repos/coala/coala/hooks","issue_events_url":"https://api.github.com/repos/coala/coala/issues/events{/number}","events_url":"https://api.github.com/repos/coala/coala/events","assignees_url":"https://api.github.com/repos/coala/coala/assignees{/user}","branches_url":"https://api.github.com/repos/coala/coala/branches{/branch}","tags_url":"https://api.github.com/repos/coala/coala/tags","blobs_url":"https://api.github.com/repos/coala/coala/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/coala/coala/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/coala/coala/git/refs{/sha}","trees_url":"https://api.github.com/repos/coala/coala/git/trees{/sha}","statuses_url":"https://api.github.com/repos/coala/coala/statuses/{sha}","languages_url":"https://api.github.com/repos/coala/coala/languages","stargazers_url":"https://api.github.com/repos/coala/coala/stargazers","contributors_url":"https://api.github.com/repos/coala/coala/contributors","subscribers_url":"https://api.github.com/repos/coala/coala/subscribers","subscription_url":"https://api.github.com/repos/coala/coala/subscription","commits_url":"https://api.github.com/repos/coala/coala/commits{/sha}","git_commits_url":"https://api.github.com/repos/coala/coala/git/commits{/sha}","comments_url":"https://api.github.com/repos/coala/coala/comments{/number}","issue_comment_url":"https://api.github.com/repos/coala/coala/issues/comments{/number}","contents_url":"https://api.github.com/repos/coala/coala/contents/{+path}","compare_url":"https://api.github.com/repos/coala/coala/compare/{base}...{head}","merges_url":"https://api.github.com/repos/coala/coala/merges","archive_url":"https://api.github.com/repos/coala/coala/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/coala/coala/downloads","issues_url":"https://api.github.com/repos/coala/coala/issues{/number}","pulls_url":"https://api.github.com/repos/coala/coala/pulls{/number}","milestones_url":"https://api.github.com/repos/coala/coala/milestones{/number}","notifications_url":"https://api.github.com/repos/coala/coala/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/coala/coala/labels{/name}","releases_url":"https://api.github.com/repos/coala/coala/releases{/id}","deployments_url":"https://api.github.com/repos/coala/coala/deployments","created_at":"2014-05-15T11:35:34Z","updated_at":"2018-04-22T11:18:54Z","pushed_at":"2018-04-22T23:37:42Z","git_url":"git://github.com/coala/coala.git","ssh_url":"git@github.com:coala/coala.git","clone_url":"https://github.com/coala/coala.git","svn_url":"https://github.com/coala/coala","homepage":"https://coala.io/","size":13057,"stargazers_count":2208,"watchers_count":2208,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1015,"mirror_url":null,"archived":false,"open_issues_count":708,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":1015,"open_issues":708,"watchers":2208,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/coala/coala/pulls/5262"},"html":{"href":"https://github.com/coala/coala/pull/5262"},"issue":{"href":"https://api.github.com/repos/coala/coala/issues/5262"},"comments":{"href":"https://api.github.com/repos/coala/coala/issues/5262/comments"},"review_comments":{"href":"https://api.github.com/repos/coala/coala/pulls/5262/comments"},"review_comment":{"href":"https://api.github.com/repos/coala/coala/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/coala/coala/pulls/5262/commits"},"statuses":{"href":"https://api.github.com/repos/coala/coala/statuses/b5b492baed26833977e730049f7bd3d6677050fc"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"Makman2"}}