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.3.16.tar.gz
(2.2 MB
view hashes)
Built Distributions
Close
Hashes for srctools-2.3.16-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8e7cf4890246a014579f7b7c6cf348bd2d3569f47f51ef1a3d19ead9c82b1f5 |
|
MD5 | 1dae98342bcd6615bfcd87168aba808c |
|
BLAKE2b-256 | f9f70479558b44f42f8d7adefd5547d5bf3389e4297631a2e5d57ce963bd1e55 |
Close
Hashes for srctools-2.3.16-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82b67e1d2c404015bbc5c163790a0688769119a36a89116642f8038a2a29fa21 |
|
MD5 | 8b394c97fa4694a1ae1b850a183e5fd9 |
|
BLAKE2b-256 | 515783982f3a690130682c97d61793729b7082d797a081619d851f3e0365a5e8 |
Close
Hashes for srctools-2.3.16-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61608af6807ac44b8db4654440517bf18267420fe874a80dcd114e8327fd3d70 |
|
MD5 | 4119714a08111fc83e3cc38ee0c241c6 |
|
BLAKE2b-256 | 885171b0a2c267203263bb3107fb19c6a307f438a6124da68d76ce1d5f2b3ecd |
Close
Hashes for srctools-2.3.16-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5f3a07b73bc05f8d62ae56e5e525300cc0ec860d9b872f98f5ff2aacdd12534 |
|
MD5 | 704b3e33943a61b1fb0205f9c002b04b |
|
BLAKE2b-256 | 32e64b6eba903a673f7968f9be6b93d23eb8796c50267cc2791f6fd9b5103903 |
Close
Hashes for srctools-2.3.16-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2e61ed13b04fa7d60a8586da97887b37d2a558112a6fa69caa06ce332b7565f |
|
MD5 | 1e70effa09f23d593d06752073029834 |
|
BLAKE2b-256 | dc630a3a4941b338dd07dad75006c6b84feb0bca48b34e2471252efc719d26d3 |
Close
Hashes for srctools-2.3.16-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3eaeea691aa1dc0f0bcd0a17b3731e6f03cc31cbc715af9d5833cf358a9fe434 |
|
MD5 | 5a1b7c657831762e0466c9baddba506c |
|
BLAKE2b-256 | 977a76a7a7883278c22b70e242cd203c29cae28f5e80f498a535113b1482aebc |
Close
Hashes for srctools-2.3.16-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd99e9398dbe982d3a9a6a6375ab88546ddcdfc1b93951c290019d9db424fbfc |
|
MD5 | 37d352937de7ebffb6b368c9cb08276d |
|
BLAKE2b-256 | 2dcf67c8347342359d95e1a48e13c57342d5b704c2da80df3dea4669a6e9205f |
Close
Hashes for srctools-2.3.16-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 113e32b95d17f5daf7fb2dce8fde86dda25cb44bd3d6a84ac9a4be603b54f85a |
|
MD5 | 556e79a26cc8441942aab488e7808226 |
|
BLAKE2b-256 | 011cdc29e384c540a71524d1beea036d6a9e48a08db2af39d2686881d835f29d |
Close
Hashes for srctools-2.3.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e40064ecdec5720c36da429eae5c58c4a100ea9cdb70f4791bd916228d8dfbb |
|
MD5 | dabdc57935a08e3a752547a7a28bf8d0 |
|
BLAKE2b-256 | 8994dd8c19fc944a532ed600380c666dc18679da010ef2af65b2dc7ebdc35767 |
Close
Hashes for srctools-2.3.16-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4127fd15d06b9dae1c7ee6dfd5fc44d2b1ef91595876916d1386bcc68f96141 |
|
MD5 | 2769b9e048e27c04a18253947d6ee715 |
|
BLAKE2b-256 | a249a5cf2aff697510fadddf98eb8130e8ff00a306d1800ee27dcb2c577b9294 |
Close
Hashes for srctools-2.3.16-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e371002820cb734de23e280fe00913cceea035e05f28ef85c963648a5a7a634f |
|
MD5 | fdef5f563fe795533654abc6690ce820 |
|
BLAKE2b-256 | 694504b7f05f1ae3f8ba9da525c88c7a5acff0cec589edda863160d42fc9feea |
Close
Hashes for srctools-2.3.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef1ed035b973cc4469f20d68c8b5b82c9a0734747b1ba25ce4389a6afcfcc5ab |
|
MD5 | c2392a9537fea3e3ed02bab673205e49 |
|
BLAKE2b-256 | f8f5b89a13ad03e4fa2b4d991af70bd0860534298444ade26bd779e963ab6cb2 |
Close
Hashes for srctools-2.3.16-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92a8a551aabe1bbb57d139d64a916533c1c264bf6b8e2a31c2b61163fcb94f3b |
|
MD5 | 07c919fa61ca806ed099b28b63a0fdb7 |
|
BLAKE2b-256 | 4ddab2e4f83fc743ab19405b10a5840da4c03396d050b7a1e837fb2a6cede94a |
Close
Hashes for srctools-2.3.16-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | babaa1ea992e557ce36fc94b61f94da1b6d113c0584afb1f14b60c4249187c45 |
|
MD5 | dab411a31fe64a788a3f147527e1f73f |
|
BLAKE2b-256 | b104e77b4f4d7721bb203e98275b2f89c82e0602f5f748652294c961b0898207 |
Close
Hashes for srctools-2.3.16-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37f5c923493b9bbde1b55f6cc00ee7ae2c86665276ea1f93ff8a44775c04e407 |
|
MD5 | 4537e43e5310a417df3aac7c00c9da5d |
|
BLAKE2b-256 | 52155fc09a7374f3b5a2751304c9942c0a8e1a64af8f1b9392dc7a53bb7916bd |
Close
Hashes for srctools-2.3.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6497aff5bfeee264c5f0541623359fbcc4cedad558d8076fc29efdcc2f505c81 |
|
MD5 | dbe10a1fd7443c676a2b2b53f9c31261 |
|
BLAKE2b-256 | 72cb899b4dd4a7a22dfecdcd92425b4e405362eea4eb48759dee1ce2d63ed93e |
Close
Hashes for srctools-2.3.16-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 861cef9308fd97b5fbbbda352bedd28022022da564a89c83df921f8c2791c73f |
|
MD5 | 9613fb84231adcbd9f75c32512d53784 |
|
BLAKE2b-256 | 6fff053e692cc6445b2812ca73e7bb15e7efca7047e8a7d658657af68b0e6b8c |
Close
Hashes for srctools-2.3.16-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d472f525c6349a3137bd277a1fea0cccbcc2a5457d2ee596327ca3d5a386b64 |
|
MD5 | 52adf5c4dc97ff5ef1bc8912d2c72e55 |
|
BLAKE2b-256 | eca5b70a528a7a8eb43a4bfa9e7c8571a2e9127fd6a8aab180c77f3d40b9e1f5 |
Close
Hashes for srctools-2.3.16-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c720cc58a6740c34b36088e02f58591fc6429026697300108322cb3ff1fc9673 |
|
MD5 | c5233969d66e71516a88d4ae3e83e410 |
|
BLAKE2b-256 | 7b4dbf323ef630be137da5d87fc854802185b883a4cc5dd188a00089b059feb6 |
Close
Hashes for srctools-2.3.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba270dc855022dd9a4d28d4d7ee12a1914151b287e439c8eabe43f3ba8186490 |
|
MD5 | 175a6be9457099ffc916fee0e65277c6 |
|
BLAKE2b-256 | ef7e8c031e008b90a4be844c1de8c4f7b27430aabc1486a1565a17d4a5d2b204 |
Close
Hashes for srctools-2.3.16-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32743a437a562dbdd86026c24994534ba3846c9a3c6d00e8500b3c557f7c34be |
|
MD5 | d53a45532b780615f0ea93c13ab22802 |
|
BLAKE2b-256 | ee604b2801d401fa4dfa62e5d1512409f4a5cd6c19f8eebde4327dcd55d24f3f |
Close
Hashes for srctools-2.3.16-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 408b81272927ab865e669d75536f5635fd8e6ed6878f956c892723b1710aed97 |
|
MD5 | 07c9092963fb595d536e149d4cb5e253 |
|
BLAKE2b-256 | b76540368808b564f98311875fa60cd9bdf10b39a1a17fc0898659a9b43035ff |
Close
Hashes for srctools-2.3.16-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7e7a046707c36d0dcaa6c08303925540dfe9dabfd4de48ceb5dbb260420e261 |
|
MD5 | d0234ac9e936e9137d56264144ef298d |
|
BLAKE2b-256 | 7f59c228f4a59e8f1e2f0c96c846c37534ba2be224d7073974b4ac853fec1c2b |
Close
Hashes for srctools-2.3.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e55505458c5ad499c03824400777ed7f8bbee25df91f6ba5681b8be976c1561 |
|
MD5 | 90b5c36ee769469e0bf94d8ad060e924 |
|
BLAKE2b-256 | 6931d7e5c1bef173b306fe5e45fa21c890e6de8329be302d6234c61bdc2d0cfb |
Close
Hashes for srctools-2.3.16-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2dd4b14c8048d3ee8994f4757203bda118d040635abf5d1b272c1f01fb869e2 |
|
MD5 | 102b3d4e01b2b721f9704d658289af41 |
|
BLAKE2b-256 | 719de6c0cf7f3b703f87a55abc5d974cde806bfe2a7199f73a3e6a667bbe2538 |
Close
Hashes for srctools-2.3.16-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb19eb0a4b5b311bdf330fb9dec677c55e9110268f948517eae6e09b732f93a |
|
MD5 | df9cdf3c9a416e44fe0317cf32ff3a4c |
|
BLAKE2b-256 | 1a26cc82d37467bf360348497a71d37562aa02dc991bb07566e593ffb505e7ba |
Close
Hashes for srctools-2.3.16-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d00fd534d06dae0f17057eafd7c21653c4ac85e320f2b1c2aa361a235a381aa6 |
|
MD5 | 88eae7544c547d4da3f128867b499709 |
|
BLAKE2b-256 | bac6193aef5c8dad2675d3ac4235f3025e581a4decc184667882348e92c7c31e |
Close
Hashes for srctools-2.3.16-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc2d6c6a488cdadb05ac812c501c0ba98a72c60f4d420d27e66de14706c2c882 |
|
MD5 | 5c76538c4d74b29fe17693847be0185d |
|
BLAKE2b-256 | 5440cc5da69273ca8c9c3828870a1a9038f656376f807a904b08399a4ff6d662 |
Close
Hashes for srctools-2.3.16-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15ffca563d618b319abd221e823507295ec67af1c78d91135efdf296d6353283 |
|
MD5 | 4e7e64f9eb0ff1dcb98f87220e61bf7b |
|
BLAKE2b-256 | af5231831aae7e695ecda08862579b1389c3d4854e0adfc6259a23add7dc3824 |
Close
Hashes for srctools-2.3.16-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62bdf5d202c7a470f949afe1919534ac88eff77b87847c73554153459db1eed2 |
|
MD5 | b56e03914daad6e06e4a8cae396250eb |
|
BLAKE2b-256 | 3a9b3111fcc5e9f8492ca9584c38abe895b8da4dfcfdbd29067b27babb911cfe |