CoolFace
Datasetpublic

nyuuzyou/ms-codeplex-archive

Microsoft CodePlex Archive Dataset Dataset Description Source code from the Microsoft CodePlex Archive on the Internet Archive. CodePlex was Microsoft's open-source project hosting service from 2006 to 2017, popular for .NET and Windows projects. Dataset Summary Statistic Value Total Files 5,043,730 Total Repositories 38,087 Total Size 3.6 GB (compressed Parquet) Programming Languages 91 File Format Parquet with Zstd compression… See the full description on the dataset page: https://huggingface.co/datasets/nyuuzyou/ms-codeplex-archive.

sourceHugging Faceotherupdated 8mo agoView on Hugging Face
4likes65downloads
Dataset Card

Microsoft CodePlex Archive Dataset

Dataset Description

Source code from the Microsoft CodePlex Archive on the Internet Archive. CodePlex was Microsoft's open-source project hosting service from 2006 to 2017, popular for .NET and Windows projects.

Dataset Summary

StatisticValue
Total Files5,043,730
Total Repositories38,087
Total Size3.6 GB (compressed Parquet)
Programming Languages91
File FormatParquet with Zstd compression (10 files)

Features

  • 38K repositories from the 2006-2017 period
  • 91 programming languages, dominated by C# and .NET
  • Metadata: repository name, file path, language, license, file size
  • Filtered to remove vendor code, build artifacts, and generated files

Languages

Top 30 of 91 languages by file count:

RankLanguageFile Count
1C#2,671,389
2JavaScript511,289
3XML210,627
4HTML203,106
5C200,427
6CSS192,974
7HTML+Razor150,753
8C++149,283
9ASP.NET130,469
10XAML114,609
11Visual Basic .NET102,835
12PHP82,775
13SQL77,737
14Java70,745
15INI22,056
16JSON14,507
17Less12,785
18Batchfile12,327
19Python10,957
20PowerShell8,446
21F#7,879
22Markdown7,707
23SCSS7,594
24Ruby7,120
25Objective-C6,573
26Swift5,666
27ActionScript4,712
28Java Server Pages4,347
29TypeScript4,044
30reStructuredText3,597

Licenses

LicenseFile Count
Microsoft Public License (Ms-PL)1,361,702
GNU General Public License version 2 (GPLv2)757,005
Apache License 2.0 (Apache)749,347
The MIT License (MIT)577,346
Microsoft Reciprocal License (Ms-RL)298,578
New BSD License (BSD)240,622
GNU Library General Public License (LGPL)204,837
GNU General Public License version 3 (GPLv3)200,838
Common Development and Distribution License (CDDL)165,029
GNU Lesser General Public License (LGPL)132,699
Custom License115,605
Mozilla Public License 2.0 (MPL-2.0)62,260
Simplified BSD License (BSD)58,250
Eclipse Public License (EPL)46,882
Microsoft Permissive License (Ms-PL) v1.143,314
Mozilla Public License 1.1 (MPL)26,129
Microsoft Community License (Ms-CL) v1.13,287

Dataset Structure

Data Fields

FieldTypeDescription
codestringFile content (UTF-8)
repo_namestringCodePlex project name
pathstringFile path within repository
languagestringProgramming language
licensestringRepository license
sizeint64File size in bytes

Data Format

  • Format: Apache Parquet with Zstd compression
  • File Structure: 10 files (codeplex_0000.parquet to codeplex_0009.parquet)

Data Splits

Train split only.

Example Data Point

json
{
    "code": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nusing System.Text;\nusing System.Windows.Forms;\n\nnamespace KeygenApp\n{\n    public partial class KeygenForm : Form\n    {\n        public KeygenForm()\n        {\n            InitializeComponent();\n        }\n    }\n}",
    "repo_name": "2atgroup",
    "path": "TiffBrowserTestCSharp/Keygen/KeygenForm.cs",
    "language": "C#",
    "license": "Microsoft Reciprocal License (Ms-RL)",
    "size": 1259
}

Dataset Creation

Pipeline

  1. 1.Load project metadata from zips.csv (108,508 repositories)
  2. 2.Extract 122 tar archives from the Internet Archive tars/ directory
  3. 3.Extract source code from sourceCode/sourceCode.zip within each project
  4. 4.Parse license/license.json for license metadata
  5. 5.Filter non-code files
  6. 6.Write to Parquet with Zstd compression

Language Detection

By file extension.

License Detection

Parsed from license/license.json in each project archive.

File Filtering

Size Limits
LimitValue
Max single file size2 MB
Max line length1,000 characters
Excluded Directories
  • Config: .git/, .github/, .gitlab/, .vscode/, .idea/, .vs/, .settings/, .eclipse/, .project/, .metadata/
  • Vendor: node_modules/, bower_components/, jspm_packages/, vendor/, third_party/, 3rdparty/, external/, packages/, deps/, lib/vendor/, target/dependency/, Pods/
  • Build: build/, dist/, out/, bin/, target/, release/, debug/, .next/, .nuxt/, _site/, _build/, __pycache__/, .pytest_cache/, cmake-build-*, .gradle/, .maven/, obj/
  • CodePlex metadata: discussions/, issues/, releases/, wiki/, wikiRender/
  • Tests: test/, tests/, spec/, specs/, __tests__/
Excluded Files
  • Lock files: package-lock.json, yarn.lock, pnpm-lock.yaml, Gemfile.lock, Cargo.lock, poetry.lock, Pipfile.lock, composer.lock, go.sum, mix.lock, packages.lock.json
  • Minified: files containing .min.
  • Hidden: files starting with . (except .htaccess)
  • Binary: .exe, .dll, .so, .dylib, .a, .lib, .o, .obj, .jar, .war, .ear, .class, .pyc, .pyo, .wasm, .bin, .dat, .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .zip, .tar, .gz, .bz2, .7z, .rar, .jpg, .jpeg, .png, .gif, .bmp, .ico, .svg, .mp3, .mp4, .avi, .mov, .wav, .flac, .ttf, .otf, .woff, .woff2, .eot, .pdb, .nupkg, .snk
  • System: .DS_Store, thumbs.db
Content Filtering
  • UTF-8 Validation: must be valid UTF-8
  • Binary Detection: no null bytes, <30% non-printable characters in first 8KB
  • Generated Files: excluded if first 500 bytes contain generated by, do not edit, auto-generated, @generated, etc.
  • Empty Files: excluded
  • Long Lines: excluded if any line >1,000 characters in first 10 lines

Source Data

Microsoft CodePlex Archive on Internet Archive, tars/ directory (122 tar archives). 108,508 repositories accessible out of 108,516 listed.

Archive Structure

Each CodePlex project archive contains:

  • sourceCode/sourceCode.zip - source code (extracted)
  • license/license.json - license metadata (parsed)
  • discussions/, issues/, releases/, wiki/ - excluded

Considerations

Sensitive Information

May contain email addresses, accidentally committed credentials, or personal information in comments. Filter accordingly.

Licensing

Use must comply with the original repository licenses. The license field indicates each file's source license.