Truncated JSON completer
Project description
truncjson
A library to complete truncated JSON strings.
Use Cases
- When you possess a JSON file that is truncated, and you wish to parse its current content.
- When you are receiving JSON content as a stream from services like ChatGPT. This allows you to parse the JSON content each time you receive a new chunk.
Simple Usage
from truncjson import complete
result = complete('{"k1":"v1","k2":20.5,"k3":[12')
print(result)
# Output: {"k1":"v1","k2":20.5,"k3":[12]}
Stream Usage
Here we created a dummy stream with a list of chunks.
from truncjson import Stream
chunks = [
'Here yo',
'u go {"k1":"v1","k2":2',
'0.5,"k3":[12,34,"56",tr',
'ue,{"k31":"v31","k32":false,"k33":n',
'ull}]}\nAnd ano',
'ther one {"k',
'ey":1.',
'12} {"a',
'b":"cd"}'
]
stream = Stream()
for chunk in chunks:
print(stream.extract(chunk))
# Output:
# []
# ['{"k1":"v1","k2":2}']
# ['{"k1":"v1","k2":20.5,"k3":[12,34,"56",true]}']
# ['{"k1":"v1","k2":20.5,"k3":[12,34,"56",true,{"k31":"v31","k32":false,"k33":null}]}']
# ['{"k1":"v1","k2":20.5,"k3":[12,34,"56",true,{"k31":"v31","k32":false,"k33":null}]}']
# ['{"k1":"v1","k2":20.5,"k3":[12,34,"56",true,{"k31":"v31","k32":false,"k33":null}]}', '{"k":null}']
# ['{"k1":"v1","k2":20.5,"k3":[12,34,"56",true,{"k31":"v31","k32":false,"k33":null}]}', '{"key":1.0}']
# ['{"k1":"v1","k2":20.5,"k3":[12,34,"56",true,{"k31":"v31","k32":false,"k33":null}]}', '{"key":1.12}', '{"a":null}']
# ['{"k1":"v1","k2":20.5,"k3":[12,34,"56",true,{"k31":"v31","k32":false,"k33":null}]}', '{"key":1.12}', '{"ab":"cd"}']
ChatGPT Usage
import openai
import json
from truncjson import Stream
openai.api_key = '###'
chat = openai.ChatCompletion.create(
model='gpt-3.5-turbo',
messages=[
{'role': 'system', 'content': 'You are a intelligent assistant.'},
{'role': 'user', 'content': 'Return 3 different random JSON objects each has more than 500 characters.'},
],
stream=True
)
stream = Stream()
for chunk_obj in chat:
chunk_content = chunk_obj['choices'][0]['delta'].get('content', '')
for obj in stream.extract(chunk_content):
print(json.loads(obj))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
truncjson-1.2.10.tar.gz
(132.2 kB
view hashes)
Built Distributions
Close
Hashes for truncjson-1.2.10-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d429a07eabe4a719a8affb29e86670c769d30626b386f251ad3d069087a9e898 |
|
MD5 | c7b3b16170d415d519b689d99222569b |
|
BLAKE2b-256 | e006d664986ad2311a6606199fd04716e1f70e877c4a8c5c9ce688aae9a5173f |
Close
Hashes for truncjson-1.2.10-cp312-cp312-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14b90771460ff1f11acd2e4f61d4f3ac5cbc5cf61739a09291a2585a93f12dd2 |
|
MD5 | 8d9ad996ec3f4e2c1c5e567182303609 |
|
BLAKE2b-256 | 4f460c4c902a6bd23ede692a57ca59c2226dee8778c6a0341f4b864390da7492 |
Close
Hashes for truncjson-1.2.10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cfee11de8c814562ef038a51e8b1afed102ec3aea46c3827498efa49ba6dce5 |
|
MD5 | b285eaf74d30a57929f012c6dce50fa3 |
|
BLAKE2b-256 | 355ccdabd1dd03cf00bef59a02c5e282bb5ce07f84fb149350e7905f5c2cd82c |
Close
Hashes for truncjson-1.2.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ad71902d3ff500a1b29267a6969ff6ff46da279c166a7e429637289935835e7 |
|
MD5 | 94f44e8ae92eca2760619586ecbc5406 |
|
BLAKE2b-256 | ac22cd17dfe42f6cba2a8e242c57f0cce321343e50b1b3ab2035b54fc4e5bf1f |
Close
Hashes for truncjson-1.2.10-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4be5490beafaccf34a01c29d6963b90f4e676e0e48f437f0a2439dcf3d58616d |
|
MD5 | fa4281161afc8dca423639b019659799 |
|
BLAKE2b-256 | 06762533ea2cc4158cda623fe8cfa57723ebc30b9a765b919a41f5bb4e29becf |
Close
Hashes for truncjson-1.2.10-cp312-cp312-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b35dfbdeb9becbe4284a5573e563f3cead6a47cb186a2d04bd93bc03d27f644 |
|
MD5 | c56c01666250b523c89d8f7db713304a |
|
BLAKE2b-256 | b1613ab2c8c8339919fe40926e362e760f5c1012ed4ca239a96b1354439700aa |
Close
Hashes for truncjson-1.2.10-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aef9af8d892c8997fa641df5189baba9c753ca240610b0978ce6c49f9ee5d4b5 |
|
MD5 | 66e4e9549eb8f08c8fc8d2e2669bd31b |
|
BLAKE2b-256 | b0407ae9043e1b2cdd137f7bb32a6eb60073deee454fb77f70c56f8e04e2927a |
Close
Hashes for truncjson-1.2.10-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a19ffb1961ca38b58a51a37ff70d8ae92e5359d8102750f54772572656531f7 |
|
MD5 | caca8e17aa3be64cb0164168c2deff38 |
|
BLAKE2b-256 | ac2587b8a9d39da65e49e2495ea7b3522352f796c661f7efea9a695e8575d4e3 |
Close
Hashes for truncjson-1.2.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2159490473f4c03f526fb79b8a4b10862392d29a8e942da3b2b7c21a03222994 |
|
MD5 | 7a56a9b13b53e510823e568eb139cca6 |
|
BLAKE2b-256 | 6c236cf63edb9303ade416f61c79853e59206a3cb19ed45c5352dbec88e4f8c0 |
Close
Hashes for truncjson-1.2.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ee5263b850554ea3b49bbd9c1deeaca9d07eeedbaa241829f916bc9b4a53bd6 |
|
MD5 | e23a14b8c6a86d6f025f93c859ee4fed |
|
BLAKE2b-256 | e4c989be96c2f5086b98a96e18dc1b0e06ccfd127d044bb7e7f1ba1f2fffb12e |
Close
Hashes for truncjson-1.2.10-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcfbf85de2db0d53d97bd5868d7d22e0a9082c8e87cb3fed260c28efec80fa14 |
|
MD5 | 9b88b291558537155e06963e956cf160 |
|
BLAKE2b-256 | fef0bb22866588f5316cd9635476c58598bba62104b8eb678cbda4f552080c3b |
Close
Hashes for truncjson-1.2.10-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdfb54ca3d80faab30a63f86a3b445ea869ed78232ff211dc3b51fb243e43668 |
|
MD5 | d36a4511c3300fb3cfba5525b541aa57 |
|
BLAKE2b-256 | f3b21e274096e331a07eb0e018797f9fcdc8a580c5195ac0a8a439a78c5149b0 |
Close
Hashes for truncjson-1.2.10-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bcc005adb1e651c37fb3c0b20c4d4112bc0be3de0bbf38b1cd1799252d890bd |
|
MD5 | 6c09ced46731ec3f0319c68d96b7ed33 |
|
BLAKE2b-256 | ebd389ef7b90430f990268796da66c8e73939264f1ff2823dedc909ad50bded4 |
Close
Hashes for truncjson-1.2.10-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbaf298ed3dded783e191cacaf903e3abe8cfe38bab091d71559ef8fd9b81c3b |
|
MD5 | b8eef6acb171827b0b56d90bcddfacbb |
|
BLAKE2b-256 | 2f65715e0510ebb5ce8e45414763103a35e827fbf553eb5f15be8de638ceb323 |
Close
Hashes for truncjson-1.2.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42ea849ebc368595453cfe1b56ee35379b925eaf474f34d4aa431ac511e4a648 |
|
MD5 | 0d13a5a262a2bd4c377d283dbb8f50e2 |
|
BLAKE2b-256 | 83933ba06051dd9586b73797831097c6fdf18f6aa351181e21a53a122176bfc7 |
Close
Hashes for truncjson-1.2.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c57890bc5b62df814d47c7b84823d89399bf4d9f7387ead9feda34650d938c5 |
|
MD5 | f9a09794bfa205cbbefa8c1eca1ed796 |
|
BLAKE2b-256 | f0b136d00c6ecb5a25fb879a180157922871a2bb022dd52750d80079bbd507d4 |
Close
Hashes for truncjson-1.2.10-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe1be519db5e78b0aa3ef0271bae5d2e5fa6cf94d3aff7f7715dd44a4d2ecef0 |
|
MD5 | e0b33d556b0b99d4e333f88255bcb17f |
|
BLAKE2b-256 | 4a623adf1aec98bd0b4f8e15e49a423323e92f082ffa8bc95061dfcb5f291758 |
Close
Hashes for truncjson-1.2.10-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99c0d376c572c0ae51cb3d026e6c4ae525c79b69f9ebb9600bec8164a6676387 |
|
MD5 | 4b3f1e5bea1cecf6df997983bd982eca |
|
BLAKE2b-256 | 696b03f265cd59266ccf35de37a30767f288bd09585a15e88fc536c8f867d9c3 |
Close
Hashes for truncjson-1.2.10-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfd22dfc291a2d36a1fed6a0e1fc821b86deae0d34abf564bb321db8e96229e5 |
|
MD5 | 37a972fd420b9d7a9ad5e14570082ec5 |
|
BLAKE2b-256 | 16700adc7a9e83481c26b8d1ddc2e3547d3f6e6d8a39df48ab29f004676f1f3b |
Close
Hashes for truncjson-1.2.10-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6598d91bf512288e22423e630144734d0d6a0e5d4c10c8f9d7d451c04439da4a |
|
MD5 | 291e7ddbf44c904313a0fa86fb5195ed |
|
BLAKE2b-256 | 6f4b5a373cae0dbf15113fa5117e2020de0e235f716442c96645a4fb0e2432ae |
Close
Hashes for truncjson-1.2.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26fa0ed149bd0c7c77752f692b8cd7bae8984c20884b909bc29a1d43ef626149 |
|
MD5 | ce8ee7998793cffda93746b05b32ad82 |
|
BLAKE2b-256 | b02be2d198f9e7b554db6d15b098ddbba8427e984a2ab4391f9513566ad61cdf |
Close
Hashes for truncjson-1.2.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 340d13365ceecb8e4a289f9153e6860e01bd8bb8e55ea1d0dc5b4c4363943770 |
|
MD5 | 0217ff06eef83cdd761abb0bd12a3c84 |
|
BLAKE2b-256 | 0de4e0388c5a48870edb46aa4a9cb09d852df55b97cd3e8f9dd65b6b2d64613c |
Close
Hashes for truncjson-1.2.10-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5124cff160db2dffd44ef5afc816fc023b6bab59b59c03bf8578a84d743d4b21 |
|
MD5 | 694efea5406f387c872923f1ddb05a75 |
|
BLAKE2b-256 | 77fd6070f1ae9580fc5d9b27a699ae2a1b318e00e30d6ba16f93d748ecc09527 |
Close
Hashes for truncjson-1.2.10-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a3f42c3ebf16d924fb15446f6a7fef43252a42d90020da7026911adfa5e7220 |
|
MD5 | 33e2ce566d793e3b1645f41083ea8a77 |
|
BLAKE2b-256 | 37f050e6c2f691828caac1b932e31576d1fa1525d4c51fc8bbcf3f8849b6c747 |
Close
Hashes for truncjson-1.2.10-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 151a4e9839ab92277d4ac0639a30ebb4b0e377f44226bfd6cb9fe72c89f3c030 |
|
MD5 | c2ae7faef05241c2f173012be107d143 |
|
BLAKE2b-256 | 93ce47241791bdb9c2b7d58c9119bb1c0bb5ab72ba88ab67d0721c96a14351b5 |
Close
Hashes for truncjson-1.2.10-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85d304857ed7083da8157accd8cf56163611c5cc3c1cc69db29ac1432226e208 |
|
MD5 | c806cbc46053c2608179fc384a3c48c4 |
|
BLAKE2b-256 | 741c725e5c29a5c27d8c02c51405656644cf266bd7144ab41fcff1d9838f4a3b |
Close
Hashes for truncjson-1.2.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa94dce41808a4b7238a4639ff23087ba63abc65e22e99e65f312d683ee34465 |
|
MD5 | bd7a5fa9fa5f5ed93e44788e444f5a35 |
|
BLAKE2b-256 | 1092e77eb24ffbf63fcbbc8c059230f644bd5c0927d7e388060ca26df2e8ec67 |
Close
Hashes for truncjson-1.2.10-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b44b9c6f2e53e37a4270dab8ddb38b16703dc8239896bb3477f1640bed680821 |
|
MD5 | 920a38f92497cd08ffe32c870a0d86b1 |
|
BLAKE2b-256 | c8a82e9ad89579d240c2fa1f386dca1b83f71a84e5d9e3f2381c39040e62950d |
Close
Hashes for truncjson-1.2.10-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1d837c6551431d14c784cea68dd6b338cd8ac7bd98332748629783c30a9bed2 |
|
MD5 | dd5510ba715970685ab0a512d08e7f8a |
|
BLAKE2b-256 | f3f9f80a460228ef9bf5bb54d795fc7c9824f6a58572986cc19db929f6a61729 |
Close
Hashes for truncjson-1.2.10-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1cd00e26e7938097d9c2661400543b3d84617b7df76ad552fcdaeb5a1e134a0 |
|
MD5 | 786c195b3e360518f83298cb68d9a994 |
|
BLAKE2b-256 | f9d2bdef13e915bd635e9f773c050b92f9937f718eff6d86f71ba74ff8e17b76 |
Close
Hashes for truncjson-1.2.10-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f6082bc34e70b2edc9cdef240ee54b13a7bb72a536e9c4cf2572f19fff00fbf |
|
MD5 | e1a66e8795e596909a95dfbecd54ebe3 |
|
BLAKE2b-256 | 9d33498a084e4edd91d4ff96c4857b832fbf0d51cac86ec21e67111aafdbc6b1 |
Close
Hashes for truncjson-1.2.10-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dd042a39c1837841d4d3d9166834330bd1cc228b6c261878605fee5d1d32b63 |
|
MD5 | 8c3f96248fc3bb64994827ab2b07c6f1 |
|
BLAKE2b-256 | ab16dfbbc0a0c51d94a5e4f8d664029c672977f9338d47978293710e4023ae8d |
Close
Hashes for truncjson-1.2.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31d651de27ab2e53bfc6c5eba992e96a1ace72a4ef6c5fdee8f45dd4514575b5 |
|
MD5 | 4a101e7c7181c3867abd7220f7a2a633 |
|
BLAKE2b-256 | 47f486dccbd637a1cf24865545bd630dc95e39b2e65cf10437a6f64d79f57474 |
Close
Hashes for truncjson-1.2.10-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a16e324a53f14ddb2185fd0cd84d3ebb9153e5ffc78f18d110ca9b33e8b4e03b |
|
MD5 | abb66897d4731e607fd6c92bccc383b8 |
|
BLAKE2b-256 | 6ec20301fe68548681418685499c3d296fd288625a335a38234d857fda887e27 |
Close
Hashes for truncjson-1.2.10-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf659eaf5f9f0c4d47d9437c9bee316e551938a4d709bf9109ddfb0578515450 |
|
MD5 | 9751be64019d0e91589232bdcfb13136 |
|
BLAKE2b-256 | c4a6a43c0a71147eb7f94064ff045cab1786cb80b1c7b6a12c72aebb398547bc |
Close
Hashes for truncjson-1.2.10-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47f8a8f8b66eaf7cc48346bfa4577a59add7f8fb6bd0492c7bf91890883d415c |
|
MD5 | 2b65011b756b8f4a2b71594fdada336c |
|
BLAKE2b-256 | 713f3b3e429c1e5df548dbb27232cf23a7d994ad427374cb2389e613c999fd60 |
Close
Hashes for truncjson-1.2.10-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b0282c86e25724561cdf85e619746c2c1653092edebf151560cfb041fc9a0b3 |
|
MD5 | 5b1456b8e26f5441947d2e037ddda73b |
|
BLAKE2b-256 | 44e3b3f05f3b9b7bca49dab930967270fc8e259ea2418c32b98e6c2a14ee231f |
Close
Hashes for truncjson-1.2.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1feb46c4fa9c95aa008d5e32ae206d9dc212d382c54c5f30b68bfd537df897c |
|
MD5 | 40a024fea57ffcfc9f9975192db346b8 |
|
BLAKE2b-256 | 4280ae111071aa634fc7f99219a0b6cd596349c5d13d2aa88412c27095f4e4ef |
Close
Hashes for truncjson-1.2.10-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ae5c7d5fbc8f6467de817025fae2ae448644e7e4d632deb1fda459143f3bd49 |
|
MD5 | 63baf54f49ac101023f242cb00ad38fc |
|
BLAKE2b-256 | e823a6f6ae999f1e4fd548ad880a539c498ddeec1c287a0b080a5a6f2dad5bbc |
Close
Hashes for truncjson-1.2.10-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f65f9edfe10f6530084a4fee7ec55265a09eea95bddfec4a58ca36f93ce5563f |
|
MD5 | 427a66d5e5a52aeef9dec4486a6298cb |
|
BLAKE2b-256 | 5c1556094667429b1086c11ac8f7e3e076b5c1459730b4ff4ad0c0aebdfa0df3 |