{"action":"created","comment":{"url":"https://api.github.com/repos/wolvespack/alcor/pulls/comments/155755337","pull_request_review_id":82128084,"id":155755337,"diff_hunk":"@@ -0,0 +1,284 @@\n+import math\n+from random import random\n+\n+import numpy as np\n+import pandas as pd\n+\n+from alcor.models.star import GalacticStructureType\n+\n+\n+# TODO: take these consts to settings file\n+def generate_stars(*,\n+                   max_stars_count: int = 6000000,\n+                   time_bins_count: int = 5000,\n+                   thin_disk_age: float = 9.2,\n+                   thick_disk_age: float = 12.,\n+                   halo_age: float = 14.,\n+                   halo_stars_formation_time: float = 1.,\n+                   burst_age: float = 0.6,\n+                   burst_formation_factor: float = 5.,\n+                   star_formation_rate_param: float = 25.,\n+                   thick_disk_sfr_param: float = 2.,\n+                   thick_disk_stars_fraction: float = 0.8,\n+                   halo_stars_fraction: float = 0.05,\n+                   sector_radius_kpc: float = 0.05,\n+                   mass_reduction_factor: float = 0.03,\n+                   initial_mass_function_param: float = -2.35) -> pd.DataFrame:\n+    time_increment = thin_disk_age / time_bins_count\n+    sector_area = math.pi * sector_radius_kpc ** 2\n+    birth_rate = (time_increment * sector_area * 1E6  # TODO: what is 1E6?\n+                  * mass_reduction_factor\n+                  * normalization_const(\n+                        star_formation_rate_param=star_formation_rate_param,\n+                        thin_disk_age_gyr=thin_disk_age))\n+    burst_birth_rate = birth_rate * burst_formation_factor\n+    max_age = max(thin_disk_age, thick_disk_age, halo_age)\n+    burst_init_time = max_age - burst_age\n+    thin_disk_birth_init_time = max_age - thin_disk_age\n+    thick_disk_birth_init_time = max_age - thick_disk_age\n+    halo_birth_init_time = max_age - halo_age\n+    # This can be proved by taking derivative from y = t * exp(-t / tau)\n+    thick_disk_max_sfr_relative_time = thick_disk_birth_init_time\n+    thick_disk_max_sfr = (thick_disk_max_sfr_relative_time\n+                          * math.exp(-thick_disk_max_sfr_relative_time\n+                                     / thick_disk_sfr_param))\n+\n+    thin_disk_stars = generate_thin_disk_stars(\n+            thin_disk_birth_init_time=thin_disk_birth_init_time,\n+            max_age=max_age,\n+            time_bins_count=time_bins_count,\n+            burst_init_time=burst_init_time,\n+            birth_rate=birth_rate,\n+            burst_birth_rate=burst_birth_rate,\n+            initial_mass_function_parameter=initial_mass_function_param,\n+            time_increment=time_increment,\n+            max_stars_count=max_stars_count)\n+\n+    thick_disk_stars = generate_thick_disk_stars(\n+            thin_disk_stars_fraction=(1. - thick_disk_stars_fraction\n+                                      - halo_stars_fraction),\n+            thick_disk_stars_fraction=thick_disk_stars_fraction,\n+            thin_disk_stars_count=thin_disk_stars.shape[0],\n+            initial_mass_function_parameter=initial_mass_function_param,\n+            thick_disk_age=thick_disk_age,\n+            thick_disk_birth_init_time=thick_disk_birth_init_time,\n+            thick_disk_max_sfr=thick_disk_max_sfr,\n+            thick_disk_sfr_param=thick_disk_sfr_param)\n+\n+    halo_stars = generate_halo_stars(\n+            thin_disk_stars_count=thin_disk_stars.shape[0],\n+            halo_stars_fraction=halo_stars_fraction,\n+            thin_disk_stars_fraction=(1. - thick_disk_stars_fraction\n+                                      - halo_stars_fraction),\n+            initial_mass_function_parameter=initial_mass_function_param,\n+            halo_birth_init_time=halo_birth_init_time,\n+            halo_stars_formation_time=halo_stars_formation_time)\n+\n+    return pd.concat([thin_disk_stars, thick_disk_stars, halo_stars])\n+\n+\n+def generate_halo_stars(*,\n+                        thin_disk_stars_count: float,\n+                        halo_stars_fraction: float,\n+                        thin_disk_stars_fraction: float,\n+                        initial_mass_function_parameter: float,\n+                        halo_birth_init_time: float,\n+                        halo_stars_formation_time: float) -> pd.DataFrame:\n+    halo_stars_count = int(thin_disk_stars_count\n+                           * halo_stars_fraction\n+                           / thin_disk_stars_fraction)\n+    progenitors_masses = []\n+    birth_times = []\n+\n+    for _ in range(halo_stars_count):\n+        progenitors_masses.append(\n+                initial_star_mass_by_salpeter(initial_mass_function_parameter))\n+        birth_times.append(halo_star_birth_time(\n+                    halo_birth_init_time=halo_birth_init_time,\n+                    halo_stars_formation_time=halo_stars_formation_time))\n+\n+    halo_stars = pd.DataFrame(dict(progenitor_mass=progenitors_masses,\n+                                   birth_time=birth_times))\n+    halo_stars['galactic_structure_type'] = GalacticStructureType.halo\n+\n+    return halo_stars\n+\n+\n+def generate_thick_disk_stars(*,\n+                              thin_disk_stars_fraction: float,\n+                              thick_disk_stars_fraction: float,\n+                              thin_disk_stars_count: int,\n+                              initial_mass_function_parameter: float,\n+                              thick_disk_age: float,\n+                              thick_disk_birth_init_time: float,\n+                              thick_disk_max_sfr: float,\n+                              thick_disk_sfr_param: float) -> pd.DataFrame:\n+    thick_disk_stars_count = int(thin_disk_stars_count\n+                                 * thick_disk_stars_fraction\n+                                 / thin_disk_stars_fraction)\n+    progenitors_masses = []\n+    birth_times = []\n+\n+    for _ in range(thick_disk_stars_count):\n+        progenitors_masses.append(\n+                initial_star_mass_by_salpeter(initial_mass_function_parameter))\n+        birth_times.append(thick_disk_star_birth_time(\n+                thick_disk_age=thick_disk_age,\n+                thick_disk_birth_init_time=thick_disk_birth_init_time,\n+                thick_disk_max_sfr=thick_disk_max_sfr,\n+                thick_disk_sfr_param=thick_disk_sfr_param))\n+\n+    thick_disk_stars = pd.DataFrame(dict(progenitor_mass=progenitors_masses,\n+                                         birth_time=birth_times))\n+    thick_disk_stars['galactic_structure_type'] = GalacticStructureType.thick\n+\n+    return thick_disk_stars\n+\n+\n+def generate_thin_disk_stars(*,\n+                             thin_disk_birth_init_time: float,\n+                             max_age: float,\n+                             time_bins_count: int,\n+                             burst_init_time: float,\n+                             birth_rate: float,\n+                             burst_birth_rate: float,\n+                             initial_mass_function_parameter: float,\n+                             time_increment: float,\n+                             max_stars_count: int) -> pd.DataFrame:\n+    time_bins_initial_times = np.linspace(start=thin_disk_birth_init_time,\n+                                          stop=max_age,\n+                                          num=time_bins_count,\n+                                          endpoint=False)\n+    birth_rates = get_birth_rates(time_bins_initial_times,\n+                                  burst_init_time=burst_init_time,\n+                                  birth_rate=birth_rate,\n+                                  burst_birth_rate=burst_birth_rate)\n+\n+    progenitors_masses = []\n+    birth_times = []\n+\n+    for bin_initial_time, birth_rate in np.column_stack(\n+            (time_bins_initial_times, birth_rates)):\n+        total_bin_mass = 0.\n+\n+        while total_bin_mass < birth_rate:\n+            birth_times.append(thin_disk_star_birth_time(\n+                    bin_initial_time=bin_initial_time,\n+                    time_increment=time_increment))\n+\n+            star_mass = initial_star_mass_by_salpeter(\n+                    initial_mass_function_parameter)\n+            progenitors_masses.append(star_mass)\n+\n+            total_bin_mass += star_mass\n+\n+        if len(progenitors_masses) > max_stars_count:\n+            raise OverflowError('Number of stars is too high - '\n+                                'decrease mass reduction factor.')\n+\n+    thin_disk_stars = pd.DataFrame(dict(progenitor_mass=progenitors_masses,\n+                                        birth_time=birth_times))\n+    thin_disk_stars['galactic_structure_type'] = GalacticStructureType.thin\n+\n+    return thin_disk_stars\n+\n+\n+def get_birth_rates(times: np.ndarray,\n+                    *,\n+                    burst_init_time: float,\n+                    birth_rate: float,\n+                    burst_birth_rate: float) -> np.ndarray:\n+    burst_times_mask = times >= burst_init_time\n+    return np.piecewise(times,\n+                        [~burst_times_mask, burst_times_mask],\n+                        [birth_rate, burst_birth_rate])\n+\n+\n+def normalization_const(*,\n+                        star_formation_rate_param: float,\n+                        thin_disk_age_gyr: float,\n+                        sigma: float = 51.  # TODO: what is sigma?\n+                        ) -> float:\n+    return sigma / (star_formation_rate_param\n+                    * (1 - math.exp(-thin_disk_age_gyr\n+                                    / star_formation_rate_param)))\n+\n+\n+# TODO: implement inverse transform sampling\n+def initial_star_mass_by_salpeter(parameter: float,\n+                                  *,\n+                                  min_mass: float = 0.4,\n+                                  max_mass: float = 50.) -> float:\n+    y_max = min_mass ** parameter\n+\n+    mass_amplitude = max_mass - min_mass\n+    while True:\n+        # TODO: implement seeds tracking\n+        y = y_max * random()\n+        mass = min_mass + mass_amplitude * random()\n+        y_imf = mass ** parameter\n+        if y <= y_imf:\n+            return mass\n+\n+\n+def thick_disk_star_birth_time(*,\n+                               thick_disk_age: float,\n+                               thick_disk_sfr_param: float,\n+                               thick_disk_max_sfr: float,\n+                               thick_disk_birth_init_time: float) -> float:\n+    \"\"\"\n+    Return birth time of a thick disk star by using Monte Carlo method.\n+    SFR - star formation rate. More info at:\n+    https://www.google.es/search?q=star+formation+rate\n+    \"\"\"\n+    while True:\n+        time_try = thick_disk_age * random()\n+        time_try_sfr = time_try * math.exp(-time_try / thick_disk_sfr_param)\n+        sfr_try = thick_disk_max_sfr * random()\n+        if sfr_try <= time_try_sfr:\n+            return time_try + thick_disk_birth_init_time\n+\n+\n+def halo_star_birth_time(*,\n+                         halo_birth_init_time: float,\n+                         halo_stars_formation_time: float) -> float:\n+    return halo_birth_init_time + halo_stars_formation_time * random()\n+\n+\n+def thin_disk_star_birth_time(*,\n+                              bin_initial_time: float,\n+                              time_increment: float) -> float:\n+    return bin_initial_time + time_increment * random()\n+\n+\n+def get_galactic_structure_type(*,\n+                                thick_disk_stars_fraction: float,\n+                                halo_stars_fraction: float\n+                                ) -> GalacticStructureType:\n+    random_number = random()","path":"alcor/services/simulations/sphere_stars.py","position":null,"original_position":258,"commit_id":"04f1042b462644ebfa0c53a2840ea05be7ee3cd9","original_commit_id":"e5635e58ec85cf8a81dfaab7b0c7bfa3f9dc4f4e","user":{"login":"LostFan123","id":20144534,"avatar_url":"https://avatars2.githubusercontent.com/u/20144534?v=4","gravatar_id":"","url":"https://api.github.com/users/LostFan123","html_url":"https://github.com/LostFan123","followers_url":"https://api.github.com/users/LostFan123/followers","following_url":"https://api.github.com/users/LostFan123/following{/other_user}","gists_url":"https://api.github.com/users/LostFan123/gists{/gist_id}","starred_url":"https://api.github.com/users/LostFan123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LostFan123/subscriptions","organizations_url":"https://api.github.com/users/LostFan123/orgs","repos_url":"https://api.github.com/users/LostFan123/repos","events_url":"https://api.github.com/users/LostFan123/events{/privacy}","received_events_url":"https://api.github.com/users/LostFan123/received_events","type":"User","site_admin":false},"body":"сделано","created_at":"2017-12-08T11:15:50Z","updated_at":"2017-12-08T11:15:50Z","html_url":"https://github.com/wolvespack/alcor/pull/17#discussion_r155755337","pull_request_url":"https://api.github.com/repos/wolvespack/alcor/pulls/17","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/wolvespack/alcor/pulls/comments/155755337"},"html":{"href":"https://github.com/wolvespack/alcor/pull/17#discussion_r155755337"},"pull_request":{"href":"https://api.github.com/repos/wolvespack/alcor/pulls/17"}},"in_reply_to_id":155442017},"pull_request":{"url":"https://api.github.com/repos/wolvespack/alcor/pulls/17","id":137835985,"html_url":"https://github.com/wolvespack/alcor/pull/17","diff_url":"https://github.com/wolvespack/alcor/pull/17.diff","patch_url":"https://github.com/wolvespack/alcor/pull/17.patch","issue_url":"https://api.github.com/repos/wolvespack/alcor/issues/17","number":17,"state":"open","locked":false,"title":"Sphere stars generation","user":{"login":"LostFan123","id":20144534,"avatar_url":"https://avatars2.githubusercontent.com/u/20144534?v=4","gravatar_id":"","url":"https://api.github.com/users/LostFan123","html_url":"https://github.com/LostFan123","followers_url":"https://api.github.com/users/LostFan123/followers","following_url":"https://api.github.com/users/LostFan123/following{/other_user}","gists_url":"https://api.github.com/users/LostFan123/gists{/gist_id}","starred_url":"https://api.github.com/users/LostFan123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LostFan123/subscriptions","organizations_url":"https://api.github.com/users/LostFan123/orgs","repos_url":"https://api.github.com/users/LostFan123/repos","events_url":"https://api.github.com/users/LostFan123/events{/privacy}","received_events_url":"https://api.github.com/users/LostFan123/received_events","type":"User","site_admin":false},"body":"Original description of the module from Fortran:\r\n\r\n    Divides the SFR* in intervals of time. In each interval, the total \r\n    mass of stars is distributed. The mass of each star follows the \r\n    distribution law given by Initial Mass Function (IMF). The birth \r\n    time is also calculated, from which the scale height and finally \r\n    cylindrical z-coordinate are determined.\r\n\r\nThis description is relevant to generating only thin disk stars.\r\nIn current version of the module thick disk stars and halo stars generating was also implemented.\r\nAlso, I believe that assigning coordinates shouldn't be done in this module and should be moved somewhere else.\r\n\r\n_*SFR - star formation rate_","created_at":"2017-08-27T14:43:57Z","updated_at":"2017-12-08T11:15:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8953b706c2cb84e48d3faf44a8b0b8ed53c3ac6b","assignee":{"login":"LostFan123","id":20144534,"avatar_url":"https://avatars2.githubusercontent.com/u/20144534?v=4","gravatar_id":"","url":"https://api.github.com/users/LostFan123","html_url":"https://github.com/LostFan123","followers_url":"https://api.github.com/users/LostFan123/followers","following_url":"https://api.github.com/users/LostFan123/following{/other_user}","gists_url":"https://api.github.com/users/LostFan123/gists{/gist_id}","starred_url":"https://api.github.com/users/LostFan123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LostFan123/subscriptions","organizations_url":"https://api.github.com/users/LostFan123/orgs","repos_url":"https://api.github.com/users/LostFan123/repos","events_url":"https://api.github.com/users/LostFan123/events{/privacy}","received_events_url":"https://api.github.com/users/LostFan123/received_events","type":"User","site_admin":false},"assignees":[{"login":"LostFan123","id":20144534,"avatar_url":"https://avatars2.githubusercontent.com/u/20144534?v=4","gravatar_id":"","url":"https://api.github.com/users/LostFan123","html_url":"https://github.com/LostFan123","followers_url":"https://api.github.com/users/LostFan123/followers","following_url":"https://api.github.com/users/LostFan123/following{/other_user}","gists_url":"https://api.github.com/users/LostFan123/gists{/gist_id}","starred_url":"https://api.github.com/users/LostFan123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LostFan123/subscriptions","organizations_url":"https://api.github.com/users/LostFan123/orgs","repos_url":"https://api.github.com/users/LostFan123/repos","events_url":"https://api.github.com/users/LostFan123/events{/privacy}","received_events_url":"https://api.github.com/users/LostFan123/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/wolvespack/alcor/pulls/17/commits","review_comments_url":"https://api.github.com/repos/wolvespack/alcor/pulls/17/comments","review_comment_url":"https://api.github.com/repos/wolvespack/alcor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/wolvespack/alcor/issues/17/comments","statuses_url":"https://api.github.com/repos/wolvespack/alcor/statuses/04f1042b462644ebfa0c53a2840ea05be7ee3cd9","head":{"label":"wolvespack:sphere_stars_generation","ref":"sphere_stars_generation","sha":"04f1042b462644ebfa0c53a2840ea05be7ee3cd9","user":{"login":"wolvespack","id":32701376,"avatar_url":"https://avatars3.githubusercontent.com/u/32701376?v=4","gravatar_id":"","url":"https://api.github.com/users/wolvespack","html_url":"https://github.com/wolvespack","followers_url":"https://api.github.com/users/wolvespack/followers","following_url":"https://api.github.com/users/wolvespack/following{/other_user}","gists_url":"https://api.github.com/users/wolvespack/gists{/gist_id}","starred_url":"https://api.github.com/users/wolvespack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wolvespack/subscriptions","organizations_url":"https://api.github.com/users/wolvespack/orgs","repos_url":"https://api.github.com/users/wolvespack/repos","events_url":"https://api.github.com/users/wolvespack/events{/privacy}","received_events_url":"https://api.github.com/users/wolvespack/received_events","type":"Organization","site_admin":false},"repo":{"id":89776272,"name":"alcor","full_name":"wolvespack/alcor","owner":{"login":"wolvespack","id":32701376,"avatar_url":"https://avatars3.githubusercontent.com/u/32701376?v=4","gravatar_id":"","url":"https://api.github.com/users/wolvespack","html_url":"https://github.com/wolvespack","followers_url":"https://api.github.com/users/wolvespack/followers","following_url":"https://api.github.com/users/wolvespack/following{/other_user}","gists_url":"https://api.github.com/users/wolvespack/gists{/gist_id}","starred_url":"https://api.github.com/users/wolvespack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wolvespack/subscriptions","organizations_url":"https://api.github.com/users/wolvespack/orgs","repos_url":"https://api.github.com/users/wolvespack/repos","events_url":"https://api.github.com/users/wolvespack/events{/privacy}","received_events_url":"https://api.github.com/users/wolvespack/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/wolvespack/alcor","description":"Kinematical studies of white dwarfs populations","fork":false,"url":"https://api.github.com/repos/wolvespack/alcor","forks_url":"https://api.github.com/repos/wolvespack/alcor/forks","keys_url":"https://api.github.com/repos/wolvespack/alcor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wolvespack/alcor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wolvespack/alcor/teams","hooks_url":"https://api.github.com/repos/wolvespack/alcor/hooks","issue_events_url":"https://api.github.com/repos/wolvespack/alcor/issues/events{/number}","events_url":"https://api.github.com/repos/wolvespack/alcor/events","assignees_url":"https://api.github.com/repos/wolvespack/alcor/assignees{/user}","branches_url":"https://api.github.com/repos/wolvespack/alcor/branches{/branch}","tags_url":"https://api.github.com/repos/wolvespack/alcor/tags","blobs_url":"https://api.github.com/repos/wolvespack/alcor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wolvespack/alcor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wolvespack/alcor/git/refs{/sha}","trees_url":"https://api.github.com/repos/wolvespack/alcor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wolvespack/alcor/statuses/{sha}","languages_url":"https://api.github.com/repos/wolvespack/alcor/languages","stargazers_url":"https://api.github.com/repos/wolvespack/alcor/stargazers","contributors_url":"https://api.github.com/repos/wolvespack/alcor/contributors","subscribers_url":"https://api.github.com/repos/wolvespack/alcor/subscribers","subscription_url":"https://api.github.com/repos/wolvespack/alcor/subscription","commits_url":"https://api.github.com/repos/wolvespack/alcor/commits{/sha}","git_commits_url":"https://api.github.com/repos/wolvespack/alcor/git/commits{/sha}","comments_url":"https://api.github.com/repos/wolvespack/alcor/comments{/number}","issue_comment_url":"https://api.github.com/repos/wolvespack/alcor/issues/comments{/number}","contents_url":"https://api.github.com/repos/wolvespack/alcor/contents/{+path}","compare_url":"https://api.github.com/repos/wolvespack/alcor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wolvespack/alcor/merges","archive_url":"https://api.github.com/repos/wolvespack/alcor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wolvespack/alcor/downloads","issues_url":"https://api.github.com/repos/wolvespack/alcor/issues{/number}","pulls_url":"https://api.github.com/repos/wolvespack/alcor/pulls{/number}","milestones_url":"https://api.github.com/repos/wolvespack/alcor/milestones{/number}","notifications_url":"https://api.github.com/repos/wolvespack/alcor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wolvespack/alcor/labels{/name}","releases_url":"https://api.github.com/repos/wolvespack/alcor/releases{/id}","deployments_url":"https://api.github.com/repos/wolvespack/alcor/deployments","created_at":"2017-04-29T09:39:14Z","updated_at":"2017-11-25T15:52:56Z","pushed_at":"2017-12-07T21:38:19Z","git_url":"git://github.com/wolvespack/alcor.git","ssh_url":"git@github.com:wolvespack/alcor.git","clone_url":"https://github.com/wolvespack/alcor.git","svn_url":"https://github.com/wolvespack/alcor","homepage":"","size":9340,"stargazers_count":1,"watchers_count":1,"language":"Fortran","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":11,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":11,"watchers":1,"default_branch":"master"}},"base":{"label":"wolvespack:wip/fortran_to_python","ref":"wip/fortran_to_python","sha":"4323438c748b68462b9443a2770ab3dbabe517df","user":{"login":"wolvespack","id":32701376,"avatar_url":"https://avatars3.githubusercontent.com/u/32701376?v=4","gravatar_id":"","url":"https://api.github.com/users/wolvespack","html_url":"https://github.com/wolvespack","followers_url":"https://api.github.com/users/wolvespack/followers","following_url":"https://api.github.com/users/wolvespack/following{/other_user}","gists_url":"https://api.github.com/users/wolvespack/gists{/gist_id}","starred_url":"https://api.github.com/users/wolvespack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wolvespack/subscriptions","organizations_url":"https://api.github.com/users/wolvespack/orgs","repos_url":"https://api.github.com/users/wolvespack/repos","events_url":"https://api.github.com/users/wolvespack/events{/privacy}","received_events_url":"https://api.github.com/users/wolvespack/received_events","type":"Organization","site_admin":false},"repo":{"id":89776272,"name":"alcor","full_name":"wolvespack/alcor","owner":{"login":"wolvespack","id":32701376,"avatar_url":"https://avatars3.githubusercontent.com/u/32701376?v=4","gravatar_id":"","url":"https://api.github.com/users/wolvespack","html_url":"https://github.com/wolvespack","followers_url":"https://api.github.com/users/wolvespack/followers","following_url":"https://api.github.com/users/wolvespack/following{/other_user}","gists_url":"https://api.github.com/users/wolvespack/gists{/gist_id}","starred_url":"https://api.github.com/users/wolvespack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wolvespack/subscriptions","organizations_url":"https://api.github.com/users/wolvespack/orgs","repos_url":"https://api.github.com/users/wolvespack/repos","events_url":"https://api.github.com/users/wolvespack/events{/privacy}","received_events_url":"https://api.github.com/users/wolvespack/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/wolvespack/alcor","description":"Kinematical studies of white dwarfs populations","fork":false,"url":"https://api.github.com/repos/wolvespack/alcor","forks_url":"https://api.github.com/repos/wolvespack/alcor/forks","keys_url":"https://api.github.com/repos/wolvespack/alcor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wolvespack/alcor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wolvespack/alcor/teams","hooks_url":"https://api.github.com/repos/wolvespack/alcor/hooks","issue_events_url":"https://api.github.com/repos/wolvespack/alcor/issues/events{/number}","events_url":"https://api.github.com/repos/wolvespack/alcor/events","assignees_url":"https://api.github.com/repos/wolvespack/alcor/assignees{/user}","branches_url":"https://api.github.com/repos/wolvespack/alcor/branches{/branch}","tags_url":"https://api.github.com/repos/wolvespack/alcor/tags","blobs_url":"https://api.github.com/repos/wolvespack/alcor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wolvespack/alcor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wolvespack/alcor/git/refs{/sha}","trees_url":"https://api.github.com/repos/wolvespack/alcor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wolvespack/alcor/statuses/{sha}","languages_url":"https://api.github.com/repos/wolvespack/alcor/languages","stargazers_url":"https://api.github.com/repos/wolvespack/alcor/stargazers","contributors_url":"https://api.github.com/repos/wolvespack/alcor/contributors","subscribers_url":"https://api.github.com/repos/wolvespack/alcor/subscribers","subscription_url":"https://api.github.com/repos/wolvespack/alcor/subscription","commits_url":"https://api.github.com/repos/wolvespack/alcor/commits{/sha}","git_commits_url":"https://api.github.com/repos/wolvespack/alcor/git/commits{/sha}","comments_url":"https://api.github.com/repos/wolvespack/alcor/comments{/number}","issue_comment_url":"https://api.github.com/repos/wolvespack/alcor/issues/comments{/number}","contents_url":"https://api.github.com/repos/wolvespack/alcor/contents/{+path}","compare_url":"https://api.github.com/repos/wolvespack/alcor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wolvespack/alcor/merges","archive_url":"https://api.github.com/repos/wolvespack/alcor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wolvespack/alcor/downloads","issues_url":"https://api.github.com/repos/wolvespack/alcor/issues{/number}","pulls_url":"https://api.github.com/repos/wolvespack/alcor/pulls{/number}","milestones_url":"https://api.github.com/repos/wolvespack/alcor/milestones{/number}","notifications_url":"https://api.github.com/repos/wolvespack/alcor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wolvespack/alcor/labels{/name}","releases_url":"https://api.github.com/repos/wolvespack/alcor/releases{/id}","deployments_url":"https://api.github.com/repos/wolvespack/alcor/deployments","created_at":"2017-04-29T09:39:14Z","updated_at":"2017-11-25T15:52:56Z","pushed_at":"2017-12-07T21:38:19Z","git_url":"git://github.com/wolvespack/alcor.git","ssh_url":"git@github.com:wolvespack/alcor.git","clone_url":"https://github.com/wolvespack/alcor.git","svn_url":"https://github.com/wolvespack/alcor","homepage":"","size":9340,"stargazers_count":1,"watchers_count":1,"language":"Fortran","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":11,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":11,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/wolvespack/alcor/pulls/17"},"html":{"href":"https://github.com/wolvespack/alcor/pull/17"},"issue":{"href":"https://api.github.com/repos/wolvespack/alcor/issues/17"},"comments":{"href":"https://api.github.com/repos/wolvespack/alcor/issues/17/comments"},"review_comments":{"href":"https://api.github.com/repos/wolvespack/alcor/pulls/17/comments"},"review_comment":{"href":"https://api.github.com/repos/wolvespack/alcor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/wolvespack/alcor/pulls/17/commits"},"statuses":{"href":"https://api.github.com/repos/wolvespack/alcor/statuses/04f1042b462644ebfa0c53a2840ea05be7ee3cd9"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"LostFan123"}}