In [1]:
import sys;sys.path.append("..")
import pandas as pd
from pandas import DataFrame
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
%matplotlib inline
from IPython.core.display import display, HTML
display(HTML("<style>.container { width:100% !important; }</style>"))
In [2]:
from devml import (mkdata, stats, state, fetch_repo, ts)
In [3]:
df = mkdata.create_org_df(path="/Users/noahgift/Desktop/AtomicConductor/")
2018-02-06 19:48:46,354 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_ae
2018-02-06 19:48:46,356 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_ae
2018-02-06 19:48:46,374 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:noahgift/devml.git (fetch)\norigin\tgit@github.com:noahgift/devml.git (push)\n'
2018-02-06 19:48:46,397 - devml.mkdata - INFO - Repo Name: b'conductor_ae'
2018-02-06 19:48:46,476 - devml.mkdata - INFO - Found 2324 Messages For Repo: b'conductor_ae'
2018-02-06 19:48:46,478 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-convertor
2018-02-06 19:48:46,479 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-convertor
2018-02-06 19:48:46,497 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_ae.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_ae.git (push)\n'
2018-02-06 19:48:46,526 - devml.mkdata - INFO - Repo Name: b'conductor-job-convertor'
2018-02-06 19:48:46,552 - devml.mkdata - INFO - Found 67 Messages For Repo: b'conductor-job-convertor'
2018-02-06 19:48:46,555 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-computeprovider
2018-02-06 19:48:46,556 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-computeprovider
2018-02-06 19:48:46,574 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-job-convertor.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-job-convertor.git (push)\n'
2018-02-06 19:48:46,601 - devml.mkdata - INFO - Repo Name: b'conductor-computeprovider'
2018-02-06 19:48:46,624 - devml.mkdata - INFO - Found 9 Messages For Repo: b'conductor-computeprovider'
2018-02-06 19:48:46,627 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/admin_client
2018-02-06 19:48:46,628 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/admin_client
2018-02-06 19:48:46,646 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-computeprovider.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-computeprovider.git (push)\n'
2018-02-06 19:48:46,669 - devml.mkdata - INFO - Repo Name: b'admin_client'
2018-02-06 19:48:46,702 - devml.mkdata - INFO - Found 323 Messages For Repo: b'admin_client'
2018-02-06 19:48:46,705 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-syncworker
2018-02-06 19:48:46,706 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-syncworker
2018-02-06 19:48:46,724 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/admin_client.git (fetch)\norigin\tgit@github.com:AtomicConductor/admin_client.git (push)\n'
2018-02-06 19:48:46,752 - devml.mkdata - INFO - Repo Name: b'conductor-syncworker'
2018-02-06 19:48:46,780 - devml.mkdata - INFO - Found 120 Messages For Repo: b'conductor-syncworker'
2018-02-06 19:48:46,782 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/ups
2018-02-06 19:48:46,783 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/ups
2018-02-06 19:48:46,804 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-syncworker.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-syncworker.git (push)\n'
2018-02-06 19:48:46,831 - devml.mkdata - INFO - Repo Name: b'ups'
2018-02-06 19:48:46,856 - devml.mkdata - INFO - Found 4 Messages For Repo: b'ups'
2018-02-06 19:48:46,859 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_tools
2018-02-06 19:48:46,860 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_tools
2018-02-06 19:48:46,880 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/ups.git (fetch)\norigin\tgit@github.com:AtomicConductor/ups.git (push)\n'
2018-02-06 19:48:46,908 - devml.mkdata - INFO - Repo Name: b'conductor_tools'
2018-02-06 19:48:46,935 - devml.mkdata - INFO - Found 26 Messages For Repo: b'conductor_tools'
2018-02-06 19:48:46,938 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/escalator
2018-02-06 19:48:46,939 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/escalator
2018-02-06 19:48:46,958 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_tools.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_tools.git (push)\n'
2018-02-06 19:48:46,983 - devml.mkdata - INFO - Repo Name: b'escalator'
2018-02-06 19:48:47,008 - devml.mkdata - INFO - Found 23 Messages For Repo: b'escalator'
2018-02-06 19:48:47,010 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/cio_appliance
2018-02-06 19:48:47,012 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/cio_appliance
2018-02-06 19:48:47,031 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/escalator.git (fetch)\norigin\tgit@github.com:AtomicConductor/escalator.git (push)\n'
2018-02-06 19:48:47,057 - devml.mkdata - INFO - Repo Name: b'cio_appliance'
2018-02-06 19:48:47,084 - devml.mkdata - INFO - Found 83 Messages For Repo: b'cio_appliance'
2018-02-06 19:48:47,087 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/python-common
2018-02-06 19:48:47,088 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/python-common
2018-02-06 19:48:47,105 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/cio_appliance.git (fetch)\norigin\tgit@github.com:AtomicConductor/cio_appliance.git (push)\n'
2018-02-06 19:48:47,131 - devml.mkdata - INFO - Repo Name: b'python-common'
2018-02-06 19:48:47,158 - devml.mkdata - INFO - Found 82 Messages For Repo: b'python-common'
2018-02-06 19:48:47,162 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-poller
2018-02-06 19:48:47,163 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-poller
2018-02-06 19:48:47,181 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/python-common.git (fetch)\norigin\tgit@github.com:AtomicConductor/python-common.git (push)\n'
2018-02-06 19:48:47,207 - devml.mkdata - INFO - Repo Name: b'conductor-job-poller'
2018-02-06 19:48:47,233 - devml.mkdata - INFO - Found 25 Messages For Repo: b'conductor-job-poller'
2018-02-06 19:48:47,236 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/onboarding_app
2018-02-06 19:48:47,237 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/onboarding_app
2018-02-06 19:48:47,255 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-job-poller.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-job-poller.git (push)\n'
2018-02-06 19:48:47,282 - devml.mkdata - INFO - Repo Name: b'onboarding_app'
2018-02-06 19:48:47,310 - devml.mkdata - INFO - Found 114 Messages For Repo: b'onboarding_app'
2018-02-06 19:48:47,313 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/static_website
2018-02-06 19:48:47,314 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/static_website
2018-02-06 19:48:47,331 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/onboarding_app.git (fetch)\norigin\tgit@github.com:AtomicConductor/onboarding_app.git (push)\n'
2018-02-06 19:48:47,355 - devml.mkdata - INFO - Repo Name: b'static_website'
2018-02-06 19:48:47,383 - devml.mkdata - INFO - Found 171 Messages For Repo: b'static_website'
2018-02-06 19:48:47,386 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/fileio_service
2018-02-06 19:48:47,387 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/fileio_service
2018-02-06 19:48:47,406 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/static_website.git (fetch)\norigin\tgit@github.com:AtomicConductor/static_website.git (push)\n'
2018-02-06 19:48:47,431 - devml.mkdata - INFO - Repo Name: b'fileio_service'
2018-02-06 19:48:47,469 - devml.mkdata - INFO - Found 559 Messages For Repo: b'fileio_service'
2018-02-06 19:48:47,471 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-sns-invoke-nomad
2018-02-06 19:48:47,472 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-sns-invoke-nomad
2018-02-06 19:48:47,488 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/fileio_service.git (fetch)\norigin\tgit@github.com:AtomicConductor/fileio_service.git (push)\n'
2018-02-06 19:48:47,509 - devml.mkdata - INFO - Repo Name: b'conductor-sns-invoke-nomad'
2018-02-06 19:48:47,535 - devml.mkdata - INFO - Found 23 Messages For Repo: b'conductor-sns-invoke-nomad'
2018-02-06 19:48:47,538 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/gke_python_template
2018-02-06 19:48:47,539 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/gke_python_template
2018-02-06 19:48:47,557 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-sns-invoke-nomad.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-sns-invoke-nomad.git (push)\n'
2018-02-06 19:48:47,582 - devml.mkdata - INFO - Repo Name: b'gke_python_template'
2018-02-06 19:48:47,609 - devml.mkdata - INFO - Found 12 Messages For Repo: b'gke_python_template'
2018-02-06 19:48:47,612 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-yesmad
2018-02-06 19:48:47,613 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-yesmad
2018-02-06 19:48:47,632 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/gke_python_template.git (fetch)\norigin\tgit@github.com:AtomicConductor/gke_python_template.git (push)\n'
2018-02-06 19:48:47,657 - devml.mkdata - INFO - Repo Name: b'conductor-yesmad'
2018-02-06 19:48:47,680 - devml.mkdata - INFO - Found 13 Messages For Repo: b'conductor-yesmad'
2018-02-06 19:48:47,683 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/api_frontend
2018-02-06 19:48:47,684 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/api_frontend
2018-02-06 19:48:47,702 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-yesmad.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-yesmad.git (push)\n'
2018-02-06 19:48:47,728 - devml.mkdata - INFO - Repo Name: b'api_frontend'
2018-02-06 19:48:47,750 - devml.mkdata - INFO - Found 2 Messages For Repo: b'api_frontend'
2018-02-06 19:48:47,753 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-billing
2018-02-06 19:48:47,754 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-billing
2018-02-06 19:48:47,772 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/api_frontend.git (fetch)\norigin\tgit@github.com:AtomicConductor/api_frontend.git (push)\n'
2018-02-06 19:48:47,796 - devml.mkdata - INFO - Repo Name: b'conductor-billing'
2018-02-06 19:48:47,823 - devml.mkdata - INFO - Found 41 Messages For Repo: b'conductor-billing'
2018-02-06 19:48:47,826 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-switchman
2018-02-06 19:48:47,827 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-switchman
2018-02-06 19:48:47,846 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-billing.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-billing.git (push)\n'
2018-02-06 19:48:47,870 - devml.mkdata - INFO - Repo Name: b'conductor-switchman'
2018-02-06 19:48:47,897 - devml.mkdata - INFO - Found 112 Messages For Repo: b'conductor-switchman'
2018-02-06 19:48:47,899 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-preemption
2018-02-06 19:48:47,900 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-preemption
2018-02-06 19:48:47,917 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-switchman.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-switchman.git (push)\n'
2018-02-06 19:48:47,943 - devml.mkdata - INFO - Repo Name: b'conductor-preemption'
2018-02-06 19:48:47,966 - devml.mkdata - INFO - Found 25 Messages For Repo: b'conductor-preemption'
2018-02-06 19:48:47,969 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-metastep
2018-02-06 19:48:47,970 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-metastep
2018-02-06 19:48:47,988 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-preemption.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-preemption.git (push)\n'
2018-02-06 19:48:48,013 - devml.mkdata - INFO - Repo Name: b'conductor-metastep'
2018-02-06 19:48:48,036 - devml.mkdata - INFO - Found 17 Messages For Repo: b'conductor-metastep'
2018-02-06 19:48:48,039 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/Conductor_fe
2018-02-06 19:48:48,040 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/Conductor_fe
2018-02-06 19:48:48,058 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-metastep.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-metastep.git (push)\n'
2018-02-06 19:48:48,082 - devml.mkdata - INFO - Repo Name: b'Conductor_fe'
2018-02-06 19:48:48,107 - devml.mkdata - INFO - Found 70 Messages For Repo: b'Conductor_fe'
2018-02-06 19:48:48,110 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-platform
2018-02-06 19:48:48,111 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-platform
2018-02-06 19:48:48,128 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/Conductor_fe.git (fetch)\norigin\tgit@github.com:AtomicConductor/Conductor_fe.git (push)\n'
2018-02-06 19:48:48,152 - devml.mkdata - INFO - Repo Name: b'conductor-platform'
2018-02-06 19:48:48,183 - devml.mkdata - INFO - Found 335 Messages For Repo: b'conductor-platform'
2018-02-06 19:48:48,185 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-trigger
2018-02-06 19:48:48,186 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-trigger
2018-02-06 19:48:48,203 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-platform.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-platform.git (push)\n'
2018-02-06 19:48:48,228 - devml.mkdata - INFO - Repo Name: b'conductor-job-trigger'
2018-02-06 19:48:48,250 - devml.mkdata - INFO - Found 22 Messages For Repo: b'conductor-job-trigger'
2018-02-06 19:48:48,253 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/columbia
2018-02-06 19:48:48,254 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/columbia
2018-02-06 19:48:48,272 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-job-trigger.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-job-trigger.git (push)\n'
2018-02-06 19:48:48,297 - devml.mkdata - INFO - Repo Name: b'columbia'
2018-02-06 19:48:48,320 - devml.mkdata - INFO - Found 23 Messages For Repo: b'columbia'
2018-02-06 19:48:48,323 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-storage-api
2018-02-06 19:48:48,324 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-storage-api
2018-02-06 19:48:48,341 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/columbia.git (fetch)\norigin\tgit@github.com:AtomicConductor/columbia.git (push)\n'
2018-02-06 19:48:48,365 - devml.mkdata - INFO - Repo Name: b'conductor-storage-api'
2018-02-06 19:48:48,392 - devml.mkdata - INFO - Found 202 Messages For Repo: b'conductor-storage-api'
2018-02-06 19:48:48,394 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_ee
2018-02-06 19:48:48,394 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_ee
2018-02-06 19:48:48,408 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-storage-api.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-storage-api.git (push)\n'
2018-02-06 19:48:48,427 - devml.mkdata - INFO - Repo Name: b'conductor_ee'
2018-02-06 19:48:48,468 - devml.mkdata - INFO - Found 1086 Messages For Repo: b'conductor_ee'
2018-02-06 19:48:48,470 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/web_client
2018-02-06 19:48:48,470 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/web_client
2018-02-06 19:48:48,485 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_ee.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_ee.git (push)\n'
2018-02-06 19:48:48,506 - devml.mkdata - INFO - Repo Name: b'web_client'
2018-02-06 19:48:48,529 - devml.mkdata - INFO - Found 29 Messages For Repo: b'web_client'
2018-02-06 19:48:48,531 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_rmqcluster
2018-02-06 19:48:48,532 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_rmqcluster
2018-02-06 19:48:48,551 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/web_client.git (fetch)\norigin\tgit@github.com:AtomicConductor/web_client.git (push)\n'
2018-02-06 19:48:48,577 - devml.mkdata - INFO - Repo Name: b'conductor_rmqcluster'
2018-02-06 19:48:48,600 - devml.mkdata - INFO - Found 7 Messages For Repo: b'conductor_rmqcluster'
2018-02-06 19:48:48,602 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_client
2018-02-06 19:48:48,603 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_client
2018-02-06 19:48:48,625 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_rmqcluster.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_rmqcluster.git (push)\n'
2018-02-06 19:48:48,653 - devml.mkdata - INFO - Repo Name: b'conductor_client'
2018-02-06 19:48:48,694 - devml.mkdata - INFO - Found 744 Messages For Repo: b'conductor_client'
2018-02-06 19:48:48,696 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_datastore_lib
2018-02-06 19:48:48,697 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_datastore_lib
2018-02-06 19:48:48,710 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_client.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_client.git (push)\n'
2018-02-06 19:48:48,729 - devml.mkdata - INFO - Repo Name: b'conductor_datastore_lib'
2018-02-06 19:48:48,750 - devml.mkdata - INFO - Found 18 Messages For Repo: b'conductor_datastore_lib'
2018-02-06 19:48:48,754 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/google-app-engine-python
2018-02-06 19:48:48,755 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/google-app-engine-python
2018-02-06 19:48:48,772 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_datastore_lib.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_datastore_lib.git (push)\n'
2018-02-06 19:48:48,794 - devml.mkdata - INFO - Repo Name: b'google-app-engine-python'
2018-02-06 19:48:48,814 - devml.mkdata - INFO - Found 1 Messages For Repo: b'google-app-engine-python'
2018-02-06 19:48:48,816 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/atlantis
2018-02-06 19:48:48,817 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/atlantis
2018-02-06 19:48:48,831 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/google-app-engine-python.git (fetch)\norigin\tgit@github.com:AtomicConductor/google-app-engine-python.git (push)\n'
2018-02-06 19:48:48,851 - devml.mkdata - INFO - Repo Name: b'atlantis'
2018-02-06 19:48:48,870 - devml.mkdata - INFO - Found 5 Messages For Repo: b'atlantis'
2018-02-06 19:48:48,873 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_inf
2018-02-06 19:48:48,873 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_inf
2018-02-06 19:48:48,889 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/atlantis.git (fetch)\norigin\tgit@github.com:AtomicConductor/atlantis.git (push)\n'
2018-02-06 19:48:48,910 - devml.mkdata - INFO - Repo Name: b'conductor_inf'
2018-02-06 19:48:48,937 - devml.mkdata - INFO - Found 24 Messages For Repo: b'conductor_inf'
2018-02-06 19:48:48,939 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/gcp_scale
2018-02-06 19:48:48,941 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/gcp_scale
2018-02-06 19:48:48,960 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_inf.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_inf.git (push)\n'
2018-02-06 19:48:48,987 - devml.mkdata - INFO - Repo Name: b'gcp_scale'
2018-02-06 19:48:49,011 - devml.mkdata - INFO - Found 11 Messages For Repo: b'gcp_scale'
2018-02-06 19:48:49,014 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/neckbeard
2018-02-06 19:48:49,015 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/neckbeard
2018-02-06 19:48:49,032 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/gcp_scale.git (fetch)\norigin\tgit@github.com:AtomicConductor/gcp_scale.git (push)\n'
2018-02-06 19:48:49,062 - devml.mkdata - INFO - Repo Name: b'neckbeard'
2018-02-06 19:48:49,084 - devml.mkdata - INFO - Found 15 Messages For Repo: b'neckbeard'
2018-02-06 19:48:49,087 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/cicd-test
2018-02-06 19:48:49,088 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/cicd-test
2018-02-06 19:48:49,106 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/neckbeard.git (fetch)\norigin\tgit@github.com:AtomicConductor/neckbeard.git (push)\n'
2018-02-06 19:48:49,132 - devml.mkdata - INFO - Repo Name: b'cicd-test'
2018-02-06 19:48:49,156 - devml.mkdata - INFO - Found 22 Messages For Repo: b'cicd-test'
2018-02-06 19:48:49,159 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-serverless-central
2018-02-06 19:48:49,160 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-serverless-central
2018-02-06 19:48:49,180 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/cicd-test.git (fetch)\norigin\tgit@github.com:AtomicConductor/cicd-test.git (push)\n'
2018-02-06 19:48:49,206 - devml.mkdata - INFO - Repo Name: b'conductor-serverless-central'
2018-02-06 19:48:49,232 - devml.mkdata - INFO - Found 27 Messages For Repo: b'conductor-serverless-central'
2018-02-06 19:48:49,235 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/jobspec-processor
2018-02-06 19:48:49,236 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/jobspec-processor
2018-02-06 19:48:49,255 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-serverless-central.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-serverless-central.git (push)\n'
2018-02-06 19:48:49,281 - devml.mkdata - INFO - Repo Name: b'jobspec-processor'
2018-02-06 19:48:49,308 - devml.mkdata - INFO - Found 114 Messages For Repo: b'jobspec-processor'
2018-02-06 19:48:49,311 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_api
2018-02-06 19:48:49,312 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_api
2018-02-06 19:48:49,326 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/jobspec-processor.git (fetch)\norigin\tgit@github.com:AtomicConductor/jobspec-processor.git (push)\n'
2018-02-06 19:48:49,348 - devml.mkdata - INFO - Repo Name: b'conductor_api'
2018-02-06 19:48:49,376 - devml.mkdata - INFO - Found 401 Messages For Repo: b'conductor_api'
2018-02-06 19:48:49,378 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/terraform-aws-nomad
2018-02-06 19:48:49,379 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/terraform-aws-nomad
2018-02-06 19:48:49,393 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_api.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_api.git (push)\n'
2018-02-06 19:48:49,415 - devml.mkdata - INFO - Repo Name: b'terraform-aws-nomad'
2018-02-06 19:48:49,436 - devml.mkdata - INFO - Found 89 Messages For Repo: b'terraform-aws-nomad'
2018-02-06 19:48:49,439 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/cio_resource_controller
2018-02-06 19:48:49,439 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/cio_resource_controller
2018-02-06 19:48:49,454 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/terraform-aws-nomad.git (fetch)\norigin\tgit@github.com:AtomicConductor/terraform-aws-nomad.git (push)\n'
2018-02-06 19:48:49,474 - devml.mkdata - INFO - Repo Name: b'cio_resource_controller'
2018-02-06 19:48:49,505 - devml.mkdata - INFO - Found 8 Messages For Repo: b'cio_resource_controller'
2018-02-06 19:48:49,509 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/gae-setuptools
2018-02-06 19:48:49,510 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/gae-setuptools
2018-02-06 19:48:49,531 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/cio_resource_controller.git (fetch)\norigin\tgit@github.com:AtomicConductor/cio_resource_controller.git (push)\n'
2018-02-06 19:48:49,560 - devml.mkdata - INFO - Repo Name: b'gae-setuptools'
2018-02-06 19:48:49,582 - devml.mkdata - INFO - Found 18 Messages For Repo: b'gae-setuptools'
2018-02-06 19:48:49,585 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/terraform-modules
2018-02-06 19:48:49,586 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/terraform-modules
2018-02-06 19:48:49,605 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/gae-setuptools.git (fetch)\norigin\tgit@github.com:AtomicConductor/gae-setuptools.git (push)\n'
2018-02-06 19:48:49,630 - devml.mkdata - INFO - Repo Name: b'terraform-modules'
2018-02-06 19:48:49,660 - devml.mkdata - INFO - Found 32 Messages For Repo: b'terraform-modules'
2018-02-06 19:48:49,663 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-syncman
2018-02-06 19:48:49,664 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-syncman
2018-02-06 19:48:49,681 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/terraform-modules.git (fetch)\norigin\tgit@github.com:AtomicConductor/terraform-modules.git (push)\n'
2018-02-06 19:48:49,707 - devml.mkdata - INFO - Repo Name: b'conductor-syncman'
2018-02-06 19:48:49,734 - devml.mkdata - INFO - Found 52 Messages For Repo: b'conductor-syncman'
2018-02-06 19:48:49,737 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/serverless-api
2018-02-06 19:48:49,738 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/serverless-api
2018-02-06 19:48:49,756 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-syncman.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-syncman.git (push)\n'
2018-02-06 19:48:49,785 - devml.mkdata - INFO - Repo Name: b'serverless-api'
2018-02-06 19:48:49,811 - devml.mkdata - INFO - Found 10 Messages For Repo: b'serverless-api'
2018-02-06 19:48:49,814 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/containers
2018-02-06 19:48:49,815 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/containers
2018-02-06 19:48:49,834 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/serverless-api.git (fetch)\norigin\tgit@github.com:AtomicConductor/serverless-api.git (push)\n'
2018-02-06 19:48:49,861 - devml.mkdata - INFO - Repo Name: b'containers'
2018-02-06 19:48:49,890 - devml.mkdata - INFO - Found 213 Messages For Repo: b'containers'
2018-02-06 19:48:49,892 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/jenkins
2018-02-06 19:48:49,893 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/jenkins
2018-02-06 19:48:49,908 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/containers.git (fetch)\norigin\tgit@github.com:AtomicConductor/containers.git (push)\n'
2018-02-06 19:48:49,927 - devml.mkdata - INFO - Repo Name: b'jenkins'
2018-02-06 19:48:49,951 - devml.mkdata - INFO - Found 91 Messages For Repo: b'jenkins'
2018-02-06 19:48:49,953 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/web_site
2018-02-06 19:48:49,954 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/web_site
2018-02-06 19:48:49,971 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/jenkins.git (fetch)\norigin\tgit@github.com:AtomicConductor/jenkins.git (push)\n'
2018-02-06 19:48:49,996 - devml.mkdata - INFO - Repo Name: b'web_site'
2018-02-06 19:48:50,019 - devml.mkdata - INFO - Found 5 Messages For Repo: b'web_site'
2018-02-06 19:48:50,021 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/infrastructure
2018-02-06 19:48:50,023 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/infrastructure
2018-02-06 19:48:50,039 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/web_site.git (fetch)\norigin\tgit@github.com:AtomicConductor/web_site.git (push)\n'
2018-02-06 19:48:50,065 - devml.mkdata - INFO - Repo Name: b'infrastructure'
2018-02-06 19:48:50,087 - devml.mkdata - INFO - Found 35 Messages For Repo: b'infrastructure'
2018-02-06 19:48:50,090 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/webapp_functional_automation_tests
2018-02-06 19:48:50,092 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/webapp_functional_automation_tests
2018-02-06 19:48:50,111 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/infrastructure.git (fetch)\norigin\tgit@github.com:AtomicConductor/infrastructure.git (push)\n'
2018-02-06 19:48:50,137 - devml.mkdata - INFO - Repo Name: b'webapp_functional_automation_tests'
2018-02-06 19:48:50,160 - devml.mkdata - INFO - Found 31 Messages For Repo: b'webapp_functional_automation_tests'
2018-02-06 19:48:50,162 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_pyrmq
2018-02-06 19:48:50,163 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_pyrmq
2018-02-06 19:48:50,179 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/webapp_functional_automation_tests.git (fetch)\norigin\tgit@github.com:AtomicConductor/webapp_functional_automation_tests.git (push)\n'
2018-02-06 19:48:50,205 - devml.mkdata - INFO - Repo Name: b'conductor_pyrmq'
2018-02-06 19:48:50,227 - devml.mkdata - INFO - Found 11 Messages For Repo: b'conductor_pyrmq'
2018-02-06 19:48:50,230 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/accounts_service
2018-02-06 19:48:50,230 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/accounts_service
2018-02-06 19:48:50,246 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_pyrmq.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_pyrmq.git (push)\n'
2018-02-06 19:48:50,268 - devml.mkdata - INFO - Repo Name: b'accounts_service'
2018-02-06 19:48:50,294 - devml.mkdata - INFO - Found 157 Messages For Repo: b'accounts_service'
2018-02-06 19:48:50,297 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-projecttemplate
2018-02-06 19:48:50,298 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-projecttemplate
2018-02-06 19:48:50,315 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/accounts_service.git (fetch)\norigin\tgit@github.com:AtomicConductor/accounts_service.git (push)\n'
2018-02-06 19:48:50,340 - devml.mkdata - INFO - Repo Name: b'conductor-projecttemplate'
2018-02-06 19:48:50,363 - devml.mkdata - INFO - Found 15 Messages For Repo: b'conductor-projecttemplate'
2018-02-06 19:48:50,367 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/terraform-aws-consul
2018-02-06 19:48:50,368 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/terraform-aws-consul
2018-02-06 19:48:50,386 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor-projecttemplate.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor-projecttemplate.git (push)\n'
2018-02-06 19:48:50,411 - devml.mkdata - INFO - Repo Name: b'terraform-aws-consul'
2018-02-06 19:48:50,434 - devml.mkdata - INFO - Found 12 Messages For Repo: b'terraform-aws-consul'
2018-02-06 19:48:50,437 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/importcentral
2018-02-06 19:48:50,437 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/importcentral
2018-02-06 19:48:50,455 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/terraform-aws-consul.git (fetch)\norigin\tgit@github.com:AtomicConductor/terraform-aws-consul.git (push)\n'
2018-02-06 19:48:50,478 - devml.mkdata - INFO - Repo Name: b'importcentral'
2018-02-06 19:48:50,498 - devml.mkdata - INFO - Found 10 Messages For Repo: b'importcentral'
2018-02-06 19:48:50,501 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_exrmq
2018-02-06 19:48:50,502 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor_exrmq
2018-02-06 19:48:50,520 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/importcentral.git (fetch)\norigin\tgit@github.com:AtomicConductor/importcentral.git (push)\n'
2018-02-06 19:48:50,546 - devml.mkdata - INFO - Repo Name: b'conductor_exrmq'
2018-02-06 19:48:50,568 - devml.mkdata - INFO - Found 17 Messages For Repo: b'conductor_exrmq'
2018-02-06 19:48:50,571 - devml.mkdata - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-storage-step-poller
2018-02-06 19:48:50,572 - devml.mkdata - INFO - Processing Repo: /Users/noahgift/Desktop/AtomicConductor/conductor-storage-step-poller
2018-02-06 19:48:50,589 - devml.mkdata - INFO - guid: b'origin\tgit@github.com:AtomicConductor/conductor_exrmq.git (fetch)\norigin\tgit@github.com:AtomicConductor/conductor_exrmq.git (push)\n'
2018-02-06 19:48:50,614 - devml.mkdata - INFO - Repo Name: b'conductor-storage-step-poller'
2018-02-06 19:48:50,638 - devml.mkdata - INFO - Found 15 Messages For Repo: b'conductor-storage-step-poller'
2018-02-06 19:48:50,641 - devml.mkdata - INFO - Found a total log entries: 8152
2018-02-06 19:48:50,706 - devml.mkdata - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-storage-step-poller
In [4]:
df.head()
Out[4]:
author_email
author_name
id
message
repo
commits
date
2018-02-02 15:28:39
francoislebel@gmail.com
Francois Lebel
c795b2994a4720ee788fb9c1286cd913bee82799
Fix variable name that didn't get refactored i...
b'conductor_ae'
1
2018-02-02 11:43:15
francoislebel@gmail.com
Francois Lebel
035c94554e16811ee4f95bb318aa12c383b35fac
Fix variable name that didn't get refactored i...
b'conductor_ae'
1
2018-02-01 16:42:59
lschlosser@atomicfiction.com
Lawrence Schlosser
ef1c7c0a83174d816d206cdb24567e0934579646
CT-104 Removed Role 0 requirement for global t...
b'conductor_ae'
1
2018-01-29 16:57:14
will@conductortech.com
Will McDonald
14d1bca7596bae3a3772d5c6b17a8842a617f54c
CT-97 refactoring a bit now that the licensing...
b'conductor_ae'
1
2018-01-29 16:05:33
will@conductortech.com
Will McDonald
9f55784d6911cff37a0297bf999b37bc4690f4ea
CT-97 fixing whitespace issue
b'conductor_ae'
1
In [5]:
df_author_ud = stats.author_unique_active_days(df)
df_author_ud = df_author_ud[df_author_ud["active_ratio"] <1]
In [6]:
df_author_ud.sort_values(by="active_ratio",ascending=False,inplace=True)
df_author_ud.head(20)
Out[6]:
author_name
active_days
active_duration
active_ratio
36
flebel
7
8 days
0.88
3
Fabricio Matías Quagliariello
31
50 days
0.62
42
kennedy behrman
15
25 days
0.60
33
colivares82
37
65 days
0.57
8
James Mayfield
305
621 days
0.49
44
kr.behrman@gmail.com
35
71 days
0.49
19
Noah Gift
49
106 days
0.46
17
Martin Rhoads
92
212 days
0.43
40
justinonstine
335
795 days
0.42
12
Julian Mann
64
168 days
0.38
4
Francois Lebel
109
290 days
0.38
15
Justin Stokman
58
160 days
0.36
26
Roman Naumenko
67
192 days
0.35
13
Justin
11
35 days
0.31
5
Greg Denton
60
211 days
0.28
16
Lawrence Schlosser
273
1015 days
0.27
2
Edgar Flores
78
313 days
0.25
24
Robert Jordan
92
375 days
0.25
32
caubert
7
31 days
0.23
29
Will McDonald
37
177 days
0.21
In [7]:
sns.barplot(y="author_name", x="active_ratio", data=df_author_ud.head(20))
Out[7]:
<matplotlib.axes._subplots.AxesSubplot at 0x1080abd68>
In [8]:
df_author_ud.describe()
Out[8]:
active_days
active_duration
active_ratio
count
35.000000
35
35.000000
mean
60.028571
246 days 10:17:08.571428
0.272000
std
85.637913
253 days 18:57:26.948470
0.209689
min
2.000000
8 days 00:00:00
0.010000
25%
8.500000
85 days 12:00:00
0.100000
50%
31.000000
177 days 00:00:00
0.250000
75%
65.500000
285 days 12:00:00
0.400000
max
335.000000
1015 days 00:00:00
0.880000
In [9]:
stats.author_commit_count(df)
Out[9]:
author_name
commits
0
James Mayfield
1390
1
justinonstine
1306
2
RobertAtomic
759
3
Lawrence Schlosser
710
4
Francois Lebel
581
5
Noah Gift
496
6
Martin Rhoads
416
7
Roman Naumenko
328
8
Robert Jordan
253
9
Greg Denton
240
10
Edgar Flores
193
11
Fabricio Matías Quagliariello
168
12
Julian Mann
151
13
Justin Stokman
146
14
kr.behrman@gmail.com
129
15
Justin Onstine
127
16
colivares82
106
17
Jenkins
90
18
Carlos Olivares
77
19
Will McDonald
74
20
Philip Carlson
59
21
kennedy behrman
58
22
Justin
48
23
Yevgeniy Brikman
46
24
Scott O
31
25
JUSTIN STOKMAN
27
26
flebel
22
27
caubert
18
28
Rimas Mocevicius
16
29
Chris Targett
14
30
mapaquin
14
31
gruntwork-ci
13
32
Josh Padnick
8
33
Matt Calhoun
7
34
kbehrman
7
35
jamesm-cio
5
36
conductor
3
37
gregatomic
2
38
kennedy.behrman@sqor.com
2
39
erjo
2
40
Raj Rajen
2
41
Jonah Meijers
2
42
Gustavo Orozco H
1
43
akplayle
1
44
WMDConductor
1
45
lschlosser
1
46
Rimas
1
47
sozawa
1
In [10]:
df2 = df_author_ud.merge(stats.author_commit_count(df))
In [11]:
df2.sort_values(by="commits", ascending=False,inplace=True)
df2.head(25)
Out[11]:
author_name
active_days
active_duration
active_ratio
commits
4
James Mayfield
305
621 days
0.49
1390
8
justinonstine
335
795 days
0.42
1306
20
RobertAtomic
186
926 days
0.20
759
15
Lawrence Schlosser
273
1015 days
0.27
710
10
Francois Lebel
109
290 days
0.38
581
6
Noah Gift
49
106 days
0.46
496
7
Martin Rhoads
92
212 days
0.43
416
12
Roman Naumenko
67
192 days
0.35
328
17
Robert Jordan
92
375 days
0.25
253
14
Greg Denton
60
211 days
0.28
240
16
Edgar Flores
78
313 days
0.25
193
1
Fabricio Matías Quagliariello
31
50 days
0.62
168
9
Julian Mann
64
168 days
0.38
151
11
Justin Stokman
58
160 days
0.36
146
5
kr.behrman@gmail.com
35
71 days
0.49
129
23
Justin Onstine
13
102 days
0.13
127
3
colivares82
37
65 days
0.57
106
21
Jenkins
21
105 days
0.20
90
19
Will McDonald
37
177 days
0.21
74
22
Philip Carlson
39
202 days
0.19
59
2
kennedy behrman
15
25 days
0.60
58
13
Justin
11
35 days
0.31
48
29
Yevgeniy Brikman
8
196 days
0.04
46
27
Scott O
16
281 days
0.06
31
25
JUSTIN STOKMAN
11
100 days
0.11
27
In [12]:
df2['commits/active_day'] = df2["commits"]/df2["active_days"]
df2.sort_values(by="commits/active_day", ascending=False,inplace=True)
df2.head(25)
Out[12]:
author_name
active_days
active_duration
active_ratio
commits
commits/active_day
6
Noah Gift
49
106 days
0.46
496
10.122449
23
Justin Onstine
13
102 days
0.13
127
9.769231
29
Yevgeniy Brikman
8
196 days
0.04
46
5.750000
1
Fabricio Matías Quagliariello
31
50 days
0.62
168
5.419355
10
Francois Lebel
109
290 days
0.38
581
5.330275
12
Roman Naumenko
67
192 days
0.35
328
4.895522
4
James Mayfield
305
621 days
0.49
1390
4.557377
7
Martin Rhoads
92
212 days
0.43
416
4.521739
13
Justin
11
35 days
0.31
48
4.363636
21
Jenkins
21
105 days
0.20
90
4.285714
20
RobertAtomic
186
926 days
0.20
759
4.080645
14
Greg Denton
60
211 days
0.28
240
4.000000
8
justinonstine
335
795 days
0.42
1306
3.898507
2
kennedy behrman
15
25 days
0.60
58
3.866667
5
kr.behrman@gmail.com
35
71 days
0.49
129
3.685714
28
gruntwork-ci
4
114 days
0.04
13
3.250000
0
flebel
7
8 days
0.88
22
3.142857
3
colivares82
37
65 days
0.57
106
2.864865
26
mapaquin
5
54 days
0.09
14
2.800000
17
Robert Jordan
92
375 days
0.25
253
2.750000
15
Lawrence Schlosser
273
1015 days
0.27
710
2.600733
18
caubert
7
31 days
0.23
18
2.571429
11
Justin Stokman
58
160 days
0.36
146
2.517241
16
Edgar Flores
78
313 days
0.25
193
2.474359
25
JUSTIN STOKMAN
11
100 days
0.11
27
2.454545
In [13]:
df3 = df_author_ud.merge(stats.author_commit_count(df))
df3 = df3[df3["active_days"] >12]
df3.loc[df3.author_name == "Noah Gift", 'active_duration'] = df3.loc[df3.author_name == "Noah Gift", 'active_duration']-pd.Timedelta('40 days')
df3.loc[df3.author_name == "kr.behrman@gmail.com", 'active_duration'] = df3.loc[df3.author_name == "kr.behrman@gmail.com", 'active_duration']-pd.Timedelta('29 days')
df3["active_ratio"] = \
round(df3["active_days"]/df3["active_duration"].dt.days, 2)
df3['commits/active_day'] = df3["commits"]/df3["active_days"]
df3.sort_values(by="active_ratio", ascending=False,inplace=True)
df3.head(25)
Out[13]:
author_name
active_days
active_duration
active_ratio
commits
commits/active_day
5
kr.behrman@gmail.com
35
42 days
0.83
129
3.685714
6
Noah Gift
49
66 days
0.74
496
10.122449
1
Fabricio Matías Quagliariello
31
50 days
0.62
168
5.419355
2
kennedy behrman
15
25 days
0.60
58
3.866667
3
colivares82
37
65 days
0.57
106
2.864865
4
James Mayfield
305
621 days
0.49
1390
4.557377
7
Martin Rhoads
92
212 days
0.43
416
4.521739
8
justinonstine
335
795 days
0.42
1306
3.898507
9
Julian Mann
64
168 days
0.38
151
2.359375
10
Francois Lebel
109
290 days
0.38
581
5.330275
11
Justin Stokman
58
160 days
0.36
146
2.517241
12
Roman Naumenko
67
192 days
0.35
328
4.895522
14
Greg Denton
60
211 days
0.28
240
4.000000
15
Lawrence Schlosser
273
1015 days
0.27
710
2.600733
16
Edgar Flores
78
313 days
0.25
193
2.474359
17
Robert Jordan
92
375 days
0.25
253
2.750000
19
Will McDonald
37
177 days
0.21
74
2.000000
20
RobertAtomic
186
926 days
0.20
759
4.080645
21
Jenkins
21
105 days
0.20
90
4.285714
22
Philip Carlson
39
202 days
0.19
59
1.512821
23
Justin Onstine
13
102 days
0.13
127
9.769231
27
Scott O
16
281 days
0.06
31
1.937500
In [14]:
df4 = df3[df3["active_days"] >12]
sns.barplot(y="author_name", x="active_ratio", data=df4.head(20))
Out[14]:
<matplotlib.axes._subplots.AxesSubplot at 0x116219b00>
In [15]:
from devml import code_counts
counts_df = code_counts.create_org_df("/Users/noahgift/Desktop/AtomicConductor")
2018-02-06 19:53:10,811 - devml.code_counts - INFO - original cwd /Users/noahgift/src/devml/notebooks
2018-02-06 19:53:10,812 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_ae
2018-02-06 19:53:10,813 - devml.code_counts - INFO - Processing path
2018-02-06 19:53:10,814 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_ae]
2018-02-06 19:55:41,495 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_ae
2018-02-06 19:55:41,497 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-convertor
2018-02-06 19:55:41,497 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:41,498 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-job-convertor]
2018-02-06 19:55:41,641 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-job-convertor
2018-02-06 19:55:41,643 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-computeprovider
2018-02-06 19:55:41,644 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:41,645 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-computeprovider]
2018-02-06 19:55:42,075 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-computeprovider
2018-02-06 19:55:42,077 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/admin_client
2018-02-06 19:55:42,078 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:42,079 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/admin_client]
2018-02-06 19:55:42,243 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/admin_client
2018-02-06 19:55:42,246 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-syncworker
2018-02-06 19:55:42,246 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:42,247 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-syncworker]
2018-02-06 19:55:42,623 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-syncworker
2018-02-06 19:55:42,625 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/ups
2018-02-06 19:55:42,626 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:42,626 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/ups]
2018-02-06 19:55:42,713 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/ups
2018-02-06 19:55:42,716 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_tools
2018-02-06 19:55:42,716 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:42,717 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_tools]
2018-02-06 19:55:43,049 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_tools
2018-02-06 19:55:43,051 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/escalator
2018-02-06 19:55:43,051 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:43,052 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/escalator]
2018-02-06 19:55:43,316 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/escalator
2018-02-06 19:55:43,318 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/cio_appliance
2018-02-06 19:55:43,319 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:43,320 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/cio_appliance]
2018-02-06 19:55:43,394 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/cio_appliance
2018-02-06 19:55:43,397 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/python-common
2018-02-06 19:55:43,397 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:43,398 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/python-common]
2018-02-06 19:55:43,843 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/python-common
2018-02-06 19:55:43,845 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-poller
2018-02-06 19:55:43,845 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:43,846 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-job-poller]
2018-02-06 19:55:43,944 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-job-poller
2018-02-06 19:55:43,946 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/onboarding_app
2018-02-06 19:55:43,947 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:43,948 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/onboarding_app]
2018-02-06 19:55:43,965 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/onboarding_app
2018-02-06 19:55:43,967 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/static_website
2018-02-06 19:55:43,968 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:43,969 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/static_website]
2018-02-06 19:55:44,008 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/static_website
2018-02-06 19:55:44,011 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/fileio_service
2018-02-06 19:55:44,012 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:44,013 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/fileio_service]
2018-02-06 19:55:44,135 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/fileio_service
2018-02-06 19:55:44,137 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-sns-invoke-nomad
2018-02-06 19:55:44,138 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:44,139 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-sns-invoke-nomad]
2018-02-06 19:55:44,246 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-sns-invoke-nomad
2018-02-06 19:55:44,249 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/gke_python_template
2018-02-06 19:55:44,250 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:44,250 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/gke_python_template]
2018-02-06 19:55:45,495 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/gke_python_template
2018-02-06 19:55:45,497 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-yesmad
2018-02-06 19:55:45,498 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:45,499 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-yesmad]
2018-02-06 19:55:45,625 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-yesmad
2018-02-06 19:55:45,627 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/api_frontend
2018-02-06 19:55:45,628 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:45,629 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/api_frontend]
2018-02-06 19:55:45,648 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/api_frontend
2018-02-06 19:55:45,651 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-billing
2018-02-06 19:55:45,652 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:45,653 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-billing]
2018-02-06 19:55:46,408 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-billing
2018-02-06 19:55:46,409 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-switchman
2018-02-06 19:55:46,410 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:46,411 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-switchman]
2018-02-06 19:55:46,931 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-switchman
2018-02-06 19:55:46,932 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-preemption
2018-02-06 19:55:46,933 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:46,934 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-preemption]
2018-02-06 19:55:47,150 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-preemption
2018-02-06 19:55:47,152 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-metastep
2018-02-06 19:55:47,153 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:47,154 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-metastep]
2018-02-06 19:55:47,264 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-metastep
2018-02-06 19:55:47,267 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/Conductor_fe
2018-02-06 19:55:47,267 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:47,268 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/Conductor_fe]
2018-02-06 19:55:47,289 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/Conductor_fe
2018-02-06 19:55:47,292 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-platform
2018-02-06 19:55:47,293 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:47,294 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-platform]
2018-02-06 19:55:47,878 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-platform
2018-02-06 19:55:47,879 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-job-trigger
2018-02-06 19:55:47,880 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:47,881 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-job-trigger]
2018-02-06 19:55:47,949 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-job-trigger
2018-02-06 19:55:47,951 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/columbia
2018-02-06 19:55:47,952 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:47,953 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/columbia]
2018-02-06 19:55:47,972 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/columbia
2018-02-06 19:55:47,975 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-storage-api
2018-02-06 19:55:47,976 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:47,977 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-storage-api]
2018-02-06 19:55:48,257 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-storage-api
2018-02-06 19:55:48,259 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_ee
2018-02-06 19:55:48,259 - devml.code_counts - INFO - Processing path
2018-02-06 19:55:48,260 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_ee]
2018-02-06 19:56:21,292 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_ee
2018-02-06 19:56:21,294 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/web_client
2018-02-06 19:56:21,295 - devml.code_counts - INFO - Processing path
2018-02-06 19:56:21,295 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/web_client]
2018-02-06 19:56:21,320 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/web_client
2018-02-06 19:56:21,322 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_rmqcluster
2018-02-06 19:56:21,323 - devml.code_counts - INFO - Processing path
2018-02-06 19:56:21,324 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_rmqcluster]
2018-02-06 19:56:21,344 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_rmqcluster
2018-02-06 19:56:21,347 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_client
2018-02-06 19:56:21,348 - devml.code_counts - INFO - Processing path
2018-02-06 19:56:21,349 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_client]
2018-02-06 20:01:08,154 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_client
2018-02-06 20:01:08,156 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_datastore_lib
2018-02-06 20:01:08,157 - devml.code_counts - INFO - Processing path
2018-02-06 20:01:08,158 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_datastore_lib]
2018-02-06 20:01:08,175 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_datastore_lib
2018-02-06 20:01:08,178 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/google-app-engine-python
2018-02-06 20:01:08,178 - devml.code_counts - INFO - Processing path
2018-02-06 20:01:08,179 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/google-app-engine-python]
2018-02-06 20:05:46,002 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/google-app-engine-python
2018-02-06 20:05:46,004 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/atlantis
2018-02-06 20:05:46,005 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:46,006 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/atlantis]
2018-02-06 20:05:46,029 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/atlantis
2018-02-06 20:05:46,032 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_inf
2018-02-06 20:05:46,033 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:46,034 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_inf]
2018-02-06 20:05:46,301 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_inf
2018-02-06 20:05:46,303 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/gcp_scale
2018-02-06 20:05:46,304 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:46,305 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/gcp_scale]
2018-02-06 20:05:46,695 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/gcp_scale
2018-02-06 20:05:46,697 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/neckbeard
2018-02-06 20:05:46,698 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:46,699 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/neckbeard]
2018-02-06 20:05:46,723 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/neckbeard
2018-02-06 20:05:46,726 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/cicd-test
2018-02-06 20:05:46,727 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:46,728 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/cicd-test]
2018-02-06 20:05:46,760 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/cicd-test
2018-02-06 20:05:46,763 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-serverless-central
2018-02-06 20:05:46,764 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:46,765 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-serverless-central]
2018-02-06 20:05:46,973 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-serverless-central
2018-02-06 20:05:46,975 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/jobspec-processor
2018-02-06 20:05:46,975 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:46,976 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/jobspec-processor]
2018-02-06 20:05:47,193 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/jobspec-processor
2018-02-06 20:05:47,195 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_api
2018-02-06 20:05:47,196 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,197 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_api]
2018-02-06 20:05:47,290 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_api
2018-02-06 20:05:47,291 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/terraform-aws-nomad
2018-02-06 20:05:47,292 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,293 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/terraform-aws-nomad]
2018-02-06 20:05:47,371 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/terraform-aws-nomad
2018-02-06 20:05:47,373 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/cio_resource_controller
2018-02-06 20:05:47,374 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,375 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/cio_resource_controller]
2018-02-06 20:05:47,393 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/cio_resource_controller
2018-02-06 20:05:47,394 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/gae-setuptools
2018-02-06 20:05:47,395 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,396 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/gae-setuptools]
2018-02-06 20:05:47,437 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/gae-setuptools
2018-02-06 20:05:47,439 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/terraform-modules
2018-02-06 20:05:47,440 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,441 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/terraform-modules]
2018-02-06 20:05:47,681 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/terraform-modules
2018-02-06 20:05:47,683 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-syncman
2018-02-06 20:05:47,683 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,684 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-syncman]
2018-02-06 20:05:47,827 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-syncman
2018-02-06 20:05:47,829 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/serverless-api
2018-02-06 20:05:47,830 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,831 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/serverless-api]
2018-02-06 20:05:47,902 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/serverless-api
2018-02-06 20:05:47,904 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/containers
2018-02-06 20:05:47,905 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:47,905 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/containers]
2018-02-06 20:05:48,567 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/containers
2018-02-06 20:05:48,569 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/jenkins
2018-02-06 20:05:48,570 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:48,571 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/jenkins]
2018-02-06 20:05:48,634 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/jenkins
2018-02-06 20:05:48,635 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/web_site
2018-02-06 20:05:48,636 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:48,637 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/web_site]
2018-02-06 20:05:48,652 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/web_site
2018-02-06 20:05:48,655 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/infrastructure
2018-02-06 20:05:48,655 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:48,656 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/infrastructure]
2018-02-06 20:05:48,740 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/infrastructure
2018-02-06 20:05:48,742 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/webapp_functional_automation_tests
2018-02-06 20:05:48,743 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:48,743 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/webapp_functional_automation_tests]
2018-02-06 20:05:51,925 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/webapp_functional_automation_tests
2018-02-06 20:05:51,926 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_pyrmq
2018-02-06 20:05:51,927 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:51,928 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_pyrmq]
2018-02-06 20:05:52,055 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_pyrmq
2018-02-06 20:05:52,057 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/accounts_service
2018-02-06 20:05:52,058 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:52,058 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/accounts_service]
2018-02-06 20:05:52,094 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/accounts_service
2018-02-06 20:05:52,096 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-projecttemplate
2018-02-06 20:05:52,097 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:52,098 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-projecttemplate]
2018-02-06 20:05:52,161 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-projecttemplate
2018-02-06 20:05:52,163 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/terraform-aws-consul
2018-02-06 20:05:52,164 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:52,165 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/terraform-aws-consul]
2018-02-06 20:05:52,198 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/terraform-aws-consul
2018-02-06 20:05:52,200 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/importcentral
2018-02-06 20:05:52,201 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:52,202 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/importcentral]
2018-02-06 20:05:52,232 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/importcentral
2018-02-06 20:05:52,234 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor_exrmq
2018-02-06 20:05:52,235 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:52,236 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor_exrmq]
2018-02-06 20:05:52,255 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor_exrmq
2018-02-06 20:05:52,258 - devml.code_counts - INFO - Found repo: /Users/noahgift/Desktop/AtomicConductor/conductor-storage-step-poller
2018-02-06 20:05:52,259 - devml.code_counts - INFO - Processing path
2018-02-06 20:05:52,260 - devml.code_counts - INFO - Running lines/python cmd: [git ls-files | grep py | while read f; do git blame -w -M -C -C --line-porcelain "$f" | grep '^author '; done | sort -f | uniq -ic | sort -n] at path [/Users/noahgift/Desktop/AtomicConductor/conductor-storage-step-poller]
2018-02-06 20:05:52,391 - devml.code_counts - INFO - Changing back to original cwd: /Users/noahgift/src/devml/notebooks from /Users/noahgift/Desktop/AtomicConductor/conductor-storage-step-poller
In [19]:
counts_df.groupby("author_name").describe()
Out[19]:
line_count_python
count
mean
std
min
25%
50%
75%
max
author_name
Chris Targett
1.0
81.000000
NaN
81.0
81.00
81.0
81.00
81.0
Edgar Flores
4.0
831.000000
984.307201
7.0
331.75
530.5
1029.75
2256.0
Francois Lebel
15.0
85303.066667
329391.067539
5.0
11.50
59.0
468.00
1275980.0
Greg Denton
2.0
478.000000
599.626550
54.0
266.00
478.0
690.00
902.0
James Mayfield
7.0
457.142857
554.093081
21.0
66.00
99.0
728.50
1491.0
Jenkins
1.0
613.000000
NaN
613.0
613.00
613.0
613.00
613.0
Julian Mann
1.0
22.000000
NaN
22.0
22.00
22.0
22.00
22.0
Justin
2.0
299.000000
414.364574
6.0
152.50
299.0
445.50
592.0
Justin Onstine
3.0
326.000000
506.479022
7.0
34.00
61.0
485.50
910.0
Lawrence Schlosser
4.0
6381.750000
5233.727504
1424.0
2098.25
6363.0
10646.50
11377.0
Martin Rhoads
3.0
1460.666667
874.853893
650.0
997.00
1344.0
1866.00
2388.0
Noah Gift
13.0
515.461538
460.949675
7.0
156.00
490.0
655.00
1697.0
Robert Jordan
11.0
737.545455
746.024445
10.0
212.00
440.0
1028.50
2422.0
RobertAtomic
4.0
286811.250000
569847.292189
7.0
188.50
2832.0
289454.75
1141574.0
Roman Naumenko
12.0
117.333333
132.787139
1.0
66.00
81.0
114.50
512.0
Scott O
1.0
383.000000
NaN
383.0
383.00
383.0
383.00
383.0
Will McDonald
5.0
85.000000
113.817837
1.0
1.00
64.0
81.00
278.0
conductor
1.0
11.000000
NaN
11.0
11.00
11.0
11.00
11.0
erjo
1.0
3.000000
NaN
3.0
3.00
3.0
3.00
3.0
flebel
5.0
45.000000
68.084506
1.0
6.00
26.0
27.00
165.0
justinonstine
6.0
3213.166667
3977.561234
25.0
583.25
2132.5
3686.25
10718.0
kbehrman
1.0
2.000000
NaN
2.0
2.00
2.0
2.00
2.0
kennedy behrman
1.0
54.000000
NaN
54.0
54.00
54.0
54.00
54.0
kennedy.behrman@sqor.com
1.0
5.000000
NaN
5.0
5.00
5.0
5.00
5.0
kr.behrman@gmail.com
8.0
613.000000
1087.445105
7.0
69.50
181.5
419.75
3177.0
lschlosser
1.0
73.000000
NaN
73.0
73.00
73.0
73.00
73.0
In [78]:
lines_df = counts_df.groupby("author_name").sum()
lines_df
Out[78]:
line_count_python
author_name
Chris Targett
81
Edgar Flores
3324
Francois Lebel
1279546
Greg Denton
956
James Mayfield
3200
Jenkins
613
Julian Mann
22
Justin
598
Justin Onstine
978
Lawrence Schlosser
25527
Martin Rhoads
4382
Noah Gift
6701
Robert Jordan
8113
RobertAtomic
1147245
Roman Naumenko
1408
Scott O
383
Will McDonald
425
conductor
11
erjo
3
flebel
225
justinonstine
19279
kbehrman
2
kennedy behrman
54
kennedy.behrman@sqor.com
5
kr.behrman@gmail.com
4904
lschlosser
73
In [155]:
lines_df = pd.DataFrame(counts_df.groupby("author_name", as_index=False).sum())
In [156]:
df5 = df4.merge(lines_df)
In [157]:
lines_df
Out[157]:
author_name
line_count_python
0
Chris Targett
81
1
Edgar Flores
3324
2
Francois Lebel
1279546
3
Greg Denton
956
4
James Mayfield
3200
5
Jenkins
613
6
Julian Mann
22
7
Justin
598
8
Justin Onstine
978
9
Lawrence Schlosser
25527
10
Martin Rhoads
4382
11
Noah Gift
6701
12
Robert Jordan
8113
13
RobertAtomic
1147245
14
Roman Naumenko
1408
15
Scott O
383
16
Will McDonald
425
17
conductor
11
18
erjo
3
19
flebel
225
20
justinonstine
19279
21
kbehrman
2
22
kennedy behrman
54
23
kennedy.behrman@sqor.com
5
24
kr.behrman@gmail.com
4904
25
lschlosser
73
In [158]:
val = counts_df.groupby("author_name").median()
val = val.to_dict()['line_count_python']
median_lines_df = pd.DataFrame(list(val.items()), columns=["author_name", "median_lines_python_repo"])
median_lines_df.head()
Out[158]:
author_name
median_lines_python_repo
0
Chris Targett
81.0
1
Edgar Flores
530.5
2
Francois Lebel
59.0
3
Greg Denton
478.0
4
James Mayfield
99.0
In [159]:
val = counts_df.groupby("author_name").count()
val = val.to_dict()['line_count_python']
count_repo_df = pd.DataFrame(list(val.items()), columns=["author_name", "repos"])
count_repo_df.head()
Out[159]:
author_name
repos
0
Chris Targett
1
1
Edgar Flores
4
2
Francois Lebel
15
3
Greg Denton
2
4
James Mayfield
7
In [160]:
#count_repo_df['median_lines_python_per_repo'] = count_repo_df.index
count_repo_df["median/repo"] = median_lines_df["median_lines_python_repo"]
count_repo_df["median_est_total_lines"] = round(median_lines_df["median_lines_python_repo"]*count_repo_df["repos"],2)
In [164]:
df6 = df5.merge(count_repo_df)
df6
Out[164]:
author_name
active_days
active_duration
active_ratio
commits
commits/active_day
line_count_python
repos
median/repo
median_est_total_lines
0
kr.behrman@gmail.com
35
42 days
0.83
129
3.685714
4904
8
181.5
1452.0
1
Noah Gift
49
66 days
0.74
496
10.122449
6701
13
490.0
6370.0
2
kennedy behrman
15
25 days
0.60
58
3.866667
54
1
54.0
54.0
3
James Mayfield
305
621 days
0.49
1390
4.557377
3200
7
99.0
693.0
4
Martin Rhoads
92
212 days
0.43
416
4.521739
4382
3
1344.0
4032.0
5
justinonstine
335
795 days
0.42
1306
3.898507
19279
6
2132.5
12795.0
6
Julian Mann
64
168 days
0.38
151
2.359375
22
1
22.0
22.0
7
Francois Lebel
109
290 days
0.38
581
5.330275
1279546
15
59.0
885.0
8
Roman Naumenko
67
192 days
0.35
328
4.895522
1408
12
81.0
972.0
9
Greg Denton
60
211 days
0.28
240
4.000000
956
2
478.0
956.0
10
Lawrence Schlosser
273
1015 days
0.27
710
2.600733
25527
4
6363.0
25452.0
11
Edgar Flores
78
313 days
0.25
193
2.474359
3324
4
530.5
2122.0
12
Robert Jordan
92
375 days
0.25
253
2.750000
8113
11
440.0
4840.0
13
Will McDonald
37
177 days
0.21
74
2.000000
425
5
64.0
320.0
14
RobertAtomic
186
926 days
0.20
759
4.080645
1147245
4
2832.0
11328.0
15
Jenkins
21
105 days
0.20
90
4.285714
613
1
613.0
613.0
16
Justin Onstine
13
102 days
0.13
127
9.769231
978
3
61.0
183.0
17
Scott O
16
281 days
0.06
31
1.937500
383
1
383.0
383.0
In [178]:
df6["median_per_day"] = df6["median_est_total_lines"]/df6["active_days"]
df6.sort_values(by="median_per_day", inplace=True, ascending=False)
df6
Out[178]:
author_name
active_days
active_duration
active_ratio
commits
commits/active_day
line_count_python
repos
median/repo
median_est_total_lines
median_per_day
1
Noah Gift
49
66 days
0.74
496
10.122449
6701
13
490.0
6370.0
130.000000
10
Lawrence Schlosser
273
1015 days
0.27
710
2.600733
25527
4
6363.0
25452.0
93.230769
14
RobertAtomic
186
926 days
0.20
759
4.080645
1147245
4
2832.0
11328.0
60.903226
12
Robert Jordan
92
375 days
0.25
253
2.750000
8113
11
440.0
4840.0
52.608696
4
Martin Rhoads
92
212 days
0.43
416
4.521739
4382
3
1344.0
4032.0
43.826087
0
kr.behrman@gmail.com
35
42 days
0.83
129
3.685714
4904
8
181.5
1452.0
41.485714
5
justinonstine
335
795 days
0.42
1306
3.898507
19279
6
2132.5
12795.0
38.194030
15
Jenkins
21
105 days
0.20
90
4.285714
613
1
613.0
613.0
29.190476
11
Edgar Flores
78
313 days
0.25
193
2.474359
3324
4
530.5
2122.0
27.205128
17
Scott O
16
281 days
0.06
31
1.937500
383
1
383.0
383.0
23.937500
9
Greg Denton
60
211 days
0.28
240
4.000000
956
2
478.0
956.0
15.933333
8
Roman Naumenko
67
192 days
0.35
328
4.895522
1408
12
81.0
972.0
14.507463
16
Justin Onstine
13
102 days
0.13
127
9.769231
978
3
61.0
183.0
14.076923
13
Will McDonald
37
177 days
0.21
74
2.000000
425
5
64.0
320.0
8.648649
7
Francois Lebel
109
290 days
0.38
581
5.330275
1279546
15
59.0
885.0
8.119266
2
kennedy behrman
15
25 days
0.60
58
3.866667
54
1
54.0
54.0
3.600000
3
James Mayfield
305
621 days
0.49
1390
4.557377
3200
7
99.0
693.0
2.272131
6
Julian Mann
64
168 days
0.38
151
2.359375
22
1
22.0
22.0
0.343750
In [182]:
sns.distplot(df6["median_per_day"], bins=6)
Out[182]:
<matplotlib.axes._subplots.AxesSubplot at 0x11d7dbda0>
In [173]:
sns.lmplot(x="commits",y="median_est_total_lines", data=df6)
Out[173]:
<seaborn.axisgrid.FacetGrid at 0x11d04d908>
In [163]:
import matplotlib.pyplot as plt
plt.subplots(figsize=(10,10))
sns.heatmap(df6.corr(), annot=True)
Out[163]:
<matplotlib.axes._subplots.AxesSubplot at 0x116955b38>
In [ ]:
Content source: noahgift/devml
Similar notebooks: