見出し画像

巨大なプログラミング言語データセットThe Stackを少しだけ読み込んで表示するPythonコード

データセットthe-stackは、358のプログラミング言語をカバーする、6TBを超える寛容にライセンスされたソースコード・ファイルが含まれています。

全体をダウンロードすると、時間もかかりハードディスク容量も消費が激しいので、ストリーミングで少し読み込んで、中を見て動作を確認する程度のコードを書きました。

実行結果

% python3 the_stack_load.py
Resolving data files: 100%|█████████████████████████████████████████████████████████| 6824/6824 [00:00<00:00, 7239.26it/s]
12603
10485696
{'hexsha': 'f702dd98900e80f27b0ff4729f38a8f72faf6284', 'size': 300, 'ext': 'abap', 'lang': 'ABAP', 'max_stars_repo_path': 'zis_example.prog.abap', 'max_stars_repo_name': 'sbcgua/abap_include_assembler', 'max_stars_repo_head_hexsha': '5660773df238668bf654ec322dc46fe8c0757dbb', 'max_stars_repo_licenses': ['MIT'], 'max_stars_count': 3, 'max_stars_repo_stars_event_min_datetime': '2016-03-20T09:52:55.000Z', 'max_stars_repo_stars_event_max_datetime': '2020-05-18T23:30:45.000Z', 'max_issues_repo_path': 'zis_example.prog.abap', 'max_issues_repo_name': 'sbcgua/abap_include_assembler', 'max_issues_repo_head_hexsha': '5660773df238668bf654ec322dc46fe8c0757dbb', 'max_issues_repo_licenses': ['MIT'], 'max_issues_count': 6, 'max_issues_repo_issues_event_min_datetime': '2016-03-20T10:14:01.000Z', 'max_issues_repo_issues_event_max_datetime': '2020-08-27T16:48:13.000Z', 'max_forks_repo_path': 'zis_example.prog.abap', 'max_forks_repo_name': 'sbcgua/abap_include_assembler', 'max_forks_repo_head_hexsha': '5660773df238668bf654ec322dc46fe8c0757dbb', 'max_forks_repo_licenses': ['MIT'], 'max_forks_count': 1, 'max_forks_repo_forks_event_min_datetime': '2020-08-27T14:14:59.000Z', 'max_forks_repo_forks_event_max_datetime': '2020-08-27T14:14:59.000Z', 'content': "*&---------------------------------------------------------------------*\n*& Report  ZIS_EXAMPLE\n*&---------------------------------------------------------------------*\nreport zis_example.\n\ninclude zis_example_top.\ninclude zis_example_f01.\n\nstart-of-selection.\n\ninclude = 'X'.\nperform perform_write.\n", 'avg_line_length': 23.0769230769, 'max_line_length': 72, 'alphanum_fraction': 0.4066666667}

参考

参加中のGENIAC大規模言語モデルプロジェクトの畠山チームのデータセットミーティングでthe-stackの話が出たので、一応動作チェックしてみました。

この記事が気に入ったらサポートをしてみませんか?