Skip to main content
The Source Pretty Parsers logo. A printer-esque device is scanning a page with hex codes and printing a picture of Cordon Freeman.

Source Pretty Parsers

Build Status License Discord Ko-Fi

Several modern C++20 libraries for sanely parsing Valve formats.

Other Languages

NuGet Version Python Version

Wrappers for libraries considered complete exist for C, C#, and/or Python, depending on the library. The C# wrappers can be found on NuGet in the sourcepp package. The Python wrappers can be found on PyPI in the sourcepp package.

Included Libraries

Library Supports Read Write Bindings
bsppp BSP v17-27
• Console modifications
• Left 4 Dead 2 modifications
Strata Source modifications
Python
fspp* Source 1 filesystem accessor
gamepp Get Source engine instance window title/position/size C
C#
Python
Run commands in a Source engine instance remotely
kvpp DMX
• Legacy binary v1-2 encoding (binary_vN)
• Legacy SFM v1-9 encoding (sfm_vN)
• Binary v1-5, v9 encodings (binary, binary_seqids)
srctools encodings (unicode_*)
Python
KeyValues v1 Binary
KeyValues v1 Text
mdlpp* MDL v44-49
VTX v7
VVD v4
sndpp* WAV
XWV v0-1, v4
steampp Find Steam install folder - C
C#
Python
Find installed Steam games -
Find Steam game library assets -
toolpp FGD (Source 1)
J.A.C.K. modifications
Hammer++ modifications
Strata Source modifications
Python
WC (CmdSeq) v0.1-0.2
Hammer++ modifications
Strata Source modifications
vcryptpp VICE encrypted files C
C#
Python
VFONT encrypted fonts
vpkpp 007 v1.1, v1.3 (007 - Nightfire) C
C#
Python
APK (Fairy Tale Busters)
FGP v2-3 (PS3, Orange Box)
FPX v10 (Tactical Intervention)
GCF v6
GMA v1-3 (Garry's Mod)
HOG (Descent)
OL (Worldcraft Object Library)
ORE (Narbacular Drop)
PAK (Quake, WON Half-Life)
SiN modifications
HROT modifications
PCK v1-2 (Godot Engine)
TAB v3 (Avalanche Engine)
VPK pre-v1, v1-2, v54
Counter-Strike: 2 modifications
Counter-Strike: Source ClientMod modifications
VPK (Vampire: The Masquerade - Bloodlines)
VPP v1-3 (Red Faction)
WAD v3
XZP v6 (Xbox, Half-Life 2)
ZIP
BEE_PACK alias (BEE2.4 Package)
BMZ alias (Source 1 Bonus Maps)
• FPK alias (Tactical Intervention)
PK3 alias (Quake III)
PK4 alias (Quake IV, Doom 3)
• PKZ alias (Quake II RTX)
• XZP2 modifications (X360 & PS3, misc. Source 1 titles)
vtfpp APNG C
C#
Python
BMP
EXR v1
FRAMES (PS3, Orange Box)
GIF
HDR
JPEG
PIC
PNG
PNM (PGM, PPM)
PPL v0
PSD
QOI
SHT v0-1
TGA
TTX (TTH, TTZ) v1.0
VBF v3
VTF v7.0-7.6
Strata Source modifications
XTF v5.0 (Xbox, Half-Life 2)
VTFX v8 (X360 & PS3, Orange Box)
VTF3 v8 (PS3, Portal 2 & CS:GO)
WebP

(*) These libraries are incomplete and still in development. Their interfaces are unstable and will likely change in the future. Libraries not starred should be considered stable, and their existing interfaces will not change much if at all. Note that wrappers only exist for stable libraries.

(†) Many text-based formats in Source are close to (if not identical to) KeyValues v1, such as VMT and VMF.

Gallery

Anything using the sourcepp parser set that I know of, directly or indirectly.

These are only the tools and games using sourcepp that I know of. If you would like to be listed here, email me or join my Discord server, I'd love to hear from you!

Tools

  • fgptool: A tool to crack the filepath hashes in The Orange Box PS3 file groups.
  • fOptimizer: A GUI-based collection of tools written in Python for cutting down on unnecessarily bloated Garry's Mod addon sizes.
  • gimp-vtf: A GIMP plugin to load and save VTF files.
  • gm_addon_optimization_tricks: A desktop tool to optimize Garry's Mod addons/maps.
  • GodotSource: A work-in-progress set of bindings to connect the sourcepp libraries to Godot. Allows GDScript to work with the libraries, and allows Godot to directly load Source engine assets from a user project or from installed Source games.
  • MareTF: An open source MIT-licensed CLI/GUI tool that can create, extract from, preview the contents of and write to every variant of VTF file. Replicates the functionality of Valve's vtex.exe and VTFEdit.
  • Myst IV: Revolution: Performs various fixes for the game Myst IV: Revelation.
  • PBR-2-Source: A Python-powered GUI for converting PBR materials into materials compatible with the Source engine.
  • QVTF++: A QImageIO plugin to load VTF textures, based on panzi's QVTF plugin.
  • RectMaker: A freeware GUI tool that can create and modify .rect files used in Hammer++'s hotspotting algorithm.
  • reloaded2ps3: Convert the PC version of Portal Reloaded to a playable PS3 game.
  • Verifier: A small program that can build an index of a game's files, and validate existing files based on that index. Similar to Steam's "Verify integrity of game files" option, but without overwriting any files.
  • VPKEdit: An open source MIT-licensed CLI/GUI tool that can create, extract from, preview the contents of and write to several pack file formats. Replicates the functionality of Valve's vpk.exe and GCFScape.
    • bsp-linux-fix: Patches maps which have improperly cased packed assets by repacking the assets, fixing an issue on Linux.
    • CS2-EomVotesFix: Fixes displaying workshop map names and thumbnails during end-of-match voting for LAN events.
    • dham: Modifies Dota 2 hero aliases based on a configuration file and packages the changes.
    • Linux BSP Case Folding Workaround: A bash script designed to resolve issues with improperly cased packed map assets in Source engine games on Linux. Extracting the assets allows the game to find them properly.
    • props_scaling_recompiler: Allows converting prop_scalable into a static prop, effectively implementing static prop scaling outside CS:GO.
    • rock:sail: CS2 client-side tool to use skins for free (only visible to the user of the tool).
    • vpk2wad_nd: Converts textures in a VPK to a WAD that can be used by Narbacular Drop maps.
  • VTF Forge: A modern multiplatform recreation of VTFEdit, using Qt.
  • WifeRadiant: The open-source, cross-platform level editor for idTech, Source Engine, and GoldSrc based games.

Games

Portal 2: Community Edition
  • Local addon assets are packed with sourcepp.
  • Verifier and VPKEdit are shipped with the game.
Momentum Mod
  • Some bundled textures are created and/or compressed with MareTF.
  • Some bundled assets are packed with VPKEdit.
Nightmare House: The Original Mod
  • Game assets are packed with VPKEdit.

Special Thanks

Release files for sourcepp 2026.9.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sourcepp 2026.9.11
File Size Uploaded
sourcepp-2026.9.11.tar.gz 42.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for sourcepp 2026.9.11
File
sourcepp-2026.9.11-pp311-pypy311_pp73-win_amd64.whl PyPy 3.11 PyPy 3.11 7.3 Windows x86-64 Details
sourcepp-2026.9.11-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.34+ x86-64 Details
sourcepp-2026.9.11-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
sourcepp-2026.9.11-cp315-cp315t-manylinux_2_34_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.34+ x86-64 Details
sourcepp-2026.9.11-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
sourcepp-2026.9.11-cp314-cp314t-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64 Details
sourcepp-2026.9.11-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
sourcepp-2026.9.11-cp312-abi3-manylinux_2_34_x86_64.whl CPython 3.12 abi3 Linux glibc 2.34+ x86-64 Details
sourcepp-2026.9.11-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
sourcepp-2026.9.11-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
sourcepp-2026.9.11-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
sourcepp-2026.9.11-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details

Total release size: 55.8 MB

Release files / sourcepp-2026.9.11.tar.gz

Download URL sourcepp-2026.9.11.tar.gz
Size 42.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f094d3d1528318d814dc86284ebdd71715ba7cd48a8718c0597cab86044dc9cb
BLAKE2b-256 checksum
How to use checksums
97bf0063e9753375ad41c6e4f4120c0948f5ed7fa152cbe3248918a4b005ba7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-pp311-pypy311_pp73-win_amd64.whl

Download URL sourcepp-2026.9.11-pp311-pypy311_pp73-win_amd64.whl
Size 3.9 MB
Tags PyPy 3.11 PyPy 3.11 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
6cbe2fe79c9054967a02abd2d5659014e2c375842ad618ea2d914baf4f8259a6
BLAKE2b-256 checksum
How to use checksums
83fc725e3fc11d8073ca579ee5d2908dbeb31f2d62ee055bb4a920074ba68711
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl

Download URL sourcepp-2026.9.11-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl
Size 5.3 MB
Tags Linux glibc 2.34+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
f5cd99d8f69e98ee6813672cd605ca9365f51846c6c879c25c26b7be1689d8c1
BLAKE2b-256 checksum
How to use checksums
24c17e415e27f2ce7255a8e772e7fa82dfae23daa52240aa8096504e2114c732
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp315-cp315t-win_amd64.whl

Download URL sourcepp-2026.9.11-cp315-cp315t-win_amd64.whl
Size 4.1 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
3fde8222f52cbdc879b2080f2f7bef4354cf3a2573a7c9cbcbedc2a48b34f249
BLAKE2b-256 checksum
How to use checksums
d24a0f380e6e1a5ffba50fb05fa8556d0d75d1f8d15ed73c65c274dfc1e0ff56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp315-cp315t-manylinux_2_34_x86_64.whl

Download URL sourcepp-2026.9.11-cp315-cp315t-manylinux_2_34_x86_64.whl
Size 5.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
66286288320297f77699eba7c65b481bae4cfb9a7e8f002e406011fb236e77b8
BLAKE2b-256 checksum
How to use checksums
c012849150a88f6b64a19f3a5a4a8850996a3d857c3f76a2acb0ce6bc03b169f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp314-cp314t-win_amd64.whl

Download URL sourcepp-2026.9.11-cp314-cp314t-win_amd64.whl
Size 4.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
bed7f2a28602a18cca4793a1c1b3df8e67f6aa3efa50d8218b28b1a873d3aea7
BLAKE2b-256 checksum
How to use checksums
da454ccfd114208602222d1cbfe19ae20ed33c2bcd23a5c0f815138860ebd163
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp314-cp314t-manylinux_2_34_x86_64.whl

Download URL sourcepp-2026.9.11-cp314-cp314t-manylinux_2_34_x86_64.whl
Size 5.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
46e6576b6e062b93e0aa03ff7c9ef1453776e289fb525296a3ca7043fd09fe36
BLAKE2b-256 checksum
How to use checksums
cfb4b5144c63d4a72ed1efa3eb8d58ca6d6ab0a8b1cb5241aefa63d68339078c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp312-abi3-win_amd64.whl

Download URL sourcepp-2026.9.11-cp312-abi3-win_amd64.whl
Size 3.9 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
f23c586689a946ac81c274a132ed9ee0fa6fcb3d83c3522a22c00f7ff305da39
BLAKE2b-256 checksum
How to use checksums
b1638203b16754822931b81f6c6bc3e8d09c92152e0c2a5a3735ad936f9b830b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp312-abi3-manylinux_2_34_x86_64.whl

Download URL sourcepp-2026.9.11-cp312-abi3-manylinux_2_34_x86_64.whl
Size 5.3 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
a43d29479ed6b91ee3e0211fdb5196d53fdcded9ca3d8dc643b8288bfe46fde2
BLAKE2b-256 checksum
How to use checksums
68b83f38a33a6f92293322929395f77cc1c79624ffaba3a49532f17d65727ac7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp311-cp311-win_amd64.whl

Download URL sourcepp-2026.9.11-cp311-cp311-win_amd64.whl
Size 3.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7ae55e54986bdd5b3b121a6dfa198bd339d3e5e90d9c58e9dc4fb4f5f2c6ed39
BLAKE2b-256 checksum
How to use checksums
fa1757be489f2f0dcdcaccc07f3a965d675adba5472b9f1ac1505a9d077f8b18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL sourcepp-2026.9.11-cp311-cp311-manylinux_2_34_x86_64.whl
Size 5.3 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
0ffa799d4e6aa3949df368e66ea136c357a73a61d9cf1e13b20b4a484ff64fa3
BLAKE2b-256 checksum
How to use checksums
dabbcd3856c62d2cacc8fb56746592706eb4a2c56a94014baf906746c362cba6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp310-cp310-win_amd64.whl

Download URL sourcepp-2026.9.11-cp310-cp310-win_amd64.whl
Size 3.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6d0302e185c35e8274ae73d7d46f6e84a69fc190392b13e4e1580a2ed010fca2
BLAKE2b-256 checksum
How to use checksums
32fcd681549f1dc5d47fbd0c73f5f0ac7f93f21eaca345df9db95cff53153204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release files / sourcepp-2026.9.11-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL sourcepp-2026.9.11-cp310-cp310-manylinux_2_34_x86_64.whl
Size 5.3 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
8a7dedb3104bab1b3dbf17dcf89b761ba1de6bb9778d6058b39a3b2a5da73115
BLAKE2b-256 checksum
How to use checksums
bb68f3789f6d17835b54bb8e4d9f75fe17f9d4fc57a16304b275c9c020f91b23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.9.11 This release

13 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page