Modules for working with Valve's Source Engine file formats.
Project description
srctools
Modules for working with Valve's Source Engine file formats, as well as a variety of tools using these.
Installation
Simply pip install srctools
, you'll need Python 3.7+.
Core Modules:
math
: Core vector, angles and matrix classes, with Cython accelerated versions.cmdseq
: Reads and writes Hammer's expert compile command list format.filesys
: Allows accessing VPKs, zips, folders etc using a unified interface, as well as a prioritised chain like the engine's game folder system.logger
: Wrappers around thelogging
module allowingstr.format
interpolation support, among others.const
: Various shared constants and enums.tokenizer
: Cython-accelerated tokenizer for parsing the various text files.binformat
: Some tools for handling binary file formats.
File formats:
keyvalues
: Reads and writes KeyValues1 property trees.dmx
: Reads and writes DMX / KeyValues2 format files.vmf
: Reads and writes VMF map files.bsp
: Reads and writes compiled BSP maps files.fgd
: Reads and writes FGD entity definitions. A compressed database of definitions from most games is also included, from HammerAddons. Note that this parses a superset of the FGD format, including "tags" to allow specifying which entities and keyvalues are supported for different engine branches.mdl
: Reads some parts of compiled MDL/VTX/VVD/PHY models.smd
: Reads and writes SMD geometry data.sndscript
: Reads and writes soundscripts.vmt
: Reads and writes VMT material files.vpk
: Reads and writes VPK packages.vtf
: Reads and writes VTF images, including DXT compression.particles
: Reads and writes PCF particle systems.
Tools:
game
: Parsesgameinfo.txt
files, and handles accessing the searchpaths.instancing
: Implements logic for collapsingfunc_instance
into maps.packlist
: Stores a list of files of various types, then computes dependencies recursively. This also includes a database of resources required by game code for different entity classes.run
: Code to run a compiler, logging the output as it executes while still storing it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
srctools-2.3.6.tar.gz
(454.1 kB
view hashes)
Built Distributions
srctools-2.3.6-cp311-cp311-win32.whl
(668.0 kB
view hashes)
srctools-2.3.6-cp310-cp310-win32.whl
(670.8 kB
view hashes)
srctools-2.3.6-cp39-cp39-win32.whl
(673.4 kB
view hashes)
srctools-2.3.6-cp38-cp38-win32.whl
(674.6 kB
view hashes)
Close
Hashes for srctools-2.3.6-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bf64eb79ac786c0e02b698dd7183ebfbb1b4786f4ed58996605b01b24a46732 |
|
MD5 | 4a3d7037ce8f6aa2a7fb0de05ec15df8 |
|
BLAKE2b-256 | 68cd70c9b61dcf23a34d4baa716af0b02dceeca4c910c103eade8c637dd19f71 |
Close
Hashes for srctools-2.3.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f201bb36ae7e696db0c364c933ab862d8e1a4359bbeebf0b8dfa4b5efef5cd0 |
|
MD5 | 87d5a9ffb78651040ad118f86b86e645 |
|
BLAKE2b-256 | 878a20ab582b3d11aa5c3627bfc1ed8615defb0c1efa923c75ec4f579fa7e4d3 |
Close
Hashes for srctools-2.3.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0469c099fb1bcb4b0c2ffdb85ad2e0807e7fd5c66ded22ff62d3239297fe087f |
|
MD5 | 6d451783cbf4f62db12798f316ab9809 |
|
BLAKE2b-256 | 742f3f115ef1d2fb84aaf69a2fe83be6939d7fcbb8c43e73f3382c11a49c1546 |
Close
Hashes for srctools-2.3.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12271b72146dfd83466f30710e7ee1edc4f45628a3de152523eee10f85667454 |
|
MD5 | e5a5351ca39b28ea6dc62412285b266c |
|
BLAKE2b-256 | da13900938b0b398d63a4079a8914002c197b6bf8dfd189dbeda2811560133ca |
Close
Hashes for srctools-2.3.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce7ff01e6d69ca4c01bb5d70e4c3b58a62a45bd4073ff51b30aa682d7fadbdb5 |
|
MD5 | 41d26032490b77c6e3043e309121d6ee |
|
BLAKE2b-256 | 096a4cc44593fe46cafa483c13c89ddd3e613722b75c81020342bd43f44bbfc2 |
Close
Hashes for srctools-2.3.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfa15db8fe98f299045de243350ef3530caea200d68c1b373d6c624c652045ac |
|
MD5 | 012201e2294b204e8ecf660f1bdeaad8 |
|
BLAKE2b-256 | 2099a99ce13699d93c06d00a72322104ed8ad5bb63426e2caae842f03a5b8f71 |
Close
Hashes for srctools-2.3.6-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9743fe2b2f9d9b52bb3b28984b71bab26161c2bf4df73c22d323c0d9305f406 |
|
MD5 | f22da8d7b79d8a0788046eaa852f3379 |
|
BLAKE2b-256 | bade9b58fdbada46cd20bd681bde12854997a565ed611338a8011bcb80e6e524 |
Close
Hashes for srctools-2.3.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38dda066885358e4b8d2b49b264901fd1b006e639588b1ad7747509600e083b6 |
|
MD5 | d029368a8606c23fa49100063441a192 |
|
BLAKE2b-256 | 75c40655b828845b768cd33d519010fba3a392606d39b5b69951ba214663ff8e |
Close
Hashes for srctools-2.3.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14badcb3bd0801581262fffe82520cb349a69f5ef89d7cf8f414731ba72a7561 |
|
MD5 | 9dd19ecb1c2c916fce4f1bcb7adbcc1e |
|
BLAKE2b-256 | 9edb6ffd30fc13823b3ae9cd118c3209d6a033818e979a19bf7717b2b73f2025 |
Close
Hashes for srctools-2.3.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4811e07a297bf09043dcb77d52c60396e0de1911cd1ec3b278ad6a1e8293f4a8 |
|
MD5 | 3ba595623419802c6a7d347c0f89f97d |
|
BLAKE2b-256 | e319884c0502019b6c2edd0365fab99267d7baf72c7a29dd017cb10c5422d4e2 |
Close
Hashes for srctools-2.3.6-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b717b9d756b60a25c6ae2f13ae5fef3e69de68808650e6bed68e90a1dcd5616 |
|
MD5 | 499b4ff453597f13c3fd91c060a3c340 |
|
BLAKE2b-256 | 2c064e0a7d074eea77b78850b28d001a6b5c160c7b563866ab78539119b23c7e |
Close
Hashes for srctools-2.3.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd39cc010639cc39a8a869955b3a2d830ca7ad7ae22a871338e6acaf0daa3e83 |
|
MD5 | 2e96c2e8d7a524b29ee68b3e44cb7960 |
|
BLAKE2b-256 | 73f7cef0fd21f620fb926142f6893b4f6ff5fdb8dc6208a343777e5f40bd5d5e |
Close
Hashes for srctools-2.3.6-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b32b4ff073fd12c9971db145dc17ab607d16c2daad8f0fb3ecf3b4451c3cab23 |
|
MD5 | b1dbddc4236ec4451b1846c20d2052e2 |
|
BLAKE2b-256 | d5cde9e2febd6ef79abe0f714073989dfe71fe42815929f994c9a7832a657241 |
Close
Hashes for srctools-2.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b58e4437d24e53cb6d1e0f48b187dd67b6c5a8050e49eceb278f9a492a90731b |
|
MD5 | b19018edfd95809887769227a66144d5 |
|
BLAKE2b-256 | 2c428f52474eba2fd099be60d2e726781bb13a958abba0eec3abdb02b643b193 |
Close
Hashes for srctools-2.3.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99f6658bf3a81b3d735aef310f1f58fde8e53bc9db5210e07169d28f8ec15dbc |
|
MD5 | b69a4ffafa96c764763041fd37af518d |
|
BLAKE2b-256 | 7b5cb038c7321fc933866de5b87470018d7cf5a3bbe2386f1025cc31f226ab8e |
Close
Hashes for srctools-2.3.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e4bc9b5123cecf8848f0af161d325fc408f623b9eb7bbe7d2224c1cafbb2857 |
|
MD5 | 74d2930da5e64415ca5d935608943fd8 |
|
BLAKE2b-256 | 758f2c3d05fb8751bf01c91969a96f8a3096f1be53d55a3ff4a8f0b9ed910c2f |
Close
Hashes for srctools-2.3.6-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2868e498d596eec3aef5f1f59d6d67af487738809e1dc07cb7489cdae55d5ab |
|
MD5 | dc03d2193a34710233ddfabf0ae23501 |
|
BLAKE2b-256 | d6828c7128ffa9e1dcb058820234938021beb36cf8c48f19acb6f13edae36e38 |
Close
Hashes for srctools-2.3.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab8710a98be335273ca70a682041adbdc8dcd966721b3f40f923264ecc486678 |
|
MD5 | 128889d61de3d83530e8db840a5765d4 |
|
BLAKE2b-256 | 86e7bcd5ff94a742b454d1e6e1dd8a6c32aea29b6f9cefc8850c42cb5a4345a5 |
Close
Hashes for srctools-2.3.6-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33a6c40e7dee0f050b051cd38ff26c54856f765cf81c64f5ec6e447970fabece |
|
MD5 | 9ec2fb4a1d1256ac339261bbbc5aaeff |
|
BLAKE2b-256 | 97c0e243fc0223302427cd42979aa2cc4af7926127e1dc020553ccee33727c80 |
Close
Hashes for srctools-2.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919b634350045e7c4bf0564482d4db21b8cd1469a7f60b392c3a14e0e1d22083 |
|
MD5 | 8d1b068d3923bf51b853c059c781681e |
|
BLAKE2b-256 | 92ae7c91af7826fc40d459edd0d6e62af4046adb4f1a7036c59bc2b0b3820d9f |
Close
Hashes for srctools-2.3.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29322cc0839466326f7436c1d91b6364fd7b7d8d28481c200c29efccce3d2ef9 |
|
MD5 | 7ae289cdc1d171f02a9cb18470c7988d |
|
BLAKE2b-256 | c6906a95b89d4b174cf2f072a1815323794559bac6fcfb524214a71438548277 |
Close
Hashes for srctools-2.3.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a650953b769c3de516678c6865dfd2619164a71818ade3a49ba0fd1c290d60fa |
|
MD5 | 93b6c85d0b77c274cdf65ccc931a8149 |
|
BLAKE2b-256 | 346ea481f418bf5134af575fc57614239b73425741ed1a426071e78404a56bed |
Close
Hashes for srctools-2.3.6-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e5a5bfff4a471cfd396ff128ed46da2f43b4664c4f641a2a89b1ceb7cecf136 |
|
MD5 | f1ed9b4c85296f01f2ff1ef33f4e3113 |
|
BLAKE2b-256 | 4e88458176257ae2572ed19f2384e9666c96fb1e9c86196e2f3f1290ab4fe976 |
Close
Hashes for srctools-2.3.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3392d0ce25a05594f3b324d73684adb53147863d68444ff3781109cb38975a43 |
|
MD5 | db9322988c4b03e5ea7a74a4d70d09c1 |
|
BLAKE2b-256 | 1a38f13ed10c88c3a37fbcf6e12bf6ad7c6286ebe490758e4222491ee217773b |
Close
Hashes for srctools-2.3.6-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50fbeeacf27f16861235a3349b9a7a9406f103f852f9fbb7f2ada063fecdcafb |
|
MD5 | 67ff3f901996ac6cb59df03ec2475a03 |
|
BLAKE2b-256 | 3be7069228f2e97b0a01279790f22f337abf0040744fce67e8e54ca20a4b14c1 |
Close
Hashes for srctools-2.3.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3625d4defced05c641813fab7133b7d9cae5c79a4ead56e991aa003d7faa86e7 |
|
MD5 | 8f42ba050fbd0a5234600c086efa5f23 |
|
BLAKE2b-256 | 1b2f8ef0ef71e6484b08aa72e9cd8d8ddc70790e72a0098aa94e9af0c70b24e7 |
Close
Hashes for srctools-2.3.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3f9f4aa043eee1c78e99760a5098f21b99fa7f756d98c8c65ce48ba78c2bc7e |
|
MD5 | 1d26f85d3f26c8fbfe4a8334ff7359cd |
|
BLAKE2b-256 | 67803fde941ab044f3154fe433d74296854fefa7795bf479c8bf40e8c7ecadc2 |
Close
Hashes for srctools-2.3.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee0c8710a3e87463665a88ae8710e718fe31a99a72447899e0517d57cf32247c |
|
MD5 | 39f58d952f9e4e31d15ff366db6f27f4 |
|
BLAKE2b-256 | 6f0bec1d6741f8a86a726857b81b040f5e64b42c7432c0c3857954744cee39cb |
Close
Hashes for srctools-2.3.6-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b48ad8afb5916ee727e1926f4b4fb20b811fa3be8d31fe50541dd7077452a50 |
|
MD5 | 60e8bee7fbf9766e6fb25599c7c1b842 |
|
BLAKE2b-256 | aba6939992e5611b7142fcea6195456400aac4b670a56d8ef5f8ca30e49e9eff |
Close
Hashes for srctools-2.3.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd6af4655bcf5b1b7db661236125bf660ec55dc19e119f7141c8ad3d7f20686e |
|
MD5 | 846fdfaffcd23ebcf8e635512bef3933 |
|
BLAKE2b-256 | daa175e2073cc36746b79e2e26298fde738836dda81fcae23727ed28d454ac80 |
Close
Hashes for srctools-2.3.6-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c544681e2f4bf9e5e68dcb9eee9f768175eaa2127b84b611925f1c47127009d8 |
|
MD5 | d98007b264f76689b15c53321cda72ef |
|
BLAKE2b-256 | 305e4d1557b3f0d1c701fe3e234b93c5235857a79151f517a9b4643b586a2cac |
Close
Hashes for srctools-2.3.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 013682af3a07df917f2279de5b826518ad15c05a78ca8193fd647e793f758bb8 |
|
MD5 | 2edfd6095686323e278a9e65349828f4 |
|
BLAKE2b-256 | 2cc34cd079f0b8766bce78c89aea8665d34a7d4e8020daea5aba6bf9d95a1af7 |
Close
Hashes for srctools-2.3.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fac5c331ba03f2ec7addad0dcad6387f8a027e89bf9899203d8ea49093e1b539 |
|
MD5 | f42aeada9bc1a8ec38205799660264e8 |
|
BLAKE2b-256 | 6760444b99a0b723f80813e4e069e5cad55721c082fe6a39300dda423c10bf36 |