Skip to main content

Modules for working with Valve's Source Engine file formats.

Project description

srctools

Documentation Status

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 the logging module allowing str.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: Parses gameinfo.txt files, and handles accessing the searchpaths.
  • instancing: Implements logic for collapsing func_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


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.6.0.tar.gz (2.2 MB view details)

Uploaded Source

Built Distributions

srctools-2.6.0-pp310-pypy310_pp73-win_amd64.whl (882.0 kB view details)

Uploaded PyPyWindows x86-64

srctools-2.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (988.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

srctools-2.6.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (910.1 kB view details)

Uploaded PyPymacOS 10.15+ x86-64

srctools-2.6.0-cp313-cp313-win_amd64.whl (912.3 kB view details)

Uploaded CPython 3.13Windows x86-64

srctools-2.6.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

srctools-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

srctools-2.6.0-cp313-cp313-macosx_10_13_x86_64.whl (961.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

srctools-2.6.0-cp312-cp312-win_amd64.whl (912.9 kB view details)

Uploaded CPython 3.12Windows x86-64

srctools-2.6.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

srctools-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

srctools-2.6.0-cp312-cp312-macosx_10_9_x86_64.whl (959.9 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

srctools-2.6.0-cp311-cp311-win_amd64.whl (907.3 kB view details)

Uploaded CPython 3.11Windows x86-64

srctools-2.6.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

srctools-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

srctools-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl (958.2 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

srctools-2.6.0-cp310-cp310-win_amd64.whl (906.4 kB view details)

Uploaded CPython 3.10Windows x86-64

srctools-2.6.0-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

srctools-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

srctools-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl (951.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

srctools-2.6.0-cp39-cp39-win_amd64.whl (908.3 kB view details)

Uploaded CPython 3.9Windows x86-64

srctools-2.6.0-cp39-cp39-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

srctools-2.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

srctools-2.6.0-cp39-cp39-macosx_10_9_x86_64.whl (952.7 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file srctools-2.6.0.tar.gz.

File metadata

  • Download URL: srctools-2.6.0.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.13

File hashes

Hashes for srctools-2.6.0.tar.gz
Algorithm Hash digest
SHA256 4073d14a0bb78b8e3790b78b7895d5a4f3f486a31bb22e2549c0181ebadf5843
MD5 918429c789ad50f3ffb850d23a94c06d
BLAKE2b-256 ac7264b63ff9cabdd2f54006256f5319dac61c853fa0b4600af26be42ef6f5b8

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 aa57fade4a4b3a66f284df4b46e2fbb543ded3de549da856b8c3b838b79665eb
MD5 3baac17953339bb0df774469c9831bd6
BLAKE2b-256 ba0d567407e43ecbbe490a7873e7f608ee5d0175e004fdf90b0b395c88d3990d

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 878b1b6ba47812e8fc2b460da4ea015ad175d3d166b5738987567c9d5176a64e
MD5 f7a40e95f21edd449de3f34fe246cc46
BLAKE2b-256 ec69b8d77576d5b2f7b0fd4c03059b98548f50b0685b2dab4d35fb81d3743f73

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 419dac615458001591aa11a969a87fbe5c045edc35874d39abec1d9f9f3d957a
MD5 8d4580a394f5c9cb8e528b06439d631b
BLAKE2b-256 8e54babbadefa8cc65aef2bfbedce95024f169f264eb253fe592f7534d785f48

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: srctools-2.6.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 912.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.13

File hashes

Hashes for srctools-2.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2ebe5b369f627567feac9a359c96e068488651e9b5650518690c694544e36518
MD5 2b9d897e3b8d5e54f4ba13832d2bf6ad
BLAKE2b-256 af2d5f04622bec2dc0127b925041f4c8d19463e6b23f03e4b07a5e1641c58fa0

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eb7991f43df0ab504918cb0e0fff8447042e3af99cfbd467820cee34039fe817
MD5 30ed2a41001593be50620a0cdfa2e279
BLAKE2b-256 6390ae09885bded5ef6d6fbb955f6584c17c346fce78c137f2e0ab0f3ef6a92a

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9308d509ebc08a8816d770988f68da27d8958dc108ada86d63655d1100a3cbee
MD5 8300dac6a91d239f0a137567c9a59077
BLAKE2b-256 0d12f95d2b438a128f9ce42cdf68d2cdde08c508830c76861f11eff4f856e9bd

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 1bdafad0f2eacae73c367283ccb34e55e261bf684db71ae826077d56b4d65a75
MD5 0b8fd5df549619126940dfb00fb450e3
BLAKE2b-256 cf5f6769e298183456b29069344629cac1e6eb650e71efe3299d4f99e65129d7

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: srctools-2.6.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 912.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.13

File hashes

Hashes for srctools-2.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 993eab808214df6bb859cf4e503600189a5d34525565f99a1141a2eb39c35047
MD5 ac9db1d2e7221128fb279b3c6e93737a
BLAKE2b-256 92428ac77ebb435ce958b9fe593c0e8c47a9305670377768306cd42d5ab18924

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b889a1228828c1d8961cb9054e22b0f37df65bb36ee335694cb6619e9e8afc22
MD5 e12ba7dbae8cc0118c7268e5ffd9d617
BLAKE2b-256 87be22a454dcb83cb10c821bbf099bcd34f75aa2d75e721dd3aaaceb7678a5b4

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ba11dbf287441babe334b26dc0f0b3fe65bfd18ce5869ed047a78ce8dd84b90
MD5 683da71ff6a2a035d1b3234e54b3c0ec
BLAKE2b-256 9247e8fa5049dce9677cebcd74fed8f6b76f19c86b4967300377897f8fe21205

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 da00f69fdc43053fde2b5926ba7890b1667d1967e3813dcf3cbad5effb8f591f
MD5 28b203b1db132d6e159a2918c1eaa3bf
BLAKE2b-256 3385ea96c2a3d720ea351b7ea48147d2b37f1b2962b132895dd2f861a2894673

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: srctools-2.6.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 907.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.13

File hashes

Hashes for srctools-2.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 66dd1fbbe8e517a248a308ecee21019d43a8a2689d1c60d5321a0681a7d02629
MD5 90c83f3cbfa40cf24eaf9cfecb9f4500
BLAKE2b-256 1969726906c15811b9b573625d5ada146be16c4387c0aea32302e87b5b3a280a

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 618a70b676ef1d0c4c3dd59e90e8151425a47356f2e1565347db8effb7052410
MD5 490d993a051735ddeae83955e6c68f98
BLAKE2b-256 39d4e693e240fc5f5d61215bad200232943d69f236d022587460f508824bb10b

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8c98da18a4f9217cc9b0ce34f2d7f69a75626f48f085f720e729a0918c9ccb53
MD5 96e4beb417973fb7a2ad557ea5fa2ca7
BLAKE2b-256 a38b263c0111787a950973cb5385d9f880fb81b579a8a94ac35004400d8c4b9a

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c9f2efedf2864978b9df2926dd9f5b3b01ef134bd31f69bfd04fe9f1f2495916
MD5 62b43775fd4e55e9f0cadfc501289310
BLAKE2b-256 78f4a205530fdc8b2ed2a80441937d3a99b10707c39502015f0b49f46c16d0fd

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: srctools-2.6.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 906.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.13

File hashes

Hashes for srctools-2.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 afa31acbfaf023cd34498dea74506fb38fc158825ba19951febfe12249beb600
MD5 eed8362357ed37f8ec6979f0a2912c4b
BLAKE2b-256 c28319a7fe44091e7d433ea34dd3b2d01f48212258ad94d5fd2c36a3e9cd1f37

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8147d9f240640f3a4bf336de1b825fe0549178efd967cad99d8a2c862936249e
MD5 f31d67cb0f90bde3c37ca582e1062280
BLAKE2b-256 71544a4f1b7c9651958740f2f39368bbf104d7773962875a4f6a99d602fd80b7

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83f8841e832d8558044d8757f60865329421566fea478367872bcf71a021a4d3
MD5 b56b104e0179ff9a784775ec4d096f6e
BLAKE2b-256 a4d21dc7767f68282ebd0d36cf09d0d776e24a0c8cf877c36c4a1fb1aa75f071

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7e89f9b2085f037b26ef768d1bde4ebd9dd96684c3700f429c63989ba5c2146a
MD5 2502c45936676d75f3e9680b84c1c832
BLAKE2b-256 dc5109dd43e51f779b4ee573b430795ede12176c6f1c99e557f41fdf66bf2e42

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: srctools-2.6.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 908.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.13

File hashes

Hashes for srctools-2.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 21bd219ea88e5aed416004a87d0ed982837905af674cef7ddea2f2a72b66c990
MD5 b7a0e24246d46f00f91fa86e191eb017
BLAKE2b-256 8d16fa1dc498713b1b0ad447f9bf9e12754a1c71c710a2fa913da40a22c6ccc7

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e321577590cf06851aed435b669872aa60731f18b7a7dcea629768cfa985981a
MD5 7c89dbbd6a8ade627d70897884adfa94
BLAKE2b-256 e33a1af60c418e62014e71779d679236659e108bab985036b3a3cd276c92e318

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01386a3fc07a22b6a686bb2327dcc77f427da8b1cd1ae9ad53e2e76078b55d13
MD5 7e45c12f7bcbe6d2eb4cfc8a7d2b1fb5
BLAKE2b-256 f0f9442e1cadb882587b8dc1b8c859c257121b28a0948c4d6a454196f1fb3de8

See more details on using hashes here.

File details

Details for the file srctools-2.6.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for srctools-2.6.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dab55534c2b32e27fdb07c27d9e15a76867a814797137a734080776a94bdb867
MD5 4dacedd6bac70852db00c760205ec338
BLAKE2b-256 562619549c70b48f5ae7989d4b1458a1234f01e6f9e76f995b15250e842b2959

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page