[{"data":1,"prerenderedAt":1333},["ShallowReactive",2],{"navigation":3,"\u002Fapi\u002Fpython\u002Fptwm":864,"\u002Fapi\u002Fpython\u002Fptwm-surround":1328},[4,8,168,206,852,856,860],{"title":5,"path":6,"stem":7},"Quickstart","\u002Fquickstart","01.quickstart",{"title":9,"path":10,"stem":11,"children":12},"Concepts","\u002Fconcepts","20.concepts",[13,15,19,23,84,88,92,96,100],{"title":9,"path":10,"stem":14},"20.concepts\u002Findex",{"title":16,"path":17,"stem":18},"Preprocessing Graph","\u002Fconcepts\u002Fppg","20.concepts\u002F2.ppg",{"title":20,"path":21,"stem":22},"Plane decomposition","\u002Fconcepts\u002Fplanes","20.concepts\u002F3.planes",{"title":24,"path":25,"stem":26,"children":27},"Codecs","\u002Fconcepts\u002Fcodecs","20.concepts\u002F4.codecs",[28,32,36,40,44,48,52,56,60,64,68,72,76,80],{"title":29,"path":30,"stem":31},"Arithmetic","\u002Fconcepts\u002Fcodecs\u002Farithmetic","20.concepts\u002Fcodecs\u002Farithmetic",{"title":33,"path":34,"stem":35},"Context Mixing Lite","\u002Fconcepts\u002Fcodecs\u002Fcontext-mixing-lite","20.concepts\u002Fcodecs\u002Fcontext-mixing-lite",{"title":37,"path":38,"stem":39},"FPC","\u002Fconcepts\u002Fcodecs\u002Ffpc","20.concepts\u002Fcodecs\u002Ffpc",{"title":41,"path":42,"stem":43},"Huffman LLM 5-Bit","\u002Fconcepts\u002Fcodecs\u002Fhuff-llm","20.concepts\u002Fcodecs\u002Fhuff-llm",{"title":45,"path":46,"stem":47},"Huffman","\u002Fconcepts\u002Fcodecs\u002Fhuffman","20.concepts\u002Fcodecs\u002Fhuffman",{"title":49,"path":50,"stem":51},"Identity","\u002Fconcepts\u002Fcodecs\u002Fidentity","20.concepts\u002Fcodecs\u002Fidentity",{"title":53,"path":54,"stem":55},"Neural Predictor","\u002Fconcepts\u002Fcodecs\u002Fneural-predictor","20.concepts\u002Fcodecs\u002Fneural-predictor",{"title":57,"path":58,"stem":59},"Order-1 Arithmetic","\u002Fconcepts\u002Fcodecs\u002Forder1-arithmetic","20.concepts\u002Fcodecs\u002Forder1-arithmetic",{"title":61,"path":62,"stem":63},"Order-1 Scale AC","\u002Fconcepts\u002Fcodecs\u002Forder1-scale-ac","20.concepts\u002Fcodecs\u002Forder1-scale-ac",{"title":65,"path":66,"stem":67},"Per-Group Codebook","\u002Fconcepts\u002Fcodecs\u002Fper-group-codebook","20.concepts\u002Fcodecs\u002Fper-group-codebook",{"title":69,"path":70,"stem":71},"rANS","\u002Fconcepts\u002Fcodecs\u002Frans","20.concepts\u002Fcodecs\u002Frans",{"title":73,"path":74,"stem":75},"tANS","\u002Fconcepts\u002Fcodecs\u002Ftans","20.concepts\u002Fcodecs\u002Ftans",{"title":77,"path":78,"stem":79},"Zstd","\u002Fconcepts\u002Fcodecs\u002Fzstd","20.concepts\u002Fcodecs\u002Fzstd",{"title":81,"path":82,"stem":83},"Zstd Dictionary","\u002Fconcepts\u002Fcodecs\u002Fzstd-dict","20.concepts\u002Fcodecs\u002Fzstd-dict",{"title":85,"path":86,"stem":87},"Container format","\u002Fconcepts\u002Fcontainer","20.concepts\u002F5.container",{"title":89,"path":90,"stem":91},"Delta compression","\u002Fconcepts\u002Fdelta","20.concepts\u002F6.delta",{"title":93,"path":94,"stem":95},"Extensibility","\u002Fconcepts\u002Fextensibility","20.concepts\u002F7.extensibility",{"title":24,"path":25,"stem":97,"children":98},"20.concepts\u002Fcodecs\u002Findex",[99],{"title":24,"path":25,"stem":97},{"title":101,"path":102,"stem":103,"children":104},"Transforms","\u002Fconcepts\u002Ftransforms","20.concepts\u002Ftransforms\u002Findex",[105,106,110,114,118,122,126,130,134,140,144,148,152,156,160,164],{"title":101,"path":102,"stem":103},{"title":107,"path":108,"stem":109},"Alpha-Stable Normalize","\u002Fconcepts\u002Ftransforms\u002Falpha-stable-normalize","20.concepts\u002Ftransforms\u002Falpha-stable-normalize",{"title":111,"path":112,"stem":113},"Bit Reorder","\u002Fconcepts\u002Ftransforms\u002Fbit-reorder","20.concepts\u002Ftransforms\u002Fbit-reorder",{"title":115,"path":116,"stem":117},"Block Microscaling Repack","\u002Fconcepts\u002Ftransforms\u002Fblock-microscaling-repack","20.concepts\u002Ftransforms\u002Fblock-microscaling-repack",{"title":119,"path":120,"stem":121},"Burrows-Wheeler","\u002Fconcepts\u002Ftransforms\u002Fburrows-wheeler","20.concepts\u002Ftransforms\u002Fburrows-wheeler",{"title":123,"path":124,"stem":125},"Byte Split & Nibble Split","\u002Fconcepts\u002Ftransforms\u002Fbyte-split","20.concepts\u002Ftransforms\u002Fbyte-split",{"title":127,"path":128,"stem":129},"Concat","\u002Fconcepts\u002Ftransforms\u002Fconcat","20.concepts\u002Ftransforms\u002Fconcat",{"title":131,"path":132,"stem":133},"Delta","\u002Fconcepts\u002Ftransforms\u002Fdelta","20.concepts\u002Ftransforms\u002Fdelta",{"title":135,"path":136,"stem":137,"children":138},"Index Bitwidth Pack","\u002Fconcepts\u002Ftransforms\u002Findex-bitwidth-pack","20.concepts\u002Ftransforms\u002Findex-bitwidth-pack",[139],{"title":135,"path":136,"stem":137},{"title":141,"path":142,"stem":143},"IntDelta","\u002Fconcepts\u002Ftransforms\u002Fint-delta","20.concepts\u002Ftransforms\u002Fint-delta",{"title":145,"path":146,"stem":147},"Mantissa Zero Strip","\u002Fconcepts\u002Ftransforms\u002Fmantissa-zero-strip","20.concepts\u002Ftransforms\u002Fmantissa-zero-strip",{"title":149,"path":150,"stem":151},"Move to Front","\u002Fconcepts\u002Ftransforms\u002Fmove-to-front","20.concepts\u002Ftransforms\u002Fmove-to-front",{"title":153,"path":154,"stem":155},"MxFp4 Deinterleave","\u002Fconcepts\u002Ftransforms\u002Fmxfp4-deinterleave","20.concepts\u002Ftransforms\u002Fmxfp4-deinterleave",{"title":157,"path":158,"stem":159},"Predictor XOR","\u002Fconcepts\u002Ftransforms\u002Fpredictor-xor","20.concepts\u002Ftransforms\u002Fpredictor-xor",{"title":161,"path":162,"stem":163},"Reshape","\u002Fconcepts\u002Ftransforms\u002Freshape","20.concepts\u002Ftransforms\u002Freshape",{"title":165,"path":166,"stem":167},"Spherical Normalize","\u002Fconcepts\u002Ftransforms\u002Fspherical-normalize","20.concepts\u002Ftransforms\u002Fspherical-normalize",{"title":169,"path":170,"stem":171,"children":172},"Guides","\u002Fguides","30.guides\u002F00.index",[173,174,178,182,186,190,194,198,202],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177},"CLI usage","\u002Fguides\u002Fcli","30.guides\u002F01.cli",{"title":179,"path":180,"stem":181},"Python API","\u002Fguides\u002Fpython-api","30.guides\u002F02.python-api",{"title":183,"path":184,"stem":185},"Writing your first extension","\u002Fguides\u002Fextension-authoring","30.guides\u002F03.extension-authoring",{"title":187,"path":188,"stem":189},"Trust and security","\u002Fguides\u002Ftrust-and-security","30.guides\u002F04.trust-and-security",{"title":191,"path":192,"stem":193},"Random access","\u002Fguides\u002Frandom-access","30.guides\u002F10.random-access",{"title":195,"path":196,"stem":197},"Tuning","\u002Fguides\u002Ftuning","30.guides\u002F11.tuning",{"title":199,"path":200,"stem":201},"Safetensors","\u002Fguides\u002Fsafetensors","30.guides\u002F50.safetensors",{"title":203,"path":204,"stem":205},"Transformers","\u002Fguides\u002Ftransformers","30.guides\u002F51.transformers",{"title":207,"path":208,"stem":209,"children":210},"API reference","\u002Fapi","40.api",[211,330],{"title":179,"path":212,"stem":213,"children":214},"\u002Fapi\u002Fpython","api\u002Fpython\u002Findex",[215,216],{"title":179,"path":212,"stem":213},{"title":217,"path":218,"stem":219,"children":220},"ptwm","\u002Fapi\u002Fpython\u002Fptwm","api\u002Fpython\u002Fptwm",[221,225,229,270,274,278,282,286,307,311,315,319,323,327],{"title":222,"path":223,"stem":224},"ablation","\u002Fapi\u002Fpython\u002Fptwm\u002Fablation","api\u002Fpython\u002Fptwm\u002Fablation",{"title":226,"path":227,"stem":228},"classify","\u002Fapi\u002Fpython\u002Fptwm\u002Fclassify","api\u002Fpython\u002Fptwm\u002Fclassify",{"title":230,"path":231,"stem":232,"children":233},"cli","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli","api\u002Fpython\u002Fptwm\u002Fcli",[234,238,242,246,250,254,258,262,266],{"title":235,"path":236,"stem":237},"bench","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fbench","api\u002Fpython\u002Fptwm\u002Fcli\u002Fbench",{"title":239,"path":240,"stem":241},"chains","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fchains","api\u002Fpython\u002Fptwm\u002Fcli\u002Fchains",{"title":243,"path":244,"stem":245},"compress","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fcompress","api\u002Fpython\u002Fptwm\u002Fcli\u002Fcompress",{"title":247,"path":248,"stem":249},"decompress","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fdecompress","api\u002Fpython\u002Fptwm\u002Fcli\u002Fdecompress",{"title":251,"path":252,"stem":253},"ext","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fext","api\u002Fpython\u002Fptwm\u002Fcli\u002Fext",{"title":255,"path":256,"stem":257},"main","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fmain","api\u002Fpython\u002Fptwm\u002Fcli\u002Fmain",{"title":259,"path":260,"stem":261},"policy","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Fpolicy","api\u002Fpython\u002Fptwm\u002Fcli\u002Fpolicy",{"title":263,"path":264,"stem":265},"trust","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Ftrust","api\u002Fpython\u002Fptwm\u002Fcli\u002Ftrust",{"title":267,"path":268,"stem":269},"utils","\u002Fapi\u002Fpython\u002Fptwm\u002Fcli\u002Futils","api\u002Fpython\u002Fptwm\u002Fcli\u002Futils",{"title":271,"path":272,"stem":273},"codecs","\u002Fapi\u002Fpython\u002Fptwm\u002Fcodecs","api\u002Fpython\u002Fptwm\u002Fcodecs",{"title":275,"path":276,"stem":277},"core","\u002Fapi\u002Fpython\u002Fptwm\u002Fcore","api\u002Fpython\u002Fptwm\u002Fcore",{"title":279,"path":280,"stem":281},"delta","\u002Fapi\u002Fpython\u002Fptwm\u002Fdelta","api\u002Fpython\u002Fptwm\u002Fdelta",{"title":283,"path":284,"stem":285},"entropy","\u002Fapi\u002Fpython\u002Fptwm\u002Fentropy","api\u002Fpython\u002Fptwm\u002Fentropy",{"title":287,"path":288,"stem":289,"children":290},"ext_tooling","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling","api\u002Fpython\u002Fptwm\u002Fext_tooling",[291,295,299,303],{"title":292,"path":293,"stem":294},"build","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fbuild","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fbuild",{"title":296,"path":297,"stem":298},"init","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Finit","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Finit",{"title":300,"path":301,"stem":302},"pack","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fpack","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fpack",{"title":304,"path":305,"stem":306},"sign","\u002Fapi\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fsign","api\u002Fpython\u002Fptwm\u002Fext_tooling\u002Fsign",{"title":308,"path":309,"stem":310},"integrations","\u002Fapi\u002Fpython\u002Fptwm\u002Fintegrations","api\u002Fpython\u002Fptwm\u002Fintegrations",{"title":312,"path":313,"stem":314},"preprocessing","\u002Fapi\u002Fpython\u002Fptwm\u002Fpreprocessing","api\u002Fpython\u002Fptwm\u002Fpreprocessing",{"title":316,"path":317,"stem":318},"random_access","\u002Fapi\u002Fpython\u002Fptwm\u002Frandom_access","api\u002Fpython\u002Fptwm\u002Frandom_access",{"title":320,"path":321,"stem":322},"sharding","\u002Fapi\u002Fpython\u002Fptwm\u002Fsharding","api\u002Fpython\u002Fptwm\u002Fsharding",{"title":324,"path":325,"stem":326},"stores","\u002Fapi\u002Fpython\u002Fptwm\u002Fstores","api\u002Fpython\u002Fptwm\u002Fstores",{"title":267,"path":328,"stem":329},"\u002Fapi\u002Fpython\u002Fptwm\u002Futils","api\u002Fpython\u002Fptwm\u002Futils",{"title":331,"path":332,"stem":333,"children":334},"Rust API","\u002Fapi\u002Frust","api\u002Frust\u002Findex",[335,336],{"title":331,"path":332,"stem":333},{"title":337,"path":338,"stem":339,"children":340},"ptwm_core","\u002Fapi\u002Frust\u002Fptwm_core","api\u002Frust\u002Fptwm_core",[341,366,370,374,434,438,442,445,449,452,456,518,522,565,569,598,602,608,633,637,641,645,665,669,673,677,681,702,706,714,811,835],{"title":342,"path":343,"stem":344,"children":345},"chain","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain","api\u002Frust\u002Fptwm_core\u002Fchain",[346,350,354,358,362],{"title":347,"path":348,"stem":349},"dispatch","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fdispatch","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fdispatch",{"title":351,"path":352,"stem":353},"graph","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fgraph","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fgraph",{"title":355,"path":356,"stem":357},"runtime","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fruntime","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fruntime",{"title":359,"path":360,"stem":361},"validate","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fvalidate","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fvalidate",{"title":363,"path":364,"stem":365},"wire","\u002Fapi\u002Frust\u002Fptwm_core\u002Fchain\u002Fwire","api\u002Frust\u002Fptwm_core\u002Fchain\u002Fwire",{"title":367,"path":368,"stem":369},"codec","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodec","api\u002Frust\u002Fptwm_core\u002Fcodec",{"title":371,"path":372,"stem":373},"codec_tagged","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodec_tagged","api\u002Frust\u002Fptwm_core\u002Fcodec_tagged",{"title":271,"path":375,"stem":376,"children":377},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs","api\u002Frust\u002Fptwm_core\u002Fcodecs",[378,382,386,390,394,398,402,406,410,414,418,422,426,430],{"title":379,"path":380,"stem":381},"arithmetic","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Farithmetic","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Farithmetic",{"title":383,"path":384,"stem":385},"context_mixing","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fcontext_mixing","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fcontext_mixing",{"title":387,"path":388,"stem":389},"fpc","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ffpc","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ffpc",{"title":391,"path":392,"stem":393},"huff_llm","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuff_llm","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuff_llm",{"title":395,"path":396,"stem":397},"huffman","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuffman","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fhuffman",{"title":399,"path":400,"stem":401},"identity","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fidentity","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fidentity",{"title":403,"path":404,"stem":405},"neural_predictor","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fneural_predictor","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fneural_predictor",{"title":407,"path":408,"stem":409},"order1_arithmetic","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_arithmetic","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_arithmetic",{"title":411,"path":412,"stem":413},"order1_scale_ac","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_scale_ac","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Forder1_scale_ac",{"title":415,"path":416,"stem":417},"per_group_codebook","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fper_group_codebook","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fper_group_codebook",{"title":419,"path":420,"stem":421},"rans","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Frans","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Frans",{"title":423,"path":424,"stem":425},"tans","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ftans","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Ftans",{"title":427,"path":428,"stem":429},"zstd","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd",{"title":431,"path":432,"stem":433},"zstd_dict","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd_dict","api\u002Frust\u002Fptwm_core\u002Fcodecs\u002Fzstd_dict",{"title":435,"path":436,"stem":437},"compressor","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcompressor","api\u002Frust\u002Fptwm_core\u002Fcompressor",{"title":439,"path":440,"stem":441},"container","\u002Fapi\u002Frust\u002Fptwm_core\u002Fcontainer","api\u002Frust\u002Fptwm_core\u002Fcontainer",{"title":279,"path":443,"stem":444},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fdelta","api\u002Frust\u002Fptwm_core\u002Fdelta",{"title":446,"path":447,"stem":448},"discovery","\u002Fapi\u002Frust\u002Fptwm_core\u002Fdiscovery","api\u002Frust\u002Fptwm_core\u002Fdiscovery",{"title":347,"path":450,"stem":451},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fdispatch","api\u002Frust\u002Fptwm_core\u002Fdispatch",{"title":453,"path":454,"stem":455},"dtype","\u002Fapi\u002Frust\u002Fptwm_core\u002Fdtype","api\u002Frust\u002Fptwm_core\u002Fdtype",{"title":283,"path":457,"stem":458,"children":459},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy","api\u002Frust\u002Fptwm_core\u002Fentropy",[460,468,487,490,493,504,508,511,515],{"title":379,"path":461,"stem":462,"children":463},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic",[464],{"title":465,"path":466,"stem":467},"model","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic\u002Fmodel","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Farithmetic\u002Fmodel",{"title":383,"path":469,"stem":470,"children":471},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing",[472,476,480,483],{"title":473,"path":474,"stem":475},"coder","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fcoder","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fcoder",{"title":477,"path":478,"stem":479},"mixer","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmixer","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmixer",{"title":465,"path":481,"stem":482},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmodel","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fmodel",{"title":484,"path":485,"stem":486},"squash","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fsquash","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fcontext_mixing\u002Fsquash",{"title":391,"path":488,"stem":489},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuff_llm","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuff_llm",{"title":395,"path":491,"stem":492},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuffman","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fhuffman",{"title":403,"path":494,"stem":495,"children":496},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor",[497,500],{"title":473,"path":498,"stem":499},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fcoder","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fcoder",{"title":501,"path":502,"stem":503},"net","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fnet","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fneural_predictor\u002Fnet",{"title":505,"path":506,"stem":507},"outcome","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Foutcome","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Foutcome",{"title":419,"path":509,"stem":510},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Frans","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Frans",{"title":512,"path":513,"stem":514},"stream_frame","\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Fstream_frame","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Fstream_frame",{"title":423,"path":516,"stem":517},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fentropy\u002Ftans","api\u002Frust\u002Fptwm_core\u002Fentropy\u002Ftans",{"title":519,"path":520,"stem":521},"error","\u002Fapi\u002Frust\u002Fptwm_core\u002Ferror","api\u002Frust\u002Fptwm_core\u002Ferror",{"title":523,"path":524,"stem":525,"children":526},"extension","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension","api\u002Frust\u002Fptwm_core\u002Fextension",[527,531,535,539,542,545,549,553,557,561],{"title":528,"path":529,"stem":530},"builder","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuilder","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuilder",{"title":532,"path":533,"stem":534},"builtins","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuiltins","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fbuiltins",{"title":536,"path":537,"stem":538},"capability","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fcapability","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fcapability",{"title":347,"path":540,"stem":541},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fdispatch","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fdispatch",{"title":519,"path":543,"stem":544},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Ferror","api\u002Frust\u002Fptwm_core\u002Fextension\u002Ferror",{"title":546,"path":547,"stem":548},"id","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fid","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fid",{"title":550,"path":551,"stem":552},"kind","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fkind","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fkind",{"title":554,"path":555,"stem":556},"lifecycle","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Flifecycle","api\u002Frust\u002Fptwm_core\u002Fextension\u002Flifecycle",{"title":558,"path":559,"stem":560},"manifest","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Fmanifest","api\u002Frust\u002Fptwm_core\u002Fextension\u002Fmanifest",{"title":562,"path":563,"stem":564},"table","\u002Fapi\u002Frust\u002Fptwm_core\u002Fextension\u002Ftable","api\u002Frust\u002Fptwm_core\u002Fextension\u002Ftable",{"title":566,"path":567,"stem":568},"fit","\u002Fapi\u002Frust\u002Fptwm_core\u002Ffit","api\u002Frust\u002Fptwm_core\u002Ffit",{"title":570,"path":571,"stem":572,"children":573},"flavor","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor","api\u002Frust\u002Fptwm_core\u002Fflavor",[574,578,582,586,590,594],{"title":575,"path":576,"stem":577},"abi","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fabi","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fabi",{"title":579,"path":580,"stem":581},"host","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fhost","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fhost",{"title":583,"path":584,"stem":585},"native","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fnative","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fnative",{"title":587,"path":588,"stem":589},"router","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Frouter","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Frouter",{"title":591,"path":592,"stem":593},"third_party","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fthird_party","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fthird_party",{"title":595,"path":596,"stem":597},"wasm","\u002Fapi\u002Frust\u002Fptwm_core\u002Fflavor\u002Fwasm","api\u002Frust\u002Fptwm_core\u002Fflavor\u002Fwasm",{"title":599,"path":600,"stem":601},"header","\u002Fapi\u002Frust\u002Fptwm_core\u002Fheader","api\u002Frust\u002Fptwm_core\u002Fheader",{"title":603,"path":604,"stem":605,"children":606},"index","\u002Fapi\u002Frust\u002Fptwm_core\u002Findex_module","api\u002Frust\u002Fptwm_core\u002Findex_module",[607],{"title":603,"path":604,"stem":605},{"title":609,"path":610,"stem":611,"children":612},"install","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall","api\u002Frust\u002Fptwm_core\u002Finstall",[613,617,621,625,629],{"title":614,"path":615,"stem":616},"git","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Fgit","api\u002Frust\u002Fptwm_core\u002Finstall\u002Fgit",{"title":618,"path":619,"stem":620},"https","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Fhttps","api\u002Frust\u002Fptwm_core\u002Finstall\u002Fhttps",{"title":622,"path":623,"stem":624},"local","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Flocal","api\u002Frust\u002Fptwm_core\u002Finstall\u002Flocal",{"title":626,"path":627,"stem":628},"oci","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Foci","api\u002Frust\u002Fptwm_core\u002Finstall\u002Foci",{"title":630,"path":631,"stem":632},"pip","\u002Fapi\u002Frust\u002Fptwm_core\u002Finstall\u002Fpip","api\u002Frust\u002Fptwm_core\u002Finstall\u002Fpip",{"title":634,"path":635,"stem":636},"layout","\u002Fapi\u002Frust\u002Fptwm_core\u002Flayout","api\u002Frust\u002Fptwm_core\u002Flayout",{"title":638,"path":639,"stem":640},"metadata","\u002Fapi\u002Frust\u002Fptwm_core\u002Fmetadata","api\u002Frust\u002Fptwm_core\u002Fmetadata",{"title":642,"path":643,"stem":644},"plane_record","\u002Fapi\u002Frust\u002Fptwm_core\u002Fplane_record","api\u002Frust\u002Fptwm_core\u002Fplane_record",{"title":259,"path":646,"stem":647,"children":648},"\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy","api\u002Frust\u002Fptwm_core\u002Fpolicy",[649,653,657,661],{"title":650,"path":651,"stem":652},"capability_check","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fcapability_check","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fcapability_check",{"title":654,"path":655,"stem":656},"file","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Ffile","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Ffile",{"title":658,"path":659,"stem":660},"native_deps","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fnative_deps","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fnative_deps",{"title":662,"path":663,"stem":664},"resolve","\u002Fapi\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fresolve","api\u002Frust\u002Fptwm_core\u002Fpolicy\u002Fresolve",{"title":666,"path":667,"stem":668},"prelude","\u002Fapi\u002Frust\u002Fptwm_core\u002Fprelude","api\u002Frust\u002Fptwm_core\u002Fprelude",{"title":670,"path":671,"stem":672},"quantize","\u002Fapi\u002Frust\u002Fptwm_core\u002Fquantize","api\u002Frust\u002Fptwm_core\u002Fquantize",{"title":674,"path":675,"stem":676},"range_coder","\u002Fapi\u002Frust\u002Fptwm_core\u002Frange_coder","api\u002Frust\u002Fptwm_core\u002Frange_coder",{"title":678,"path":679,"stem":680},"select","\u002Fapi\u002Frust\u002Fptwm_core\u002Fselect","api\u002Frust\u002Fptwm_core\u002Fselect",{"title":682,"path":683,"stem":684,"children":685},"split","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit","api\u002Frust\u002Fptwm_core\u002Fsplit",[686,690,694,698],{"title":687,"path":688,"stem":689},"dtype16","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype16","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype16",{"title":691,"path":692,"stem":693},"dtype32","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype32","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype32",{"title":695,"path":696,"stem":697},"dtype64","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype64","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype64",{"title":699,"path":700,"stem":701},"dtype8","\u002Fapi\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype8","api\u002Frust\u002Fptwm_core\u002Fsplit\u002Fdtype8",{"title":703,"path":704,"stem":705},"tensor_record","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftensor_record","api\u002Frust\u002Fptwm_core\u002Ftensor_record",{"title":707,"path":708,"stem":709,"children":710},"transcode","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftranscode","api\u002Frust\u002Fptwm_core\u002Ftranscode",[711],{"title":558,"path":712,"stem":713},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftranscode\u002Fmanifest","api\u002Frust\u002Fptwm_core\u002Ftranscode\u002Fmanifest",{"title":715,"path":716,"stem":717,"children":718},"transforms","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms","api\u002Frust\u002Fptwm_core\u002Ftransforms",[719,723,727,731,735,739,743,747,751,754,757,761,767,771,775,779,783,787,791,795,799,803,807],{"title":720,"path":721,"stem":722},"alpha_stable_normalize","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Falpha_stable_normalize","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Falpha_stable_normalize",{"title":724,"path":725,"stem":726},"bit_reorder_fp8","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_fp8","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_fp8",{"title":728,"path":729,"stem":730},"bit_reorder_ieee","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_ieee","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbit_reorder_ieee",{"title":732,"path":733,"stem":734},"block_microscaling_repack","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fblock_microscaling_repack","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fblock_microscaling_repack",{"title":736,"path":737,"stem":738},"burrows_wheeler","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fburrows_wheeler","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fburrows_wheeler",{"title":740,"path":741,"stem":742},"byte_passthrough","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_passthrough","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_passthrough",{"title":744,"path":745,"stem":746},"byte_split","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_split","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fbyte_split",{"title":748,"path":749,"stem":750},"concat","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fconcat","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fconcat",{"title":279,"path":752,"stem":753},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fdelta","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fdelta",{"title":283,"path":755,"stem":756},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fentropy","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fentropy",{"title":758,"path":759,"stem":760},"fusion","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Ffusion","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Ffusion",{"title":762,"path":763,"stem":764,"children":765},"index_pack","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Findex_pack","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Findex_pack",[766],{"title":762,"path":763,"stem":764},{"title":768,"path":769,"stem":770},"int_delta","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fint_delta","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fint_delta",{"title":772,"path":773,"stem":774},"mantissa_zero","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmantissa_zero","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmantissa_zero",{"title":776,"path":777,"stem":778},"move_to_front","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmove_to_front","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmove_to_front",{"title":780,"path":781,"stem":782},"mxfp4_deinterleave","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmxfp4_deinterleave","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fmxfp4_deinterleave",{"title":784,"path":785,"stem":786},"nibble_split","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fnibble_split","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fnibble_split",{"title":788,"path":789,"stem":790},"op","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fop","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fop",{"title":792,"path":793,"stem":794},"predictor_xor","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fpredictor_xor","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fpredictor_xor",{"title":796,"path":797,"stem":798},"reshape","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Freshape","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Freshape",{"title":800,"path":801,"stem":802},"source","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fsource","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fsource",{"title":804,"path":805,"stem":806},"spherical_normalize","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fspherical_normalize","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fspherical_normalize",{"title":808,"path":809,"stem":810},"terminal","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fterminal","api\u002Frust\u002Fptwm_core\u002Ftransforms\u002Fterminal",{"title":263,"path":812,"stem":813,"children":814},"\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust","api\u002Frust\u002Fptwm_core\u002Ftrust",[815,819,823,827,831],{"title":816,"path":817,"stem":818},"bundled","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fbundled","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fbundled",{"title":820,"path":821,"stem":822},"keyring","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fkeyring","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fkeyring",{"title":824,"path":825,"stem":826},"org","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Forg","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Forg",{"title":828,"path":829,"stem":830},"signature","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fsignature","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fsignature",{"title":832,"path":833,"stem":834},"verifier","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftrust\u002Fverifier","api\u002Frust\u002Fptwm_core\u002Ftrust\u002Fverifier",{"title":836,"path":837,"stem":838,"children":839},"types","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes","api\u002Frust\u002Fptwm_core\u002Ftypes",[840,844,848],{"title":841,"path":842,"stem":843},"descriptor","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes\u002Fdescriptor","api\u002Frust\u002Fptwm_core\u002Ftypes\u002Fdescriptor",{"title":845,"path":846,"stem":847},"plane_role","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes\u002Fplane_role","api\u002Frust\u002Fptwm_core\u002Ftypes\u002Fplane_role",{"title":849,"path":850,"stem":851},"role","\u002Fapi\u002Frust\u002Fptwm_core\u002Ftypes\u002Frole","api\u002Frust\u002Fptwm_core\u002Ftypes\u002Frole",{"title":853,"path":854,"stem":855},"Benchmarks","\u002Fbenchmarks","50.benchmarks",{"title":857,"path":858,"stem":859},"Extensions","\u002Fextensions","60.extensions",{"title":861,"path":862,"stem":863},"Contributing","\u002Fcontributing","90.contributing",{"id":865,"title":217,"body":866,"description":878,"extension":1322,"kind":884,"language":885,"links":1323,"meta":1324,"navigation":1325,"path":218,"seo":1326,"stem":219,"summary":878,"__hash__":1327},"docs\u002Fapi\u002Fpython\u002Fptwm.md",{"type":867,"value":868,"toc":1318},"minimark",[869,875,879,888,896,904,912,919,928,935,942,949,956,963,972,979,986,993,1000,1007,1014,1021,1027,1034,1041,1048,1055,1063,1071,1077,1085,1092,1099,1104,1111,1119,1124,1132,1138,1144,1152,1161,1169,1177,1184,1192,1199,1206,1213,1221,1229,1236,1243,1250,1257,1269,1276,1283,1290,1297,1304,1311],[870,871,872],"h1",{"id":217},[873,874,217],"code",{},[876,877,878],"p",{},"PTWM — lossless compression for PyTorch model weights.",[880,881],"api-item",{":source":882,"id":883,"kind":884,"language":885,"name":217,"qualifiedName":217,"signature":886,"summary":878,"description":887},"{\"file\":\"python\u002Fptwm\u002F__init__.py\",\"line\":1}","python:ptwm","module","python","module ptwm","A typed preprocessing graph (bit reorder, byte\u002Fnibble split) feeds two\npeer entropy coders — Huffman and rANS — alongside a Zstd plane codec\nand a dedicated microscaling-format codec. The on-disk format is a\nmulti-tensor ``.ptwm`` container with per-tensor random-access lookup.\n\nPublic entry points: :class:`Compressor`, :class:`Decompressor`,\n:class:`CompressionConfig`, :class:`DecompressionConfig`,\n:class:`Method`, :class:`Format`. Third-party integrations\n(HuggingFace `transformers`, `safetensors`) live in :mod:`ptwm.integrations`\nand are imported from there explicitly, not re-exported here.",[880,889],{":source":890,"id":891,"kind":892,"language":885,"name":893,"qualifiedName":894,"signature":895,"parent":217},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":59}","python:ptwm.CompressionConfig","type","CompressionConfig","ptwm.CompressionConfig","class CompressionConfig:",[880,897],{":source":898,"id":899,"kind":900,"language":885,"name":901,"qualifiedName":902,"signature":903,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":1}","python:ptwm.CompressionConfig.__init__","method","__init__","ptwm.CompressionConfig.__init__","def __init__(self, method: Method = Method.AUTO, input_format: Format = Format.BYTE, bytearray_dtype: str = 'bfloat16', is_monotonic: int = 0, threads: int | None = None, compression_threshold: float = 0.95, check_th_after_percent: int = 10, reorder_signbit: int = 0, delta_compressed_type: str | None = None, lossy_compressed_type: Lossy = Lossy.NONE, lossy_compressed_factor: int = 27, compression_chunk: int = 256 * 1024, is_streaming: bool = False, streaming_chunk: int = 1024 * 1024, input_file: str | None = None, compressed_file: str | None = None, decompressed_file: str | None = None, zstd_level: int = 3, lz4_compression_level: int = 0, codec_menu: list[CodecId] | None = None) -> None",[880,905],{":source":906,"id":907,"kind":908,"language":885,"name":909,"qualifiedName":910,"signature":911,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":63}","python:ptwm.CompressionConfig.bytearray_dtype","property","bytearray_dtype","ptwm.CompressionConfig.bytearray_dtype","bytearray_dtype: str = 'bfloat16'",[880,913],{":source":914,"id":915,"kind":908,"language":885,"name":916,"qualifiedName":917,"signature":918,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":67}","python:ptwm.CompressionConfig.check_th_after_percent","check_th_after_percent","ptwm.CompressionConfig.check_th_after_percent","check_th_after_percent: int = 10",[880,920],{":source":921,"id":922,"kind":908,"language":885,"name":923,"qualifiedName":924,"signature":925,"parent":894,"summary":926,"description":927},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":80}","python:ptwm.CompressionConfig.codec_menu","codec_menu","ptwm.CompressionConfig.codec_menu","codec_menu: list[CodecId] | None = None","Restrict per-role trial-encode menus to this set of codecs.","None → use the full role-applicable menu. An empty intersection on a\nrole raises ``InvalidContainer`` — an Identity fallback would silently\nfalsify ablation measurements. Ignored when ``method`` selects a forced-\ncodec path (ZSTD \u002F RANS \u002F IDENTITY).",[880,929],{":source":930,"id":931,"kind":908,"language":885,"name":932,"qualifiedName":933,"signature":934,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":76}","python:ptwm.CompressionConfig.compressed_file","compressed_file","ptwm.CompressionConfig.compressed_file","compressed_file: str | None = None",[880,936],{":source":937,"id":938,"kind":908,"language":885,"name":939,"qualifiedName":940,"signature":941,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":72}","python:ptwm.CompressionConfig.compression_chunk","compression_chunk","ptwm.CompressionConfig.compression_chunk","compression_chunk: int = 256 * 1024",[880,943],{":source":944,"id":945,"kind":908,"language":885,"name":946,"qualifiedName":947,"signature":948,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":66}","python:ptwm.CompressionConfig.compression_threshold","compression_threshold","ptwm.CompressionConfig.compression_threshold","compression_threshold: float = 0.95",[880,950],{":source":951,"id":952,"kind":908,"language":885,"name":953,"qualifiedName":954,"signature":955,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":77}","python:ptwm.CompressionConfig.decompressed_file","decompressed_file","ptwm.CompressionConfig.decompressed_file","decompressed_file: str | None = None",[880,957],{":source":958,"id":959,"kind":908,"language":885,"name":960,"qualifiedName":961,"signature":962,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":69}","python:ptwm.CompressionConfig.delta_compressed_type","delta_compressed_type","ptwm.CompressionConfig.delta_compressed_type","delta_compressed_type: str | None = None",[880,964],{":source":965,"id":966,"kind":900,"language":885,"name":967,"qualifiedName":968,"signature":969,"parent":894,"summary":970,"description":971},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":89}","python:ptwm.CompressionConfig.from_resolved_policy","from_resolved_policy","ptwm.CompressionConfig.from_resolved_policy","def from_resolved_policy(cls, rp: ResolvedPolicy, base: CompressionConfig | None = None) -> CompressionConfig","Build a constrained ``CompressionConfig`` from a ``ResolvedPolicy``.","The returned config's ``codec_menu`` is the intersection of the\nresolved policy's ``effective_global`` set with the wire-stable\nbuilt-in ``CodecId`` variants.\n\nThe resolved policy lists every contribution (built-in or installed\nthird-party) that is currently trusted *and* allowed by the policy\nfile. Restricting the trial-encode menu to that intersection is how\nan ablation run actually exercises a variant policy: tensors that\npreviously round-tripped through a now-excluded codec will fall\nthrough to the next-best allowed coder instead.\n\n``base`` is the starting config (defaults to a default-constructed\n``CompressionConfig``); every field other than ``codec_menu`` is\npreserved.",[880,973],{":source":974,"id":975,"kind":908,"language":885,"name":976,"qualifiedName":977,"signature":978,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":75}","python:ptwm.CompressionConfig.input_file","input_file","ptwm.CompressionConfig.input_file","input_file: str | None = None",[880,980],{":source":981,"id":982,"kind":908,"language":885,"name":983,"qualifiedName":984,"signature":985,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":62}","python:ptwm.CompressionConfig.input_format","input_format","ptwm.CompressionConfig.input_format","input_format: Format = Format.BYTE",[880,987],{":source":988,"id":989,"kind":908,"language":885,"name":990,"qualifiedName":991,"signature":992,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":64}","python:ptwm.CompressionConfig.is_monotonic","is_monotonic","ptwm.CompressionConfig.is_monotonic","is_monotonic: int = 0",[880,994],{":source":995,"id":996,"kind":908,"language":885,"name":997,"qualifiedName":998,"signature":999,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":73}","python:ptwm.CompressionConfig.is_streaming","is_streaming","ptwm.CompressionConfig.is_streaming","is_streaming: bool = False",[880,1001],{":source":1002,"id":1003,"kind":908,"language":885,"name":1004,"qualifiedName":1005,"signature":1006,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":71}","python:ptwm.CompressionConfig.lossy_compressed_factor","lossy_compressed_factor","ptwm.CompressionConfig.lossy_compressed_factor","lossy_compressed_factor: int = 27",[880,1008],{":source":1009,"id":1010,"kind":908,"language":885,"name":1011,"qualifiedName":1012,"signature":1013,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":70}","python:ptwm.CompressionConfig.lossy_compressed_type","lossy_compressed_type","ptwm.CompressionConfig.lossy_compressed_type","lossy_compressed_type: Lossy = Lossy.NONE",[880,1015],{":source":1016,"id":1017,"kind":908,"language":885,"name":1018,"qualifiedName":1019,"signature":1020,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":79}","python:ptwm.CompressionConfig.lz4_compression_level","lz4_compression_level","ptwm.CompressionConfig.lz4_compression_level","lz4_compression_level: int = 0",[880,1022],{":source":1023,"id":1024,"kind":908,"language":885,"name":900,"qualifiedName":1025,"signature":1026,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":61}","python:ptwm.CompressionConfig.method","ptwm.CompressionConfig.method","method: Method = Method.AUTO",[880,1028],{":source":1029,"id":1030,"kind":908,"language":885,"name":1031,"qualifiedName":1032,"signature":1033,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":68}","python:ptwm.CompressionConfig.reorder_signbit","reorder_signbit","ptwm.CompressionConfig.reorder_signbit","reorder_signbit: int = 0",[880,1035],{":source":1036,"id":1037,"kind":908,"language":885,"name":1038,"qualifiedName":1039,"signature":1040,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":74}","python:ptwm.CompressionConfig.streaming_chunk","streaming_chunk","ptwm.CompressionConfig.streaming_chunk","streaming_chunk: int = 1024 * 1024",[880,1042],{":source":1043,"id":1044,"kind":908,"language":885,"name":1045,"qualifiedName":1046,"signature":1047,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":65}","python:ptwm.CompressionConfig.threads","threads","ptwm.CompressionConfig.threads","threads: int | None = None",[880,1049],{":source":1050,"id":1051,"kind":908,"language":885,"name":1052,"qualifiedName":1053,"signature":1054,"parent":894},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":78}","python:ptwm.CompressionConfig.zstd_level","zstd_level","ptwm.CompressionConfig.zstd_level","zstd_level: int = 3",[880,1056],{":source":1057,"id":1058,"kind":892,"language":885,"name":1059,"qualifiedName":1060,"signature":1061,"parent":217,"summary":1062},"{\"file\":\"python\u002Fptwm\u002F_exceptions.py\",\"line\":13}","python:ptwm.CompressionMethodNotSupportedError","CompressionMethodNotSupportedError","ptwm.CompressionMethodNotSupportedError","class CompressionMethodNotSupportedError(Error):","Raised when an unsupported compression method is requested.",[880,1064],{":source":1065,"id":1066,"kind":892,"language":885,"name":1067,"qualifiedName":1068,"signature":1069,"parent":217,"summary":1070},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_compressor.py\",\"line\":66}","python:ptwm.Compressor","Compressor","ptwm.Compressor","class Compressor:","Stateless compressor for weights data.",[880,1072],{":source":1073,"id":1074,"kind":900,"language":885,"name":901,"qualifiedName":1075,"signature":1076,"parent":1068},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_compressor.py\",\"line\":69}","python:ptwm.Compressor.__init__","ptwm.Compressor.__init__","def __init__(self, config: CompressionConfig) -> None",[880,1078],{":source":1079,"id":1080,"kind":900,"language":885,"name":243,"qualifiedName":1081,"signature":1082,"parent":1068,"summary":1083,"description":1084},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_compressor.py\",\"line\":73}","python:ptwm.Compressor.compress","ptwm.Compressor.compress","def compress(self, data: bytes | bytearray | np.ndarray | torch.Tensor, delta_second_data: bytes | bytearray | np.ndarray | torch.Tensor | None = None) -> bytes","Compress the provided data.","Streaming (``config.is_streaming=True``) enables plane-level chunking:\neach chunk is codec-encoded independently and indexed by\n``plane_record.chunk_table``. Delta compression XORs the whole buffer\nonce; the reference's BLAKE3 digest is recorded as a Dependency so the\ndecoder can verify that the caller supplied the matching reference.",[880,1086],{":source":1087,"id":1088,"kind":908,"language":885,"name":1089,"qualifiedName":1090,"signature":1091,"parent":1068},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_compressor.py\",\"line\":70}","python:ptwm.Compressor.config","config","ptwm.Compressor.config","config = config",[880,1093],{":source":1094,"id":1095,"kind":892,"language":885,"name":1096,"qualifiedName":1097,"signature":1098,"parent":217},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":150}","python:ptwm.DecompressionConfig","DecompressionConfig","ptwm.DecompressionConfig","class DecompressionConfig:",[880,1100],{":source":898,"id":1101,"kind":900,"language":885,"name":901,"qualifiedName":1102,"signature":1103,"parent":1097},"python:ptwm.DecompressionConfig.__init__","ptwm.DecompressionConfig.__init__","def __init__(self, threads: int | None = None, delta_second_data: bytes | None = None, skip_missing: bool = False) -> None",[880,1105],{":source":1106,"id":1107,"kind":908,"language":885,"name":1108,"qualifiedName":1109,"signature":1110,"parent":1097},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":155}","python:ptwm.DecompressionConfig.delta_second_data","delta_second_data","ptwm.DecompressionConfig.delta_second_data","delta_second_data: bytes | None = None",[880,1112],{":source":1113,"id":1114,"kind":908,"language":885,"name":1115,"qualifiedName":1116,"signature":1117,"parent":1097,"summary":1118},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":156}","python:ptwm.DecompressionConfig.skip_missing","skip_missing","ptwm.DecompressionConfig.skip_missing","skip_missing: bool = False","If ``True``, open containers that reference non-builtin extensions that are not installed on this host.  Tensors needing those extensions will fail when decoded, but the container can still be opened and interrogated (e.g. listing tensor names).  When ``False`` (the default), opening such a container raises ``ValueError``.",[880,1120],{":source":1121,"id":1122,"kind":908,"language":885,"name":1045,"qualifiedName":1123,"signature":1047,"parent":1097},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":154}","python:ptwm.DecompressionConfig.threads","ptwm.DecompressionConfig.threads",[880,1125],{":source":1126,"id":1127,"kind":892,"language":885,"name":1128,"qualifiedName":1129,"signature":1130,"parent":217,"summary":1131},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_decompressor.py\",\"line\":30}","python:ptwm.Decompressor","Decompressor","ptwm.Decompressor","class Decompressor:","Stateless decompressor for weights data.",[880,1133],{":source":1134,"id":1135,"kind":900,"language":885,"name":901,"qualifiedName":1136,"signature":1137,"parent":1129},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_decompressor.py\",\"line\":33}","python:ptwm.Decompressor.__init__","ptwm.Decompressor.__init__","def __init__(self, config: DecompressionConfig | None = None) -> None",[880,1139],{":source":1140,"id":1141,"kind":908,"language":885,"name":1089,"qualifiedName":1142,"signature":1143,"parent":1129},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_decompressor.py\",\"line\":34}","python:ptwm.Decompressor.config","ptwm.Decompressor.config","config = config or DecompressionConfig()",[880,1145],{":source":1146,"id":1147,"kind":900,"language":885,"name":247,"qualifiedName":1148,"signature":1149,"parent":1129,"summary":1150,"description":1151},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_decompressor.py\",\"line\":37}","python:ptwm.Decompressor.decompress","ptwm.Decompressor.decompress","def decompress(self, data: bytes | memoryview) -> bytes | np.ndarray | torch.Tensor","Decompress a ``.ptwm`` blob.","The single-tensor wrapper uses name ``\"_\"``. Raw decompressed bytes\ncome from ``decode_tensor``; shape\u002Fdtype\u002Finput_format (when present)\ncome from the CBOR shape-metadata map. Format recovery:\n\n- No metadata or ``input_format == BYTE`` → raw ``bytes``.\n- ``input_format == TORCH`` → :class:`torch.Tensor` reconstructed\n  via ``torch.frombuffer`` then ``reshape(shape)``.\n- ``input_format == NUMPY`` → :class:`numpy.ndarray` via\n  ``np.frombuffer`` + ``reshape(shape)``.\n\nDelta: when the tensor record carries a Dependency with a BLAKE3\nhash, ``config.delta_second_data`` is required; its BLAKE3 must\nmatch, and the decoded bytes are XOR-ed with it to recover the\noriginal tensor before any format reconstruction.",[880,1153],{":source":1154,"id":1155,"kind":900,"language":885,"name":1156,"qualifiedName":1157,"signature":1158,"parent":1129,"summary":1159,"description":1160},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_decompressor.py\",\"line\":139}","python:ptwm.Decompressor.decompress_container_to_state_dict","decompress_container_to_state_dict","ptwm.Decompressor.decompress_container_to_state_dict","def decompress_container_to_state_dict(self, blob: bytes) -> dict[str, bytes]","Decompress a container into a ``{name: raw_bytes}`` map.","Iterates the embedded tensor index and decodes each tensor in input\norder. Result keys preserve the tensor names from the source\nsafetensors archive.",[880,1162],{":source":1163,"id":1164,"kind":900,"language":885,"name":1165,"qualifiedName":1166,"signature":1167,"parent":1129,"summary":1168},"{\"file\":\"python\u002Fptwm\u002Fcore\u002F_decompressor.py\",\"line\":150}","python:ptwm.Decompressor.decompress_file","decompress_file","ptwm.Decompressor.decompress_file","def decompress_file(self, path: str) -> bytes | np.ndarray | torch.Tensor","Decompress data from a file.",[880,1170],{":source":1171,"id":1172,"kind":892,"language":885,"name":1173,"qualifiedName":1174,"signature":1175,"parent":217,"summary":1176},"{\"file\":\"python\u002Fptwm\u002F_exceptions.py\",\"line\":9}","python:ptwm.Error","Error","ptwm.Error","class Error(Exception):","Base exception for all errors originating from the PTWM library.",[880,1178],{":source":1179,"id":1180,"kind":892,"language":885,"name":1181,"qualifiedName":1182,"signature":1183,"parent":217},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":30}","python:ptwm.Format","Format","ptwm.Format","class Format(Enum):",[880,1185],{":source":1186,"id":1187,"kind":1188,"language":885,"name":1189,"qualifiedName":1190,"signature":1191,"parent":1182},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":31}","python:ptwm.Format.BYTE","constant","BYTE","ptwm.Format.BYTE","BYTE = 1",[880,1193],{":source":1194,"id":1195,"kind":1188,"language":885,"name":1196,"qualifiedName":1197,"signature":1198,"parent":1182},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":34}","python:ptwm.Format.FILE","FILE","ptwm.Format.FILE","FILE = 4",[880,1200],{":source":1201,"id":1202,"kind":1188,"language":885,"name":1203,"qualifiedName":1204,"signature":1205,"parent":1182},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":33}","python:ptwm.Format.NUMPY","NUMPY","ptwm.Format.NUMPY","NUMPY = 3",[880,1207],{":source":1208,"id":1209,"kind":1188,"language":885,"name":1210,"qualifiedName":1211,"signature":1212,"parent":1182},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":32}","python:ptwm.Format.TORCH","TORCH","ptwm.Format.TORCH","TORCH = 2",[880,1214],{":source":1215,"id":1216,"kind":892,"language":885,"name":1217,"qualifiedName":1218,"signature":1219,"parent":217,"summary":1220},"{\"file\":\"python\u002Fptwm\u002F_exceptions.py\",\"line\":21}","python:ptwm.HeaderParseError","HeaderParseError","ptwm.HeaderParseError","class HeaderParseError(Error):","Raised when the binary header is invalid or corrupt.",[880,1222],{":source":1223,"id":1224,"kind":892,"language":885,"name":1225,"qualifiedName":1226,"signature":1227,"parent":217,"summary":1228},"{\"file\":\"python\u002Fptwm\u002F_exceptions.py\",\"line\":17}","python:ptwm.InvalidDTypeError","InvalidDTypeError","ptwm.InvalidDTypeError","class InvalidDTypeError(Error):","Raised when a tensor or numpy array has an unsupported dtype.",[880,1230],{":source":1231,"id":1232,"kind":892,"language":885,"name":1233,"qualifiedName":1234,"signature":1235,"parent":217},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":45}","python:ptwm.Lossy","Lossy","ptwm.Lossy","class Lossy(Enum):",[880,1237],{":source":1238,"id":1239,"kind":1188,"language":885,"name":1240,"qualifiedName":1241,"signature":1242,"parent":1234},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":47}","python:ptwm.Lossy.INTEGER","INTEGER","ptwm.Lossy.INTEGER","INTEGER = 1",[880,1244],{":source":1245,"id":1246,"kind":1188,"language":885,"name":1247,"qualifiedName":1248,"signature":1249,"parent":1234},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":46}","python:ptwm.Lossy.NONE","NONE","ptwm.Lossy.NONE","NONE = 0",[880,1251],{":source":1252,"id":1253,"kind":1188,"language":885,"name":1254,"qualifiedName":1255,"signature":1256,"parent":1234},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":48}","python:ptwm.Lossy.UNSIGN","UNSIGN","ptwm.Lossy.UNSIGN","UNSIGN = 2",[880,1258],{":source":1259,"id":1260,"kind":1261,"language":885,"name":1262,"qualifiedName":1263,"signature":1264,"parent":217,"summary":1265,"description":1266,":parameters":1267,":returns":1268},"{\"file\":\"python\u002Fptwm\u002Fintegrations\u002F_hf.py\",\"line\":124}","python:ptwm.materialize_hf_cache","function","materialize_hf_cache","ptwm.materialize_hf_cache","def materialize_hf_cache(snapshot_dir: str | os.PathLike[str], remove_source: bool = False) -> list[Path]","Decompress every ``.ptwm`` file under ``snapshot_dir``.","Recursively walks the directory, decompressing each ``*.ptwm`` file into\nits sibling without the suffix (``model.safetensors.ptwm`` →\n``model.safetensors``). Skips files whose decompressed form already\nexists, so repeat runs are cheap.","[{\"name\":\"snapshot_dir\",\"type\":\"str | os.PathLike[str]\",\"default\":null,\"description\":\"Any directory; typically an HF cache snapshot\\n(``~\u002F.cache\u002Fhuggingface\u002Fhub\u002Fmodels--\u003Corg>--\u003Cname>\u002Fsnapshots\u002F\u003Crev>``).\",\"kind\":null},{\"name\":\"remove_source\",\"type\":\"bool\",\"default\":\"False\",\"description\":\"If ``True``, delete each ``.ptwm`` file once its decompressed sibling\\nis on disk. Defaults to ``False`` (keeps both).\",\"kind\":null}]","{\"type\":\"list of :class:`pathlib.Path`\",\"description\":\"Paths of the decompressed files, in traversal order.\"}",[880,1270],{":source":1271,"id":1272,"kind":892,"language":885,"name":1273,"qualifiedName":1274,"signature":1275,"parent":217},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":13}","python:ptwm.Method","Method","ptwm.Method","class Method(Enum):",[880,1277],{":source":1278,"id":1279,"kind":1188,"language":885,"name":1280,"qualifiedName":1281,"signature":1282,"parent":1274},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":14}","python:ptwm.Method.AUTO","AUTO","ptwm.Method.AUTO","AUTO = 0",[880,1284],{":source":1285,"id":1286,"kind":1188,"language":885,"name":1287,"qualifiedName":1288,"signature":1289,"parent":1274},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":15}","python:ptwm.Method.HUFFMAN","HUFFMAN","ptwm.Method.HUFFMAN","HUFFMAN = 1",[880,1291],{":source":1292,"id":1293,"kind":1188,"language":885,"name":1294,"qualifiedName":1295,"signature":1296,"parent":1274},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":17}","python:ptwm.Method.IDENTITY","IDENTITY","ptwm.Method.IDENTITY","IDENTITY = 3",[880,1298],{":source":1299,"id":1300,"kind":1188,"language":885,"name":1301,"qualifiedName":1302,"signature":1303,"parent":1274},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":19}","python:ptwm.Method.MICROSCALE","MICROSCALE","ptwm.Method.MICROSCALE","MICROSCALE = 5",[880,1305],{":source":1306,"id":1307,"kind":1188,"language":885,"name":1308,"qualifiedName":1309,"signature":1310,"parent":1274},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":18}","python:ptwm.Method.RANS","RANS","ptwm.Method.RANS","RANS = 4",[880,1312],{":source":1313,"id":1314,"kind":1188,"language":885,"name":1315,"qualifiedName":1316,"signature":1317,"parent":1274},"{\"file\":\"python\u002Fptwm\u002F_config.py\",\"line\":16}","python:ptwm.Method.ZSTD","ZSTD","ptwm.Method.ZSTD","ZSTD = 2",{"title":1319,"searchDepth":1320,"depth":1320,"links":1321},"",3,[],"md",null,{},{"title":217},{"title":217,"description":878},"6WytcH-qEz8Xxo5GUP9xOc6YhJX0k8yDIPFaprI_OhY",[1329,1331],{"title":179,"path":212,"stem":213,"description":1330,"children":-1},"Reference for the ptwm Python package.",{"title":222,"path":223,"stem":224,"description":1332,"children":-1},"PTWM ablation harness: resolved policy, bench-compress orchestration, attribution.",1784820654185]