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.8+.
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.4.0.tar.gz
(2.2 MB
view hashes)
Built Distributions
Close
Hashes for srctools-2.4.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87b74774801f43ee8d0b4fbc55d4db5a69725ae3f590aa5e60e8d70336a74098 |
|
MD5 | ca7e07391c44d6dbaf41975b17c06def |
|
BLAKE2b-256 | 58c6ddffe9131e818309e00bb6585f323e1af7f205e48806624a48b46a0fd144 |
Close
Hashes for srctools-2.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 132c200f886c7540fc369402647a8c5082f7243619f2f1ce3b0c5586ea35119e |
|
MD5 | 6f6e82ebef090ac2d2217026fdcdbb0f |
|
BLAKE2b-256 | fe08915e9b3d5747f44a0f61211ce5b33cf0140f5b35a8e63621bc9e26839a7d |
Close
Hashes for srctools-2.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17f9e78a9e1a633136e30c697c03d8c6c33a73a4e6c23b73742c9969dafc4f5e |
|
MD5 | 790709ecb92b7f02cd6f7fda0bbaf292 |
|
BLAKE2b-256 | 5d6b192625740c71fb8b5bef24e09abb5687d5ea83006bfa98ae93c222b41fc5 |
Close
Hashes for srctools-2.4.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0426e82f464d2f799fd79129a444427892158ace949745d49943d25b84ac718d |
|
MD5 | 19b84f9a1e9792f6ef623f08225f057e |
|
BLAKE2b-256 | 73f1ccd9f5f18a94bda36b3c849bad08239f825fcee8b67d99b0a8f8cfd7642c |
Close
Hashes for srctools-2.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bad31341f65776d582a6091e182db6ce3effdd7a660a286081a6cfa4658bad6 |
|
MD5 | 46568d8cad6420c693b3e45299dfc8f3 |
|
BLAKE2b-256 | 6c9d24c1251f34873ae83c1e68e023eebb442746158e769f9f7560cd6f65708f |
Close
Hashes for srctools-2.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2093723551d529c985988eb70f98f5b92269f1b894a48f676851254ab530d0cc |
|
MD5 | a36c483e77e7d98953b32318b9d8fa1a |
|
BLAKE2b-256 | 898cc60c8684694ae6c4bb72c98c4eda46d1028863330e409ac2c8c5026f43da |
Close
Hashes for srctools-2.4.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15a625b37fbe7d08c2a1d94c2d0288b3c951966bf8bf5bb2691ca7ce1ecf9fc5 |
|
MD5 | 2ccbd06bb85fc9f54ed35ffcc0eb5ce0 |
|
BLAKE2b-256 | 257caa06851bb00d6fd46f4b8f0725db80e5b8f853a6a11265f5b139a5413fb1 |
Close
Hashes for srctools-2.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81a2371c3e11b1405f6f0af60ba6ae5fc848e26e73b0a7a3cba951eb767dd20d |
|
MD5 | 792504ee8ea0dc4b4e0ebbe3a06627a4 |
|
BLAKE2b-256 | ec85604df1cad5d926881ad507527aa90de568b3f6886edc5e9bf266df1ea868 |
Close
Hashes for srctools-2.4.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8cd50139b1be941be851ed5f2512e96c95d602ac7b34e2a410369d8305b06d9 |
|
MD5 | dc045a32e3b1cd074fc37012b074896a |
|
BLAKE2b-256 | e7b6eee33a12ff96c21db7f95540b197c1b03a6efda758262bc23c070c9d39a6 |
Close
Hashes for srctools-2.4.0-cp313-cp313-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59748ab8c17a7a7c5e3219d461f4ebcd1744b9307a2cc59043efd0746b3d630c |
|
MD5 | e0ea5d8db4c22278595904d10f2598d8 |
|
BLAKE2b-256 | 8561b4fe08bd4760548b9e1aa5b414ff6fc291240ac8dcd25561562e24303d93 |
Close
Hashes for srctools-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa6003be0033f054d3dd083bcb28db0bb4d9495b4e34a7ba62245fb6b03c011e |
|
MD5 | edcee835f9d396c42a9abd6b760193bf |
|
BLAKE2b-256 | 0e05698aad62a39b0c4636fc53fbf792dfc6c9c09e9fc1248e9e650dc08943ee |
Close
Hashes for srctools-2.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ed73da24cecc30ca7f400f47c6134820158ce2ce29d5c68fc35aab289dd3443 |
|
MD5 | 08566f7b32010a6a38da772b31293807 |
|
BLAKE2b-256 | 5c3d6cdd0ce45253c9e744ca2c7035f7113af5a9ab180cc349ebf44ce4c073cf |
Close
Hashes for srctools-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb6f16fbf8aaeb1033dd5982fc3e0d708672f965ec180c73a30933e15c45da89 |
|
MD5 | 433425cb09939f625787cd08bbb66a0c |
|
BLAKE2b-256 | 8529acaea5f14be6b202d474c65bb9bf47e107ea231cad3cf2b9717af7e97f50 |
Close
Hashes for srctools-2.4.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5626969389d182ebb4d0e0c1efd6e21f6c30ecb93411ef9baf61832de1625e9 |
|
MD5 | 4a4fbcff7d545e0d203a65dab0b60a00 |
|
BLAKE2b-256 | c9abc7cd01153e73f8231cc1ca351372881ed7336cb44b9b66885db9d1d0dafa |
Close
Hashes for srctools-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 317564dde639f575b8267dcd21cd2d9ae592a7608c837446b2f1fa8b5014aab9 |
|
MD5 | 7d85ab863cf9ab6406756043ad4fc598 |
|
BLAKE2b-256 | a0a258bcf29361d648c20c54bf4964c9635d00706334aa49f2a9ed4ca465fd63 |
Close
Hashes for srctools-2.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 140ef8b22adc0cf4c12bac4350407240776f613b8b4a219b238fbd5f2d874286 |
|
MD5 | c78e32ca726981089222f58d0c379fbf |
|
BLAKE2b-256 | da98d1637a3f1ffa2cc94a0a179ee8a59812c6a2ec5d410d6c580c67334076bc |
Close
Hashes for srctools-2.4.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 315c4064658c7453b899937b80c48dd82cbb2929d3e5edb088252b95e3453ac4 |
|
MD5 | 80830f3ca3de3052fe3772d43687e17c |
|
BLAKE2b-256 | 5569f44643341976c614639c9f11610a023dd76ac64d788f03c2af4c38c3ff13 |
Close
Hashes for srctools-2.4.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13b243ddc274cc823c2cb7f3c58c20625c7a0e103cad61f176c1fb1a83e19065 |
|
MD5 | 2fec0667b9c3f648b7974d46015574eb |
|
BLAKE2b-256 | 238f01c18bf7056f8ed8c98b5f17fc89a6a9c50ba1e525a6ef7c55f9a7a17265 |
Close
Hashes for srctools-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4cbedfaadffbcd4c2acc970437bce9c76fbb7e095a9353aafed82adc7e2dea |
|
MD5 | 35cb7d9b36383781e5f2dba1afd1f538 |
|
BLAKE2b-256 | 260720c541bec3f6c028d1b5ccfb16e6fbc4aaabfbcdd8a0988d643d52691e9f |
Close
Hashes for srctools-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7c932fc576f89a29b30628bc0bbd7fd52c3bd2be17c63fa01b8f72cc8bf0f9e |
|
MD5 | c729567642db5570284c1e5eb3afd9a8 |
|
BLAKE2b-256 | d60285e8941be89278a2c3c545c7d14ae9fef29af07019439c0bc952efd99a7f |
Close
Hashes for srctools-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74d97115876dfc2211a0d929e95f6d0e519f58a5da02b95117c56d05fd883be5 |
|
MD5 | ed4dc9fb5f575898e4f7b327d9314e5c |
|
BLAKE2b-256 | 8250f5cf210f577132db402e3ed0cd155dbc389b854079451b555ba19eb0b2ee |
Close
Hashes for srctools-2.4.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 527fd50ec696d46ae0d8f9df970b5d11fbb8b5b555cd624a04b8c9757f3ceb9e |
|
MD5 | 30f4a57a382d3a910fa958b1f0dca181 |
|
BLAKE2b-256 | 96a1d5e5b46ffa19952d24fffb64ef2dc980b1da8f226da5e8df7471eba78e1a |
Close
Hashes for srctools-2.4.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c99aa266309ca0177a6d10fcd3c6dd216cbe77db0840b5ee21e6592b804c3436 |
|
MD5 | 7129c6c3cf63abbf8c1629a391e412d9 |
|
BLAKE2b-256 | 4d0c1bd847b0fe17ab6265f7aa6b79f58a1a7ed7c8f3db0c9e537cf28d57a341 |
Close
Hashes for srctools-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0771fc03bc69bbd6891622a53b3c904c64f6f61912e7280d72736ad3978fc8d |
|
MD5 | fca68e5a3f38ca679477227fa351d4fc |
|
BLAKE2b-256 | e7f8807182ecb26c32ecc44a25a2d15210eaa1437f5c509bbb7b0a3cb63d4844 |
Close
Hashes for srctools-2.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d62028339ea7008d6ddb77fb22582ed6c3dc306d3b836ed0bdb712c39a0543f6 |
|
MD5 | 7c913f82f19adb4df3dd6468c3430043 |
|
BLAKE2b-256 | 696f5b458bb77d576c472657b46a8a63c42a524e121375d6a9cc14e7dbb97e23 |
Close
Hashes for srctools-2.4.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 431a4037e9f564c95c03d862936b4c3fc8f96ab2114daf42a4b21e5a0be225f0 |
|
MD5 | 910221719e3af966b991448f9209cd6e |
|
BLAKE2b-256 | 8765843b02c2a22a240ab043463a3626fb59009e372160f536814570df041467 |
Close
Hashes for srctools-2.4.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad0554fb64df866c7ba27a1a17648db4f634d98e95af6547aa92b05affc425d9 |
|
MD5 | 0c1b00aa4e25cc31078fe01a6cdf8ea0 |
|
BLAKE2b-256 | a9c70b1f5ac4ae739d0af8df81c5e3927d068dd0502ee4cd1cd41f3c3ae44793 |
Close
Hashes for srctools-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56f8838b17706ec1806c6696a729bbb7aa0f7ae0216130afa81f3ddb4bbbc2a5 |
|
MD5 | 1b8f14b4e1a47c6c0c13cab4f65a96cc |
|
BLAKE2b-256 | c5129cfb9d0c7e8b642420a8298dd39b87ebf4172252f3f7bac835bc00d39a60 |
Close
Hashes for srctools-2.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69b389de108f0fb1ff8e723a68ee6ebf0dbb79189815ef1c76eca7ac395244b4 |
|
MD5 | 4751c4043112063fc98a59757f32a2f1 |
|
BLAKE2b-256 | cdb9aea0b5800a68fd749cfa6b7e3ae488b5e81642cfb5bf7236bfd8f2654409 |
Close
Hashes for srctools-2.4.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aa66323f2ae4dddaaed4aa99574efd337cd044ad80474f5cd0656a6f19eafab |
|
MD5 | 058a06fed1e16a5042d328993a9375f3 |
|
BLAKE2b-256 | ab60a3cbd70869f3b321b801bfab8d1143c247445c4096a049c07d84165ee070 |
Close
Hashes for srctools-2.4.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1870c0b61888f33fac194495fd0854019153af73e9dc9c8466b61f6c6e73bbc7 |
|
MD5 | b8949a669a388703afa7067f25123e46 |
|
BLAKE2b-256 | 92a9f41362f60d788e4d0a40d50604eceb04692b15e2d092f46fb772084db63d |
Close
Hashes for srctools-2.4.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf43febd3d7dd98cbc37b906b65c0e65a029f7bab27dc9c6a221096296f12969 |
|
MD5 | 4cad632d38aa08a001ba8c234aacc94b |
|
BLAKE2b-256 | 68f4b4909fff510de132773dfb995081e4e9c1b926abda940965160da6c12c53 |
Close
Hashes for srctools-2.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 975cb323ad9484022f100841643ece455935c0b05afc5ef4c16bf3284ba72729 |
|
MD5 | c64dd84f15062b5b2491c2e7d24aa6fd |
|
BLAKE2b-256 | 82a5d697e7317b12ab4b6b269c238decdc54952ad7259260f0b83c9e7bdc876f |
Close
Hashes for srctools-2.4.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36e6ec371d00e285259364d39c8c640ee63885b97aa6171a570abfb1a93bfdb3 |
|
MD5 | cc000e6dff5bca9c54c6df09cd2fa57b |
|
BLAKE2b-256 | 33a3761f00313698f30a16ecb08e8e41349dfe0f23be0ce2a42bcc3ebec6601a |