spotify / luigi
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 120 files with 19,999 lines of code.
    • 9 files changed more than 100 times (5,107 lines of code)
    • 11 files changed 51-100 times (2,466 lines of code)
    • 27 files changed 21-50 times (5,713 lines of code)
    • 53 files changed 6-20 times (4,909 lines of code)
    • 20 files changed 1-5 times (1,804 lines of code)
25% | 12% | 28% | 24% | 9%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 120 files with 19,999 lines of code.
    • 28 files changed by more than 25 contributors (10,154 lines of code)
    • 35 files changed by 11-25 contributors (4,634 lines of code)
    • 35 files changed by 6-10 contributors (3,320 lines of code)
    • 19 files changed by 2-5 contributors (1,777 lines of code)
    • 3 files changed by 1 contributor (114 lines of code)
50% | 23% | 16% | 8% | <1%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
py, js, rst, css, html, yaml, toml, sh, md, cfg, svg, gitignore, txt, in, ini, xml, json, properties
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py22% | 11% | 31% | 28% | 5%
js55% | 0% | 19% | 0% | 25%
html0% | 65% | 0% | 22% | 11%
in0% | 0% | 0% | 100% | 0%
css0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
luigi25% | 12% | 28% | 24% | 9%
ROOT84% | 0% | 0% | 6% | 8%
doc0% | 0% | 100% | 0% | 0%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
worker.py
in luigi
923 71 2012-01-04 2024-10-31 284 103 erikbern@spotify.com 35086881+tashrifbillah@user...
scheduler.py
in luigi
1227 125 2012-01-03 2024-10-31 259 79 erikbern@spotify.com 35086881+tashrifbillah@user...
task.py
in luigi
409 57 2012-01-03 2024-12-18 205 74 erikbern@spotify.com dlstadther@gmail.com
parameter.py
in luigi
608 89 2012-01-03 2024-11-30 181 75 erikbern@spotify.com dlstadther@gmail.com
interface.py
in luigi
155 7 2012-01-03 2024-10-31 175 61 erikbern@spotify.com 35086881+tashrifbillah@user...
setup.py
in root
73 1 2012-09-20 2024-12-04 145 69 erikbern@spotify.com dlstadther@gmail.com
server.py
in luigi
259 26 2012-01-03 2024-11-30 115 47 erikbern@spotify.com dlstadther@gmail.com
visualiserApp.js
in luigi/static/visualiser/js
1325 98 2013-05-24 2024-10-31 113 42 davw@spotify.com 35086881+tashrifbillah@user...
rpc.py
in luigi
128 16 2012-03-30 2024-10-31 109 47 freider@spotify.com 35086881+tashrifbillah@user...
index.html
in luigi/static/visualiser
563 - 2013-05-21 2024-10-31 86 33 davw@spotify.com 35086881+tashrifbillah@user...
__init__.py
in luigi
58 - 2012-01-03 2024-10-31 75 37 erikbern@spotify.com 35086881+tashrifbillah@user...
redshift.py
in luigi/contrib
398 48 2014-02-11 2020-06-09 68 44 rantav@gmail.com alexander.senov@gmail.com
util.py
in luigi
120 10 2012-08-01 2024-10-31 65 35 erikbern@spotify.com 35086881+tashrifbillah@user...
284 14 2012-12-20 2024-10-31 64 40 freider@spotify.com 35086881+tashrifbillah@user...
spark.py
in luigi/contrib
246 51 2014-02-11 2024-10-31 61 36 enewett@spotify.com 35086881+tashrifbillah@user...
target.py
in luigi
107 26 2012-01-03 2024-10-31 59 35 erikbern@spotify.com 35086881+tashrifbillah@user...
mock.py
in luigi
101 15 2012-01-03 2020-06-09 57 29 erikbern@spotify.com alexander.senov@gmail.com
lock.py
in luigi
81 5 2012-01-10 2024-10-31 53 34 erikbern@spotify.com 35086881+tashrifbillah@user...
169 19 2013-07-24 2024-11-30 52 31 erikbern@spotify.com dlstadther@gmail.com
format.py
in luigi
339 66 2012-07-11 2024-10-31 51 31 nyman@spotify.com 35086881+tashrifbillah@user...
bigquery.py
in luigi/contrib
400 29 2015-06-08 2024-10-31 50 34 mkaplinskiy@twitter.com 35086881+tashrifbillah@user...
ssh.py
in luigi/contrib
226 30 2013-08-12 2024-11-30 48 30 freider@spotify.com dlstadther@gmail.com
hadoop.py
in luigi/contrib
651 60 2015-04-28 2024-10-31 48 33 arash@spotify.com 35086881+tashrifbillah@user...
ftp.py
in luigi/contrib
257 32 2014-06-26 2024-11-30 43 28 albert.jornet@ic3.cat dlstadther@gmail.com
range.py
in luigi/tools
427 58 2014-10-02 2020-06-09 42 25 uldis@spotify.com alexander.senov@gmail.com
sqla.py
in luigi/contrib
153 15 2015-01-03 2024-10-31 41 30 gouthambs@gmail.com 35086881+tashrifbillah@user...
hive.py
in luigi/contrib
325 46 2015-02-06 2024-10-31 39 26 erik@malfunction.org 35086881+tashrifbillah@user...
luigi.js
in luigi/static/visualiser/js
182 44 2013-05-21 2019-08-20 38 20 davw@spotify.com riga@users.noreply.github.com
process.py
in luigi
83 6 2012-07-16 2020-06-09 34 21 freider@spotify.com alexander.senov@gmail.com
graph.js
in luigi/static/visualiser/js
285 17 2013-05-21 2024-10-31 34 22 davw@spotify.com 35086881+tashrifbillah@user...
162 38 2012-01-22 2020-06-09 32 19 erikbern@spotify.com alexander.senov@gmail.com
gcs.py
in luigi/contrib
308 33 2015-06-08 2024-10-31 31 23 mkaplinskiy@twitter.com 35086881+tashrifbillah@user...
320 27 2015-07-24 2024-10-31 31 22 niched@spotify.com 35086881+tashrifbillah@user...
__meta__.py
in luigi
5 - 2019-11-26 2024-12-06 30 17 riga@users.noreply.github.com dlstadther@gmail.com
webhdfs.py
in luigi/contrib
54 11 2014-11-11 2020-06-09 29 19 df.rodriguez143@gmail.com alexander.senov@gmail.com
rdbms.py
in luigi/contrib
144 30 2014-03-03 2024-10-31 29 27 rantav@gmail.com 35086881+tashrifbillah@user...
s3.py
in luigi/contrib
425 48 2017-01-24 2024-10-31 29 26 arashrk@vng.com.vn 35086881+tashrifbillah@user...
esindex.py
in luigi/contrib
194 27 2014-06-27 2020-06-09 28 21 martin.czygan@gmail.com alexander.senov@gmail.com
pig.py
in luigi/contrib
116 17 2015-02-03 2020-06-09 26 22 jkarn@mortardata.com alexander.senov@gmail.com
scalding.py
in luigi/contrib
167 22 2015-01-16 2020-06-09 26 18 erik@malfunction.org alexander.senov@gmail.com
target.py
in luigi/contrib
40 3 2014-08-07 2020-06-09 25 16 arash@spotify.com alexander.senov@gmail.com
conf.py
in doc
79 3 2014-02-08 2024-10-31 25 19 joecrow@gmail.com 35086881+tashrifbillah@user...
131 16 2015-03-08 2024-10-31 24 19 erik@malfunction.org 35086881+tashrifbillah@user...
32 9 2013-05-10 2020-06-09 23 19 jennever@foursquare.com alexander.senov@gmail.com
deps.py
in luigi/tools
73 6 2015-03-09 2020-06-09 23 17 stefaan@netlog.com alexander.senov@gmail.com
postgres.py
in luigi/contrib
256 21 2017-01-24 2024-12-04 23 20 arashrk@vng.com.vn dlstadther@gmail.com
kubernetes.py
in luigi/contrib
218 26 2017-02-24 2020-11-27 21 14 m.capuccini@gmail.com tashrifbillah@gmail.com
external_program.py
in luigi/contrib
161 14 2016-01-21 2024-10-31 19 17 ehdr@erichansander.com 35086881+tashrifbillah@user...
__init__.py
in luigi/contrib/hdfs
35 - 2015-04-29 2020-06-09 18 9 arash@spotify.com alexander.senov@gmail.com
sge.py
in luigi/contrib
155 12 2015-08-12 2020-06-09 18 13 jacob_feala@h3biomedicine.com alexander.senov@gmail.com
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
worker.py
in luigi
923 71 2012-01-04 2024-10-31 284 103 erikbern@spotify.com 35086881+tashrifbillah@user...
scheduler.py
in luigi
1227 125 2012-01-03 2024-10-31 259 79 erikbern@spotify.com 35086881+tashrifbillah@user...
parameter.py
in luigi
608 89 2012-01-03 2024-11-30 181 75 erikbern@spotify.com dlstadther@gmail.com
task.py
in luigi
409 57 2012-01-03 2024-12-18 205 74 erikbern@spotify.com dlstadther@gmail.com
setup.py
in root
73 1 2012-09-20 2024-12-04 145 69 erikbern@spotify.com dlstadther@gmail.com
interface.py
in luigi
155 7 2012-01-03 2024-10-31 175 61 erikbern@spotify.com 35086881+tashrifbillah@user...
server.py
in luigi
259 26 2012-01-03 2024-11-30 115 47 erikbern@spotify.com dlstadther@gmail.com
rpc.py
in luigi
128 16 2012-03-30 2024-10-31 109 47 freider@spotify.com 35086881+tashrifbillah@user...
redshift.py
in luigi/contrib
398 48 2014-02-11 2020-06-09 68 44 rantav@gmail.com alexander.senov@gmail.com
visualiserApp.js
in luigi/static/visualiser/js
1325 98 2013-05-24 2024-10-31 113 42 davw@spotify.com 35086881+tashrifbillah@user...
284 14 2012-12-20 2024-10-31 64 40 freider@spotify.com 35086881+tashrifbillah@user...
__init__.py
in luigi
58 - 2012-01-03 2024-10-31 75 37 erikbern@spotify.com 35086881+tashrifbillah@user...
spark.py
in luigi/contrib
246 51 2014-02-11 2024-10-31 61 36 enewett@spotify.com 35086881+tashrifbillah@user...
util.py
in luigi
120 10 2012-08-01 2024-10-31 65 35 erikbern@spotify.com 35086881+tashrifbillah@user...
target.py
in luigi
107 26 2012-01-03 2024-10-31 59 35 erikbern@spotify.com 35086881+tashrifbillah@user...
lock.py
in luigi
81 5 2012-01-10 2024-10-31 53 34 erikbern@spotify.com 35086881+tashrifbillah@user...
bigquery.py
in luigi/contrib
400 29 2015-06-08 2024-10-31 50 34 mkaplinskiy@twitter.com 35086881+tashrifbillah@user...
index.html
in luigi/static/visualiser
563 - 2013-05-21 2024-10-31 86 33 davw@spotify.com 35086881+tashrifbillah@user...
hadoop.py
in luigi/contrib
651 60 2015-04-28 2024-10-31 48 33 arash@spotify.com 35086881+tashrifbillah@user...
169 19 2013-07-24 2024-11-30 52 31 erikbern@spotify.com dlstadther@gmail.com
format.py
in luigi
339 66 2012-07-11 2024-10-31 51 31 nyman@spotify.com 35086881+tashrifbillah@user...
ssh.py
in luigi/contrib
226 30 2013-08-12 2024-11-30 48 30 freider@spotify.com dlstadther@gmail.com
sqla.py
in luigi/contrib
153 15 2015-01-03 2024-10-31 41 30 gouthambs@gmail.com 35086881+tashrifbillah@user...
mock.py
in luigi
101 15 2012-01-03 2020-06-09 57 29 erikbern@spotify.com alexander.senov@gmail.com
ftp.py
in luigi/contrib
257 32 2014-06-26 2024-11-30 43 28 albert.jornet@ic3.cat dlstadther@gmail.com
rdbms.py
in luigi/contrib
144 30 2014-03-03 2024-10-31 29 27 rantav@gmail.com 35086881+tashrifbillah@user...
hive.py
in luigi/contrib
325 46 2015-02-06 2024-10-31 39 26 erik@malfunction.org 35086881+tashrifbillah@user...
s3.py
in luigi/contrib
425 48 2017-01-24 2024-10-31 29 26 arashrk@vng.com.vn 35086881+tashrifbillah@user...
range.py
in luigi/tools
427 58 2014-10-02 2020-06-09 42 25 uldis@spotify.com alexander.senov@gmail.com
gcs.py
in luigi/contrib
308 33 2015-06-08 2024-10-31 31 23 mkaplinskiy@twitter.com 35086881+tashrifbillah@user...
graph.js
in luigi/static/visualiser/js
285 17 2013-05-21 2024-10-31 34 22 davw@spotify.com 35086881+tashrifbillah@user...
320 27 2015-07-24 2024-10-31 31 22 niched@spotify.com 35086881+tashrifbillah@user...
pig.py
in luigi/contrib
116 17 2015-02-03 2020-06-09 26 22 jkarn@mortardata.com alexander.senov@gmail.com
process.py
in luigi
83 6 2012-07-16 2020-06-09 34 21 freider@spotify.com alexander.senov@gmail.com
esindex.py
in luigi/contrib
194 27 2014-06-27 2020-06-09 28 21 martin.czygan@gmail.com alexander.senov@gmail.com
luigi.js
in luigi/static/visualiser/js
182 44 2013-05-21 2019-08-20 38 20 davw@spotify.com riga@users.noreply.github.com
postgres.py
in luigi/contrib
256 21 2017-01-24 2024-12-04 23 20 arashrk@vng.com.vn dlstadther@gmail.com
162 38 2012-01-22 2020-06-09 32 19 erikbern@spotify.com alexander.senov@gmail.com
webhdfs.py
in luigi/contrib
54 11 2014-11-11 2020-06-09 29 19 df.rodriguez143@gmail.com alexander.senov@gmail.com
conf.py
in doc
79 3 2014-02-08 2024-10-31 25 19 joecrow@gmail.com 35086881+tashrifbillah@user...
131 16 2015-03-08 2024-10-31 24 19 erik@malfunction.org 35086881+tashrifbillah@user...
32 9 2013-05-10 2020-06-09 23 19 jennever@foursquare.com alexander.senov@gmail.com
scalding.py
in luigi/contrib
167 22 2015-01-16 2020-06-09 26 18 erik@malfunction.org alexander.senov@gmail.com
__meta__.py
in luigi
5 - 2019-11-26 2024-12-06 30 17 riga@users.noreply.github.com dlstadther@gmail.com
deps.py
in luigi/tools
73 6 2015-03-09 2020-06-09 23 17 stefaan@netlog.com alexander.senov@gmail.com
external_program.py
in luigi/contrib
161 14 2016-01-21 2024-10-31 19 17 ehdr@erichansander.com 35086881+tashrifbillah@user...
target.py
in luigi/contrib
40 3 2014-08-07 2020-06-09 25 16 arash@spotify.com alexander.senov@gmail.com
kubernetes.py
in luigi/contrib
218 26 2017-02-24 2020-11-27 21 14 m.capuccini@gmail.com tashrifbillah@gmail.com
sge.py
in luigi/contrib
155 12 2015-08-12 2020-06-09 18 13 jacob_feala@h3biomedicine.com alexander.senov@gmail.com
target.py
in luigi/contrib/hdfs
120 14 2015-04-30 2024-10-31 16 13 arash@spotify.com 35086881+tashrifbillah@user...
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
datadog_metric.py
in luigi/contrib
89 10 2018-12-17 2018-12-17 1 1 cabouffard@users.noreply.gi... cabouffard@users.noreply.gi...
base_parser.py
in luigi/configuration
16 3 2018-07-28 2018-07-28 1 1 master_fess@mail.ru master_fess@mail.ru
__init__.py
in luigi/configuration
9 - 2018-07-28 2018-07-28 1 1 master_fess@mail.ru master_fess@mail.ru
mustache.js
in luigi/static/visualiser/lib
373 31 2013-05-24 2013-05-29 2 2 davw@spotify.com elias@freider.se
tipsy.js
in luigi/static/visualiser/js
223 20 2015-05-11 2015-05-12 2 2 hadesbox@gmail.com miffoljud@gmail.com
gcp.py
in luigi/contrib
28 1 2017-02-10 2018-03-05 2 2 freider@users.noreply.githu... thibaut.mattio.1@ens.etsmtl.ca
tipsy.css
in luigi/static/visualiser/css
17 - 2015-05-11 2015-05-12 2 2 hadesbox@gmail.com miffoljud@gmail.com
menu.html
in luigi/templates
15 - 2015-02-24 2015-04-02 2 2 yeseul.park@navercorp.com erik@malfunction.org
util.js
in luigi/static/visualiser/js
8 1 2023-03-14 2024-10-31 2 2 honnix@users.noreply.github... 35086881+tashrifbillah@user...
mypy.py
in luigi
317 20 2024-09-12 2024-10-31 4 3 mr.nikoru918@gmail.com 35086881+tashrifbillah@user...
layout.html
in luigi/templates
87 - 2015-02-24 2017-03-12 5 3 yeseul.park@navercorp.com amarco90@gmail.com
core.py
in luigi/configuration
56 4 2018-07-28 2024-10-31 4 3 master_fess@mail.ru 35086881+tashrifbillah@user...
18 3 2024-09-04 2024-10-31 3 3 ali.razmjoo1994@gmail.com 35086881+tashrifbillah@user...
7 - 2022-08-30 2024-10-31 3 3 honnix@users.noreply.github... 35086881+tashrifbillah@user...
__main__.py
in luigi
3 - 2015-09-03 2016-01-25 3 3 e.iskandarov@corp.mail.ru erikbern@spotify.com
luigi.css
in luigi/static/visualiser/css
193 - 2017-05-27 2020-06-04 5 4 buck@houzz.com t.paine154@gmail.com
lsf.py
in luigi/contrib
178 14 2018-07-12 2024-10-31 4 4 markmcdowall@users.noreply.... 35086881+tashrifbillah@user...
prometheus_metric.py
in luigi/contrib
71 8 2019-04-18 2025-01-15 4 4 victoriaalee@users.noreply.... dlstadther@gmail.com
__init__.py
in luigi/tools
1 - 2014-10-02 2015-02-05 6 4 uldis@spotify.com pedro.salgado@mediaforge.com
mongodb.py
in luigi/contrib
86 19 2017-03-20 2024-10-31 6 5 mathias@short-edition.com 35086881+tashrifbillah@user...
mssqldb.py
in luigi/contrib
66 6 2016-04-21 2024-10-31 5 5 travis.e.cook@gmail.com 35086881+tashrifbillah@user...
30 2 2018-12-06 2020-06-09 5 5 brianmartin@gmail.com alexander.senov@gmail.com
history.html
in luigi/templates
106 - 2015-02-24 2019-06-02 6 6 yeseul.park@navercorp.com jose.ignacio.riano@gmail.com
batch.py
in luigi/contrib
99 11 2018-02-16 2020-06-09 6 6 jfeala@gmail.com alexander.senov@gmail.com
redis_store.py
in luigi/contrib
41 5 2015-05-13 2024-10-31 6 6 patrick@samp.ly 35086881+tashrifbillah@user...
error.py
in luigi/contrib/hdfs
12 1 2015-05-07 2020-06-09 6 6 arash@spotify.com alexander.senov@gmail.com
beam_dataflow.py
in luigi/contrib
277 35 2019-03-13 2020-06-09 16 7 clairem@spotify.com alexander.senov@gmail.com
presto.py
in luigi/contrib
192 29 2020-04-12 2024-10-31 7 7 slavoshevskii.mihail@physte... 35086881+tashrifbillah@user...
toml_parser.py
in luigi/configuration
63 10 2018-07-28 2024-10-31 9 7 master_fess@mail.ru 35086881+tashrifbillah@user...
show.html
in luigi/templates
62 - 2013-05-10 2017-03-12 8 7 jennever@foursquare.com amarco90@gmail.com
deps_tree.py
in luigi/tools
40 2 2016-06-10 2024-10-31 7 7 talktopete@gmail.com 35086881+tashrifbillah@user...
freezing.py
in luigi
38 9 2019-11-27 2024-10-31 7 7 master_fess@mail.ru 35086881+tashrifbillah@user...
recent.html
in luigi/templates
28 - 2013-05-10 2017-03-12 8 7 jennever@foursquare.com amarco90@gmail.com
__init__.py
in luigi/contrib
1 - 2013-08-12 2015-02-05 9 7 freider@spotify.com pedro.salgado@mediaforge.com
format.py
in luigi/contrib/hdfs
120 22 2015-04-30 2019-01-21 9 8 arash@spotify.com rh@web.de
117 19 2016-11-09 2024-11-30 8 8 miffoljud@gmail.com dlstadther@gmail.com
abstract_client.py
in luigi/contrib/hdfs
38 12 2015-05-11 2020-06-09 7 8 miffoljud@gmail.com alexander.senov@gmail.com
lsf_runner.py
in luigi/contrib
36 3 2018-07-12 2024-10-31 8 8 markmcdowall@users.noreply.... 35086881+tashrifbillah@user...
in
6 - 2013-07-17 2015-04-01 9 8 atebbe@cargometrics.com yeseul.park@navercorp.com
salesforce.py
in luigi/contrib
379 57 2015-11-16 2020-06-09 14 9 dlstadther@gmail.com alexander.senov@gmail.com
dataproc.py
in luigi/contrib
196 14 2016-03-18 2018-03-05 11 9 cvisinescu@xebia.com thibaut.mattio.1@ens.etsmtl.ca
173 22 2016-11-07 2024-10-31 12 9 buck@houzz.com 35086881+tashrifbillah@user...
106 8 2018-11-25 2024-10-31 10 9 master_fess@mail.ru 35086881+tashrifbillah@user...
ecs.py
in luigi/contrib
80 8 2015-10-17 2024-10-31 9 9 jacob_feala@h3biomedicine.com 35086881+tashrifbillah@user...
metrics.py
in luigi
64 13 2018-12-17 2024-10-31 9 9 cabouffard@users.noreply.gi... 35086881+tashrifbillah@user...
mrrunner.py
in luigi/contrib
42 5 2017-01-24 2024-10-31 8 9 arashrk@vng.com.vn 35086881+tashrifbillah@user...
__init__.py
in luigi/contrib/hdfs
35 - 2015-04-29 2020-06-09 18 9 arash@spotify.com alexander.senov@gmail.com
azureblob.py
in luigi/contrib
204 32 2019-01-12 2024-10-31 10 10 masinha@microsoft.com 35086881+tashrifbillah@user...
hadoopcli_clients.py
in luigi/contrib/hdfs
187 18 2015-05-07 2020-06-09 12 10 arash@spotify.com alexander.senov@gmail.com
pai.py
in luigi/contrib
169 20 2019-02-26 2024-10-31 10 10 wuyouz@msn.com 35086881+tashrifbillah@user...
Correlations

File Size vs. Number of Changes: 120 points

luigi/contrib/prometheus_metric.py x: 71 lines of code y: 4 # changes luigi/task.py x: 409 lines of code y: 205 # changes luigi/__meta__.py x: 5 lines of code y: 30 # changes setup.py x: 73 lines of code y: 145 # changes luigi/contrib/postgres.py x: 256 lines of code y: 23 # changes luigi/contrib/dropbox.py x: 197 lines of code y: 12 # changes luigi/contrib/ftp.py x: 257 lines of code y: 43 # changes luigi/contrib/ssh.py x: 226 lines of code y: 48 # changes luigi/local_target.py x: 117 lines of code y: 8 # changes luigi/parameter.py x: 608 lines of code y: 181 # changes luigi/db_task_history.py x: 169 lines of code y: 52 # changes luigi/server.py x: 259 lines of code y: 115 # changes catalog-info.yaml x: 7 lines of code y: 3 # changes doc/conf.py x: 79 lines of code y: 25 # changes luigi/__init__.py x: 58 lines of code y: 75 # changes luigi/batch_notifier.py x: 173 lines of code y: 12 # changes luigi/configuration/cfg_parser.py x: 123 lines of code y: 12 # changes luigi/configuration/core.py x: 56 lines of code y: 4 # changes luigi/configuration/toml_parser.py x: 63 lines of code y: 9 # changes luigi/contrib/azureblob.py x: 204 lines of code y: 10 # changes luigi/contrib/bigquery.py x: 400 lines of code y: 50 # changes luigi/contrib/docker_runner.py x: 165 lines of code y: 12 # changes luigi/contrib/ecs.py x: 80 lines of code y: 9 # changes luigi/contrib/external_program.py x: 161 lines of code y: 19 # changes luigi/contrib/gcs.py x: 308 lines of code y: 31 # changes luigi/contrib/hadoop.py x: 651 lines of code y: 48 # changes luigi/contrib/hadoop_jar.py x: 83 lines of code y: 17 # changes luigi/contrib/hdfs/config.py x: 52 lines of code y: 13 # changes luigi/contrib/hdfs/target.py x: 120 lines of code y: 16 # changes luigi/contrib/hive.py x: 325 lines of code y: 39 # changes luigi/contrib/lsf.py x: 178 lines of code y: 4 # changes luigi/contrib/lsf_runner.py x: 36 lines of code y: 8 # changes luigi/contrib/mongodb.py x: 86 lines of code y: 6 # changes luigi/contrib/mrrunner.py x: 42 lines of code y: 8 # changes luigi/contrib/mssqldb.py x: 66 lines of code y: 5 # changes luigi/contrib/mysqldb.py x: 128 lines of code y: 13 # changes luigi/contrib/pai.py x: 169 lines of code y: 10 # changes luigi/contrib/presto.py x: 192 lines of code y: 7 # changes luigi/contrib/rdbms.py x: 144 lines of code y: 29 # changes luigi/contrib/redis_store.py x: 41 lines of code y: 6 # changes luigi/contrib/s3.py x: 425 lines of code y: 29 # changes luigi/contrib/sge_runner.py x: 37 lines of code y: 13 # changes luigi/contrib/simulate.py x: 42 lines of code y: 11 # changes luigi/contrib/spark.py x: 246 lines of code y: 61 # changes luigi/contrib/sqla.py x: 153 lines of code y: 41 # changes luigi/execution_summary.py x: 320 lines of code y: 31 # changes luigi/format.py x: 339 lines of code y: 51 # changes luigi/freezing.py x: 38 lines of code y: 7 # changes luigi/interface.py x: 155 lines of code y: 175 # changes luigi/lock.py x: 81 lines of code y: 53 # changes luigi/mypy.py x: 317 lines of code y: 4 # changes luigi/notifications.py x: 284 lines of code y: 64 # changes luigi/rpc.py x: 128 lines of code y: 109 # changes luigi/safe_extractor.py x: 18 lines of code y: 3 # changes luigi/scheduler.py x: 1227 lines of code y: 259 # changes luigi/setup_logging.py x: 106 lines of code y: 10 # changes luigi/static/visualiser/index.html x: 563 lines of code y: 86 # changes luigi/static/visualiser/js/graph.js x: 285 lines of code y: 34 # changes luigi/static/visualiser/js/util.js x: 8 lines of code y: 2 # changes luigi/static/visualiser/js/visualiserApp.js x: 1325 lines of code y: 113 # changes luigi/target.py x: 107 lines of code y: 59 # changes luigi/task_register.py x: 131 lines of code y: 24 # changes luigi/tools/deps_tree.py x: 40 lines of code y: 7 # changes luigi/util.py x: 120 lines of code y: 65 # changes luigi/worker.py x: 923 lines of code y: 284 # changes luigi/contrib/kubernetes.py x: 218 lines of code y: 21 # changes luigi/cmdline_parser.py x: 81 lines of code y: 17 # changes luigi/contrib/batch.py x: 99 lines of code y: 6 # changes luigi/contrib/beam_dataflow.py x: 277 lines of code y: 16 # changes luigi/contrib/bigquery_avro.py x: 62 lines of code y: 17 # changes luigi/contrib/esindex.py x: 194 lines of code y: 28 # changes luigi/contrib/external_daily_snapshot.py x: 30 lines of code y: 5 # changes luigi/contrib/hdfs/__init__.py x: 35 lines of code y: 18 # changes luigi/contrib/hdfs/clients.py x: 28 lines of code y: 17 # changes luigi/contrib/hdfs/error.py x: 12 lines of code y: 6 # changes luigi/contrib/hdfs/hadoopcli_clients.py x: 187 lines of code y: 12 # changes luigi/contrib/hdfs/webhdfs_client.py x: 89 lines of code y: 13 # changes luigi/contrib/opener.py x: 121 lines of code y: 15 # changes luigi/contrib/pig.py x: 116 lines of code y: 26 # changes luigi/contrib/pyspark_runner.py x: 74 lines of code y: 13 # changes luigi/contrib/redshift.py x: 398 lines of code y: 68 # changes luigi/contrib/salesforce.py x: 379 lines of code y: 14 # changes luigi/contrib/scalding.py x: 167 lines of code y: 26 # changes luigi/contrib/sge.py x: 155 lines of code y: 18 # changes luigi/contrib/sparkey.py x: 20 lines of code y: 13 # changes luigi/contrib/target.py x: 40 lines of code y: 25 # changes luigi/contrib/webhdfs.py x: 54 lines of code y: 29 # changes luigi/date_interval.py x: 162 lines of code y: 32 # changes luigi/event.py x: 12 lines of code y: 12 # changes luigi/mock.py x: 101 lines of code y: 57 # changes luigi/process.py x: 83 lines of code y: 34 # changes luigi/task_history.py x: 32 lines of code y: 23 # changes luigi/tools/deps.py x: 73 lines of code y: 23 # changes luigi/tools/luigi_grep.py x: 62 lines of code y: 12 # changes luigi/tools/range.py x: 427 lines of code y: 42 # changes luigi/static/visualiser/css/luigi.css x: 193 lines of code y: 5 # changes luigi/static/visualiser/js/luigi.js x: 182 lines of code y: 38 # changes luigi/templates/history.html x: 106 lines of code y: 6 # changes luigi/retcodes.py x: 62 lines of code y: 13 # changes luigi/contrib/hdfs/format.py x: 120 lines of code y: 9 # changes luigi/contrib/datadog_metric.py x: 89 lines of code y: 1 # changes luigi/cmdline.py x: 29 lines of code y: 17 # changes luigi/configuration/__init__.py x: 9 lines of code y: 1 # changes luigi/configuration/base_parser.py x: 16 lines of code y: 1 # changes luigi/contrib/dataproc.py x: 196 lines of code y: 11 # changes luigi/contrib/gcp.py x: 28 lines of code y: 2 # changes luigi/templates/recent.html x: 28 lines of code y: 8 # changes luigi/templates/show.html x: 62 lines of code y: 8 # changes luigi/templates/layout.html x: 87 lines of code y: 5 # changes luigi/task_status.py x: 8 lines of code y: 14 # changes luigi/__main__.py x: 3 lines of code y: 3 # changes luigi/static/visualiser/css/tipsy.css x: 17 lines of code y: 2 # changes luigi/static/visualiser/js/tipsy.js x: 223 lines of code y: 2 # changes luigi/templates/menu.html x: 15 lines of code y: 2 # changes MANIFEST.in x: 6 lines of code y: 9 # changes luigi/contrib/__init__.py x: 1 lines of code y: 9 # changes luigi/tools/__init__.py x: 1 lines of code y: 6 # changes luigi/static/visualiser/lib/mustache.js x: 373 lines of code y: 2 # changes
284.0
# changes
  min: 1.0
  average: 31.74
  25th percentile: 7.25
  median: 13.5
  75th percentile: 33.5
  max: 284.0
0 1325.0
lines of code
min: 1.0 | average: 166.66 | 25th percentile: 41.25 | median: 106.0 | 75th percentile: 196.75 | max: 1325.0

Number of Contributors vs. Number of Changes: 120 points

luigi/contrib/prometheus_metric.py x: 4 # contributors y: 4 # changes luigi/task.py x: 74 # contributors y: 205 # changes luigi/__meta__.py x: 17 # contributors y: 30 # changes setup.py x: 69 # contributors y: 145 # changes luigi/contrib/postgres.py x: 20 # contributors y: 23 # changes luigi/contrib/dropbox.py x: 12 # contributors y: 12 # changes luigi/contrib/ftp.py x: 28 # contributors y: 43 # changes luigi/contrib/ssh.py x: 30 # contributors y: 48 # changes luigi/local_target.py x: 8 # contributors y: 8 # changes luigi/parameter.py x: 75 # contributors y: 181 # changes luigi/db_task_history.py x: 31 # contributors y: 52 # changes luigi/server.py x: 47 # contributors y: 115 # changes catalog-info.yaml x: 3 # contributors y: 3 # changes doc/conf.py x: 19 # contributors y: 25 # changes luigi/__init__.py x: 37 # contributors y: 75 # changes luigi/batch_notifier.py x: 9 # contributors y: 12 # changes luigi/configuration/core.py x: 3 # contributors y: 4 # changes luigi/configuration/toml_parser.py x: 7 # contributors y: 9 # changes luigi/contrib/azureblob.py x: 10 # contributors y: 10 # changes luigi/contrib/bigquery.py x: 34 # contributors y: 50 # changes luigi/contrib/ecs.py x: 9 # contributors y: 9 # changes luigi/contrib/external_program.py x: 17 # contributors y: 19 # changes luigi/contrib/gcs.py x: 23 # contributors y: 31 # changes luigi/contrib/hadoop.py x: 33 # contributors y: 48 # changes luigi/contrib/hadoop_jar.py x: 10 # contributors y: 17 # changes luigi/contrib/hdfs/config.py x: 11 # contributors y: 13 # changes luigi/contrib/hdfs/target.py x: 13 # contributors y: 16 # changes luigi/contrib/hive.py x: 26 # contributors y: 39 # changes luigi/contrib/mongodb.py x: 5 # contributors y: 6 # changes luigi/contrib/mrrunner.py x: 9 # contributors y: 8 # changes luigi/contrib/mssqldb.py x: 5 # contributors y: 5 # changes luigi/contrib/presto.py x: 7 # contributors y: 7 # changes luigi/contrib/rdbms.py x: 27 # contributors y: 29 # changes luigi/contrib/redis_store.py x: 6 # contributors y: 6 # changes luigi/contrib/s3.py x: 26 # contributors y: 29 # changes luigi/contrib/sge_runner.py x: 13 # contributors y: 13 # changes luigi/contrib/simulate.py x: 11 # contributors y: 11 # changes luigi/contrib/spark.py x: 36 # contributors y: 61 # changes luigi/contrib/sqla.py x: 30 # contributors y: 41 # changes luigi/execution_summary.py x: 22 # contributors y: 31 # changes luigi/format.py x: 31 # contributors y: 51 # changes luigi/interface.py x: 61 # contributors y: 175 # changes luigi/lock.py x: 34 # contributors y: 53 # changes luigi/notifications.py x: 40 # contributors y: 64 # changes luigi/rpc.py x: 47 # contributors y: 109 # changes luigi/scheduler.py x: 79 # contributors y: 259 # changes luigi/static/visualiser/index.html x: 33 # contributors y: 86 # changes luigi/static/visualiser/js/graph.js x: 22 # contributors y: 34 # changes luigi/static/visualiser/js/util.js x: 2 # contributors y: 2 # changes luigi/static/visualiser/js/visualiserApp.js x: 42 # contributors y: 113 # changes luigi/target.py x: 35 # contributors y: 59 # changes luigi/task_register.py x: 19 # contributors y: 24 # changes luigi/util.py x: 35 # contributors y: 65 # changes luigi/worker.py x: 103 # contributors y: 284 # changes luigi/contrib/kubernetes.py x: 14 # contributors y: 21 # changes luigi/contrib/beam_dataflow.py x: 7 # contributors y: 16 # changes luigi/contrib/esindex.py x: 21 # contributors y: 28 # changes luigi/contrib/hdfs/__init__.py x: 9 # contributors y: 18 # changes luigi/contrib/hdfs/abstract_client.py x: 8 # contributors y: 7 # changes luigi/contrib/hdfs/clients.py x: 12 # contributors y: 17 # changes luigi/contrib/hdfs/hadoopcli_clients.py x: 10 # contributors y: 12 # changes luigi/contrib/hdfs/webhdfs_client.py x: 10 # contributors y: 13 # changes luigi/contrib/opener.py x: 13 # contributors y: 15 # changes luigi/contrib/pig.py x: 22 # contributors y: 26 # changes luigi/contrib/redshift.py x: 44 # contributors y: 68 # changes luigi/contrib/salesforce.py x: 9 # contributors y: 14 # changes luigi/contrib/scalding.py x: 18 # contributors y: 26 # changes luigi/contrib/sge.py x: 13 # contributors y: 18 # changes luigi/contrib/sparkey.py x: 12 # contributors y: 13 # changes luigi/contrib/target.py x: 16 # contributors y: 25 # changes luigi/contrib/webhdfs.py x: 19 # contributors y: 29 # changes luigi/date_interval.py x: 19 # contributors y: 32 # changes luigi/mock.py x: 29 # contributors y: 57 # changes luigi/process.py x: 21 # contributors y: 34 # changes luigi/task_history.py x: 19 # contributors y: 23 # changes luigi/tools/deps.py x: 17 # contributors y: 23 # changes luigi/tools/luigi_grep.py x: 13 # contributors y: 12 # changes luigi/tools/range.py x: 25 # contributors y: 42 # changes luigi/static/visualiser/css/luigi.css x: 4 # contributors y: 5 # changes luigi/static/visualiser/js/luigi.js x: 20 # contributors y: 38 # changes luigi/contrib/hdfs/format.py x: 8 # contributors y: 9 # changes luigi/contrib/datadog_metric.py x: 1 # contributors y: 1 # changes luigi/contrib/dataproc.py x: 9 # contributors y: 11 # changes luigi/templates/recent.html x: 7 # contributors y: 8 # changes luigi/templates/layout.html x: 3 # contributors y: 5 # changes luigi/task_status.py x: 10 # contributors y: 14 # changes luigi/tools/__init__.py x: 4 # contributors y: 6 # changes
284.0
# changes
  min: 1.0
  average: 31.74
  25th percentile: 7.25
  median: 13.5
  75th percentile: 33.5
  max: 284.0
0 103.0
# contributors
min: 1.0 | average: 17.86 | 25th percentile: 7.0 | median: 11.0 | 75th percentile: 22.75 | max: 103.0

Number of Contributors vs. File Size: 120 points

luigi/contrib/prometheus_metric.py x: 4 # contributors y: 71 lines of code luigi/task.py x: 74 # contributors y: 409 lines of code luigi/__meta__.py x: 17 # contributors y: 5 lines of code setup.py x: 69 # contributors y: 73 lines of code luigi/contrib/postgres.py x: 20 # contributors y: 256 lines of code luigi/contrib/dropbox.py x: 12 # contributors y: 197 lines of code luigi/contrib/ftp.py x: 28 # contributors y: 257 lines of code luigi/contrib/ssh.py x: 30 # contributors y: 226 lines of code luigi/local_target.py x: 8 # contributors y: 117 lines of code luigi/parameter.py x: 75 # contributors y: 608 lines of code luigi/db_task_history.py x: 31 # contributors y: 169 lines of code luigi/server.py x: 47 # contributors y: 259 lines of code catalog-info.yaml x: 3 # contributors y: 7 lines of code doc/conf.py x: 19 # contributors y: 79 lines of code luigi/__init__.py x: 37 # contributors y: 58 lines of code luigi/batch_notifier.py x: 9 # contributors y: 173 lines of code luigi/configuration/cfg_parser.py x: 12 # contributors y: 123 lines of code luigi/configuration/core.py x: 3 # contributors y: 56 lines of code luigi/configuration/toml_parser.py x: 7 # contributors y: 63 lines of code luigi/contrib/azureblob.py x: 10 # contributors y: 204 lines of code luigi/contrib/bigquery.py x: 34 # contributors y: 400 lines of code luigi/contrib/docker_runner.py x: 12 # contributors y: 165 lines of code luigi/contrib/ecs.py x: 9 # contributors y: 80 lines of code luigi/contrib/external_program.py x: 17 # contributors y: 161 lines of code luigi/contrib/gcs.py x: 23 # contributors y: 308 lines of code luigi/contrib/hadoop.py x: 33 # contributors y: 651 lines of code luigi/contrib/hadoop_jar.py x: 10 # contributors y: 83 lines of code luigi/contrib/hdfs/config.py x: 11 # contributors y: 52 lines of code luigi/contrib/hdfs/target.py x: 13 # contributors y: 120 lines of code luigi/contrib/hive.py x: 26 # contributors y: 325 lines of code luigi/contrib/lsf.py x: 4 # contributors y: 178 lines of code luigi/contrib/lsf_runner.py x: 8 # contributors y: 36 lines of code luigi/contrib/mongodb.py x: 5 # contributors y: 86 lines of code luigi/contrib/mrrunner.py x: 9 # contributors y: 42 lines of code luigi/contrib/mssqldb.py x: 5 # contributors y: 66 lines of code luigi/contrib/mysqldb.py x: 11 # contributors y: 128 lines of code luigi/contrib/pai.py x: 10 # contributors y: 169 lines of code luigi/contrib/presto.py x: 7 # contributors y: 192 lines of code luigi/contrib/rdbms.py x: 27 # contributors y: 144 lines of code luigi/contrib/redis_store.py x: 6 # contributors y: 41 lines of code luigi/contrib/s3.py x: 26 # contributors y: 425 lines of code luigi/contrib/sge_runner.py x: 13 # contributors y: 37 lines of code luigi/contrib/simulate.py x: 11 # contributors y: 42 lines of code luigi/contrib/spark.py x: 36 # contributors y: 246 lines of code luigi/contrib/sqla.py x: 30 # contributors y: 153 lines of code luigi/execution_summary.py x: 22 # contributors y: 320 lines of code luigi/format.py x: 31 # contributors y: 339 lines of code luigi/freezing.py x: 7 # contributors y: 38 lines of code luigi/interface.py x: 61 # contributors y: 155 lines of code luigi/lock.py x: 34 # contributors y: 81 lines of code luigi/metrics.py x: 9 # contributors y: 64 lines of code luigi/mypy.py x: 3 # contributors y: 317 lines of code luigi/notifications.py x: 40 # contributors y: 284 lines of code luigi/rpc.py x: 47 # contributors y: 128 lines of code luigi/safe_extractor.py x: 3 # contributors y: 18 lines of code luigi/scheduler.py x: 79 # contributors y: 1227 lines of code luigi/setup_logging.py x: 9 # contributors y: 106 lines of code luigi/static/visualiser/index.html x: 33 # contributors y: 563 lines of code luigi/static/visualiser/js/graph.js x: 22 # contributors y: 285 lines of code luigi/static/visualiser/js/util.js x: 2 # contributors y: 8 lines of code luigi/static/visualiser/js/visualiserApp.js x: 42 # contributors y: 1325 lines of code luigi/target.py x: 35 # contributors y: 107 lines of code luigi/task_register.py x: 19 # contributors y: 131 lines of code luigi/util.py x: 35 # contributors y: 120 lines of code luigi/worker.py x: 103 # contributors y: 923 lines of code luigi/contrib/kubernetes.py x: 14 # contributors y: 218 lines of code luigi/contrib/batch.py x: 6 # contributors y: 99 lines of code luigi/contrib/beam_dataflow.py x: 7 # contributors y: 277 lines of code luigi/contrib/bigquery_avro.py x: 10 # contributors y: 62 lines of code luigi/contrib/esindex.py x: 21 # contributors y: 194 lines of code luigi/contrib/external_daily_snapshot.py x: 5 # contributors y: 30 lines of code luigi/contrib/hdfs/__init__.py x: 9 # contributors y: 35 lines of code luigi/contrib/hdfs/abstract_client.py x: 8 # contributors y: 38 lines of code luigi/contrib/hdfs/clients.py x: 12 # contributors y: 28 lines of code luigi/contrib/hdfs/error.py x: 6 # contributors y: 12 lines of code luigi/contrib/hdfs/hadoopcli_clients.py x: 10 # contributors y: 187 lines of code luigi/contrib/hdfs/webhdfs_client.py x: 10 # contributors y: 89 lines of code luigi/contrib/pig.py x: 22 # contributors y: 116 lines of code luigi/contrib/pyspark_runner.py x: 10 # contributors y: 74 lines of code luigi/contrib/redshift.py x: 44 # contributors y: 398 lines of code luigi/contrib/salesforce.py x: 9 # contributors y: 379 lines of code luigi/contrib/scalding.py x: 18 # contributors y: 167 lines of code luigi/contrib/sge.py x: 13 # contributors y: 155 lines of code luigi/contrib/sparkey.py x: 12 # contributors y: 20 lines of code luigi/contrib/target.py x: 16 # contributors y: 40 lines of code luigi/contrib/webhdfs.py x: 19 # contributors y: 54 lines of code luigi/date_interval.py x: 19 # contributors y: 162 lines of code luigi/event.py x: 10 # contributors y: 12 lines of code luigi/mock.py x: 29 # contributors y: 101 lines of code luigi/process.py x: 21 # contributors y: 83 lines of code luigi/task_history.py x: 19 # contributors y: 32 lines of code luigi/tools/deps.py x: 17 # contributors y: 73 lines of code luigi/tools/luigi_grep.py x: 13 # contributors y: 62 lines of code luigi/tools/range.py x: 25 # contributors y: 427 lines of code luigi/static/visualiser/css/luigi.css x: 4 # contributors y: 193 lines of code luigi/static/visualiser/js/luigi.js x: 20 # contributors y: 182 lines of code luigi/templates/history.html x: 6 # contributors y: 106 lines of code luigi/retcodes.py x: 11 # contributors y: 62 lines of code luigi/contrib/hdfs/format.py x: 8 # contributors y: 120 lines of code luigi/contrib/datadog_metric.py x: 1 # contributors y: 89 lines of code luigi/configuration/__init__.py x: 1 # contributors y: 9 lines of code luigi/configuration/base_parser.py x: 1 # contributors y: 16 lines of code luigi/contrib/dataproc.py x: 9 # contributors y: 196 lines of code luigi/contrib/gcp.py x: 2 # contributors y: 28 lines of code luigi/templates/recent.html x: 7 # contributors y: 28 lines of code luigi/templates/show.html x: 7 # contributors y: 62 lines of code luigi/templates/layout.html x: 3 # contributors y: 87 lines of code luigi/task_status.py x: 10 # contributors y: 8 lines of code luigi/__main__.py x: 3 # contributors y: 3 lines of code luigi/static/visualiser/css/tipsy.css x: 2 # contributors y: 17 lines of code luigi/static/visualiser/js/tipsy.js x: 2 # contributors y: 223 lines of code luigi/templates/menu.html x: 2 # contributors y: 15 lines of code MANIFEST.in x: 8 # contributors y: 6 lines of code luigi/contrib/__init__.py x: 7 # contributors y: 1 lines of code luigi/tools/__init__.py x: 4 # contributors y: 1 lines of code luigi/static/visualiser/lib/mustache.js x: 2 # contributors y: 373 lines of code
1325.0
lines of code
  min: 1.0
  average: 166.66
  25th percentile: 41.25
  median: 106.0
  75th percentile: 196.75
  max: 1325.0
0 103.0
# contributors
min: 1.0 | average: 17.86 | 25th percentile: 7.0 | median: 11.0 | 75th percentile: 22.75 | max: 103.0