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.17.tar.gz
(2.2 MB
view hashes)
Built Distributions
Close
Hashes for srctools-2.3.17-pp310-pypy310_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 457981eb55dfc9a6822c74b1f88b43283691f24531a5584c9cfa9360a6a839cb |
|
MD5 | 1bd1699df77fd0af5a2cb0c50c97d6ec |
|
BLAKE2b-256 | e8fd7ce27a630a66516a4036b0c6eff8c77f527475e9f00106652bff8551221b |
Close
Hashes for srctools-2.3.17-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ac71297bba6efcb0e2042c4f003900427e1ef2c4ad28b18da0018342d1ac63f |
|
MD5 | 22b332366d80ad7e120fdf5fa9c7d456 |
|
BLAKE2b-256 | c5cf6d4402fe7523e1dda846c84b83ea84f419c9dc79a185e47cbb816c7abd2e |
Close
Hashes for srctools-2.3.17-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1847b13fdc7c751a9236a2601415044a1cd275f5e06e26ac71a53105cab48724 |
|
MD5 | 460ae54c2d4c32e0a17436fa6a9346a2 |
|
BLAKE2b-256 | 4eaa32fca0049223b3b02ce39094f026aab1680dbc95f557a964979ea0fddeec |
Close
Hashes for srctools-2.3.17-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46308596ba62489b452197832fe8d1095875a99ba7d71da73e6724a6650fa351 |
|
MD5 | 3b51685cba35c620374cd8fddb88bf99 |
|
BLAKE2b-256 | 693a271f9fcaa34c005519b114bb1e202abdb8a8493cef3118f2036bd5492cdc |
Close
Hashes for srctools-2.3.17-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39f0c829fd376eb2ac39e3ff6933065f7f395f02145a523e73e3a77baf20561a |
|
MD5 | 650440e55ebd24f80f2dbd3dcc07376e |
|
BLAKE2b-256 | d406c18c0a629a5fda29305290e28fef9cc0664057113f2ab600a30b9d97ff41 |
Close
Hashes for srctools-2.3.17-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2e8f3a592506c86a02ef3d831050f6c3a860c57d955c32bb368c210c44cb06c |
|
MD5 | b3d420e8e5892ad88bb2b17f897a3510 |
|
BLAKE2b-256 | 10d121bcbb665caca30479601efca1af718899263a9025385b141f0a36bc044d |
Close
Hashes for srctools-2.3.17-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0f02a744755e8b7f3ac712823ce9c39b037da74758b85a3a20c301783c45203 |
|
MD5 | 14493e6638aabe17a70b9454e4c09dec |
|
BLAKE2b-256 | 6c9a7016eb75eecd4501945294ddd69226ed3d5c6b16c9bd93ccc9e9dc0e3432 |
Close
Hashes for srctools-2.3.17-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ceef62ffac4cbb4c3497fb846a9184171d468ea6c8ca14a634eda43c97855c2 |
|
MD5 | 04db875f3a9a55db5fdb8f541dc495e8 |
|
BLAKE2b-256 | b0caa615f865ef6ddcf80513fb79fed9187cb42fa691425f4d2941a8d601d394 |
Close
Hashes for srctools-2.3.17-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99f2bb106d0f0af2385cf4c6fa825fcbf8d7263b10083d5ea40324f5cb424ba2 |
|
MD5 | a4c95041c0ff55373ae769482cf2215d |
|
BLAKE2b-256 | bc390c2ab7b73442a6d0e8990043cf08f6c78bc0b20c43cb1e0ae8f3663c718b |
Close
Hashes for srctools-2.3.17-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c13fb902c553b085cf280dd8998b81e8921a739ff8736537eae1ec3cdb42c05e |
|
MD5 | a70fa447104dfb2ba133d3c7f8ecc197 |
|
BLAKE2b-256 | 521cc6f8f7b79c62b22e72ea4d6c91f0a74669e883feca2d66b46822683606d8 |
Close
Hashes for srctools-2.3.17-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3941456ba5f6f1f00a4d5e0761cf47b8048a4ddbd15589e8027aa462992c07b9 |
|
MD5 | 45bcda5a6ff62f56f11698bd354e5c85 |
|
BLAKE2b-256 | 26c1b70e678646174aa15262e924b244ec862849535d8f26aeb27573bc460118 |
Close
Hashes for srctools-2.3.17-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 891d266b8db7422dea0959f2184d78541d860520087317971c134bc296bce4db |
|
MD5 | fe48283c6b79829f4ce849f4e5f24c12 |
|
BLAKE2b-256 | 25cca7c610a047ec144d22f3e5d3704c815804af53ae446fb4f162107e04783f |
Close
Hashes for srctools-2.3.17-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 371e743710529b528f9c568a3b65ee331fd79573f2a6edf56b8f5a260dc47f9b |
|
MD5 | 9fd002f52dfcf81e263e7421668be9d8 |
|
BLAKE2b-256 | 813e6bea0e76c2340f68e48698f5987536752743219911b47c0149cbbb72d3a5 |
Close
Hashes for srctools-2.3.17-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34f79935b0edba7a115a3cab1fcfe281212ac2a12d267ea4f76d8e4c35392c11 |
|
MD5 | 7fd5639f7b29924ab3c87163ef908f3c |
|
BLAKE2b-256 | 4970af5d9d52c2a62b15bc4434ca186dd392beb93d137d54e5b531f0a3e08d04 |
Close
Hashes for srctools-2.3.17-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33458fe84726dabceb4a93411d0dae73fc799a396df70eb8992d74100998c962 |
|
MD5 | 91b8f8453f54860b7d5bd385edbaacad |
|
BLAKE2b-256 | f3e62815a1c48aedf10a0d70f283337fc5a244f51c058a28dc506462e81756c9 |
Close
Hashes for srctools-2.3.17-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cb95b23ac74f14307f9bcbe9dab09a2acf52115b9857bc7c8f1a3ed4e49feda |
|
MD5 | f82f8502431af5d770770abc706068e3 |
|
BLAKE2b-256 | 05680b9975bcd4a92773823923983aa297232c21975bf9eb6bc5e7fa6ab08872 |
Close
Hashes for srctools-2.3.17-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d9a23092a4a8f528ba5fd68493053dfeccb0bcc25ed3bd2663b7a46983d7ae6 |
|
MD5 | 274571a05f69e04651dffdc6b3bcab68 |
|
BLAKE2b-256 | ae18d46bc06c2220684d7ab45059352b4d68be64ae4e19f2071fd0c479fc6cec |
Close
Hashes for srctools-2.3.17-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c541eebb9ce880a4d34e65ef273264b4c3f58d63718bc8d2f30942b4d01065d |
|
MD5 | 2b55a93110aa2815e8d932b7d5d36c4e |
|
BLAKE2b-256 | 3be10fed3fce4f0f6ccfec56801cb4af0d131aaac10424dd1e63179744b18b58 |
Close
Hashes for srctools-2.3.17-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c01f40ceb2baf6f93c9aed04d212d47ca208b95805c5c2819a60ec01bb4aa30 |
|
MD5 | a90eb788a0933362ba6a601314b07e68 |
|
BLAKE2b-256 | db2fc5a42781aba391a11c5039e05b20fde8fa35c8bcd6bec77a02f8dc4b5c77 |
Close
Hashes for srctools-2.3.17-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0dfdecf6c7c12008823d0a44a1877ad7c0091dfdbb62f4d7e3297c4f7dbd46f |
|
MD5 | 7761adc3db8b333fae9cfce63880617d |
|
BLAKE2b-256 | bb6408b4f9fb9cc3079a088b38adcb7933d2175843bef99b71a4f7b0ef63146f |
Close
Hashes for srctools-2.3.17-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b40d26aa4eae3d9aedea72b40849a4a3feb2744a573c17ae18786a060272d8b |
|
MD5 | fe014ebcfb7965100aa2945d01bcba0e |
|
BLAKE2b-256 | af3cd20dbe266863373cac4ebf5b203efb1930a698b65841816e7908c216c7a4 |
Close
Hashes for srctools-2.3.17-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8741e3b9c03f12e15f33903d7199b1bf0f66f85b0d2b4020d9792fe07b632f9f |
|
MD5 | aa79bcdca9611aad0f280021c5bedcbf |
|
BLAKE2b-256 | 8334e4e957e132401b88771470df331cea10021de82f6df785605004f76ff382 |
Close
Hashes for srctools-2.3.17-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bb6d561715f3cb36376bafa96600bce44daf6877547b08a6a31daff6aa62ca3 |
|
MD5 | 13e1cd3b96bc7f3f6d0ad649061a233c |
|
BLAKE2b-256 | 77fd8976b29667ad44cbc3ea1c55e1ea9447d7994f5e2f48e507d0fa880bf605 |
Close
Hashes for srctools-2.3.17-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4967b6a0213634cd22af7d858ca2a11d078caa8e88ff1070a1ab6095a6ccedc3 |
|
MD5 | 2303e4645562eb7ad983c9defa3db6cf |
|
BLAKE2b-256 | df1369d01e2d7a87e6b3a42896720be8092719a1bec0a586a1209026a6e49b92 |
Close
Hashes for srctools-2.3.17-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb7b44133cee3e52c092512ffe1723ca5bf0eb3cad9ca4ccaba69a8d57c6d308 |
|
MD5 | d3540bc1a2f12f529d1c38ec3629a058 |
|
BLAKE2b-256 | 9ae7539de09dc748161c9848c43604ef66d0dc9e62b3fd78bc210687880fb82c |
Close
Hashes for srctools-2.3.17-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bd8a63b0faa35c3dd987578868a857927f827442bfd82e8b410d45377ded79e |
|
MD5 | 3a01d93f5fd2f12ada4b1b8237c5b6f8 |
|
BLAKE2b-256 | d64f369e7f03a209f7498c472ef19e1b9d24b90478b8e263dccc06f41c7f8ea6 |
Close
Hashes for srctools-2.3.17-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a2503be562faaeab0a0136e07a382e54b0fb39a45ee262974d16fd578d266dc |
|
MD5 | 37512f33efd72b0242a819f8a89fb642 |
|
BLAKE2b-256 | 42d64f7bbd358ef92c323e10ba74a65b66a571ecb0e12dcebe93bd674f656f79 |
Close
Hashes for srctools-2.3.17-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2af4113b13b257c4d4e5a0048280a715d859478032f22dcf76a4c733dfa3fcfc |
|
MD5 | 544914acf0cea17689ca734f79ef273e |
|
BLAKE2b-256 | 6daaf00bce44a5e9f7829f2dfb34d23c1a69a66a4a06c7514821caabe513c966 |
Close
Hashes for srctools-2.3.17-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b687a1ab2418693a64d331d59da4e8b0b14ebfee9feef2ae7d20800d5e08e1c1 |
|
MD5 | eac5549ef570a458a0c5118803f91dc9 |
|
BLAKE2b-256 | 35bdea8638e529c2528d53d862cc5a3cad4aba2942b1ee2542537cf6d1503df7 |
Close
Hashes for srctools-2.3.17-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5cae0f6f8f2ffb3e25bfe646a4bf9b73ac7b49dc11a8ceb2860d7c0020f4fe4 |
|
MD5 | 34d179fba586fe90d8b2daef1d098359 |
|
BLAKE2b-256 | bd8d854bbb777067705463c52c397779c08058757801c0578d064abcda80771a |