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.8.tar.gz
(461.0 kB
view hashes)
Built Distributions
srctools-2.3.8-cp311-cp311-win32.whl
(698.4 kB
view hashes)
srctools-2.3.8-cp310-cp310-win32.whl
(698.3 kB
view hashes)
srctools-2.3.8-cp39-cp39-win32.whl
(699.9 kB
view hashes)
srctools-2.3.8-cp38-cp38-win32.whl
(701.1 kB
view hashes)
Close
Hashes for srctools-2.3.8-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f4fb9b83ffffb11cc497a61aaa5845e8f229f12e5ac77767ff978eb7e58a69c |
|
MD5 | d9b9c063e7646d9133b1a9eb447e46d8 |
|
BLAKE2b-256 | 3e9f202383f3d6105ca0e76d157be92cef7b78b7a99094ca9baef2c7a1522a2b |
Close
Hashes for srctools-2.3.8-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb040f885bf63b9316c1aca9fc025e95b188dacf2cb03db1129524a55cf89bb4 |
|
MD5 | e6c4da7c5c85b382220de9a3b6e656d9 |
|
BLAKE2b-256 | 004e266020367cf5262cb1ee83c387f4e13903fd40f0fee2ae65448a221d0456 |
Close
Hashes for srctools-2.3.8-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c9b19d488e05edd0244e98fbf17dab233e12f9b35596b49482b28e740908428 |
|
MD5 | 5c2c71fe83dd28f23ff724ff9627f02d |
|
BLAKE2b-256 | 37a082223007feecae3647a8825e380b8fa5a1d5ede5174beedd19aa708b66e5 |
Close
Hashes for srctools-2.3.8-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e578008f13f79e93e20ef603dc7abd943734acc7ab98d6e3849758ef1d4465c7 |
|
MD5 | c2730dd23e2c9a208513950caf17b8ac |
|
BLAKE2b-256 | 4d11bdadd83eb19c87a2ee844fd49f9d038c85e54933910d33b4afeed0d0a629 |
Close
Hashes for srctools-2.3.8-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4db77441730b76ed813d6b5c6560894ee68964537a50f26706749e3876d92f95 |
|
MD5 | c1d2783a520f7009015ffe9a939fbb2c |
|
BLAKE2b-256 | 6f52eab63f3b2bdd279aebf3f0c511e69a4345c059bdf0888359b4c66d5dd60f |
Close
Hashes for srctools-2.3.8-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a05cd4a46c86f961dcf34c79d27f519dbaf9fdc677901a8b34a41714678ba3f2 |
|
MD5 | 416cd5ec9580760f4fbb75ec63086dc5 |
|
BLAKE2b-256 | 9c79095cc21bd33b97817f42a4ade3796b271eb1ccef41be0f3430bb17f59013 |
Close
Hashes for srctools-2.3.8-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f493a19718c98ba5b9156433cd29f5001861a2b0a0a0fbda6405529fc3f64c45 |
|
MD5 | 93c022ac922ad1e6fe1405b7e774cea4 |
|
BLAKE2b-256 | c0b0ef3707cfd056c6bcfde51475f0909cd6cabf56d027bd3464e937f4e0b48a |
Close
Hashes for srctools-2.3.8-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb3a0ec63cc8b63cee2186a39448efdd83ce41d5a76c6d3d438a8bdd1ea03ef |
|
MD5 | f0e74c39dc882d73f44b0b0165668d41 |
|
BLAKE2b-256 | a023237cac36107cc0ee493294449b8b404826b8eda9eecf410b382a9c758450 |
Close
Hashes for srctools-2.3.8-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc61cec4180550d6e92d36678942124c7c4bf63fca6b79998a24287c2771bbb7 |
|
MD5 | f3088476d1f6df434fce1ede31a59c7e |
|
BLAKE2b-256 | 95e3a102127c6c195900383b3b674048822fc1024f24f779f0836f0acd6913c8 |
Close
Hashes for srctools-2.3.8-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7f92aa15a2c4d5aa31cead1dfd774f12a337f1847b6fb732a1de9444ec53a69 |
|
MD5 | 1e029ef57acfe305b0b4da57412edca5 |
|
BLAKE2b-256 | 55cd91b7e3c757cb3c91f53321091be74792ceba0cee135430cb8b6b0471a009 |
Close
Hashes for srctools-2.3.8-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d1c65cdc1560acbd61e24d9e9da6006e23550f56dde1d65ea090e23e771d6b0 |
|
MD5 | a39b404a161f6ba26d0ae172b43f2b4d |
|
BLAKE2b-256 | 1b002b563a512b996e62b0f2c81ebc6ad1b785e5dc7b455062184a7790fb729e |
Close
Hashes for srctools-2.3.8-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44c30ee874b3e2ce9d5ba50da6d83de76cc54212b8331ef446e680dd3c1e76f8 |
|
MD5 | 01389bbc90700d77f78c34133408ff43 |
|
BLAKE2b-256 | 8a0aa16edf6a4c7a168e5f888ea1d4dff2b52f2f9484c1948093c9d07a294c28 |
Close
Hashes for srctools-2.3.8-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3feed38e325dd7a068a2bad8311b5da5418a65ad6fbbfeb131d4c3b9eb2b1ae4 |
|
MD5 | fc866c8050ef55464b561f7eb06a6376 |
|
BLAKE2b-256 | d1be28eefce7eebdf80b982b013aafae62b44c084119bfd3c9a0c6c5b5959c5a |
Close
Hashes for srctools-2.3.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e98e82c3b42d4ae13df0a5e108c8bc27c5083be5063542d5971c237317f66d63 |
|
MD5 | fd78a63c53ea10c94bc9154f5018b856 |
|
BLAKE2b-256 | 7230066553c29deee601b0e5c824095a3be2807a14aaf1bb01aa0a31c752dc62 |
Close
Hashes for srctools-2.3.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fefd012bd1aad8f05d6bbb857d7347896fd0733b783b1f8be68fd97041a66872 |
|
MD5 | 879e02d17610b2cecc7addfa8b5a8ddd |
|
BLAKE2b-256 | fd03e048658ca3451e18f2b18fe95d332aef46e5a5c20450600ced12b66e7399 |
Close
Hashes for srctools-2.3.8-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d9ac927ed32043dcc67d51a28dc1787bb07e7857815479b3cfc34d4e6f66ec0 |
|
MD5 | b55e4e8c8597ce6ba3b71f035577d93e |
|
BLAKE2b-256 | eda6b737d38f95a704f9cfcc4d2d887f907523efcccffd8d1328a8581d1bdd43 |
Close
Hashes for srctools-2.3.8-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ffa154f20d153dd2433ac02cacb5165f6f8c2715e1b7197affa14647294389a |
|
MD5 | dd9807daa1bc433453f32bd8f945e14b |
|
BLAKE2b-256 | 1ed3eba8186edf756fc6c97c54a01a7a70c12b09d06a4832d0873e96a8902900 |
Close
Hashes for srctools-2.3.8-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab12ad69fbae08fff0c4e2b37696481f814d0a2cee7b34b8689af7dffbaf6ed2 |
|
MD5 | 1a33a2b44510b35a1784527533f3302e |
|
BLAKE2b-256 | b85969b2e3ff547b6955e273bb3af26e94081c10fa7a9a4e13dfdcdeb0dc1418 |
Close
Hashes for srctools-2.3.8-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcc3c452b05223aced3c5718a16dcdf45de4a0ed3d451334f80a69e33c6aed07 |
|
MD5 | 9f815e5c780cfca6408c1f491f1ca3c0 |
|
BLAKE2b-256 | b9fa87841c3d2de53bdd0db7cfb633275042dcb5b976df0040bc2e6cf7baae94 |
Close
Hashes for srctools-2.3.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f441972963df06f0313891898a5caed8052177ab6e810194971e02c361a740fd |
|
MD5 | b282e2df7088b6c035f53ed0e23bed9c |
|
BLAKE2b-256 | 2def6e8575a7e5e90eada67a8987a1651a6d6280a93b3d929c18ad209be0523c |
Close
Hashes for srctools-2.3.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 579ebee248476e333394ae48c9328e2660dee532fc3eda6980471c6d0b6d963a |
|
MD5 | 680058726a6d36ebc718187d122cf637 |
|
BLAKE2b-256 | f57b0df2fc1e040118f2b5ff3a207887c85900efc93d96bae13ec20bfd3c6a71 |
Close
Hashes for srctools-2.3.8-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6058241d768866365f86ba15a8887630e9f856e962a1a92d73698d9efce85cc2 |
|
MD5 | 14bfacdcc158797dddad6eee1cef0fdd |
|
BLAKE2b-256 | e8c436c65ca13f300a4b28a4e7f1e05059dd34c806f49f067bb370cbd0b9921f |
Close
Hashes for srctools-2.3.8-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 223afc9bb5a78ef4feac476b6247b3a15df9a01872af2e1113380fa1a8665c5c |
|
MD5 | 18b9e4eae780623d45cff0cdd492643e |
|
BLAKE2b-256 | ea2de399f756c01b0a98aab6ef26ac64111355c06aa6295c1f0bdcfb055faa73 |
Close
Hashes for srctools-2.3.8-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cc10e8eadf4a7c0122e554cb44d60042e5f6c732f75b0fe68c6df25b39f6bd9 |
|
MD5 | 911a594a71189dfc58285b8ead825ad5 |
|
BLAKE2b-256 | 84306920d9c1e05af10e0c897221c055c3e6dae9c415185d27e919fca686d9d5 |
Close
Hashes for srctools-2.3.8-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd8ca12497303be6eed1f3e79d2724502c4ce8776ab8a2c734c80992b625a7e1 |
|
MD5 | a503f3fdb1acb76d1c0e259f606199f4 |
|
BLAKE2b-256 | f3acfea2831be6879e7ed4c9b07a61830d5ff1d95a2dc2d629620049c193f040 |
Close
Hashes for srctools-2.3.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39286d6a2e3edb9012088150104361aa39616b3fc1973e5a2e5ea896dca98685 |
|
MD5 | dec742683416f890cd318eaf2dff01c1 |
|
BLAKE2b-256 | 0ca4d33dfa418fe842983d80de6c62042d49d2dd76bf515c9c912bfc67558a6c |
Close
Hashes for srctools-2.3.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e301da70abedf8c15025032089e0ae15582fac2be4a94f10edae23721f4ec7f |
|
MD5 | 08e8c41fb5c0bb9657492a66a63c8bfb |
|
BLAKE2b-256 | 8b503417f258ad7639bb43a0cd506c911e246958d30b9a7a1347c799de09c0a5 |
Close
Hashes for srctools-2.3.8-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a10f85ed252361e953b41f744a25f3cf82bc0c7e4db2d86b86bbd8cc100e6bd0 |
|
MD5 | 9c917d09b94a30c0b0871c2e7a067900 |
|
BLAKE2b-256 | 311700ac2f506a4648702bd56476509028c95d5c97757a9318435096dbc98d62 |
Close
Hashes for srctools-2.3.8-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37f667f5103fa7d344472811f612c3ffe003e76594f1ed99c9960af9cbea4fbf |
|
MD5 | 5f0afb89886fc7b3030ba857b2b36c32 |
|
BLAKE2b-256 | 97342b3d9299966dcff65be95e1a1141189a05b658a4a64327a28e6b84e80002 |
Close
Hashes for srctools-2.3.8-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32641f06acb2107a5dc8a9e0eec93d47919a3354eeec8c44f545f70fd8c9af39 |
|
MD5 | c6adbaf7e4cc17af6927b942425636e9 |
|
BLAKE2b-256 | a8ca5329b9dd27071ce4967cd00c3f049974761e6a645e22fb2b44582488a045 |
Close
Hashes for srctools-2.3.8-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e37c240eeaaee20b665c78832b2eff292de954ff3523ca2eb06243ca7fbef42 |
|
MD5 | a554e91669743f4cad986a9892cd9050 |
|
BLAKE2b-256 | 6f33cc3d2298053ce328d13d1b7eb5e5d6c0b3c14bb5055fa28cabb565bad5a0 |
Close
Hashes for srctools-2.3.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5727d0b29d329b745673d28cef0b45d4ea16341a7269d64315a3c855afa26f1b |
|
MD5 | 300794a25cc79263a8350472761a312f |
|
BLAKE2b-256 | 083abda8d137c838710e36350aea489cb849f4216075a7c01b7d2e950b451ec8 |
Close
Hashes for srctools-2.3.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 389ff3dcf6ea4b72bbc55820562abfcdcd5ae96844385356f60658776be2dcdb |
|
MD5 | 7ec4c0ab72e9405ec48bef5cdd485985 |
|
BLAKE2b-256 | 3752c62d15402fe77dbc6219bfff393e11ea347cae12415dbb2730821fd043cf |