CoolFace
Datasetpublic

bigcode/commitpack

CommitPack is is a 4TB dataset of commits scraped from GitHub repositories that are permissively licensed.

sourceHugging Facemitupdated 2y agoView on Hugging Face
79likes17kdownloads
Dataset Card

Octopack

Dataset Card for CommitPack

Table of Contents

Dataset Description

Dataset Summary

CommitPack is is a 4TB dataset of commits scraped from GitHub repositories that are permissively licensed.
  • Creation: The dataset can be recreated using instructions available here.
  • Languages: 350
  • OctoPack🐙🎒:

<table> <tr> <th>Data</t> <td><a href=https://huggingface.co/datasets/bigcode/commitpack>CommitPack</a></td> <td>4TB of GitHub commits across 350 programming languages</td> </tr> <tr> <th></t> <td><a href=https://huggingface.co/datasets/bigcode/commitpackft>CommitPackFT</a></td> <td>Filtered version of CommitPack for high-quality commit messages that resemble instructions</td> </tr> <tr> <th>Model</t> <td><a href=https://huggingface.co/bigcode/octocoder>OctoCoder</a></td> <td>StarCoder (16B parameters) instruction tuned on CommitPackFT + OASST</td> </tr> <tr> <th></t> <td><a href=https://huggingface.co/bigcode/octogeex>OctoGeeX</a></td> <td>CodeGeeX2 (6B parameters) instruction tuned on CommitPackFT + OASST</td> </tr> <tr> <th>Evaluation</t> <td><a href=https://huggingface.co/datasets/bigcode/humanevalpack>HumanEvalPack</a></td> <td>Extension of OpenAI's HumanEval to cover 3 scenarios across 6 languages</td> </tr> </table>

Dataset Structure

Data Instances

An example looks as follows:

json
{
  'commit': '0c17311f7fd511f5dae8f8e4acc2dce1a2de3cf5',
  'old_file': 'main.py',
  'new_file': 'main.py',
  'old_contents': "import numpy as np\nimport matplotlib.pyplot as plt\n\n# generate sample data\nx_data = np.linspace(-5, 5, 20)\ny_data = np.random.normal(0.0, 1.0, x_data.size)\n\nplt.plot(x_data, y_data, 'o')\nplt.show()\n",
  'new_contents': "import math\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# generate sample data\nx_data = np.linspace(-math.pi, math.pi, 30)\ny_data = np.sin(x_data) + np.random.normal(0.0, 0.1, x_data.size)\n\nplt.plot(x_data, y_data, 'o')\nplt.show()\n\n",
  'subject': 'Change to sin() function with noise',
  'message': 'Change to sin() function with noise\n',
  'lang': 'Python',
  'license': 'mit',
  'repos': 'MorganR/basic-gaussian-process',
  'returncode': 0,
  'stderr': ''
}

Data Fields

The data fields are the same among all splits:

  • commit: unique commit id
  • old_file: name of the file before the commit
  • new_file: name of the file after the commit
  • old_contents: contents of the file before the commit
  • new_contents: contents of the file after the commit
  • subject: subject of the commit (this is used for all experiments in the paper)
  • message: message of the commit (commonly the same as the subject)
  • lang: programming language
  • license: license of the repository the code stems from, one of ['mit', 'artistic-2.0', 'isc', 'cc0-1.0', 'epl-1.0', 'mpl-2.0', 'unlicense', 'unknown', 'apache-2.0', 'bsd-3-clause', 'agpl-3.0', 'lgpl-2.1', 'bsd-2-clause']
  • repos: name of the the repository the code stems from (if multiple, they are comma separated)
  • returncode: if applicable errorcode during scraping (0 = no error)
  • 'stderr': if applicable the error that occured during scraping (empty = no error)

Data Splits

NameMegabytes% of totalSamples% of total
total3709175.78100.0%57700105100.0%
json583293.81615.7257%34950386.0572%
xml279208.6767.5275%19231593.333%
text270662.5967.2971%13895252.4082%
javascript262824.8447.0858%54019379.3621%
objective-c++239009.36.4437%322270.0559%
python234311.5646.3171%618960110.7272%
c200876.8045.4157%27794784.8171%
c++186585.2565.0304%24022944.1634%
markdown171849.9524.6331%764535413.2502%
java127103.4483.4267%37443776.4894%
html105305.2842.839%23668414.102%
yaml100466.642.7086%25927874.4936%
go86444.6242.3306%11836122.0513%
csv82946.1922.2362%792680.1374%
php74961.642.021%25554194.4288%
jupyter-notebook66854.081.8024%940000.1629%
gettext-catalog62296.881.6795%1683270.2917%
sql56802.7641.5314%1327720.2301%
unity3d-asset39535.0081.0659%178670.031%
typescript39254.8041.0583%5721360.9916%
web-ontology-language36435.4640.9823%74580.0129%
ruby35830.740.966%29287025.0757%
c#33669.6520.9077%9231571.5999%
nix33547.920.9045%2212810.3835%
shell25109.9520.677%10179771.7643%
perl21148.9280.5702%3742660.6486%
tex17471.1080.471%892830.1547%
css16306.6320.4396%5488180.9512%
restructuredtext15613.8880.421%4940370.8562%
rust15011.2960.4047%2962140.5134%
groff12020.1880.3241%329230.0571%
ini8375.1640.2258%2971000.5149%
scala8325.960.2245%3160640.5478%
coffeescript6795.140.1832%2924460.5068%
haskell6306.120.17%2173250.3766%
swift5902.7160.1591%3192890.5534%
lua5763.120.1554%1390910.2411%
svg5645.440.1522%270950.047%
gas5585.3840.1506%151210.0262%
ocaml5355.40.1444%813600.141%
erlang5043.320.136%936850.1624%
makefile4238.5120.1143%3433790.5951%
asciidoc4138.5880.1116%966710.1675%
emacs-lisp3988.6520.1075%832280.1442%
scss3944.9360.1064%2881900.4995%
clojure3523.4080.095%1586740.275%
org3126.220.0843%301980.0523%
common-lisp2954.9040.0797%746280.1293%
diff2586.0480.0697%210210.0364%
groovy2569.140.0693%1100570.1907%
html+erb2450.6760.0661%2253790.3906%
nesc2439.5640.0658%4730.0008%
dart2395.7960.0646%568730.0986%
powershell2289.2760.0617%553810.096%
f#2289.2360.0617%668400.1158%
dm2223.1440.0599%555840.0963%
kotlin2219.2480.0598%1242660.2154%
pascal2194.6760.0592%425110.0737%
jsx2124.7440.0573%1391480.2412%
viml1948.2080.0525%740620.1284%
actionscript1844.1480.0497%288190.0499%
cython1736.5880.0468%259270.0449%
turtle1698.9480.0458%38820.0067%
less1616.5640.0436%886340.1536%
mathematica1475.0440.0398%9250.0016%
xslt1441.4560.0389%279560.0485%
scheme1249.2440.0337%305460.0529%
perl61223.160.033%121670.0211%
edn1186.940.032%22890.004%
fortran1178.5480.0318%134630.0233%
java-server-pages1173.0720.0316%535740.0928%
standard-ml1133.4760.0306%200970.0348%
cmake1132.0680.0305%584460.1013%
json51108.20.0299%18270.0032%
vala1104.5120.0298%148220.0257%
vue1093.80.0295%689670.1195%
freemarker1032.3320.0278%362160.0628%
graphql1004.8440.0271%20090.0035%
twig958.960.0259%395880.0686%
tcl869.8320.0235%164070.0284%
pod859.0160.0232%149220.0259%
dockerfile849.7280.0229%2593790.4495%
yacc845.7040.0228%82300.0143%
postscript800.7280.0216%9030.0016%
racket796.640.0215%166150.0288%
eagle785.6840.0212%22370.0039%
haxe772.8960.0208%284470.0493%
julia752.0680.0203%226950.0393%
handlebars740.8160.02%498420.0864%
smarty720.9440.0194%410650.0712%
visual-basic681.5160.0184%105110.0182%
literate-haskell673.740.0182%107290.0186%
smalltalk665.8920.018%117410.0203%
isabelle655.820.0177%83590.0145%
nimrod652.860.0176%120230.0208%
zig621.3840.0168%42900.0074%
m4603.5840.0163%124650.0216%
max603.560.0163%22590.0039%
elixir558.1160.015%354730.0615%
mako543.0120.0146%89430.0155%
arduino534.1760.0144%323500.0561%
jade531.40.0143%469930.0814%
haml502.0120.0135%747920.1296%
elm481.9680.013%185420.0321%
purebasic474.2760.0128%360.0001%
coldfusion470.780.0127%92630.0161%
lean470.0320.0127%75070.013%
r454.320.0122%128580.0223%
cuda437.6680.0118%114500.0198%
textile425.1160.0115%184910.032%
robotframework421.6120.0114%92110.016%
abap409.620.011%19550.0034%
rdoc397.0280.0107%387600.0672%
llvm382.20.0103%107270.0186%
ada380.70.0103%132580.023%
batchfile372.160.01%436740.0757%
qml361.4520.0097%193600.0336%
jasmin359.820.0097%47820.0083%
assembly343.620.0093%81260.0141%
g-code334.9640.009%36900.0064%
cucumber331.380.0089%266770.0462%
html+php323.3480.0087%183810.0319%
kicad321.9360.0087%7590.0013%
api-blueprint317.8520.0086%47650.0083%
eiffel311.480.0084%3730.0006%
toml292.6760.0079%635170.1101%
modelica284.6160.0077%26110.0045%
bitbake277.5760.0075%432390.0749%
lex275.960.0074%7050.0012%
stylus273.0560.0074%219670.0381%
protocol-buffer254.1240.0069%92020.0159%
unknown252.2280.0068%305700.053%
nit244.540.0066%49510.0086%
factor241.1920.0065%153780.0267%
xs239.040.0064%32150.0056%
sass230.6480.0062%231440.0401%
parrot-internal-representation230.1960.0062%62310.0108%
html+django217.040.0059%105350.0183%
mediawiki214.3240.0058%101880.0177%
logos212.2960.0057%17330.003%
genshi209.30.0056%9560.0017%
coldfusion-cfc208.1640.0056%44100.0076%
xtend179.5440.0048%77750.0135%
sqf168.6560.0045%77780.0135%
vhdl155.9480.0042%21850.0038%
antlr143.5480.0039%36510.0063%
systemverilog140.1920.0038%39440.0068%
hcl136.7520.0037%133790.0232%
asp136.1040.0037%42860.0074%
nsis129.1240.0035%40480.007%
inform-7120.1880.0032%1840.0003%
slim119.0360.0032%187260.0325%
groovy-server-pages117.3680.0032%66950.0116%
ceylon116.1440.0031%72560.0126%
fish111.280.003%153510.0266%
processing108.580.0029%59120.0102%
component-pascal105.50.0028%430.0001%
lasso104.1680.0028%670.0001%
glsl99.4880.0027%94780.0164%
saltstack98.1960.0026%123140.0213%
xbase94.4240.0025%16700.0029%
autohotkey94.220.0025%14520.0025%
liquid93.7920.0025%26510.0046%
purescript92.4120.0025%50240.0087%
agda92.060.0025%49560.0086%
inno-setup91.360.0025%30140.0052%
oz90.4760.0024%15510.0027%
chapel89.620.0024%264470.0458%
arc87.2120.0024%7580.0013%
opencl86.4320.0023%24890.0043%
graphviz-dot85.8040.0023%15250.0026%
pawn85.4240.0023%5800.001%
jsoniq75.1520.002%13430.0023%
bluespec72.380.002%25000.0043%
smali71.380.0019%1740.0003%
krl69.8680.0019%18790.0033%
maple68.2840.0018%13110.0023%
unrealscript67.6680.0018%5850.001%
ooc63.1880.0017%34160.0059%
pure-data62.6240.0017%6030.001%
xquery61.9560.0017%22370.0039%
digital-command-language59.6440.0016%8330.0014%
moonscript59.2080.0016%19510.0034%
awk57.1760.0015%22060.0038%
pike52.8720.0014%12620.0022%
livescript51.2280.0014%51940.009%
solidity50.8560.0014%36890.0064%
monkey48.2560.0013%13670.0024%
jsonld48.0120.0013%4620.0008%
zephir42.6840.0012%12650.0022%
crystal41.9240.0011%42170.0073%
rhtml41.020.0011%45510.0079%
stata40.6840.0011%13440.0023%
idris39.8960.0011%30250.0052%
raml39.3880.0011%9480.0016%
openscad37.7320.001%21780.0038%
red35.260.001%11080.0019%
c2hs-haskell34.4720.0009%10210.0018%
cycript33.960.0009%1970.0003%
applescript33.5120.0009%13040.0023%
mupad32.4880.0009%1780.0003%
literate-agda31.3840.0008%5670.001%
boo31.1720.0008%262890.0456%
sourcepawn29.5280.0008%7170.0012%
qmake29.5080.0008%36320.0063%
ragel-in-ruby-host28.2960.0008%8880.0015%
io27.9520.0008%12470.0022%
desktop27.6480.0007%50210.0087%
propeller-spin26.7720.0007%6250.0011%
thrift26.7480.0007%10070.0017%
volt25.0520.0007%16600.0029%
xproc24.2120.0007%9140.0016%
igor-pro23.7480.0006%3880.0007%
lolcode23.740.0006%248610.0431%
html+eex21.4120.0006%21000.0036%
logtalk20.4280.0006%10350.0018%
mirah20.1040.0005%7060.0012%
gnuplot19.6760.0005%8890.0015%
literate-coffeescript19.0160.0005%10410.0018%
jflex18.6080.0005%5550.001%
emberscript18.3920.0005%10240.0018%
cobol17.00.0005%249530.0432%
yang16.940.0005%5970.001%
rebol16.4680.0004%2390.0004%
linker-script16.0840.0004%16040.0028%
cartocss15.9160.0004%5550.001%
urweb13.0680.0004%3040.0005%
rmarkdown13.0320.0004%7500.0013%
darcs-patch13.0080.0004%800.0001%
csound12.8520.0003%2290.0004%
squirrel12.8440.0003%5310.0009%
apl12.560.0003%5860.001%
hlsl12.1680.0003%15290.0026%
latte11.8880.0003%13800.0024%
pony11.8360.0003%6240.0011%
ioke10.860.0003%3730.0006%
hy10.5120.0003%8790.0015%
uno10.3560.0003%6280.0011%
pan10.3360.0003%6370.0011%
xojo10.3080.0003%6420.0011%
papyrus10.2560.0003%1300.0002%
stan10.2520.0003%5400.0009%
slash9.9040.0003%6400.0011%
supercollider9.7960.0003%3180.0006%
vcl9.4560.0003%7470.0013%
smt9.0320.0002%1170.0002%
glyph8.9480.0002%70.0%
wisp8.7360.0002%2620.0005%
renpy8.30.0002%4210.0007%
clips7.7280.0002%4500.0008%
dns-zone7.560.0002%540.0001%
sas7.5360.0002%2690.0005%
rouge7.1960.0002%3960.0007%
ec7.0320.0002%940.0002%
dylan6.820.0002%2800.0005%
tcsh6.5240.0002%7480.0013%
aspectj6.3320.0002%4510.0008%
netlogo6.3040.0002%1400.0002%
gap6.0960.0002%460.0001%
fancy5.9520.0002%6750.0012%
coq5.7440.0002%800.0001%
click5.740.0002%90.0%
capn-proto5.6440.0002%3300.0006%
flux5.5720.0002%470.0001%
forth5.5120.0001%2650.0005%
ats5.4240.0001%3830.0007%
netlinx5.1720.0001%1440.0002%
clean5.0680.0001%1710.0003%
parrot-assembly4.6640.0001%2270.0004%
alloy4.6440.0001%2030.0004%
lfe4.5760.0001%2870.0005%
gdscript4.4880.0001%4600.0008%
augeas4.4440.0001%3950.0007%
sparql4.4040.0001%10360.0018%
lilypond4.3080.0001%2650.0005%
scilab4.0880.0001%3750.0006%
autoit4.060.0001%2790.0005%
myghty3.8640.0001%1050.0002%
blitzmax3.740.0001%2200.0004%
creole3.4160.0001%3370.0006%
harbour3.3360.0001%1070.0002%
piglatin3.1680.0001%5130.0009%
opa3.1640.0001%2110.0004%
sage3.0320.0001%4140.0007%
ston2.8480.0001%4140.0007%
maxscript2.80.0001%470.0001%
lsl2.680.0001%740.0001%
gentoo-ebuild2.5760.0001%6010.001%
nu2.380.0001%1700.0003%
bro2.340.0001%3330.0006%
xc2.020.0001%880.0002%
j1.8080.0%1420.0002%
metal1.7240.0%1510.0003%
module-management-system1.5440.0%910.0002%
webidl1.5080.0%960.0002%
tea1.4680.0%290.0001%
redcode1.2720.0%1490.0003%
shen1.20.0%710.0001%
pov-ray-sdl1.1360.0%1040.0002%
x101.0080.0%330.0001%
brainfuck0.9640.0%1670.0003%
ninja0.9520.0%1870.0003%
golo0.8960.0%1150.0002%
webassembly0.860.0%830.0001%
self0.8240.0%150.0%
labview0.8080.0%610.0001%
octave0.8040.0%120.0%
pogoscript0.8040.0%740.0001%
d0.7960.0%200.0%
http0.7360.0%1400.0002%
ecl0.6640.0%480.0001%
chuck0.5840.0%990.0002%
gosu0.5240.0%600.0001%
parrot0.520.0%170.0%
opal0.4720.0%690.0001%
objective-j0.4560.0%370.0001%
kit0.4120.0%480.0001%
gams0.3760.0%180.0%
prolog0.2760.0%350.0001%
clarion0.2680.0%130.0%
mask0.2520.0%370.0001%
brightscript0.2440.0%280.0%
scaml0.1840.0%310.0001%
matlab0.1640.0%290.0001%
idl0.1480.0%10.0%
ags-script0.1240.0%310.0001%
lookml0.120.0%100.0%
apacheconf0.1080.0%590.0001%
oxygene0.1040.0%90.0%
txl0.0960.0%30.0%
grammatical-framework0.0880.0%390.0001%
renderscript0.0640.0%540.0001%
mtml0.0520.0%130.0%
unified-parallel-c0.0520.0%60.0%
dogescript0.040.0%100.0%
gentoo-eclass0.040.0%60.0%
zimpl0.040.0%70.0%
irc-log0.0360.0%90.0%
fantom0.0280.0%110.0%
numpy0.0280.0%10.0%
cirru0.0240.0%40.0%
xpages0.0240.0%70.0%
nginx0.020.0%60.0%
objdump0.020.0%10.0%
python-traceback0.020.0%100.0%
realbasic0.0120.0%10.0%
befunge0.0080.0%20.0%
bison0.0080.0%10.0%
m0.0080.0%10.0%
omgrofl0.0080.0%10.0%

Additional Information

Licensing Information

Each sample comes from a code repository with a permissive license. The license is provided by the license field for each sample.

Citation Information

bibtex
@article{muennighoff2023octopack,
      title={OctoPack: Instruction Tuning Code Large Language Models}, 
      author={Niklas Muennighoff and Qian Liu and Armel Zebaze and Qinkai Zheng and Binyuan Hui and Terry Yue Zhuo and Swayam Singh and Xiangru Tang and Leandro von Werra and Shayne Longpre},
      journal={arXiv preprint arXiv:2308.07124},
      year={2023}
}