Skip to content

Instantly share code, notes, and snippets.

@imrehg
Created November 11, 2024 07:43
Show Gist options
  • Save imrehg/97c3b73e24a92877b5c290717ec9662e to your computer and use it in GitHub Desktop.
Save imrehg/97c3b73e24a92877b5c290717ec9662e to your computer and use it in GitHub Desktop.
Code Age analysis for Airbyte
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
2020-09-24;v0.1.0-alpha;206028;206028;206028;206028;206028
2020-10-21;v0.2.0-alpha;215379;215379;215379;215379;215379
2020-10-27;v0.2.1-alpha;204387;204387;204387;204387;204387
2020-10-30;v0.3.0-alpha;209715;209715;209715;209715;209715
2020-11-04;v0.4.0-alpha;223988;223988;223988;223988;223988
2020-11-12;v0.5.0-alpha;283586;283586;283586;283586;283586
2020-11-14;v0.5.1-alpha;296031;296031;296031;296031;296031
2020-11-14;v0.5.2-alpha;296660;296660;296660;296660;296660
2020-11-15;v0.5.3-alpha;296669;296669;296669;296669;296669
2020-11-26;v0.6.0-alpha;308223;308223;308223;308223;308223
2020-12-03;v0.6.1-alpha;313611;313611;313611;313611;313611
2020-12-05;v0.6.2-alpha;318886;318886;318886;318886;318886
2020-12-08;v0.7.0-alpha;323865;323865;323865;323865;323865
2020-12-10;v0.7.1-alpha;327680;327680;327680;327680;327680
2020-12-14;v0.7.2-alpha;342453;342453;342453;342453;342453
2020-12-17;v0.8.0-alpha;288221;288221;288221;288221;288221
2020-12-22;v0.9.0-alpha;296700;296700;296700;296700;296700
2020-12-23;v0.9.1-alpha;300586;300586;300586;300586;300586
2020-12-30;v0.9.2-alpha;343575;343575;343575;343575;343575
2021-01-08;v0.10.0-alpha;342359;345190;345190;345190;345190
2021-01-15;v0.11.0-alpha;339281;351050;351050;351050;351050
2021-01-18;v0.11.1-alpha;339025;355614;355614;355614;355614
2021-01-19;v0.11.2-alpha;338852;363644;363644;363644;363644
2021-01-20;v0.12.0-alpha;338396;364221;364221;364221;364221
2021-01-21;v0.12.1-alpha;338372;364230;364230;364230;364230
2021-01-22;v0.13.0-alpha;338034;369530;369530;369530;369530
2021-01-24;v0.13.1-alpha;331136;368517;368517;368517;368517
2021-01-26;v0.14.0-alpha;330321;372320;372320;372320;372320
2021-01-27;v0.14.1-alpha;329803;373012;373012;373012;373012
2021-02-12;v0.14.2-alpha;327875;386544;386544;386544;386544
2021-02-17;v0.14.3-alpha;325646;392918;392918;392918;392918
2021-02-20;v0.14.4-alpha;325099;401296;401296;401296;401296
2021-02-25;v0.15.0-alpha;324961;406020;406020;406020;406020
2021-03-02;v0.16.0-alpha;324960;446492;446492;446492;446492
2021-03-04;v0.16.1-alpha;317741;516321;516321;516321;516321
2021-03-10;v0.17.0-alpha;316736;519392;519392;519392;519392
2021-03-17;v0.17.1-alpha;306757;518530;518530;518530;518530
2021-03-18;v0.17.2-alpha;306715;518960;518960;518960;518960
2021-03-24;v0.17.3-alpha;301133;527242;527242;527242;527242
2021-03-30;v0.18.0-alpha;300624;530461;530461;530461;530461
2021-03-30;v0.18.1-alpha;300623;530489;530489;530489;530489
2021-04-01;v0.18.2-alpha;300381;534206;534206;534206;534206
2021-04-08;v0.19.0-alpha;260591;733342;733342;733342;733342
2021-04-13;v0.20.0-alpha;260351;738625;738625;738625;738625
2021-04-21;v0.21.0-alpha;259845;808596;808596;808596;808596
2021-04-23;v0.21.1-alpha;259834;809352;809352;809352;809352
2021-04-28;v0.22.0-alpha;255067;786870;786870;786870;786870
2021-05-04;v0.22;254852;805640;805640;805640;805640
2021-05-04;v0.22.1-alpha;254852;805617;805617;805617;805617
2021-05-04;v0.22.2-alpha;254852;805640;805640;805640;805640
2021-05-12;v0.22.3-alpha;254576;814795;814795;814795;814795
2021-05-19;v0.23.0-alpha;254291;830669;830669;830669;830669
2021-05-26;v0.24.0-alpha;253997;843120;843120;843120;843120
2021-05-26;v0.24.1-alpha;253771;845507;845507;845507;845507
2021-05-27;v0.24.2-alpha;251649;840533;840533;840533;840533
2021-05-28;v0.24.3-alpha;250032;842224;842224;842224;842224
2021-06-01;v0.24.4-alpha;249815;843992;843992;843992;843992
2021-06-03;v0.24.5-alpha;249227;909648;909648;909648;909648
2021-06-04;v0.24.6-alpha;249158;913888;913888;913888;913888
2021-06-05;v0.24.7-alpha;249124;915019;915019;915019;915019
2021-06-10;v0.24.8-alpha;248751;939348;939348;939348;939348
2021-06-10;v0.25.0-alpha;248709;939397;939397;939397;939397
2021-06-17;v0.26.0-alpha;248474;935318;935318;935318;935318
2021-06-18;v0.26.1-alpha;248407;936065;936065;936065;936065
2021-06-22;v0.26.2-alpha;248296;937331;937331;937331;937331
2021-06-24;v0.26.3-alpha;247973;936602;936602;936602;936602
2021-06-25;v0.26.4-alpha;247956;937458;937458;937458;937458
2021-07-01;v0.27.0-alpha;247764;953729;953729;953729;953729
2021-07-09;v0.27.1-alpha;243255;991161;991161;991161;991161
2021-07-13;v0.27.2-alpha;243208;996841;996841;996841;996841
2021-07-15;v0.27.3-alpha;242898;1001277;1001277;1001277;1001277
2021-07-22;v0.27.4-alpha;240924;1029893;1029893;1029893;1029893
2021-07-23;v0.27.5-alpha;240895;1031319;1031319;1031319;1031319
2021-07-24;v0.28.0-alpha;240865;1035822;1035822;1035822;1035822
2021-07-27;v0.28.1-alpha;240722;1034372;1034372;1034372;1034372
2021-07-27;v0.28.1;240722;1034372;1034372;1034372;1034372
2021-07-29;v0.28.2-alpha;240110;1023254;1023254;1023254;1023254
2021-07-29;v0.29.0-alpha;239962;1023812;1023812;1023812;1023812
2021-07-30;v0.29.1-alpha;239957;1023888;1023888;1023888;1023888
2021-07-31;v0.29.2-alpha;239957;1027554;1027554;1027554;1027554
2021-08-10;v0.29.3-alpha;239272;1011813;1011813;1011813;1011813
2021-08-11;v0.29.4-alpha;232260;989589;989589;989589;989589
2021-08-11;v0.29.5-alpha;232341;990678;990678;990678;990678
2021-08-15;v0.29.6-alpha;232192;996774;996774;996774;996774
2021-08-15;v0.29.7-alpha;232192;996774;996774;996774;996774
2021-08-17;v0.29.8-alpha;232189;998001;998001;998001;998001
2021-08-18;v0.29.9-alpha;232153;1000060;1000060;1000060;1000060
2021-08-21;v0.29.9;231472;1003733;1003733;1003733;1003733
2021-08-19;v0.29.10-alpha;231608;1003167;1003167;1003167;1003167
2021-08-21;v0.29.11-alpha;231472;1003733;1003733;1003733;1003733
2021-08-24;v0.29.12-alpha;231472;1003533;1003533;1003533;1003533
2021-08-28;v0.29.13-alpha;231270;1016415;1016415;1016415;1016415
2021-09-03;v0.29.14-alpha;231230;1071366;1071366;1071366;1071366
2021-09-05;v0.29.15-alpha;231230;1071614;1071614;1071614;1071614
2021-09-09;v0.29.16-alpha;230339;1079287;1079287;1079287;1079287
2021-09-09;v0.29.17-alpha;230336;1080041;1080041;1080041;1080041
2021-09-16;v0.29.18-alpha;229625;1097454;1097454;1097454;1097454
2021-09-17;v0.29.19-alpha;229543;1099617;1099617;1099617;1099617
2021-09-19;v0.29.20-alpha;229536;1104989;1104989;1104989;1104989
2021-09-19;v0.29.21-alpha;229536;1104918;1104918;1104918;1104918
2021-09-25;v0.29.22-alpha;228963;1115541;1115541;1115541;1115541
2021-09-30;v0.30.0-alpha;222670;1085971;1085971;1085971;1085971
2021-09-30;v0.30.1-alpha;222664;1086371;1086371;1086371;1086371
2021-09-30;v0.30.2-alpha;222664;1086371;1086371;1086371;1086371
2021-10-01;v0.30.3-alpha;222637;1090153;1090153;1090153;1090153
2021-10-01;v0.30.4-alpha;222627;1091006;1091006;1091006;1091006
2021-10-02;v0.30.5-alpha;222610;1091046;1091046;1091046;1091046
2021-10-02;v0.30.6-alpha;222610;1091078;1091078;1091078;1091078
2021-10-02;v0.30.7-alpha;222610;1091150;1091150;1091150;1091150
2021-10-02;v0.30.8-alpha;222610;1091150;1091150;1091150;1091150
2021-10-04;v0.30.9-alpha;222610;1091358;1091358;1091358;1091358
2021-10-05;v0.30.10-alpha;222326;1091362;1091362;1091362;1091362
2021-10-05;v0.30.11-alpha;222326;1091362;1091362;1091362;1091362
2021-10-05;v0.30.12-alpha;222323;1092590;1092590;1092590;1092590
2021-10-06;v0.30.13-alpha;222323;1092585;1092585;1092585;1092585
2021-10-06;v0.30.14-alpha;222323;1092607;1092607;1092607;1092607
2021-10-06;v0.30.15-alpha;222323;1092707;1092707;1092707;1092707
2021-10-08;v0.30.16-alpha;219736;1094306;1094306;1094306;1094306
2021-10-09;v0.30.17-alpha;219735;1096722;1096722;1096722;1096722
2021-10-09;v0.30.18-alpha;219732;1096724;1096724;1096724;1096724
2021-10-13;v0.30.19-alpha;219698;1130695;1130695;1130695;1130695
2021-10-14;v0.30.20-alpha;219376;1130201;1130201;1130201;1130201
2021-10-19;v0.30.21-alpha;218003;1136567;1136567;1136567;1136567
2021-10-22;v0.30.22-alpha;217955;1146448;1146448;1146448;1146448
2021-10-25;v0.30.23-alpha;217951;1150530;1150530;1150530;1150530
2021-11-02;v0.30.24-alpha;207279;1151207;1151207;1151207;1151207
2021-11-02;v0.30.25-alpha;207279;1153661;1153661;1153661;1153661
2021-11-04;v0.30.26-alpha;207255;1158809;1158809;1158809;1158809
2021-11-04;v0.30.27-alpha;207255;1158809;1158809;1158809;1158809
2021-11-04;v0.30.28-alpha;207244;1159180;1159180;1159180;1159180
2021-11-04;v0.30.29-alpha;207244;1159192;1159192;1159192;1159192
2021-11-05;v0.30.30-alpha;207244;1159199;1159199;1159199;1159199
2021-11-05;v0.30.31-alpha;207241;1168499;1168499;1168499;1168499
2021-11-06;v0.30.32-alpha;207203;1173891;1173891;1173891;1173891
2021-11-06;v0.30.33-alpha;207203;1173891;1173891;1173891;1173891
2021-11-07;v0.30.34-alpha;207203;1173891;1173891;1173891;1173891
2021-11-09;v0.30.35-alpha;207115;1201983;1201983;1201983;1201983
2021-11-09;v0.30.36-alpha;207113;1219791;1219791;1219791;1219791
2021-11-10;v0.30.37-alpha;207101;1223613;1223613;1223613;1223613
2021-11-10;v0.30.38-alpha;207101;1223628;1223628;1223628;1223628
2021-11-11;v0.30.39-alpha;207057;1224770;1224770;1224770;1224770
2021-11-12;v0.31.0-alpha;207051;1225550;1225550;1225550;1225550
2021-11-13;v0.32.0-alpha;206944;1226202;1226202;1226202;1226202
2021-11-17;v0.32.1-alpha;206852;1309151;1309151;1309151;1309151
2021-11-18;v0.32.2-alpha;206845;1310599;1310599;1310599;1310599
2021-11-19;v0.32.3-alpha;206845;1313564;1313564;1313564;1313564
2021-11-19;v0.32.4-alpha;206845;1313562;1313562;1313562;1313562
2021-11-20;v0.32.5-alpha;206755;1319119;1319119;1319119;1319119
2021-11-25;v0.32.6-alpha;206733;1331268;1331268;1331268;1331268
2021-11-29;v0.32.7-alpha;206715;1337391;1337391;1337391;1337391
2021-11-30;v0.32.8-alpha;206709;1337476;1337476;1337476;1337476
2021-12-02;v0.32.9-alpha;206615;1339701;1339701;1339701;1339701
2021-12-02;v0.32.10-alpha;206615;1339717;1339717;1339717;1339717
2021-12-02;v0.32.11-alpha;206585;1339498;1339498;1339498;1339498
2021-12-04;v0.33.0-alpha;206577;1346991;1346991;1346991;1346991
2021-12-04;v0.33.1-alpha;206570;1340445;1340445;1340445;1340445
2021-12-05;v0.33.2-alpha;206570;1340445;1340445;1340445;1340445
2021-12-07;v0.33.3-alpha;206570;1340441;1340441;1340441;1340441
2021-12-07;v0.33.4-alpha;206549;1340532;1340532;1340532;1340532
2021-12-07;v0.33.5-alpha;206383;1341194;1341194;1341194;1341194
2021-12-09;v0.33.6-alpha;206349;1344102;1344102;1344102;1344102
2021-12-10;v0.33.7-alpha;206349;1344271;1344271;1344271;1344271
2021-12-10;v0.33.8-alpha;206325;1353473;1353473;1353473;1353473
2021-12-11;v0.33.9-alpha;206323;1354277;1354277;1354277;1354277
2021-12-11;v0.33.10-alpha;206319;1354283;1354283;1354283;1354283
2021-12-12;v0.33.11-alpha;205979;1354892;1354892;1354892;1354892
2021-12-15;v0.33.12-alpha;205917;1371292;1371292;1371292;1371292
2021-12-16;v0.34.0-alpha;205898;1374362;1374362;1374362;1374362
2021-12-17;v0.34.1-alpha;205538;1377921;1377921;1377921;1377921
2021-12-19;v0.34.2-alpha;205432;1380906;1380906;1380906;1380906
2021-12-21;v0.34.3-alpha;205311;1382643;1382643;1382643;1382643
2021-12-21;v0.34.4-alpha;205238;1383141;1383141;1383141;1383141
2021-12-22;v0.35.0-alpha;205234;1393701;1393701;1393701;1393701
2021-12-23;v0.35.1-alpha;205231;1394180;1394180;1394180;1394180
2021-12-27;v0.35.2-alpha;205146;1400474;1400474;1400474;1400474
2022-01-04;v0.35.3-alpha;204693;1411712;1412820;1412820;1412820
2022-01-07;v0.35.4-alpha;204650;1408756;1414601;1414601;1414601
2022-01-12;v0.35.5-alpha;204558;1407626;1417968;1417968;1417968
2022-01-20;v0.35.6-alpha;204527;1406185;1425428;1425428;1425428
2022-01-22;v0.35.7-alpha;204523;1405442;1433494;1433494;1433494
2022-01-25;v0.35.8-alpha;204244;1404759;1435826;1435826;1435826
2022-01-25;v0.35.9-alpha;204244;1404731;1435905;1435905;1435905
2022-01-26;v0.35.10-alpha;204211;1404529;1437569;1437569;1437569
2022-01-27;v0.35.11-alpha;204201;1404444;1441554;1441554;1441554
2022-01-28;v0.35.12-alpha;204141;1403992;1441539;1441539;1441539
2022-02-01;v0.35.13-alpha;199754;1398075;1438572;1438572;1438572
2022-02-01;v0.35.14-alpha;199743;1397982;1438770;1438770;1438770
2022-02-02;v0.35.15-alpha;199743;1396332;1437421;1437421;1437421
2022-02-04;v0.35.16-alpha;199641;1394907;1439175;1439175;1439175
2022-02-05;v0.35.17-alpha;199637;1394739;1441864;1441864;1441864
2022-02-07;v0.35.18-alpha;199637;1394620;1441931;1441931;1441931
2022-02-08;v0.35.19-alpha;199486;1393884;1441339;1441339;1441339
2022-02-08;v0.35.20-alpha;199486;1393884;1441351;1441351;1441351
2022-02-08;v0.35.21-alpha;199486;1393884;1441359;1441359;1441359
2022-02-08;v0.35.22-alpha;199486;1393882;1441428;1441428;1441428
2022-02-08;v0.35.23-alpha;199486;1393882;1441428;1441428;1441428
2022-02-08;v0.35.24-alpha;199486;1393881;1441459;1441459;1441459
2022-02-09;v0.35.25-alpha;199486;1393851;1441684;1441684;1441684
2022-02-09;v0.35.26-alpha;199486;1393851;1441680;1441680;1441680
2022-02-10;v0.35.27-alpha;199460;1393700;1443461;1443461;1443461
2022-02-12;v0.35.28-alpha;199460;1393250;1444713;1444713;1444713
2022-02-15;v0.35.29-alpha;199425;1391853;1444701;1444701;1444701
2022-02-16;v0.35.30-alpha;199295;1389944;1443344;1443344;1443344
2022-02-18;v0.35.31-alpha;199104;1388003;1447059;1447059;1447059
2022-02-19;v0.35.32-alpha;199073;1387889;1447671;1447671;1447671
2022-02-23;v0.35.33-alpha;194476;1334994;1448991;1448991;1448991
2022-02-23;v0.35.34-alpha;194460;1334928;1449088;1449088;1449088
2022-02-23;v0.35.35-alpha;194460;1334925;1449250;1449250;1449250
2022-02-24;v0.35.36-alpha;194444;1334740;1449810;1449810;1449810
2022-02-25;v0.35.37-alpha;194414;1334101;1452246;1452246;1452246
2022-02-26;v0.35.38-alpha;194409;1333665;1455290;1455290;1455290
2022-02-28;v0.35.39-alpha;192906;1331835;1456552;1456552;1456552
2022-03-01;v0.35.40-alpha;192893;1331488;1457015;1457015;1457015
2022-03-01;v0.35.41-alpha;192893;1330830;1456802;1456802;1456802
2022-03-01;v0.35.42-alpha;192893;1330804;1456867;1456867;1456867
2022-03-02;v0.35.43-alpha;192883;1330652;1457511;1457511;1457511
2022-03-02;v0.35.44-alpha;192883;1330649;1457829;1457829;1457829
2022-03-03;v0.35.45-alpha;192878;1330626;1458576;1458576;1458576
2022-03-05;v0.35.46-alpha;192854;1330186;1459824;1459824;1459824
2022-03-09;v0.35.47-alpha;192610;1327428;1461798;1461798;1461798
2022-03-10;v0.35.48-alpha;192589;1327164;1463742;1463742;1463742
2022-03-10;v0.35.49-alpha;192587;1327086;1464001;1464001;1464001
2022-03-11;v0.35.50-alpha;192587;1327014;1464595;1464595;1464595
2022-03-11;v0.35.51-alpha;192584;1326995;1464598;1464598;1464598
2022-03-12;v0.35.52-alpha;192565;1326674;1465459;1465459;1465459
2022-03-12;v0.35.53-alpha;192553;1326320;1465509;1465509;1465509
2022-03-15;v0.35.54-alpha;192503;1322935;1468699;1468699;1468699
2022-03-15;v0.35.55-alpha;192503;1322919;1468820;1468820;1468820
2022-03-17;v0.35.56-alpha;192495;1322596;1470691;1470691;1470691
2022-03-18;v0.35.57-alpha;192490;1322576;1472324;1472324;1472324
2022-03-19;v0.35.58-alpha;192407;1322319;1473094;1473094;1473094
2022-03-22;v0.35.59-alpha;192363;1321468;1476919;1476919;1476919
2022-03-25;v0.35.60-alpha;191896;1319791;1481999;1481999;1481999
2022-03-29;v0.35.61-alpha;191779;1317898;1485219;1485219;1485219
2022-03-30;v0.35.62-alpha;191762;1317706;1487004;1487004;1487004
2022-03-31;v0.35.63-alpha;191457;1316647;1488139;1488139;1488139
2022-04-01;v0.35.64-alpha;191440;1316358;1488722;1488722;1488722
2022-04-05;v0.35.65-alpha;190650;1313534;1491049;1491049;1491049
2022-04-12;v0.35.66-alpha;190034;1308484;1529554;1529554;1529554
2022-04-13;v0.35.67-alpha;190023;1308368;1529988;1529988;1529988
2022-04-14;v0.35.68-alpha;189961;1307784;1530864;1530864;1530864
2022-04-15;v0.36.0-alpha;189954;1307726;1530444;1530444;1530444
2022-04-20;v0.36.1-alpha;189864;1148492;1377324;1377324;1377324
2022-04-22;v0.36.2-alpha;189745;1147758;1380277;1380277;1380277
2022-04-25;v0.36.3-alpha;189656;1147275;1381727;1381727;1381727
2022-04-28;v0.36.4-alpha;189527;1146557;1386271;1386271;1386271
2022-04-29;v0.36.5-alpha;189515;1146323;1387457;1387457;1387457
2022-04-30;v0.36.6-alpha;189377;1145805;1389042;1389042;1389042
2022-05-03;v0.36.7-alpha;189361;1145458;1389943;1389943;1389943
2022-05-04;v0.36.8-alpha;189320;1145155;1389831;1389831;1389831
2022-05-05;v0.36.9-alpha;189294;1144894;1392757;1392757;1392757
2022-05-06;v0.36.10-alpha;188885;1141390;1369587;1369587;1369587
2022-05-06;v0.36.11-alpha;188045;1137979;1366242;1366242;1366242
2022-05-07;v0.37.0-alpha;188045;1137962;1366616;1366616;1366616
2022-05-10;v0.37.1-alpha;188045;1137481;1367405;1367405;1367405
2022-05-10;v0.38.0-alpha;187853;1135875;1368641;1368641;1368641
2022-05-10;v0.38.1-alpha;187852;1135868;1368840;1368840;1368840
2022-05-12;v0.38.2-alpha;187800;1135714;1369388;1369388;1369388
2022-05-13;v0.38.3-alpha;187791;1135410;1372911;1372911;1372911
2022-05-17;v0.38.4-alpha;187730;1134800;1374552;1374552;1374552
2022-05-21;v0.39.0-alpha;187549;1133949;1375890;1375890;1375890
2022-05-21;v0.39.1-alpha;187549;1133948;1375899;1375899;1375899
2022-05-26;v0.39.2-alpha;187293;1131755;1391073;1391073;1391073
2022-05-27;v0.39.3-alpha;187065;1128515;1394435;1394435;1394435
2022-05-27;v0.39.4-alpha;186990;1127520;1394226;1394226;1394226
2022-05-28;v0.39.5-alpha;186989;1127505;1394225;1394225;1394225
2022-06-01;v0.39.6-alpha;186913;1126196;1400512;1400512;1400512
2022-06-01;v0.39.7-alpha;186894;1126030;1400729;1400729;1400729
2022-06-03;v0.39.8-alpha;186860;1125057;1404776;1404776;1404776
2022-06-04;v0.39.9-alpha;186743;1124507;1406035;1406035;1406035
2022-06-04;v0.39.10-alpha;186743;1124500;1406916;1406916;1406916
2022-06-06;v0.39.11-alpha;186709;1124181;1406866;1406866;1406866
2022-06-07;v0.39.12-alpha;185631;1121562;1403393;1403393;1403393
2022-06-07;v0.39.13-alpha;185631;1121561;1402705;1402705;1402705
2022-06-08;v0.39.14-alpha;184717;1118408;1401613;1401613;1401613
2022-06-09;v0.39.15-alpha;184807;1118347;1405947;1405947;1405947
2022-06-09;v0.39.16-alpha;184807;1118347;1405829;1405829;1405829
2022-06-09;v0.39.17-alpha;184807;1118532;1406556;1406556;1406556
2022-06-15;v0.39.18-alpha;184467;1117612;1405117;1405117;1405117
2022-06-16;v0.39.19-alpha;184186;1118174;1435322;1435322;1435322
2022-06-16;v0.39.20-alpha;184186;1118073;1435378;1435378;1435378
2022-06-21;v0.39.21-alpha;184159;1117708;1474858;1474858;1474858
2022-06-22;v0.39.22-alpha;184129;1116552;1475312;1475312;1475312
2022-06-22;v0.39.23-alpha;183869;1116016;1477309;1477309;1477309
2022-06-24;v0.39.24-alpha;183842;1115138;1482162;1482162;1482162
2022-06-25;v0.39.25-alpha;183839;1115038;1485448;1485448;1485448
2022-06-27;v0.39.26-alpha;183567;1114092;1485130;1485130;1485130
2022-06-28;v0.39.27-alpha;183564;1113804;1490410;1490410;1490410
2022-06-28;v0.39.28-alpha;183564;1113752;1491050;1491050;1491050
2022-06-30;v0.39.29-alpha;183522;1113482;1491884;1491884;1491884
2022-07-01;v0.39.30-alpha;183522;1113290;1492593;1492593;1492593
2022-07-02;v0.39.31-alpha;183518;1113210;1495481;1495481;1495481
2022-07-04;v0.39.32-alpha;183517;1113209;1495834;1495834;1495834
2022-07-06;v0.39.33-alpha;183505;1112201;1496360;1496360;1496360
2022-07-06;v0.39.34-alpha;183505;1112201;1496356;1496356;1496356
2022-07-08;v0.39.35-alpha;183497;1112044;1494517;1494517;1494517
2022-07-14;v0.39.36-alpha;179528;1099843;1505397;1505397;1505397
2022-07-15;v0.39.37-alpha;179509;1099759;1507264;1507264;1507264
2022-07-24;v0.39.38-alpha;179223;1094886;1519693;1519693;1519693
2022-07-26;v0.39.39-alpha;179223;1094860;1519687;1519687;1519687
2022-07-27;v0.39.40-alpha;179223;1093030;1522211;1522211;1522211
2022-07-28;v0.39.41-alpha;179223;1092819;1524896;1524896;1524896
2022-08-06;v0.39.42-alpha;178990;1090178;1535247;1535247;1535247
2022-08-10;v0.40.0-alpha;178857;1089120;1537346;1537346;1537346
2022-08-23;v0.40.1;178574;1086672;1560239;1560239;1560239
2022-08-25;v0.40.2;178571;1086044;1561052;1561052;1561052
2022-08-27;v0.40.3;178465;1085211;1564007;1564007;1564007
2022-09-03;v0.40.4;178445;1084176;1587854;1587854;1587854
2022-09-13;v0.40.5;178377;1080989;1600376;1600376;1600376
2022-09-14;v0.40.6;178358;1080485;1602518;1602518;1602518
2022-09-17;v0.40.7;130075;1031068;1562824;1562824;1562824
2022-09-22;v0.40.8;127360;1016899;1560392;1560392;1560392
2022-09-23;v0.40.9;53668;942772;1491667;1491667;1491667
2022-09-29;v0.40.10;53323;940570;1505772;1505772;1505772
2022-10-05;v0.40.11;53205;937947;1511582;1511582;1511582
2022-10-06;v0.40.12;53195;937850;1512286;1512286;1512286
2022-10-07;v0.40.13;53189;937758;1513246;1513246;1513246
2022-10-08;v0.40.14;53162;937565;1514285;1514285;1514285
2022-10-14;v0.40.15;53094;936455;1518742;1518742;1518742
2022-10-21;v0.40.16;53030;934767;1535482;1535482;1535482
2022-10-22;v0.40.17;52885;934467;1537400;1537400;1537400
2022-11-03;v0.40.18;50885;928884;1577208;1577208;1577208
2022-11-18;v0.40.19;50083;921285;1708788;1708788;1708788
2022-11-19;v0.40.20;50073;921249;1716858;1716858;1716858
2022-11-19;v0.40.21;50073;921249;1720319;1720319;1720319
2022-11-22;v0.40.22;50131;921363;1721877;1721877;1721877
2022-12-01;v0.40.23;50107;914020;1719032;1719032;1719032
2022-12-08;v0.40.24;48784;909201;1758794;1758794;1758794
2022-12-09;v0.40.25;48699;908711;1760133;1760133;1760133
2022-12-19;v0.40.26;48436;890214;1782382;1782382;1782382
2023-01-07;v0.40.27;47916;887907;1761836;1794078;1794078
2023-01-13;v0.40.28;47700;886437;1752678;1808670;1808670
2023-01-24;v0.40.29;47541;885462;1747115;1826612;1826612
2023-01-28;v0.40.30;47151;883466;1739590;1831431;1831431
2023-01-31;v0.40.31;47045;883539;1738505;1839001;1839001
2023-01-31;v0.40.32;47023;883279;1737992;1839466;1839466
2023-02-24;v0.41.0;27658;791613;1444757;1532300;1532300
2023-03-11;v0.42.0;26771;777301;1400731;1502541;1502541
2023-03-31;v0.42.1;26717;774726;1373203;1563480;1563480
2023-04-06;v0.43.0;26713;773939;1370770;1571789;1571789
2023-04-07;v0.43.1;26676;767192;1351946;1600570;1600570
2023-04-13;v0.43.2;26670;758488;1341091;1604668;1604668
2023-04-14;v0.44.0;26670;758166;1340160;1611995;1611995
2023-04-19;v0.44.1;26658;758094;1339738;1624510;1624510
2023-04-27;v0.44.2;26630;757800;1338767;1642034;1642034
2023-04-29;v0.44.3;26627;757719;1338023;1644560;1644560
2023-05-15;v0.44.4;26589;757015;1334002;1660152;1660152
2023-06-05;v0.44.12;26572;750348;1320597;1704944;1704944
2023-06-08;v0.50.0;26572;750322;1320456;1706097;1706097
2023-06-09;v0.50.1;26561;750220;1320268;1707714;1707714
2023-06-15;v0.50.2;26517;748620;1318184;1710552;1710552
2023-06-15;v0.50.3;26517;748416;1317828;1713976;1713976
2023-06-16;v0.50.4;26517;748266;1317316;1714806;1714806
2023-06-26;v0.50.5;26509;747263;1315228;1729135;1729135
2023-07-03;v0.50.6;26389;745023;1310666;1734127;1734127
2023-07-10;v0.50.7;26386;744878;1307244;1952598;1952598
2023-07-18;v0.50.8;26328;744588;1306464;1969508;1969508
2023-07-21;v0.50.9;26328;744429;1305888;2012320;2012320
2023-07-22;v0.50.10;26328;744428;1305883;2012380;2012380
2023-07-24;v0.50.11;26328;744410;1305569;2012416;2012416
2023-07-31;v0.50.12;26325;744168;1303442;2020732;2020732
2023-08-04;v0.50.13;26323;743297;1301333;2032330;2032330
2023-08-05;v0.50.14;26323;743230;1300940;2034349;2034349
2023-08-09;v0.50.15;26323;742738;1299889;2037344;2037344
2023-08-11;v0.50.16;26281;741973;1298158;2004229;2004229
2023-08-16;v0.50.17;25542;739704;1294298;2007221;2007221
2023-08-16;v0.50.18;25542;739704;1294297;2007714;2007714
2023-08-19;v0.50.19;25537;736945;1291209;2027231;2027231
2023-08-20;v0.50.20;25535;736467;1289899;2025923;2025923
2023-08-21;v0.50.21;25533;736465;1289877;2026142;2026142
2023-08-31;v0.50.22;25473;719571;1265445;2026635;2026635
2023-09-02;v0.50.24;25396;718055;1261522;2025257;2025257
2023-09-02;v0.50.25;25396;718052;1261517;2025526;2025526
2023-09-02;v0.50.26;25396;717628;1261016;2025263;2025263
2023-09-06;v0.50.27;25396;717627;1260432;2025661;2025661
2023-09-08;v0.50.28;25185;714742;1254642;2022305;2022305
2023-09-12;v0.50.29;25101;714286;1252919;2022591;2022591
2023-09-18;v0.50.30;25077;711884;1247353;2028587;2028587
2023-10-17;v0.50.31;24619;702609;1223900;1962566;1962566
2023-10-24;v0.50.32;24582;700011;1219096;1966738;1966738
2023-10-25;v0.50.33;24523;698623;1215408;1968759;1968759
2023-11-09;v0.50.34;24031;690700;1190764;1970740;1970740
2023-12-02;v0.50.35;23757;685659;1178772;1975519;1975519
2023-12-12;v0.50.36;23742;685504;1177358;1987210;1987210
2023-12-13;v0.50.37;23742;685495;1176883;1988184;1988184
2023-12-15;v0.50.38;23738;685410;1176659;1989914;1989914
2023-12-21;v0.50.39;23688;684436;1174339;1996567;1996567
2023-12-28;v0.50.40;23688;684256;1174070;1997512;1997512
2024-01-05;v0.50.41;23687;684151;1169394;1984446;2002510
2024-01-10;v0.50.42;23682;683722;1168625;1980544;2006028
2024-01-11;v0.50.43;23682;683722;1168625;1980482;2006004
2024-01-18;v0.50.44;22533;681955;1166016;1974638;2020726
2024-01-27;v0.50.45;22314;681569;1150718;1956568;2018567
2024-02-02;v0.50.46;22262;680760;1147611;1951360;2033578
2024-02-03;v0.50.47;22262;680746;1147576;1951321;2035838
2024-02-09;v0.50.48;22221;680541;1147155;1949551;2051222
2024-02-13;v0.50.49;22051;675065;1140384;1936322;2083726
2024-02-14;v0.50.50;22015;673622;1138515;1933210;2098833
2024-02-23;v0.50.51;21849;671479;1098452;1888702;2076028
2024-02-23;v0.50.52;21848;671437;1098347;1887216;2077230
2024-02-24;v0.50.53;21848;671436;1098345;1887209;2077454
2024-02-27;v0.50.54;21728;670814;1093273;1881259;2088080
2024-03-06;v0.51.0;21021;651572;1057288;1832889;2052604
2024-03-09;v0.52.0;21018;651297;1056194;1830067;2071211
2024-03-14;v0.52.1;21004;649265;1052988;1826480;2069454
2024-03-14;v0.53.0;21004;649265;1052986;1826371;2072299
2024-03-16;v0.53.1;20810;647816;1050897;1819784;2072740
2024-03-22;v0.54.0;20810;647236;1050215;1817955;2077453
2024-03-22;v0.55.0;20801;647215;1050085;1817808;2077591
2024-03-23;v0.55.1;20801;646574;1046786;1814061;2078564
2024-03-26;v0.55.2;20662;645275;1045100;1811456;2093070
2024-03-30;v0.56.0;14808;623567;1001353;1742126;2096356
2024-04-02;v0.57.0;14799;621166;998026;1735605;2094811
2024-04-03;v0.57.1;14799;621166;998018;1735550;2094807
2024-04-05;v0.57.2;14799;620896;997701;1735001;2098094
2024-04-17;v0.57.3;13402;615065;988018;1721758;2143077
2024-04-24;v0.57.4;13402;613874;986198;1719165;2151601
2024-04-26;v0.58.0;12462;610545;982670;1714612;2154723
2024-05-02;v0.58.1;12174;607476;962442;1687319;2226592
2024-05-07;v0.59.0;12169;607367;959217;1683437;2236137
2024-05-11;v0.59.1;11972;600279;947187;1664896;2270735
2024-05-18;v0.60.0;11970;598029;940160;1653622;2293695
2024-05-22;v0.60.1;11970;596706;936015;1640887;2306079
2024-05-24;v0.61.0;11902;595209;928398;1630735;2312865
2024-06-05;v0.62.0;11754;589894;907477;1596940;2460642
2024-06-06;v0.62.1;11754;588375;905810;1594407;2462776
2024-06-07;v0.62.2;11754;588372;904694;1593007;2469129
2024-06-07;v0.62.3;11754;588371;904685;1592992;2469502
2024-06-11;v0.62.4;11753;586332;902542;1590811;2472753
2024-06-12;v0.63.0;11753;584165;898462;1582206;2482978
2024-06-18;v0.63.1;11712;582872;892560;1573975;2500262
2024-06-21;v0.63.2;11635;579705;887259;1564924;2510225
2024-06-27;v0.63.3;11439;576409;881163;1554333;2525734
2024-07-02;v0.63.4;11415;575166;874328;1546184;2528434
2024-07-09;v0.63.5;11386;572499;868011;1537875;2550656
2024-07-11;v0.63.6;11365;571609;866598;1531192;2559012
2024-07-12;v0.63.7;11365;571594;866565;1529083;2559087
2024-07-13;v0.63.8;11364;571593;866563;1529036;2560065
2024-07-22;v0.63.9;11361;571296;852198;1513504;2563676
2024-07-25;v0.63.10;11361;571286;852170;1512942;2564606
2024-07-26;v0.63.11;11361;571285;852167;1512798;2564643
2024-07-31;v0.63.12;11361;571281;851771;1511442;2569008
2024-08-01;v0.63.13;11361;571277;851756;1511379;2571621
2024-08-03;v0.63.14;11244;570340;849757;1508072;2588950
2024-08-10;v0.63.15;11244;570314;848893;1506328;2599323
2024-08-16;v0.63.16;11235;569503;846342;1502125;2631671
2024-08-16;v0.63.17;11235;569472;846309;1502065;2631660
2024-08-17;v0.63.18;11201;569099;840689;1494617;2634897
2024-08-21;v0.63.19;11201;569065;840145;1493717;2650930
2024-08-28;v0.63.20;11201;568965;834102;1479209;2797026
2024-08-28;v0.64.0;11201;568965;834102;1479209;2797057
2024-08-31;v0.64.1;11201;568717;833836;1478133;2800505
2024-09-05;v0.64.2;11201;568469;833372;1476417;2806931
2024-09-07;v0.64.3;11201;568468;833049;1475967;2808726
2024-09-14;v0.64.4;11201;517580;782066;1424664;2886717
2024-09-18;v0.64.5;11201;517580;781916;1424334;3011993
2024-09-18;v0.64.6;11201;517580;781904;1424297;3013175
2024-09-18;v0.64.7;11201;517580;781904;1424233;3014396
2024-09-24;v1.0.0;11198;516725;780909;1422599;3057850
2024-10-04;v1.1.0;11176;515320;779313;1420261;3119495
2024-11-08;v1.2.0;9487;412789;648480;1273395;3294600
# Author: Daniel Stenberg
# License: MIT
# Tweaked by: Kees Cook <[email protected]>
# Tweaked further for Airbyte by: Gergely Imreh <[email protected]>
#
# Inspired by the stat posting:
# https://fosstodon.org/@[email protected]/113399049650160188
# https://github.com/curl/stats/blob/master/codeage.pl
# https://github.com/curl/stats/blob/master/codeage.plot
#
# gnuplot codeage.plot > codeage.svg
# inkscape -w 1920 -h 1080 codeage.svg -b white -o codeage.png
# SVG output
set terminal svg size 1920,1080 dynamic font ",24"
# title
#set title "Source code age\n{/*0.5Lines of code written per two-year segment}" font ",48"
set title "airbytehq/airbyte source code age\n{/*0.5Lines of code written per year}" font ",48"
# where's the legend
set key left top font ",22"
# Identify the axes
#set xlabel "Time"
#set y2label "Lines of code (including blanks and comments)"
set y2label "Lines of code (including blanks, comments, and docs)"
set format y2 "%.1s%c"
set grid y2tics
unset border
# time formated using this format
set timefmt "%Y-%m-%d"
set xdata time
set y2range [0:]
# TODO: make this range dynamic
set xrange ["2020-09-24":]
set xtics rotate 3600*24*365.25 nomirror out
unset mxtics
#set ytics out
set y2tics mirror out
unset ytics
#set pixmap 1 "stats/curl-symbol-light.png"
#set pixmap 1 at screen 0.35, 0.30 width screen 0.30
# set the format of the dates on the x axis
set format x "%Y"
set datafile separator ";"
#set grid x2tics
#set x2tics 10000000 format "" scale 0
# Selected
array dates[4] = ["2022-04-20", "2023-02-24", "2023-07-10", "2024-09-24"]
array labels[4] = ["v0.36.1-alpha", "v0.41.0", "v0.50.7", "v1.0.0"]
do for [i=1:4] {
set arrow i at dates[i], graph 0 to dates[i], graph 1 nohead lc "red" dt 4
set label i at dates[i], graph 1 labels[i] offset 0.5,-0.7
}
# TODO: make the years dynamic
plot \
'codeage.csv' using 1:7 axes x1y2 with filledcurves above title "≥ 2024", \
'codeage.csv' using 1:6 axes x1y2 with filledcurves above title "≥ 2023", \
'codeage.csv' using 1:5 axes x1y2 with filledcurves above title "≥ 2022", \
'codeage.csv' using 1:4 axes x1y2 with filledcurves above title "≥ 2021", \
'codeage.csv' using 1:3 axes x1y2 with filledcurves above title "< 2021"
# /// script
# requires-python = "~=3.9"
# dependencies = [
# "tqdm",
# "packaging",
# ]
# ///
#!/usr/bin/env python3
# Modified for Airbyte: Gergely Imreh <[email protected]>
# Reworked from:
# https://github.com/kees/kernel-tools/blob/trunk/stats/year-annotate.py
# Author: Kees Cook <[email protected]>
# License: MIT
# Reworked from the original Perl implementation:
# https://github.com/curl/stats/blob/master/codeage.pl
#
# Extract per-line commit dates for each git tag for graphing code ages.
# Inspired by:
# https://fosstodon.org/@[email protected]/113399049650160188
# https://github.com/curl/stats/blob/master/codeage.pl
# https://github.com/curl/stats/blob/master/codeage.plot
#
# cd ~/src/airbyte && UV_NO_CONFIG=1 uv run --script --python=3.9 year-annotate.py -d | tee codeage.csv
import sys, os
import pickle
import optparse
import datetime
from subprocess import *
from itertools import repeat
from multiprocessing import Pool, cpu_count
import tqdm
from packaging.version import Version
from pathlib import Path
# Globals (FIXME: turn this into a proper object)
parser = optparse.OptionParser()
parser.add_option("-d", "--debug", help="Report additional debugging while processing USNs", action='store_true')
parser.add_option("-C", "--csv", help="Report as CSV file", action='store_true')
(opt, args) = parser.parse_args()
devnull = open("/dev/null", "w")
cache_dir = os.path.expanduser("~/.cache/codeage")
Path(cache_dir).mkdir(parents=True, exist_ok=True)
def save_cache(cache, tag):
cachefile = "%s/%s.pickle" % (cache_dir, tag)
if opt.debug:
print("Saving cache %s ..." % (cachefile), file=sys.stderr)
pickle.dump(cache, open(cachefile, 'wb'), -1)
def load_cache(tag):
cachefile = "%s/%s.pickle" % (cache_dir, tag)
if os.path.exists(cachefile):
if opt.debug:
print("Loading cache %s ..." % (cachefile), file=sys.stderr)
cache = pickle.load(open(cachefile, 'rb'))
#try:
# # Fix past typo
# cache['ages'] = cache['age']
# save_cache(cache, tag)
#except:
# pass
else:
cache = dict()
cache.setdefault('annotated', dict())
cache.setdefault('ages', dict())
return cache
def run(cmd):
#if opt.debug:
# print(cmd, file=sys.stderr)
return Popen(cmd, stdout=PIPE, stderr=devnull).communicate()[0].decode("utf-8", "ignore")
def sha_to_date(sha):
output = run(["git", "show", "--pretty=%at", "-s", "%s^{commit}" % (sha)])
epoch = output.strip()
date = datetime.datetime.fromtimestamp(float(epoch))
return date
def annotate(tag, file):
epochs = dict()
ann = run(['git', 'annotate', '-t', '--line-porcelain', file, tag]).splitlines()
for line in ann:
if line.startswith('committer-time '):
epoch = int(line.split(' ', 1)[1])
epochs.setdefault(epoch, 0)
epochs[epoch] += 1
#dates.append(datetime.datetime.fromtimestamp(float(epoch)).year)
#if opt.debug:
# print(epochs)
return {file: epochs}
def frombefore(before, epochs):
count = 0
for file in epochs:
for epoch in epochs[file]:
if epoch < before:
count += epochs[file][epoch]
return count
def process(tag, years):
cache = load_cache(tag)
date = sha_to_date(tag)
epochs = cache['annotated']
if len(epochs) == 0:
if opt.debug:
print(date.strftime('Processing files at %%s (%Y-%m-%d) ...') % (tag), file=sys.stderr)
# Do we want to exclude Documentation, samples, or tools subdirectories?
# Or MAINTAINERS, dot files, etc?
files = run(['git', 'ls-tree', '-r', '--name-only', tag]).splitlines()
count = len(files)
with Pool(cpu_count()) as p:
results = p.starmap(annotate,
tqdm.tqdm(zip(repeat(tag), files), total=count))
#zip(repeat(tag), files))
# starmap produces a list of outputs from the function.
for result in results:
epochs |= result
cache['annotated'] = epochs
# Save this tag's epochs!
save_cache(cache, tag)
report = cache['ages']
if len(report) == 0:
day = date.strftime('%Y-%m-%d')
# TODO: add the tag into the output
report = day
if opt.debug:
print('Scanning ages ... ', file=sys.stderr)
for year in years:
report += ';%u' % (frombefore(year, epochs))
# Save age span report
cache['ages'] = report
save_cache(cache, tag)
# Fix up past runs if need to
if (pieces := report.split(';'))[1] != tag:
pieces_with_tag = [pieces[0], tag] + pieces[1:]
report = ";".join(pieces_with_tag)
print(report)
if __name__ == '__main__':
# Get the list of tags we're going to operate against
output = run(["git", "tag"])
tags = [x
for x in output.strip().splitlines()
if x.startswith('v') and
'-helm' not in x and
'_' not in x
and ((len(x.split('.')) == 3 and x.split('.')[-1].isdigit()) or len(x.split('.')) == 2 or x.endswith('-alpha'))
]
tags.sort(key=Version)
if opt.debug:
print(tags, file=sys.stderr)
# sys.exit(0)
# Find the year bounds of our tags
year_first = sha_to_date(tags[0]).year + 1
year_last = sha_to_date(tags[-1]).year + 1
if opt.debug:
print("%d .. %d" % (year_first, year_last), file=sys.stderr)
years = [int(datetime.datetime.strptime('%d' % (year), '%Y').strftime("%s")) for year in range(year_first, year_last + 1, 1)]
if opt.debug:
print(years, file=sys.stderr)
# Walk tags
for tag in tags:
process(tag, years)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment