[{"data":1,"prerenderedAt":1613},["ShallowReactive",2],{"navigation":3,"\u002Fguides\u002Fpython-api":864,"\u002Fguides\u002Fpython-api-surround":1608},[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":179,"body":866,"description":1602,"extension":1603,"kind":1604,"language":1604,"links":1604,"meta":1605,"navigation":1604,"path":180,"seo":1606,"stem":181,"summary":1604,"__hash__":1607},"docs\u002F30.guides\u002F02.python-api.md",{"type":867,"value":868,"toc":1595},"minimark",[869,885,890,1193,1211,1215,1400,1404,1471,1475,1575,1579,1591],[870,871,872,873,876,877,880,881,884],"p",{},"The public Python API lives in the top-level ",[874,875,217],"code",{}," package. The main\nentry points are ",[874,878,879],{},"Compressor",", ",[874,882,883],{},"Decompressor",", and their config\ndataclasses.",[886,887,889],"h2",{"id":888},"compress-and-decompress-raw-bytes","Compress and decompress raw bytes",[891,892,897],"pre",{"className":893,"code":894,"language":895,"meta":896,"style":896},"language-python shiki shiki-themes material-theme-lighter github-light github-dark","from ptwm import (\n    Compressor, Decompressor,\n    CompressionConfig, DecompressionConfig,\n    Method, Format,\n)\n\nconfig = CompressionConfig(\n    method=Method.AUTO,       # AUTO | HUFFMAN | MICROSCALE | ZSTD\n    bytearray_dtype=\"bfloat16\",   # hint for byte-reordering raw bytes\n    threads=8,                    # encode parallelism (default: all cores)\n)\ncompressor = Compressor(config)\ncompressed: bytes = compressor.compress(data, fmt=Format.BYTE)\n\ndecompressor = Decompressor(DecompressionConfig(threads=8))\nrestored: bytes = decompressor.decompress(compressed, fmt=Format.BYTE)\n","python","",[874,898,899,919,934,947,960,966,973,990,1015,1038,1055,1060,1079,1124,1129,1156],{"__ignoreMap":896},[900,901,904,908,912,915],"span",{"class":902,"line":903},"line",1,[900,905,907],{"class":906},"sVHd0","from",[900,909,911],{"class":910},"su5hD"," ptwm ",[900,913,914],{"class":906},"import",[900,916,918],{"class":917},"sP7_E"," (\n",[900,920,922,925,928,931],{"class":902,"line":921},2,[900,923,924],{"class":910},"    Compressor",[900,926,927],{"class":917},",",[900,929,930],{"class":910}," Decompressor",[900,932,933],{"class":917},",\n",[900,935,937,940,942,945],{"class":902,"line":936},3,[900,938,939],{"class":910},"    CompressionConfig",[900,941,927],{"class":917},[900,943,944],{"class":910}," DecompressionConfig",[900,946,933],{"class":917},[900,948,950,953,955,958],{"class":902,"line":949},4,[900,951,952],{"class":910},"    Method",[900,954,927],{"class":917},[900,956,957],{"class":910}," Format",[900,959,933],{"class":917},[900,961,963],{"class":902,"line":962},5,[900,964,965],{"class":917},")\n",[900,967,969],{"class":902,"line":968},6,[900,970,972],{"emptyLinePlaceholder":971},true,"\n",[900,974,976,979,983,987],{"class":902,"line":975},7,[900,977,978],{"class":910},"config ",[900,980,982],{"class":981},"smGrS","=",[900,984,986],{"class":985},"slqww"," CompressionConfig",[900,988,989],{"class":917},"(\n",[900,991,993,997,999,1002,1005,1009,1011],{"class":902,"line":992},8,[900,994,996],{"class":995},"s99_P","    method",[900,998,982],{"class":981},[900,1000,1001],{"class":985},"Method",[900,1003,1004],{"class":917},".",[900,1006,1008],{"class":1007},"swQdS","AUTO",[900,1010,927],{"class":917},[900,1012,1014],{"class":1013},"sutJx","       # AUTO | HUFFMAN | MICROSCALE | ZSTD\n",[900,1016,1018,1021,1023,1027,1031,1033,1035],{"class":902,"line":1017},9,[900,1019,1020],{"class":995},"    bytearray_dtype",[900,1022,982],{"class":981},[900,1024,1026],{"class":1025},"sjJ54","\"",[900,1028,1030],{"class":1029},"s_sjI","bfloat16",[900,1032,1026],{"class":1025},[900,1034,927],{"class":917},[900,1036,1037],{"class":1013},"   # hint for byte-reordering raw bytes\n",[900,1039,1041,1044,1046,1050,1052],{"class":902,"line":1040},10,[900,1042,1043],{"class":995},"    threads",[900,1045,982],{"class":981},[900,1047,1049],{"class":1048},"srdBf","8",[900,1051,927],{"class":917},[900,1053,1054],{"class":1013},"                    # encode parallelism (default: all cores)\n",[900,1056,1058],{"class":902,"line":1057},11,[900,1059,965],{"class":917},[900,1061,1063,1066,1068,1071,1074,1077],{"class":902,"line":1062},12,[900,1064,1065],{"class":910},"compressor ",[900,1067,982],{"class":981},[900,1069,1070],{"class":985}," Compressor",[900,1072,1073],{"class":917},"(",[900,1075,1076],{"class":985},"config",[900,1078,965],{"class":917},[900,1080,1082,1085,1088,1092,1095,1098,1100,1102,1104,1107,1109,1112,1114,1117,1119,1122],{"class":902,"line":1081},13,[900,1083,1084],{"class":910},"compressed",[900,1086,1087],{"class":917},":",[900,1089,1091],{"class":1090},"sZMiF"," bytes",[900,1093,1094],{"class":981}," =",[900,1096,1097],{"class":910}," compressor",[900,1099,1004],{"class":917},[900,1101,243],{"class":985},[900,1103,1073],{"class":917},[900,1105,1106],{"class":985},"data",[900,1108,927],{"class":917},[900,1110,1111],{"class":995}," fmt",[900,1113,982],{"class":981},[900,1115,1116],{"class":985},"Format",[900,1118,1004],{"class":917},[900,1120,1121],{"class":1007},"BYTE",[900,1123,965],{"class":917},[900,1125,1127],{"class":902,"line":1126},14,[900,1128,972],{"emptyLinePlaceholder":971},[900,1130,1132,1135,1137,1139,1141,1144,1146,1149,1151,1153],{"class":902,"line":1131},15,[900,1133,1134],{"class":910},"decompressor ",[900,1136,982],{"class":981},[900,1138,930],{"class":985},[900,1140,1073],{"class":917},[900,1142,1143],{"class":985},"DecompressionConfig",[900,1145,1073],{"class":917},[900,1147,1148],{"class":995},"threads",[900,1150,982],{"class":981},[900,1152,1049],{"class":1048},[900,1154,1155],{"class":917},"))\n",[900,1157,1159,1162,1164,1166,1168,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191],{"class":902,"line":1158},16,[900,1160,1161],{"class":910},"restored",[900,1163,1087],{"class":917},[900,1165,1091],{"class":1090},[900,1167,1094],{"class":981},[900,1169,1170],{"class":910}," decompressor",[900,1172,1004],{"class":917},[900,1174,247],{"class":985},[900,1176,1073],{"class":917},[900,1178,1084],{"class":985},[900,1180,927],{"class":917},[900,1182,1111],{"class":995},[900,1184,982],{"class":981},[900,1186,1116],{"class":985},[900,1188,1004],{"class":917},[900,1190,1121],{"class":1007},[900,1192,965],{"class":917},[870,1194,1195,1196,1198,1199,1202,1203,1206,1207,1210],{},"The ",[874,1197,1008],{}," method picks a codec by dtype: ",[874,1200,1201],{},"HUFFMAN"," for float \u002F int\nweights, ",[874,1204,1205],{},"MICROSCALE"," for MXFP4 \u002F NVFP4 paired tensors, ",[874,1208,1209],{},"ZSTD"," as a\ngeneric fallback (plain in-tree Zstd; the byte-split preprocessing op\nupstream supplies the SHUFFLE-style reordering).",[886,1212,1214],{"id":1213},"compress-and-decompress-a-torch-tensor","Compress and decompress a torch tensor",[891,1216,1218],{"className":893,"code":1217,"language":895,"meta":896,"style":896},"import torch\nfrom ptwm import Compressor, Decompressor, CompressionConfig, Format\n\nconfig = CompressionConfig(input_format=Format.TORCH)\ncompressor, decompressor = Compressor(config), Decompressor()\n\ntensor = torch.randn(1024, 1024, dtype=torch.bfloat16)\nrestored = decompressor.decompress(compressor.compress(tensor))\nassert torch.equal(tensor, restored)\n",[874,1219,1220,1227,1250,1254,1278,1303,1307,1349,1377],{"__ignoreMap":896},[900,1221,1222,1224],{"class":902,"line":903},[900,1223,914],{"class":906},[900,1225,1226],{"class":910}," torch\n",[900,1228,1229,1231,1233,1235,1237,1239,1241,1243,1245,1247],{"class":902,"line":921},[900,1230,907],{"class":906},[900,1232,911],{"class":910},[900,1234,914],{"class":906},[900,1236,1070],{"class":910},[900,1238,927],{"class":917},[900,1240,930],{"class":910},[900,1242,927],{"class":917},[900,1244,986],{"class":910},[900,1246,927],{"class":917},[900,1248,1249],{"class":910}," Format\n",[900,1251,1252],{"class":902,"line":936},[900,1253,972],{"emptyLinePlaceholder":971},[900,1255,1256,1258,1260,1262,1264,1267,1269,1271,1273,1276],{"class":902,"line":949},[900,1257,978],{"class":910},[900,1259,982],{"class":981},[900,1261,986],{"class":985},[900,1263,1073],{"class":917},[900,1265,1266],{"class":995},"input_format",[900,1268,982],{"class":981},[900,1270,1116],{"class":985},[900,1272,1004],{"class":917},[900,1274,1275],{"class":1007},"TORCH",[900,1277,965],{"class":917},[900,1279,1280,1282,1284,1287,1289,1291,1293,1295,1298,1300],{"class":902,"line":962},[900,1281,435],{"class":910},[900,1283,927],{"class":917},[900,1285,1286],{"class":910}," decompressor ",[900,1288,982],{"class":981},[900,1290,1070],{"class":985},[900,1292,1073],{"class":917},[900,1294,1076],{"class":985},[900,1296,1297],{"class":917},"),",[900,1299,930],{"class":985},[900,1301,1302],{"class":917},"()\n",[900,1304,1305],{"class":902,"line":968},[900,1306,972],{"emptyLinePlaceholder":971},[900,1308,1309,1312,1314,1317,1319,1322,1324,1327,1329,1332,1334,1337,1339,1342,1344,1347],{"class":902,"line":975},[900,1310,1311],{"class":910},"tensor ",[900,1313,982],{"class":981},[900,1315,1316],{"class":910}," torch",[900,1318,1004],{"class":917},[900,1320,1321],{"class":985},"randn",[900,1323,1073],{"class":917},[900,1325,1326],{"class":1048},"1024",[900,1328,927],{"class":917},[900,1330,1331],{"class":1048}," 1024",[900,1333,927],{"class":917},[900,1335,1336],{"class":995}," dtype",[900,1338,982],{"class":981},[900,1340,1341],{"class":985},"torch",[900,1343,1004],{"class":917},[900,1345,1030],{"class":1346},"skxfh",[900,1348,965],{"class":917},[900,1350,1351,1354,1356,1358,1360,1362,1364,1366,1368,1370,1372,1375],{"class":902,"line":992},[900,1352,1353],{"class":910},"restored ",[900,1355,982],{"class":981},[900,1357,1170],{"class":910},[900,1359,1004],{"class":917},[900,1361,247],{"class":985},[900,1363,1073],{"class":917},[900,1365,435],{"class":985},[900,1367,1004],{"class":917},[900,1369,243],{"class":985},[900,1371,1073],{"class":917},[900,1373,1374],{"class":985},"tensor",[900,1376,1155],{"class":917},[900,1378,1379,1382,1384,1386,1389,1391,1393,1395,1398],{"class":902,"line":1017},[900,1380,1381],{"class":906},"assert",[900,1383,1316],{"class":910},[900,1385,1004],{"class":917},[900,1387,1388],{"class":985},"equal",[900,1390,1073],{"class":917},[900,1392,1374],{"class":985},[900,1394,927],{"class":917},[900,1396,1397],{"class":985}," restored",[900,1399,965],{"class":917},[886,1401,1403],{"id":1402},"supported-inputoutput-formats","Supported input\u002Foutput formats",[562,1405,1406,1418],{},[1407,1408,1409],"thead",{},[1410,1411,1412,1415],"tr",{},[1413,1414,1116],"th",{},[1413,1416,1417],{},"Description",[1419,1420,1421,1432,1448,1461],"tbody",{},[1410,1422,1423,1429],{},[1424,1425,1426],"td",{},[874,1427,1428],{},"Format.BYTE",[1424,1430,1431],{},"Raw bytes in \u002F raw bytes out. dtype hint required for byte-reordering.",[1410,1433,1434,1439],{},[1424,1435,1436],{},[874,1437,1438],{},"Format.TORCH",[1424,1440,1441,1444,1445,1447],{},[874,1442,1443],{},"torch.Tensor"," in \u002F ",[874,1446,1443],{}," out. dtype and shape preserved.",[1410,1449,1450,1455],{},[1424,1451,1452],{},[874,1453,1454],{},"Format.NUMPY",[1424,1456,1457,1460],{},[874,1458,1459],{},"numpy.ndarray"," equivalent.",[1410,1462,1463,1468],{},[1424,1464,1465],{},[874,1466,1467],{},"Format.FILE",[1424,1469,1470],{},"File-path workflow. Input path is read; output path is written.",[886,1472,1474],{"id":1473},"compressionconfig-knobs","CompressionConfig knobs",[562,1476,1477,1489],{},[1407,1478,1479],{},[1410,1480,1481,1484,1487],{},[1413,1482,1483],{},"Option",[1413,1485,1486],{},"Default",[1413,1488,1417],{},[1419,1490,1491,1513,1530,1545,1560],{},[1410,1492,1493,1498,1502],{},[1424,1494,1495],{},[874,1496,1497],{},"method",[1424,1499,1500],{},[874,1501,1008],{},[1424,1503,1504,880,1506,880,1508,1510,1511],{},[874,1505,1008],{},[874,1507,1201],{},[874,1509,1205],{},", or ",[874,1512,1209],{},[1410,1514,1515,1520,1525],{},[1424,1516,1517],{},[874,1518,1519],{},"bytearray_dtype",[1424,1521,1522],{},[874,1523,1524],{},"\"bfloat16\"",[1424,1526,1527,1528],{},"Dtype hint for byte-reordering when input is ",[874,1529,1121],{},[1410,1531,1532,1536,1542],{},[1424,1533,1534],{},[874,1535,1148],{},[1424,1537,1538,1541],{},[874,1539,1540],{},"None"," (up to 16 cores)",[1424,1543,1544],{},"Maximum threads for parallel encode",[1410,1546,1547,1552,1557],{},[1424,1548,1549],{},[874,1550,1551],{},"compression_threshold",[1424,1553,1554],{},[874,1555,1556],{},"0.95",[1424,1558,1559],{},"Skip compression if ratio exceeds this threshold",[1410,1561,1562,1567,1572],{},[1424,1563,1564],{},[874,1565,1566],{},"compression_chunk",[1424,1568,1569],{},[874,1570,1571],{},"262144",[1424,1573,1574],{},"Chunk size in bytes (256 KB)",[886,1576,1578],{"id":1577},"full-reference","Full reference",[870,1580,1581,1582,1586,1587,1590],{},"See the ",[1583,1584,1585],"a",{"href":212},"Python API reference"," for every public symbol\nin ",[874,1588,1589],{},"ptwm.*"," with docstrings, parameters, return types, and source\nlinks.",[1592,1593,1594],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .slqww, html code.shiki .slqww{--shiki-light:#6182B8;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .swQdS, html code.shiki .swQdS{--shiki-light:#E53935;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":896,"searchDepth":936,"depth":936,"links":1596},[1597,1598,1599,1600,1601],{"id":888,"depth":921,"text":889},{"id":1213,"depth":921,"text":1214},{"id":1402,"depth":921,"text":1403},{"id":1473,"depth":921,"text":1474},{"id":1577,"depth":921,"text":1578},"Use the Compressor and Decompressor classes directly from Python.","md",null,{},{"title":179,"description":1602},"uJbPz1yd_PwuboXGGxuL6a-kOlBVXPMtDtF7F-RSMN0",[1609,1611],{"title":175,"path":176,"stem":177,"description":1610,"children":-1},"Compress and decompress files with the `ptwm` command-line tool.",{"title":183,"path":184,"stem":185,"description":1612,"children":-1},"Step-by-step walkthrough from `ptwm ext init` to a signed, installed plane codec.",1784820662901]