2024-02-19 21:12:22 +00:00
# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "aiohttp"
2023-10-17 01:13:31 +00:00
version = "3.8.6"
2023-07-21 17:36:28 +00:00
description = "Async http client/server framework (asyncio)"
optional = false
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:41d55fc043954cddbbd82503d9cc3f4814a40bcef30b3569bc7b5e34130718c1" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:1d84166673694841d8953f0a8d0c90e1087739d24632fe86b1a08819168b4566" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:253bf92b744b3170eb4c4ca2fa58f9c4b87aeb1df42f71d4e78815e6e8b73c9e" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3fd194939b1f764d6bb05490987bfe104287bbf51b8d862261ccf66f48fb4096" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:6c5f938d199a6fdbdc10bbb9447496561c3a9a565b43be564648d81e1102ac22" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:2817b2f66ca82ee699acd90e05c95e79bbf1dc986abb62b61ec8aaf851e81c93" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:0fa375b3d34e71ccccf172cab401cd94a72de7a8cc01847a7b3386204093bb47" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:9de50a199b7710fa2904be5a4a9b51af587ab24c8e540a7243ab737b45844543" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:e1d8cb0b56b3587c5c01de3bf2f600f186da7e7b5f7353d1bf26a8ddca57f965" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:8e31e9db1bee8b4f407b77fd2507337a0a80665ad7b6c749d08df595d88f1cf5" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_ppc64le.whl" , hash = "sha256:7bc88fc494b1f0311d67f29fee6fd636606f4697e8cc793a2d912ac5b19aa38d" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_s390x.whl" , hash = "sha256:ec00c3305788e04bf6d29d42e504560e159ccaf0be30c09203b468a6c1ccd3b2" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:ad1407db8f2f49329729564f71685557157bfa42b48f4b93e53721a16eb813ed" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-win32.whl" , hash = "sha256:ccc360e87341ad47c777f5723f68adbb52b37ab450c8bc3ca9ca1f3e849e5fe2" } ,
{ file = "aiohttp-3.8.6-cp310-cp310-win_amd64.whl" , hash = "sha256:93c15c8e48e5e7b89d5cb4613479d144fda8344e2d886cf694fd36db4cc86865" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:6e2f9cc8e5328f829f6e1fb74a0a3a939b14e67e80832975e01929e320386b34" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:e6a00ffcc173e765e200ceefb06399ba09c06db97f401f920513a10c803604ca" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:41bdc2ba359032e36c0e9de5a3bd00d6fb7ea558a6ce6b70acedf0da86458321" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:14cd52ccf40006c7a6cd34a0f8663734e5363fd981807173faf3a017e202fec9" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:2d5b785c792802e7b275c420d84f3397668e9d49ab1cb52bd916b3b3ffcf09ad" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:1bed815f3dc3d915c5c1e556c397c8667826fbc1b935d95b0ad680787896a358" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:96603a562b546632441926cd1293cfcb5b69f0b4159e6077f7c7dbdfb686af4d" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:d76e8b13161a202d14c9584590c4df4d068c9567c99506497bdd67eaedf36403" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:e3f1e3f1a1751bb62b4a1b7f4e435afcdade6c17a4fd9b9d43607cebd242924a" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:76b36b3124f0223903609944a3c8bf28a599b2cc0ce0be60b45211c8e9be97f8" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_ppc64le.whl" , hash = "sha256:a2ece4af1f3c967a4390c284797ab595a9f1bc1130ef8b01828915a05a6ae684" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_s390x.whl" , hash = "sha256:16d330b3b9db87c3883e565340d292638a878236418b23cc8b9b11a054aaa887" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:42c89579f82e49db436b69c938ab3e1559e5a4409eb8639eb4143989bc390f2f" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-win32.whl" , hash = "sha256:efd2fcf7e7b9d7ab16e6b7d54205beded0a9c8566cb30f09c1abe42b4e22bdcb" } ,
{ file = "aiohttp-3.8.6-cp311-cp311-win_amd64.whl" , hash = "sha256:3b2ab182fc28e7a81f6c70bfbd829045d9480063f5ab06f6e601a3eddbbd49a0" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-macosx_10_9_x86_64.whl" , hash = "sha256:fdee8405931b0615220e5ddf8cd7edd8592c606a8e4ca2a00704883c396e4479" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d25036d161c4fe2225d1abff2bd52c34ed0b1099f02c208cd34d8c05729882f0" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:5d791245a894be071d5ab04bbb4850534261a7d4fd363b094a7b9963e8cdbd31" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:0cccd1de239afa866e4ce5c789b3032442f19c261c7d8a01183fd956b1935349" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:1f13f60d78224f0dace220d8ab4ef1dbc37115eeeab8c06804fec11bec2bbd07" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:8a9b5a0606faca4f6cc0d338359d6fa137104c337f489cd135bb7fbdbccb1e39" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_aarch64.whl" , hash = "sha256:13da35c9ceb847732bf5c6c5781dcf4780e14392e5d3b3c689f6d22f8e15ae31" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_i686.whl" , hash = "sha256:4d4cbe4ffa9d05f46a28252efc5941e0462792930caa370a6efaf491f412bc66" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_ppc64le.whl" , hash = "sha256:229852e147f44da0241954fc6cb910ba074e597f06789c867cb7fb0621e0ba7a" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_s390x.whl" , hash = "sha256:713103a8bdde61d13490adf47171a1039fd880113981e55401a0f7b42c37d071" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-musllinux_1_1_x86_64.whl" , hash = "sha256:45ad816b2c8e3b60b510f30dbd37fe74fd4a772248a52bb021f6fd65dff809b6" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-win32.whl" , hash = "sha256:2b8d4e166e600dcfbff51919c7a3789ff6ca8b3ecce16e1d9c96d95dd569eb4c" } ,
{ file = "aiohttp-3.8.6-cp36-cp36m-win_amd64.whl" , hash = "sha256:0912ed87fee967940aacc5306d3aa8ba3a459fcd12add0b407081fbefc931e53" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:e2a988a0c673c2e12084f5e6ba3392d76c75ddb8ebc6c7e9ead68248101cd446" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ebf3fd9f141700b510d4b190094db0ce37ac6361a6806c153c161dc6c041ccda" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:3161ce82ab85acd267c8f4b14aa226047a6bee1e4e6adb74b798bd42c6ae1f80" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:d95fc1bf33a9a81469aa760617b5971331cdd74370d1214f0b3109272c0e1e3c" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6c43ecfef7deaf0617cee936836518e7424ee12cb709883f2c9a1adda63cc460" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:ca80e1b90a05a4f476547f904992ae81eda5c2c85c66ee4195bb8f9c5fb47f28" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:90c72ebb7cb3a08a7f40061079817133f502a160561d0675b0a6adf231382c92" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_i686.whl" , hash = "sha256:bb54c54510e47a8c7c8e63454a6acc817519337b2b78606c4e840871a3e15349" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_ppc64le.whl" , hash = "sha256:de6a1c9f6803b90e20869e6b99c2c18cef5cc691363954c93cb9adeb26d9f3ae" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_s390x.whl" , hash = "sha256:a3628b6c7b880b181a3ae0a0683698513874df63783fd89de99b7b7539e3e8a8" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:fc37e9aef10a696a5a4474802930079ccfc14d9f9c10b4662169671ff034b7df" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-win32.whl" , hash = "sha256:f8ef51e459eb2ad8e7a66c1d6440c808485840ad55ecc3cafefadea47d1b1ba2" } ,
{ file = "aiohttp-3.8.6-cp37-cp37m-win_amd64.whl" , hash = "sha256:b2fe42e523be344124c6c8ef32a011444e869dc5f883c591ed87f84339de5976" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:9e2ee0ac5a1f5c7dd3197de309adfb99ac4617ff02b0603fd1e65b07dc772e4b" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:01770d8c04bd8db568abb636c1fdd4f7140b284b8b3e0b4584f070180c1e5c62" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:3c68330a59506254b556b99a91857428cab98b2f84061260a67865f7f52899f5" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:89341b2c19fb5eac30c341133ae2cc3544d40d9b1892749cdd25892bbc6ac951" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:71783b0b6455ac8f34b5ec99d83e686892c50498d5d00b8e56d47f41b38fbe04" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:f628dbf3c91e12f4d6c8b3f092069567d8eb17814aebba3d7d60c149391aee3a" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:b04691bc6601ef47c88f0255043df6f570ada1a9ebef99c34bd0b72866c217ae" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:7ee912f7e78287516df155f69da575a0ba33b02dd7c1d6614dbc9463f43066e3" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:9c19b26acdd08dd239e0d3669a3dddafd600902e37881f13fbd8a53943079dbc" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:99c5ac4ad492b4a19fc132306cd57075c28446ec2ed970973bbf036bcda1bcc6" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_ppc64le.whl" , hash = "sha256:f0f03211fd14a6a0aed2997d4b1c013d49fb7b50eeb9ffdf5e51f23cfe2c77fa" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_s390x.whl" , hash = "sha256:8d399dade330c53b4106160f75f55407e9ae7505263ea86f2ccca6bfcbdb4921" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:ec4fd86658c6a8964d75426517dc01cbf840bbf32d055ce64a9e63a40fd7b771" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-win32.whl" , hash = "sha256:33164093be11fcef3ce2571a0dccd9041c9a93fa3bde86569d7b03120d276c6f" } ,
{ file = "aiohttp-3.8.6-cp38-cp38-win_amd64.whl" , hash = "sha256:bdf70bfe5a1414ba9afb9d49f0c912dc524cf60141102f3a11143ba3d291870f" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:d52d5dc7c6682b720280f9d9db41d36ebe4791622c842e258c9206232251ab2b" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:4ac39027011414dbd3d87f7edb31680e1f430834c8cef029f11c66dad0670aa5" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:3f5c7ce535a1d2429a634310e308fb7d718905487257060e5d4598e29dc17f0b" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b30e963f9e0d52c28f284d554a9469af073030030cef8693106d918b2ca92f54" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:918810ef188f84152af6b938254911055a72e0f935b5fbc4c1a4ed0b0584aed1" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:002f23e6ea8d3dd8d149e569fd580c999232b5fbc601c48d55398fbc2e582e8c" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:4fcf3eabd3fd1a5e6092d1242295fa37d0354b2eb2077e6eb670accad78e40e1" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:255ba9d6d5ff1a382bb9a578cd563605aa69bec845680e21c44afc2670607a95" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:d67f8baed00870aa390ea2590798766256f31dc5ed3ecc737debb6e97e2ede78" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:86f20cee0f0a317c76573b627b954c412ea766d6ada1a9fcf1b805763ae7feeb" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_ppc64le.whl" , hash = "sha256:39a312d0e991690ccc1a61f1e9e42daa519dcc34ad03eb6f826d94c1190190dd" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_s390x.whl" , hash = "sha256:e827d48cf802de06d9c935088c2924e3c7e7533377d66b6f31ed175c1620e05e" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:bd111d7fc5591ddf377a408ed9067045259ff2770f37e2d94e6478d0f3fc0c17" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-win32.whl" , hash = "sha256:caf486ac1e689dda3502567eb89ffe02876546599bbf915ec94b1fa424eeffd4" } ,
{ file = "aiohttp-3.8.6-cp39-cp39-win_amd64.whl" , hash = "sha256:3f0e27e5b733803333bb2371249f41cf42bae8884863e8e8965ec69bebe53132" } ,
{ file = "aiohttp-3.8.6.tar.gz" , hash = "sha256:b0cf2a4501bff9330a8a5248b4ce951851e415bdcce9dc158e76cfd55e15085c" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
aiosignal = ">=1.1.2"
async-timeout = ">=4.0.0a3,<5.0"
attrs = ">=17.3.0"
charset-normalizer = ">=2.0,<4.0"
frozenlist = ">=1.1.1"
multidict = ">=4.5,<7.0"
yarl = ">=1.0,<2.0"
[ package . extras ]
speedups = [ "Brotli" , "aiodns" , "cchardet" ]
[ [ package ] ]
name = "aiosignal"
version = "1.3.1"
description = "aiosignal: a list of registered asynchronous callbacks"
optional = false
python-versions = ">=3.7"
files = [
{ file = "aiosignal-1.3.1-py3-none-any.whl" , hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17" } ,
{ file = "aiosignal-1.3.1.tar.gz" , hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc" } ,
]
[ package . dependencies ]
frozenlist = ">=1.1.0"
2023-10-17 01:13:31 +00:00
[ [ package ] ]
name = "annotated-types"
version = "0.6.0"
description = "Reusable constraint types to use with typing.Annotated"
optional = false
python-versions = ">=3.8"
files = [
{ file = "annotated_types-0.6.0-py3-none-any.whl" , hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43" } ,
{ file = "annotated_types-0.6.0.tar.gz" , hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d" } ,
]
[ package . dependencies ]
typing-extensions = { version = ">=4.0.0" , markers = "python_version < \"3.9\"" }
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "anyio"
version = "3.7.1"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
optional = false
python-versions = ">=3.7"
files = [
{ file = "anyio-3.7.1-py3-none-any.whl" , hash = "sha256:91dee416e570e92c64041bd18b900d1d6fa78dff7048769ce5ac5ddad004fbb5" } ,
{ file = "anyio-3.7.1.tar.gz" , hash = "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780" } ,
]
[ package . dependencies ]
exceptiongroup = { version = "*" , markers = "python_version < \"3.11\"" }
idna = ">=2.8"
sniffio = ">=1.1"
[ package . extras ]
doc = [ "Sphinx" , "packaging" , "sphinx-autodoc-typehints (>=1.2.0)" , "sphinx-rtd-theme (>=1.2.2)" , "sphinxcontrib-jquery" ]
test = [ "anyio[trio]" , "coverage[toml] (>=4.5)" , "hypothesis (>=4.0)" , "mock (>=4)" , "psutil (>=5.9)" , "pytest (>=7.0)" , "pytest-mock (>=3.6.1)" , "trustme" , "uvloop (>=0.17)" ]
trio = [ "trio (<0.22)" ]
[ [ package ] ]
name = "appnope"
version = "0.1.3"
description = "Disable App Nap on macOS >= 10.9"
optional = false
python-versions = "*"
files = [
{ file = "appnope-0.1.3-py2.py3-none-any.whl" , hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e" } ,
{ file = "appnope-0.1.3.tar.gz" , hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24" } ,
]
[ [ package ] ]
name = "argon2-cffi"
2023-08-22 18:09:35 +00:00
version = "23.1.0"
description = "Argon2 for Python"
2023-07-21 17:36:28 +00:00
optional = false
2023-08-22 18:09:35 +00:00
python-versions = ">=3.7"
2023-07-21 17:36:28 +00:00
files = [
2023-08-22 18:09:35 +00:00
{ file = "argon2_cffi-23.1.0-py3-none-any.whl" , hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea" } ,
{ file = "argon2_cffi-23.1.0.tar.gz" , hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
argon2-cffi-bindings = "*"
[ package . extras ]
2023-08-22 18:09:35 +00:00
dev = [ "argon2-cffi[tests,typing]" , "tox (>4)" ]
docs = [ "furo" , "myst-parser" , "sphinx" , "sphinx-copybutton" , "sphinx-notfound-page" ]
tests = [ "hypothesis" , "pytest" ]
typing = [ "mypy" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "argon2-cffi-bindings"
version = "21.2.0"
description = "Low-level CFFI bindings for Argon2"
optional = false
python-versions = ">=3.6"
files = [
{ file = "argon2-cffi-bindings-21.2.0.tar.gz" , hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl" , hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl" , hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl" , hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl" , hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl" , hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl" , hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f" } ,
{ file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl" , hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl" , hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb" } ,
{ file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl" , hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a" } ,
]
[ package . dependencies ]
cffi = ">=1.0.1"
[ package . extras ]
dev = [ "cogapp" , "pre-commit" , "pytest" , "wheel" ]
tests = [ "pytest" ]
[ [ package ] ]
name = "arrow"
2023-10-17 01:13:31 +00:00
version = "1.3.0"
2023-07-21 17:36:28 +00:00
description = "Better dates & times for Python"
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "arrow-1.3.0-py3-none-any.whl" , hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80" } ,
{ file = "arrow-1.3.0.tar.gz" , hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
python-dateutil = ">=2.7.0"
2023-10-17 01:13:31 +00:00
types-python-dateutil = ">=2.8.10"
[ package . extras ]
doc = [ "doc8" , "sphinx (>=7.0.0)" , "sphinx-autobuild" , "sphinx-autodoc-typehints" , "sphinx_rtd_theme (>=1.3.0)" ]
2024-02-01 16:27:39 +00:00
test = [ "dateparser (==1.*)" , "pre-commit" , "pytest" , "pytest-cov" , "pytest-mock" , "pytz (==2021.1)" , "simplejson (==3.*)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "asttokens"
2023-11-07 23:15:09 +00:00
version = "2.4.1"
2023-07-21 17:36:28 +00:00
description = "Annotate AST trees with source code positions"
optional = false
python-versions = "*"
files = [
2023-11-07 23:15:09 +00:00
{ file = "asttokens-2.4.1-py2.py3-none-any.whl" , hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24" } ,
{ file = "asttokens-2.4.1.tar.gz" , hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-10-17 01:13:31 +00:00
six = ">=1.12.0"
2023-07-21 17:36:28 +00:00
[ package . extras ]
2023-11-07 23:15:09 +00:00
astroid = [ "astroid (>=1,<2)" , "astroid (>=2,<4)" ]
test = [ "astroid (>=1,<2)" , "astroid (>=2,<4)" , "pytest" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "async-lru"
2023-08-22 18:09:35 +00:00
version = "2.0.4"
2023-07-21 17:36:28 +00:00
description = "Simple LRU cache for asyncio"
optional = false
python-versions = ">=3.8"
files = [
2023-08-22 18:09:35 +00:00
{ file = "async-lru-2.0.4.tar.gz" , hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627" } ,
{ file = "async_lru-2.0.4-py3-none-any.whl" , hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
typing-extensions = { version = ">=4.0.0" , markers = "python_version < \"3.11\"" }
[ [ package ] ]
name = "async-timeout"
2023-08-22 18:09:35 +00:00
version = "4.0.3"
2023-07-21 17:36:28 +00:00
description = "Timeout context manager for asyncio programs"
optional = false
2023-08-22 18:09:35 +00:00
python-versions = ">=3.7"
2023-07-21 17:36:28 +00:00
files = [
2023-08-22 18:09:35 +00:00
{ file = "async-timeout-4.0.3.tar.gz" , hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f" } ,
{ file = "async_timeout-4.0.3-py3-none-any.whl" , hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "attrs"
version = "23.1.0"
description = "Classes Without Boilerplate"
optional = false
python-versions = ">=3.7"
files = [
{ file = "attrs-23.1.0-py3-none-any.whl" , hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04" } ,
{ file = "attrs-23.1.0.tar.gz" , hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" } ,
]
[ package . extras ]
cov = [ "attrs[tests]" , "coverage[toml] (>=5.3)" ]
dev = [ "attrs[docs,tests]" , "pre-commit" ]
docs = [ "furo" , "myst-parser" , "sphinx" , "sphinx-notfound-page" , "sphinxcontrib-towncrier" , "towncrier" , "zope-interface" ]
tests = [ "attrs[tests-no-zope]" , "zope-interface" ]
tests-no-zope = [ "cloudpickle" , "hypothesis" , "mypy (>=1.1.1)" , "pympler" , "pytest (>=4.3.0)" , "pytest-mypy-plugins" , "pytest-xdist[psutil]" ]
[ [ package ] ]
name = "babel"
2023-11-07 23:15:09 +00:00
version = "2.13.1"
2023-07-21 17:36:28 +00:00
description = "Internationalization utilities"
optional = false
python-versions = ">=3.7"
files = [
2023-11-07 23:15:09 +00:00
{ file = "Babel-2.13.1-py3-none-any.whl" , hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed" } ,
{ file = "Babel-2.13.1.tar.gz" , hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
pytz = { version = ">=2015.7" , markers = "python_version < \"3.9\"" }
2023-11-07 23:15:09 +00:00
setuptools = { version = "*" , markers = "python_version >= \"3.12\"" }
2023-07-21 17:36:28 +00:00
2023-10-17 01:13:31 +00:00
[ package . extras ]
dev = [ "freezegun (>=1.0,<2.0)" , "pytest (>=6.0)" , "pytest-cov" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "backcall"
version = "0.2.0"
description = "Specifications for callback functions passed in to an API"
optional = false
python-versions = "*"
files = [
{ file = "backcall-0.2.0-py2.py3-none-any.whl" , hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255" } ,
{ file = "backcall-0.2.0.tar.gz" , hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e" } ,
]
[ [ package ] ]
name = "beautifulsoup4"
version = "4.12.2"
description = "Screen-scraping library"
optional = false
python-versions = ">=3.6.0"
files = [
{ file = "beautifulsoup4-4.12.2-py3-none-any.whl" , hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a" } ,
{ file = "beautifulsoup4-4.12.2.tar.gz" , hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da" } ,
]
[ package . dependencies ]
soupsieve = ">1.2"
[ package . extras ]
html5lib = [ "html5lib" ]
lxml = [ "lxml" ]
[ [ package ] ]
name = "bleach"
2023-10-17 01:13:31 +00:00
version = "6.1.0"
2023-07-21 17:36:28 +00:00
description = "An easy safelist-based HTML-sanitizing tool."
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "bleach-6.1.0-py3-none-any.whl" , hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6" } ,
{ file = "bleach-6.1.0.tar.gz" , hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
six = ">=1.9.0"
webencodings = "*"
[ package . extras ]
2023-10-17 01:13:31 +00:00
css = [ "tinycss2 (>=1.1.0,<1.3)" ]
2023-07-21 17:36:28 +00:00
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "blis"
2023-10-17 01:13:31 +00:00
version = "0.7.11"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "The Blis BLAS-like linear algebra library, as a self-contained C-extension."
optional = true
python-versions = "*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "blis-0.7.11-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:cd5fba34c5775e4c440d80e4dea8acb40e2d3855b546e07c4e21fad8f972404c" } ,
{ file = "blis-0.7.11-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:31273d9086cab9c56986d478e3ed6da6752fa4cdd0f7b5e8e5db30827912d90d" } ,
{ file = "blis-0.7.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d06883f83d4c8de8264154f7c4a420b4af323050ed07398c1ff201c34c25c0d2" } ,
{ file = "blis-0.7.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ee493683e3043650d4413d531e79e580d28a3c7bdd184f1b9cfa565497bda1e7" } ,
{ file = "blis-0.7.11-cp310-cp310-win_amd64.whl" , hash = "sha256:a73945a9d635eea528bccfdfcaa59dd35bd5f82a4a40d5ca31f08f507f3a6f81" } ,
{ file = "blis-0.7.11-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:1b68df4d01d62f9adaef3dad6f96418787265a6878891fc4e0fabafd6d02afba" } ,
{ file = "blis-0.7.11-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:162e60d941a8151418d558a94ee5547cb1bbeed9f26b3b6f89ec9243f111a201" } ,
{ file = "blis-0.7.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:686a7d0111d5ba727cd62f374748952fd6eb74701b18177f525b16209a253c01" } ,
{ file = "blis-0.7.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:0421d6e44cda202b113a34761f9a062b53f8c2ae8e4ec8325a76e709fca93b6e" } ,
{ file = "blis-0.7.11-cp311-cp311-win_amd64.whl" , hash = "sha256:0dc9dcb3843045b6b8b00432409fd5ee96b8344a324e031bfec7303838c41a1a" } ,
{ file = "blis-0.7.11-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:dadf8713ea51d91444d14ad4104a5493fa7ecc401bbb5f4a203ff6448fadb113" } ,
{ file = "blis-0.7.11-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:5bcdaf370f03adaf4171d6405a89fa66cb3c09399d75fc02e1230a78cd2759e4" } ,
{ file = "blis-0.7.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:7de19264b1d49a178bf8035406d0ae77831f3bfaa3ce02942964a81a202abb03" } ,
{ file = "blis-0.7.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8ea55c6a4a60fcbf6a0fdce40df6e254451ce636988323a34b9c94b583fc11e5" } ,
{ file = "blis-0.7.11-cp312-cp312-win_amd64.whl" , hash = "sha256:5a305dbfc96d202a20d0edd6edf74a406b7e1404f4fa4397d24c68454e60b1b4" } ,
{ file = "blis-0.7.11-cp36-cp36m-macosx_10_9_x86_64.whl" , hash = "sha256:68544a1cbc3564db7ba54d2bf8988356b8c7acd025966e8e9313561b19f0fe2e" } ,
{ file = "blis-0.7.11-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:075431b13b9dd7b411894d4afbd4212acf4d0f56c5a20628f4b34902e90225f1" } ,
{ file = "blis-0.7.11-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:324fdf62af9075831aa62b51481960e8465674b7723f977684e32af708bb7448" } ,
{ file = "blis-0.7.11-cp36-cp36m-win_amd64.whl" , hash = "sha256:afebdb02d2dcf9059f23ce1244585d3ce7e95c02a77fd45a500e4a55b7b23583" } ,
{ file = "blis-0.7.11-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:2e62cd14b20e960f21547fee01f3a0b2ac201034d819842865a667c969c355d1" } ,
{ file = "blis-0.7.11-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:89b01c05a5754edc0b9a3b69be52cbee03f645b2ec69651d12216ea83b8122f0" } ,
{ file = "blis-0.7.11-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:cfee5ec52ba1e9002311d9191f7129d7b0ecdff211e88536fb24c865d102b50d" } ,
{ file = "blis-0.7.11-cp37-cp37m-win_amd64.whl" , hash = "sha256:844b6377e3e7f3a2e92e7333cc644095386548ad5a027fdc150122703c009956" } ,
{ file = "blis-0.7.11-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:6df00c24128e323174cde5d80ebe3657df39615322098ce06613845433057614" } ,
{ file = "blis-0.7.11-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:809d1da1331108935bf06e22f3cf07ef73a41a572ecd81575bdedb67defe3465" } ,
{ file = "blis-0.7.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:bfabd5272bbbe504702b8dfe30093653d278057656126716ff500d9c184b35a6" } ,
{ file = "blis-0.7.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ca684f5c2f05269f17aefe7812360286e9a1cee3afb96d416485efd825dbcf19" } ,
{ file = "blis-0.7.11-cp38-cp38-win_amd64.whl" , hash = "sha256:688a8b21d2521c2124ee8dfcbaf2c385981ccc27e313e052113d5db113e27d3b" } ,
{ file = "blis-0.7.11-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:2ff7abd784033836b284ff9f4d0d7cb0737b7684daebb01a4c9fe145ffa5a31e" } ,
{ file = "blis-0.7.11-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:f9caffcd14795bfe52add95a0dd8426d44e737b55fcb69e2b797816f4da0b1d2" } ,
{ file = "blis-0.7.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:2fb36989ed61233cfd48915896802ee6d3d87882190000f8cfe0cf4a3819f9a8" } ,
{ file = "blis-0.7.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7ea09f961871f880d5dc622dce6c370e4859559f0ead897ae9b20ddafd6b07a2" } ,
{ file = "blis-0.7.11-cp39-cp39-win_amd64.whl" , hash = "sha256:5bb38adabbb22f69f22c74bad025a010ae3b14de711bf5c715353980869d491d" } ,
{ file = "blis-0.7.11.tar.gz" , hash = "sha256:cec6d48f75f7ac328ae1b6fbb372dde8c8a57c89559172277f66e01ff08d4d42" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
numpy = [
{ version = ">=1.15.0" , markers = "python_version < \"3.9\"" } ,
{ version = ">=1.19.0" , markers = "python_version >= \"3.9\"" } ,
]
[ [ package ] ]
name = "catalogue"
2023-10-17 01:13:31 +00:00
version = "2.0.10"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Super lightweight function registries for your library"
optional = true
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "catalogue-2.0.10-py3-none-any.whl" , hash = "sha256:58c2de0020aa90f4a2da7dfad161bf7b3b054c86a5f09fcedc0b2b740c109a9f" } ,
{ file = "catalogue-2.0.10.tar.gz" , hash = "sha256:4f56daa940913d3f09d589c191c74e5a6d51762b3a9e37dd53b7437afd6cda15" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "certifi"
2023-08-22 18:09:35 +00:00
version = "2023.7.22"
2023-07-21 17:36:28 +00:00
description = "Python package for providing Mozilla's CA Bundle."
optional = false
python-versions = ">=3.6"
files = [
2023-08-22 18:09:35 +00:00
{ file = "certifi-2023.7.22-py3-none-any.whl" , hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9" } ,
{ file = "certifi-2023.7.22.tar.gz" , hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "cffi"
2023-10-17 01:13:31 +00:00
version = "1.16.0"
2023-07-21 17:36:28 +00:00
description = "Foreign Function Interface for Python calling C code."
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088" } ,
{ file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9" } ,
{ file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673" } ,
{ file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896" } ,
{ file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684" } ,
{ file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7" } ,
{ file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614" } ,
{ file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743" } ,
{ file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d" } ,
{ file = "cffi-1.16.0-cp310-cp310-win32.whl" , hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a" } ,
{ file = "cffi-1.16.0-cp310-cp310-win_amd64.whl" , hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1" } ,
{ file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404" } ,
{ file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417" } ,
{ file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627" } ,
{ file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936" } ,
{ file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d" } ,
{ file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56" } ,
{ file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e" } ,
{ file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc" } ,
{ file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb" } ,
{ file = "cffi-1.16.0-cp311-cp311-win32.whl" , hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab" } ,
{ file = "cffi-1.16.0-cp311-cp311-win_amd64.whl" , hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba" } ,
{ file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956" } ,
{ file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e" } ,
{ file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e" } ,
{ file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2" } ,
{ file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357" } ,
{ file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6" } ,
{ file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969" } ,
{ file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520" } ,
{ file = "cffi-1.16.0-cp312-cp312-win32.whl" , hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b" } ,
{ file = "cffi-1.16.0-cp312-cp312-win_amd64.whl" , hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235" } ,
{ file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc" } ,
{ file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0" } ,
{ file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b" } ,
{ file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c" } ,
{ file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b" } ,
{ file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324" } ,
{ file = "cffi-1.16.0-cp38-cp38-win32.whl" , hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a" } ,
{ file = "cffi-1.16.0-cp38-cp38-win_amd64.whl" , hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36" } ,
{ file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed" } ,
{ file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2" } ,
{ file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872" } ,
{ file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8" } ,
{ file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f" } ,
{ file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4" } ,
{ file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098" } ,
{ file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000" } ,
{ file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe" } ,
{ file = "cffi-1.16.0-cp39-cp39-win32.whl" , hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4" } ,
{ file = "cffi-1.16.0-cp39-cp39-win_amd64.whl" , hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8" } ,
{ file = "cffi-1.16.0.tar.gz" , hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
pycparser = "*"
[ [ package ] ]
name = "charset-normalizer"
2023-11-07 23:15:09 +00:00
version = "3.3.2"
2023-07-21 17:36:28 +00:00
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
optional = false
python-versions = ">=3.7.0"
files = [
2023-11-07 23:15:09 +00:00
{ file = "charset-normalizer-3.3.2.tar.gz" , hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl" , hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl" , hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl" , hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73" } ,
{ file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl" , hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl" , hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl" , hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl" , hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab" } ,
{ file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl" , hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl" , hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl" , hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl" , hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl" , hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl" , hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7" } ,
{ file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl" , hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl" , hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl" , hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl" , hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl" , hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4" } ,
{ file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl" , hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl" , hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl" , hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl" , hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25" } ,
{ file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl" , hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl" , hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl" , hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl" , hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f" } ,
{ file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl" , hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d" } ,
{ file = "charset_normalizer-3.3.2-py3-none-any.whl" , hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "click"
2023-08-22 18:09:35 +00:00
version = "8.1.7"
2023-07-21 17:36:28 +00:00
description = "Composable command line interface toolkit"
2023-10-31 14:53:12 +00:00
optional = true
2023-07-21 17:36:28 +00:00
python-versions = ">=3.7"
files = [
2023-08-22 18:09:35 +00:00
{ file = "click-8.1.7-py3-none-any.whl" , hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28" } ,
{ file = "click-8.1.7.tar.gz" , hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
colorama = { version = "*" , markers = "platform_system == \"Windows\"" }
2023-10-17 01:13:31 +00:00
[ [ package ] ]
name = "cloudpathlib"
version = "0.16.0"
description = "pathlib-style classes for cloud storage services."
optional = true
python-versions = ">=3.7"
files = [
{ file = "cloudpathlib-0.16.0-py3-none-any.whl" , hash = "sha256:f46267556bf91f03db52b5df7a152548596a15aabca1c8731ef32b0b25a1a6a3" } ,
{ file = "cloudpathlib-0.16.0.tar.gz" , hash = "sha256:cdfcd35d46d529587d744154a0bdf962aca953b725c8784cd2ec478354ea63a3" } ,
]
[ package . dependencies ]
typing_extensions = { version = ">4" , markers = "python_version < \"3.11\"" }
[ package . extras ]
all = [ "cloudpathlib[azure]" , "cloudpathlib[gs]" , "cloudpathlib[s3]" ]
azure = [ "azure-storage-blob (>=12)" ]
gs = [ "google-cloud-storage" ]
s3 = [ "boto3" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "colorama"
version = "0.4.6"
description = "Cross-platform colored terminal text."
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
files = [
{ file = "colorama-0.4.6-py2.py3-none-any.whl" , hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" } ,
{ file = "colorama-0.4.6.tar.gz" , hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44" } ,
]
[ [ package ] ]
name = "comm"
2023-11-07 23:15:09 +00:00
version = "0.2.0"
2023-07-21 17:36:28 +00:00
description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc."
optional = false
2023-11-07 23:15:09 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "comm-0.2.0-py3-none-any.whl" , hash = "sha256:2da8d9ebb8dd7bfc247adaff99f24dce705638a8042b85cb995066793e391001" } ,
{ file = "comm-0.2.0.tar.gz" , hash = "sha256:a517ea2ca28931c7007a7a99c562a0fa5883cfb48963140cf642c41c948498be" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-08-22 18:09:35 +00:00
traitlets = ">=4"
2023-07-21 17:36:28 +00:00
[ package . extras ]
test = [ "pytest" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "confection"
2023-10-17 01:13:31 +00:00
version = "0.1.3"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "The sweetest config system for Python"
optional = true
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "confection-0.1.3-py3-none-any.whl" , hash = "sha256:58b125c9bc6786f32e37fe4d98bc3a03e5f509a4b9de02541b99c559f2026092" } ,
{ file = "confection-0.1.3.tar.gz" , hash = "sha256:5a876d368a7698eec58791126757a75a3df16e26cc49653b52426e9ffd39f12f" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0"
srsly = ">=2.4.0,<3.0.0"
[ [ package ] ]
name = "cymem"
2023-10-17 01:13:31 +00:00
version = "2.0.8"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Manage calls to calloc/free through Cython"
optional = true
python-versions = "*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "cymem-2.0.8-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:77b5d3a73c41a394efd5913ab7e48512054cd2dabb9582d489535456641c7666" } ,
{ file = "cymem-2.0.8-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:bd33da892fb560ba85ea14b1528c381ff474048e861accc3366c8b491035a378" } ,
{ file = "cymem-2.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:29a551eda23eebd6d076b855f77a5ed14a1d1cae5946f7b3cb5de502e21b39b0" } ,
{ file = "cymem-2.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e8260445652ae5ab19fff6851f32969a7b774f309162e83367dd0f69aac5dbf7" } ,
{ file = "cymem-2.0.8-cp310-cp310-win_amd64.whl" , hash = "sha256:a63a2bef4c7e0aec7c9908bca0a503bf91ac7ec18d41dd50dc7dff5d994e4387" } ,
{ file = "cymem-2.0.8-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:6b84b780d52cb2db53d4494fe0083c4c5ee1f7b5380ceaea5b824569009ee5bd" } ,
{ file = "cymem-2.0.8-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:0d5f83dc3cb5a39f0e32653cceb7c8ce0183d82f1162ca418356f4a8ed9e203e" } ,
{ file = "cymem-2.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4ac218cf8a43a761dc6b2f14ae8d183aca2bbb85b60fe316fd6613693b2a7914" } ,
{ file = "cymem-2.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:42c993589d1811ec665d37437d5677b8757f53afadd927bf8516ac8ce2d3a50c" } ,
{ file = "cymem-2.0.8-cp311-cp311-win_amd64.whl" , hash = "sha256:ab3cf20e0eabee9b6025ceb0245dadd534a96710d43fb7a91a35e0b9e672ee44" } ,
{ file = "cymem-2.0.8-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:cb51fddf1b920abb1f2742d1d385469bc7b4b8083e1cfa60255e19bc0900ccb5" } ,
{ file = "cymem-2.0.8-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:9235957f8c6bc2574a6a506a1687164ad629d0b4451ded89d49ebfc61b52660c" } ,
{ file = "cymem-2.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:a2cc38930ff5409f8d61f69a01e39ecb185c175785a1c9bec13bcd3ac8a614ba" } ,
{ file = "cymem-2.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7bf49e3ea2c441f7b7848d5c61b50803e8cbd49541a70bb41ad22fce76d87603" } ,
{ file = "cymem-2.0.8-cp312-cp312-win_amd64.whl" , hash = "sha256:ecd12e3bacf3eed5486e4cd8ede3c12da66ee0e0a9d0ae046962bc2bb503acef" } ,
{ file = "cymem-2.0.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:167d8019db3b40308aabf8183fd3fbbc256323b645e0cbf2035301058c439cd0" } ,
{ file = "cymem-2.0.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:17cd2c2791c8f6b52f269a756ba7463f75bf7265785388a2592623b84bb02bf8" } ,
{ file = "cymem-2.0.8-cp36-cp36m-win_amd64.whl" , hash = "sha256:6204f0a3307bf45d109bf698ba37997ce765f21e359284328e4306c7500fcde8" } ,
{ file = "cymem-2.0.8-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:b9c05db55ea338648f8e5f51dd596568c7f62c5ae32bf3fa5b1460117910ebae" } ,
{ file = "cymem-2.0.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:6ce641f7ba0489bd1b42a4335a36f38c8507daffc29a512681afaba94a0257d2" } ,
{ file = "cymem-2.0.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e6b83a5972a64f62796118da79dfeed71f4e1e770b2b7455e889c909504c2358" } ,
{ file = "cymem-2.0.8-cp37-cp37m-win_amd64.whl" , hash = "sha256:ada6eb022e4a0f4f11e6356a5d804ceaa917174e6cf33c0b3e371dbea4dd2601" } ,
{ file = "cymem-2.0.8-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:1e593cd57e2e19eb50c7ddaf7e230b73c890227834425b9dadcd4a86834ef2ab" } ,
{ file = "cymem-2.0.8-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:d513f0d5c6d76facdc605e42aa42c8d50bb7dedca3144ec2b47526381764deb0" } ,
{ file = "cymem-2.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:8e370dd54359101b125bfb191aca0542718077b4edb90ccccba1a28116640fed" } ,
{ file = "cymem-2.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:84f8c58cde71b8fc7024883031a4eec66c0a9a4d36b7850c3065493652695156" } ,
{ file = "cymem-2.0.8-cp38-cp38-win_amd64.whl" , hash = "sha256:6a6edddb30dd000a27987fcbc6f3c23b7fe1d74f539656952cb086288c0e4e29" } ,
{ file = "cymem-2.0.8-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:b896c83c08dadafe8102a521f83b7369a9c5cc3e7768eca35875764f56703f4c" } ,
{ file = "cymem-2.0.8-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:a4f8f2bfee34f6f38b206997727d29976666c89843c071a968add7d61a1e8024" } ,
{ file = "cymem-2.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:7372e2820fa66fd47d3b135f3eb574ab015f90780c3a21cfd4809b54f23a4723" } ,
{ file = "cymem-2.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e4e57bee56d35b90fc2cba93e75b2ce76feaca05251936e28a96cf812a1f5dda" } ,
{ file = "cymem-2.0.8-cp39-cp39-win_amd64.whl" , hash = "sha256:ceeab3ce2a92c7f3b2d90854efb32cb203e78cb24c836a5a9a2cac221930303b" } ,
{ file = "cymem-2.0.8.tar.gz" , hash = "sha256:8fb09d222e21dcf1c7e907dc85cf74501d4cea6c4ed4ac6c9e016f98fb59cbbf" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "dataclasses-json"
2023-10-17 01:13:31 +00:00
version = "0.6.1"
description = "Easily serialize dataclasses to and from JSON."
2023-07-21 17:36:28 +00:00
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.7,<4.0"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "dataclasses_json-0.6.1-py3-none-any.whl" , hash = "sha256:1bd8418a61fe3d588bb0079214d7fb71d44937da40742b787256fd53b26b6c80" } ,
{ file = "dataclasses_json-0.6.1.tar.gz" , hash = "sha256:a53c220c35134ce08211a1057fd0e5bf76dc5331627c6b241cacbc570a89faae" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-10-17 01:13:31 +00:00
marshmallow = ">=3.18.0,<4.0.0"
typing-inspect = ">=0.4.0,<1"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "debugpy"
2023-10-17 01:13:31 +00:00
version = "1.8.0"
2023-07-21 17:36:28 +00:00
description = "An implementation of the Debug Adapter Protocol for Python"
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "debugpy-1.8.0-cp310-cp310-macosx_11_0_x86_64.whl" , hash = "sha256:7fb95ca78f7ac43393cd0e0f2b6deda438ec7c5e47fa5d38553340897d2fbdfb" } ,
{ file = "debugpy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ef9ab7df0b9a42ed9c878afd3eaaff471fce3fa73df96022e1f5c9f8f8c87ada" } ,
{ file = "debugpy-1.8.0-cp310-cp310-win32.whl" , hash = "sha256:a8b7a2fd27cd9f3553ac112f356ad4ca93338feadd8910277aff71ab24d8775f" } ,
{ file = "debugpy-1.8.0-cp310-cp310-win_amd64.whl" , hash = "sha256:5d9de202f5d42e62f932507ee8b21e30d49aae7e46d5b1dd5c908db1d7068637" } ,
{ file = "debugpy-1.8.0-cp311-cp311-macosx_11_0_universal2.whl" , hash = "sha256:ef54404365fae8d45cf450d0544ee40cefbcb9cb85ea7afe89a963c27028261e" } ,
{ file = "debugpy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:60009b132c91951354f54363f8ebdf7457aeb150e84abba5ae251b8e9f29a8a6" } ,
{ file = "debugpy-1.8.0-cp311-cp311-win32.whl" , hash = "sha256:8cd0197141eb9e8a4566794550cfdcdb8b3db0818bdf8c49a8e8f8053e56e38b" } ,
{ file = "debugpy-1.8.0-cp311-cp311-win_amd64.whl" , hash = "sha256:a64093656c4c64dc6a438e11d59369875d200bd5abb8f9b26c1f5f723622e153" } ,
{ file = "debugpy-1.8.0-cp38-cp38-macosx_11_0_x86_64.whl" , hash = "sha256:b05a6b503ed520ad58c8dc682749113d2fd9f41ffd45daec16e558ca884008cd" } ,
{ file = "debugpy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:3c6fb41c98ec51dd010d7ed650accfd07a87fe5e93eca9d5f584d0578f28f35f" } ,
{ file = "debugpy-1.8.0-cp38-cp38-win32.whl" , hash = "sha256:46ab6780159eeabb43c1495d9c84cf85d62975e48b6ec21ee10c95767c0590aa" } ,
{ file = "debugpy-1.8.0-cp38-cp38-win_amd64.whl" , hash = "sha256:bdc5ef99d14b9c0fcb35351b4fbfc06ac0ee576aeab6b2511702e5a648a2e595" } ,
{ file = "debugpy-1.8.0-cp39-cp39-macosx_11_0_x86_64.whl" , hash = "sha256:61eab4a4c8b6125d41a34bad4e5fe3d2cc145caecd63c3fe953be4cc53e65bf8" } ,
{ file = "debugpy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:125b9a637e013f9faac0a3d6a82bd17c8b5d2c875fb6b7e2772c5aba6d082332" } ,
{ file = "debugpy-1.8.0-cp39-cp39-win32.whl" , hash = "sha256:57161629133113c97b387382045649a2b985a348f0c9366e22217c87b68b73c6" } ,
{ file = "debugpy-1.8.0-cp39-cp39-win_amd64.whl" , hash = "sha256:e3412f9faa9ade82aa64a50b602544efcba848c91384e9f93497a458767e6926" } ,
{ file = "debugpy-1.8.0-py2.py3-none-any.whl" , hash = "sha256:9c9b0ac1ce2a42888199df1a1906e45e6f3c9555497643a85e0bf2406e3ffbc4" } ,
{ file = "debugpy-1.8.0.zip" , hash = "sha256:12af2c55b419521e33d5fb21bd022df0b5eb267c3e178f1d374a63a2a6bdccd0" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "decorator"
version = "5.1.1"
description = "Decorators for Humans"
optional = false
python-versions = ">=3.5"
files = [
{ file = "decorator-5.1.1-py3-none-any.whl" , hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186" } ,
{ file = "decorator-5.1.1.tar.gz" , hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330" } ,
]
[ [ package ] ]
name = "defusedxml"
version = "0.7.1"
description = "XML bomb protection for Python stdlib modules"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
{ file = "defusedxml-0.7.1-py2.py3-none-any.whl" , hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61" } ,
{ file = "defusedxml-0.7.1.tar.gz" , hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69" } ,
]
[ [ package ] ]
name = "exceptiongroup"
2023-08-22 18:09:35 +00:00
version = "1.1.3"
2023-07-21 17:36:28 +00:00
description = "Backport of PEP 654 (exception groups)"
optional = false
python-versions = ">=3.7"
files = [
2023-08-22 18:09:35 +00:00
{ file = "exceptiongroup-1.1.3-py3-none-any.whl" , hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3" } ,
{ file = "exceptiongroup-1.1.3.tar.gz" , hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
test = [ "pytest (>=6)" ]
[ [ package ] ]
name = "executing"
2023-11-07 23:15:09 +00:00
version = "2.0.1"
2023-07-21 17:36:28 +00:00
description = "Get the currently executing AST node of a frame, and other information"
optional = false
2023-11-07 23:15:09 +00:00
python-versions = ">=3.5"
2023-07-21 17:36:28 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "executing-2.0.1-py2.py3-none-any.whl" , hash = "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc" } ,
{ file = "executing-2.0.1.tar.gz" , hash = "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
2023-10-17 01:13:31 +00:00
tests = [ "asttokens (>=2.1.0)" , "coverage" , "coverage-enable-subprocess" , "ipython" , "littleutils" , "pytest" , "rich" ]
2023-07-21 17:36:28 +00:00
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "faker"
2023-11-07 23:15:09 +00:00
version = "19.13.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Faker is a Python package that generates fake data for you."
optional = true
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "Faker-19.13.0-py3-none-any.whl" , hash = "sha256:da880a76322db7a879c848a0771e129338e0a680a9f695fd9a3e7a6ac82b45e1" } ,
{ file = "Faker-19.13.0.tar.gz" , hash = "sha256:14ccb0aec342d33aa3889a864a56e5b3c2d56bce1b89f9189f4fbc128b9afc1e" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
python-dateutil = ">=2.4"
typing-extensions = { version = ">=3.10.0.1" , markers = "python_version <= \"3.8\"" }
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "fastjsonschema"
2023-10-17 01:13:31 +00:00
version = "2.18.1"
2023-07-21 17:36:28 +00:00
description = "Fastest Python implementation of JSON schema"
optional = false
python-versions = "*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "fastjsonschema-2.18.1-py3-none-any.whl" , hash = "sha256:aec6a19e9f66e9810ab371cc913ad5f4e9e479b63a7072a2cd060a9369e329a8" } ,
{ file = "fastjsonschema-2.18.1.tar.gz" , hash = "sha256:06dc8680d937628e993fa0cd278f196d20449a1adc087640710846b324d422ea" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
devel = [ "colorama" , "json-spec" , "jsonschema" , "pylint" , "pytest" , "pytest-benchmark" , "pytest-cache" , "validictory" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "filelock"
2023-11-07 23:15:09 +00:00
version = "3.13.1"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "A platform independent file lock."
optional = true
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "filelock-3.13.1-py3-none-any.whl" , hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c" } ,
{ file = "filelock-3.13.1.tar.gz" , hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . extras ]
2023-11-07 23:15:09 +00:00
docs = [ "furo (>=2023.9.10)" , "sphinx (>=7.2.6)" , "sphinx-autodoc-typehints (>=1.24)" ]
testing = [ "covdefaults (>=2.3)" , "coverage (>=7.3.2)" , "diff-cover (>=8)" , "pytest (>=7.4.3)" , "pytest-cov (>=4.1)" , "pytest-mock (>=3.12)" , "pytest-timeout (>=2.2)" ]
typing = [ "typing-extensions (>=4.8)" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "fqdn"
version = "1.5.1"
description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers"
optional = false
python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4"
files = [
{ file = "fqdn-1.5.1-py3-none-any.whl" , hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014" } ,
{ file = "fqdn-1.5.1.tar.gz" , hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f" } ,
]
[ [ package ] ]
name = "frozenlist"
version = "1.4.0"
description = "A list-like structure which implements collections.abc.MutableSequence"
optional = false
python-versions = ">=3.8"
files = [
{ file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl" , hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl" , hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-win32.whl" , hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0" } ,
{ file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl" , hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl" , hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl" , hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-win32.whl" , hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431" } ,
{ file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl" , hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl" , hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl" , hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-win32.whl" , hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc" } ,
{ file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl" , hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl" , hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl" , hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-win32.whl" , hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f" } ,
{ file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl" , hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167" } ,
{ file = "frozenlist-1.4.0.tar.gz" , hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251" } ,
]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "fsspec"
2023-11-07 23:15:09 +00:00
version = "2023.10.0"
2023-09-11 16:20:19 +00:00
description = "File-system specification"
optional = true
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "fsspec-2023.10.0-py3-none-any.whl" , hash = "sha256:346a8f024efeb749d2a5fca7ba8854474b1ff9af7c3faaf636a4548781136529" } ,
{ file = "fsspec-2023.10.0.tar.gz" , hash = "sha256:330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5" } ,
2023-09-11 16:20:19 +00:00
]
[ package . extras ]
abfs = [ "adlfs" ]
adl = [ "adlfs" ]
arrow = [ "pyarrow (>=1)" ]
dask = [ "dask" , "distributed" ]
devel = [ "pytest" , "pytest-cov" ]
dropbox = [ "dropbox" , "dropboxdrivefs" , "requests" ]
full = [ "adlfs" , "aiohttp (!=4.0.0a0,!=4.0.0a1)" , "dask" , "distributed" , "dropbox" , "dropboxdrivefs" , "fusepy" , "gcsfs" , "libarchive-c" , "ocifs" , "panel" , "paramiko" , "pyarrow (>=1)" , "pygit2" , "requests" , "s3fs" , "smbprotocol" , "tqdm" ]
fuse = [ "fusepy" ]
gcs = [ "gcsfs" ]
git = [ "pygit2" ]
github = [ "requests" ]
gs = [ "gcsfs" ]
gui = [ "panel" ]
hdfs = [ "pyarrow (>=1)" ]
http = [ "aiohttp (!=4.0.0a0,!=4.0.0a1)" , "requests" ]
libarchive = [ "libarchive-c" ]
oci = [ "ocifs" ]
s3 = [ "s3fs" ]
sftp = [ "paramiko" ]
smb = [ "smbprotocol" ]
ssh = [ "paramiko" ]
tqdm = [ "tqdm" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "greenlet"
2023-11-07 23:15:09 +00:00
version = "3.0.1"
2023-07-21 17:36:28 +00:00
description = "Lightweight in-process concurrent programming"
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.7"
files = [
2023-11-07 23:15:09 +00:00
{ file = "greenlet-3.0.1-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:f89e21afe925fcfa655965ca8ea10f24773a1791400989ff32f467badfe4a064" } ,
{ file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:28e89e232c7593d33cac35425b58950789962011cc274aa43ef8865f2e11f46d" } ,
{ file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:b8ba29306c5de7717b5761b9ea74f9c72b9e2b834e24aa984da99cbfc70157fd" } ,
{ file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:19bbdf1cce0346ef7341705d71e2ecf6f41a35c311137f29b8a2dc2341374565" } ,
{ file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:599daf06ea59bfedbec564b1692b0166a0045f32b6f0933b0dd4df59a854caf2" } ,
{ file = "greenlet-3.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" , hash = "sha256:b641161c302efbb860ae6b081f406839a8b7d5573f20a455539823802c655f63" } ,
{ file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:d57e20ba591727da0c230ab2c3f200ac9d6d333860d85348816e1dca4cc4792e" } ,
{ file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:5805e71e5b570d490938d55552f5a9e10f477c19400c38bf1d5190d760691846" } ,
{ file = "greenlet-3.0.1-cp310-cp310-win_amd64.whl" , hash = "sha256:52e93b28db27ae7d208748f45d2db8a7b6a380e0d703f099c949d0f0d80b70e9" } ,
{ file = "greenlet-3.0.1-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:f7bfb769f7efa0eefcd039dd19d843a4fbfbac52f1878b1da2ed5793ec9b1a65" } ,
{ file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:91e6c7db42638dc45cf2e13c73be16bf83179f7859b07cfc139518941320be96" } ,
{ file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:1757936efea16e3f03db20efd0cd50a1c86b06734f9f7338a90c4ba85ec2ad5a" } ,
{ file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:19075157a10055759066854a973b3d1325d964d498a805bb68a1f9af4aaef8ec" } ,
{ file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e9d21aaa84557d64209af04ff48e0ad5e28c5cca67ce43444e939579d085da72" } ,
{ file = "greenlet-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" , hash = "sha256:2847e5d7beedb8d614186962c3d774d40d3374d580d2cbdab7f184580a39d234" } ,
{ file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:97e7ac860d64e2dcba5c5944cfc8fa9ea185cd84061c623536154d5a89237884" } ,
{ file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:b2c02d2ad98116e914d4f3155ffc905fd0c025d901ead3f6ed07385e19122c94" } ,
{ file = "greenlet-3.0.1-cp311-cp311-win_amd64.whl" , hash = "sha256:22f79120a24aeeae2b4471c711dcf4f8c736a2bb2fabad2a67ac9a55ea72523c" } ,
{ file = "greenlet-3.0.1-cp312-cp312-macosx_10_9_universal2.whl" , hash = "sha256:100f78a29707ca1525ea47388cec8a049405147719f47ebf3895e7509c6446aa" } ,
{ file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:60d5772e8195f4e9ebf74046a9121bbb90090f6550f81d8956a05387ba139353" } ,
{ file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:daa7197b43c707462f06d2c693ffdbb5991cbb8b80b5b984007de431493a319c" } ,
{ file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:ea6b8aa9e08eea388c5f7a276fabb1d4b6b9d6e4ceb12cc477c3d352001768a9" } ,
{ file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8d11ebbd679e927593978aa44c10fc2092bc454b7d13fdc958d3e9d508aba7d0" } ,
{ file = "greenlet-3.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" , hash = "sha256:dbd4c177afb8a8d9ba348d925b0b67246147af806f0b104af4d24f144d461cd5" } ,
{ file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:20107edf7c2c3644c67c12205dc60b1bb11d26b2610b276f97d666110d1b511d" } ,
{ file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:8bef097455dea90ffe855286926ae02d8faa335ed8e4067326257cb571fc1445" } ,
{ file = "greenlet-3.0.1-cp312-cp312-win_amd64.whl" , hash = "sha256:b2d3337dcfaa99698aa2377c81c9ca72fcd89c07e7eb62ece3f23a3fe89b2ce4" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:80ac992f25d10aaebe1ee15df45ca0d7571d0f70b645c08ec68733fb7a020206" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:337322096d92808f76ad26061a8f5fccb22b0809bea39212cd6c406f6a7060d2" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:b9934adbd0f6e476f0ecff3c94626529f344f57b38c9a541f87098710b18af0a" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:dc4d815b794fd8868c4d67602692c21bf5293a75e4b607bb92a11e821e2b859a" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" , hash = "sha256:41bdeeb552d814bcd7fb52172b304898a35818107cc8778b5101423c9017b3de" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:6e6061bf1e9565c29002e3c601cf68569c450be7fc3f7336671af7ddb4657166" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:fa24255ae3c0ab67e613556375a4341af04a084bd58764731972bcbc8baeba36" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-win32.whl" , hash = "sha256:b489c36d1327868d207002391f662a1d163bdc8daf10ab2e5f6e41b9b96de3b1" } ,
{ file = "greenlet-3.0.1-cp37-cp37m-win_amd64.whl" , hash = "sha256:f33f3258aae89da191c6ebaa3bc517c6c4cbc9b9f689e5d8452f7aedbb913fa8" } ,
{ file = "greenlet-3.0.1-cp38-cp38-macosx_11_0_universal2.whl" , hash = "sha256:d2905ce1df400360463c772b55d8e2518d0e488a87cdea13dd2c71dcb2a1fa16" } ,
{ file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:0a02d259510b3630f330c86557331a3b0e0c79dac3d166e449a39363beaae174" } ,
{ file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:55d62807f1c5a1682075c62436702aaba941daa316e9161e4b6ccebbbf38bda3" } ,
{ file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:3fcc780ae8edbb1d050d920ab44790201f027d59fdbd21362340a85c79066a74" } ,
{ file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:4eddd98afc726f8aee1948858aed9e6feeb1758889dfd869072d4465973f6bfd" } ,
{ file = "greenlet-3.0.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" , hash = "sha256:eabe7090db68c981fca689299c2d116400b553f4b713266b130cfc9e2aa9c5a9" } ,
{ file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:f2f6d303f3dee132b322a14cd8765287b8f86cdc10d2cb6a6fae234ea488888e" } ,
{ file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:d923ff276f1c1f9680d32832f8d6c040fe9306cbfb5d161b0911e9634be9ef0a" } ,
{ file = "greenlet-3.0.1-cp38-cp38-win32.whl" , hash = "sha256:0b6f9f8ca7093fd4433472fd99b5650f8a26dcd8ba410e14094c1e44cd3ceddd" } ,
{ file = "greenlet-3.0.1-cp38-cp38-win_amd64.whl" , hash = "sha256:990066bff27c4fcf3b69382b86f4c99b3652bab2a7e685d968cd4d0cfc6f67c6" } ,
{ file = "greenlet-3.0.1-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:ce85c43ae54845272f6f9cd8320d034d7a946e9773c693b27d620edec825e376" } ,
{ file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:89ee2e967bd7ff85d84a2de09df10e021c9b38c7d91dead95b406ed6350c6997" } ,
{ file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:87c8ceb0cf8a5a51b8008b643844b7f4a8264a2c13fcbcd8a8316161725383fe" } ,
{ file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:d6a8c9d4f8692917a3dc7eb25a6fb337bff86909febe2f793ec1928cd97bedfc" } ,
{ file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:9fbc5b8f3dfe24784cee8ce0be3da2d8a79e46a276593db6868382d9c50d97b1" } ,
{ file = "greenlet-3.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl" , hash = "sha256:85d2b77e7c9382f004b41d9c72c85537fac834fb141b0296942d52bf03fe4a3d" } ,
{ file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:696d8e7d82398e810f2b3622b24e87906763b6ebfd90e361e88eb85b0e554dc8" } ,
{ file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:329c5a2e5a0ee942f2992c5e3ff40be03e75f745f48847f118a3cfece7a28546" } ,
{ file = "greenlet-3.0.1-cp39-cp39-win32.whl" , hash = "sha256:cf868e08690cb89360eebc73ba4be7fb461cfbc6168dd88e2fbbe6f31812cd57" } ,
{ file = "greenlet-3.0.1-cp39-cp39-win_amd64.whl" , hash = "sha256:ac4a39d1abae48184d420aa8e5e63efd1b75c8444dd95daa3e03f6c6310e9619" } ,
{ file = "greenlet-3.0.1.tar.gz" , hash = "sha256:816bd9488a94cba78d93e1abb58000e8266fa9cc2aa9ccdd6eb0696acb24005b" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
2023-10-17 01:13:31 +00:00
docs = [ "Sphinx" ]
2023-07-21 17:36:28 +00:00
test = [ "objgraph" , "psutil" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "huggingface-hub"
2023-10-06 01:09:35 +00:00
version = "0.17.3"
2023-09-11 16:20:19 +00:00
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
optional = true
python-versions = ">=3.8.0"
files = [
2023-10-06 01:09:35 +00:00
{ file = "huggingface_hub-0.17.3-py3-none-any.whl" , hash = "sha256:545eb3665f6ac587add946e73984148f2ea5c7877eac2e845549730570c1933a" } ,
{ file = "huggingface_hub-0.17.3.tar.gz" , hash = "sha256:40439632b211311f788964602bf8b0d9d6b7a2314fba4e8d67b2ce3ecea0e3fd" } ,
2023-09-11 16:20:19 +00:00
]
[ package . dependencies ]
filelock = "*"
fsspec = "*"
packaging = ">=20.9"
pyyaml = ">=5.1"
requests = "*"
tqdm = ">=4.42.1"
typing-extensions = ">=3.7.4.3"
[ package . extras ]
all = [ "InquirerPy (==0.3.4)" , "Jinja2" , "Pillow" , "aiohttp" , "black (==23.7)" , "gradio" , "jedi" , "mypy (==1.5.1)" , "numpy" , "pydantic (<2.0)" , "pytest" , "pytest-asyncio" , "pytest-cov" , "pytest-env" , "pytest-vcr" , "pytest-xdist" , "ruff (>=0.0.241)" , "soundfile" , "types-PyYAML" , "types-requests" , "types-simplejson" , "types-toml" , "types-tqdm" , "types-urllib3" , "urllib3 (<2.0)" ]
cli = [ "InquirerPy (==0.3.4)" ]
dev = [ "InquirerPy (==0.3.4)" , "Jinja2" , "Pillow" , "aiohttp" , "black (==23.7)" , "gradio" , "jedi" , "mypy (==1.5.1)" , "numpy" , "pydantic (<2.0)" , "pytest" , "pytest-asyncio" , "pytest-cov" , "pytest-env" , "pytest-vcr" , "pytest-xdist" , "ruff (>=0.0.241)" , "soundfile" , "types-PyYAML" , "types-requests" , "types-simplejson" , "types-toml" , "types-tqdm" , "types-urllib3" , "urllib3 (<2.0)" ]
docs = [ "InquirerPy (==0.3.4)" , "Jinja2" , "Pillow" , "aiohttp" , "black (==23.7)" , "gradio" , "hf-doc-builder" , "jedi" , "mypy (==1.5.1)" , "numpy" , "pydantic (<2.0)" , "pytest" , "pytest-asyncio" , "pytest-cov" , "pytest-env" , "pytest-vcr" , "pytest-xdist" , "ruff (>=0.0.241)" , "soundfile" , "types-PyYAML" , "types-requests" , "types-simplejson" , "types-toml" , "types-tqdm" , "types-urllib3" , "urllib3 (<2.0)" , "watchdog" ]
fastai = [ "fastai (>=2.4)" , "fastcore (>=1.3.27)" , "toml" ]
inference = [ "aiohttp" , "pydantic (<2.0)" ]
quality = [ "black (==23.7)" , "mypy (==1.5.1)" , "ruff (>=0.0.241)" ]
tensorflow = [ "graphviz" , "pydot" , "tensorflow" ]
testing = [ "InquirerPy (==0.3.4)" , "Jinja2" , "Pillow" , "aiohttp" , "gradio" , "jedi" , "numpy" , "pydantic (<2.0)" , "pytest" , "pytest-asyncio" , "pytest-cov" , "pytest-env" , "pytest-vcr" , "pytest-xdist" , "soundfile" , "urllib3 (<2.0)" ]
torch = [ "torch" ]
typing = [ "pydantic (<2.0)" , "types-PyYAML" , "types-requests" , "types-simplejson" , "types-toml" , "types-tqdm" , "types-urllib3" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "idna"
version = "3.4"
description = "Internationalized Domain Names in Applications (IDNA)"
optional = false
python-versions = ">=3.5"
files = [
{ file = "idna-3.4-py3-none-any.whl" , hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" } ,
{ file = "idna-3.4.tar.gz" , hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4" } ,
]
[ [ package ] ]
name = "importlib-metadata"
version = "6.8.0"
description = "Read metadata from Python packages"
optional = false
python-versions = ">=3.8"
files = [
{ file = "importlib_metadata-6.8.0-py3-none-any.whl" , hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb" } ,
{ file = "importlib_metadata-6.8.0.tar.gz" , hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743" } ,
]
[ package . dependencies ]
zipp = ">=0.5"
[ package . extras ]
docs = [ "furo" , "jaraco.packaging (>=9)" , "jaraco.tidelift (>=1.4)" , "rst.linker (>=1.9)" , "sphinx (>=3.5)" , "sphinx-lint" ]
perf = [ "ipython" ]
testing = [ "flufl.flake8" , "importlib-resources (>=1.3)" , "packaging" , "pyfakefs" , "pytest (>=6)" , "pytest-black (>=0.3.7)" , "pytest-checkdocs (>=2.4)" , "pytest-cov" , "pytest-enabler (>=2.2)" , "pytest-mypy (>=0.9.1)" , "pytest-perf (>=0.9.2)" , "pytest-ruff" ]
[ [ package ] ]
name = "importlib-resources"
2023-11-07 23:15:09 +00:00
version = "6.1.1"
2023-07-21 17:36:28 +00:00
description = "Read resources from Python packages"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "importlib_resources-6.1.1-py3-none-any.whl" , hash = "sha256:e8bf90d8213b486f428c9c39714b920041cb02c184686a3dee24905aaa8105d6" } ,
{ file = "importlib_resources-6.1.1.tar.gz" , hash = "sha256:3893a00122eafde6894c59914446a512f728a0c1a45f9bb9b63721b6bacf0b4a" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
zipp = { version = ">=3.1.0" , markers = "python_version < \"3.10\"" }
[ package . extras ]
2023-10-17 01:13:31 +00:00
docs = [ "furo" , "jaraco.packaging (>=9.3)" , "jaraco.tidelift (>=1.4)" , "rst.linker (>=1.9)" , "sphinx (<7.2.5)" , "sphinx (>=3.5)" , "sphinx-lint" ]
testing = [ "pytest (>=6)" , "pytest-black (>=0.3.7)" , "pytest-checkdocs (>=2.4)" , "pytest-cov" , "pytest-enabler (>=2.2)" , "pytest-mypy (>=0.9.1)" , "pytest-ruff" , "zipp (>=3.17)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "iniconfig"
version = "2.0.0"
description = "brain-dead simple config-ini parsing"
optional = false
python-versions = ">=3.7"
files = [
{ file = "iniconfig-2.0.0-py3-none-any.whl" , hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374" } ,
{ file = "iniconfig-2.0.0.tar.gz" , hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3" } ,
]
[ [ package ] ]
name = "ipykernel"
2023-11-07 23:15:09 +00:00
version = "6.26.0"
2023-07-21 17:36:28 +00:00
description = "IPython Kernel for Jupyter"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "ipykernel-6.26.0-py3-none-any.whl" , hash = "sha256:3ba3dc97424b87b31bb46586b5167b3161b32d7820b9201a9e698c71e271602c" } ,
{ file = "ipykernel-6.26.0.tar.gz" , hash = "sha256:553856658eb8430bbe9653ea041a41bff63e9606fc4628873fc92a6cf3abd404" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
appnope = { version = "*" , markers = "platform_system == \"Darwin\"" }
comm = ">=0.1.1"
debugpy = ">=1.6.5"
ipython = ">=7.23.1"
jupyter-client = ">=6.1.12"
2024-02-01 16:27:39 +00:00
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
2023-07-21 17:36:28 +00:00
matplotlib-inline = ">=0.1"
nest-asyncio = "*"
packaging = "*"
psutil = "*"
pyzmq = ">=20"
tornado = ">=6.1"
traitlets = ">=5.4.0"
[ package . extras ]
cov = [ "coverage[toml]" , "curio" , "matplotlib" , "pytest-cov" , "trio" ]
docs = [ "myst-parser" , "pydata-sphinx-theme" , "sphinx" , "sphinx-autodoc-typehints" , "sphinxcontrib-github-alt" , "sphinxcontrib-spelling" , "trio" ]
pyqt5 = [ "pyqt5" ]
pyside6 = [ "pyside6" ]
test = [ "flaky" , "ipyparallel" , "pre-commit" , "pytest (>=7.0)" , "pytest-asyncio" , "pytest-cov" , "pytest-timeout" ]
[ [ package ] ]
name = "ipython"
2023-10-17 01:13:31 +00:00
version = "8.12.3"
2023-07-21 17:36:28 +00:00
description = "IPython: Productive Interactive Computing"
optional = false
python-versions = ">=3.8"
files = [
2023-10-17 01:13:31 +00:00
{ file = "ipython-8.12.3-py3-none-any.whl" , hash = "sha256:b0340d46a933d27c657b211a329d0be23793c36595acf9e6ef4164bc01a1804c" } ,
{ file = "ipython-8.12.3.tar.gz" , hash = "sha256:3910c4b54543c2ad73d06579aa771041b7d5707b033bd488669b4cf544e3b363" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
appnope = { version = "*" , markers = "sys_platform == \"darwin\"" }
backcall = "*"
colorama = { version = "*" , markers = "sys_platform == \"win32\"" }
decorator = "*"
jedi = ">=0.16"
matplotlib-inline = "*"
pexpect = { version = ">4.3" , markers = "sys_platform != \"win32\"" }
pickleshare = "*"
prompt-toolkit = ">=3.0.30,<3.0.37 || >3.0.37,<3.1.0"
pygments = ">=2.4.0"
stack-data = "*"
traitlets = ">=5"
typing-extensions = { version = "*" , markers = "python_version < \"3.10\"" }
[ package . extras ]
all = [ "black" , "curio" , "docrepr" , "ipykernel" , "ipyparallel" , "ipywidgets" , "matplotlib" , "matplotlib (!=3.2.0)" , "nbconvert" , "nbformat" , "notebook" , "numpy (>=1.21)" , "pandas" , "pytest (<7)" , "pytest (<7.1)" , "pytest-asyncio" , "qtconsole" , "setuptools (>=18.5)" , "sphinx (>=1.3)" , "sphinx-rtd-theme" , "stack-data" , "testpath" , "trio" , "typing-extensions" ]
black = [ "black" ]
doc = [ "docrepr" , "ipykernel" , "matplotlib" , "pytest (<7)" , "pytest (<7.1)" , "pytest-asyncio" , "setuptools (>=18.5)" , "sphinx (>=1.3)" , "sphinx-rtd-theme" , "stack-data" , "testpath" , "typing-extensions" ]
kernel = [ "ipykernel" ]
nbconvert = [ "nbconvert" ]
nbformat = [ "nbformat" ]
notebook = [ "ipywidgets" , "notebook" ]
parallel = [ "ipyparallel" ]
qtconsole = [ "qtconsole" ]
test = [ "pytest (<7.1)" , "pytest-asyncio" , "testpath" ]
test-extra = [ "curio" , "matplotlib (!=3.2.0)" , "nbformat" , "numpy (>=1.21)" , "pandas" , "pytest (<7.1)" , "pytest-asyncio" , "testpath" , "trio" ]
[ [ package ] ]
name = "ipywidgets"
2023-10-17 01:13:31 +00:00
version = "8.1.1"
2023-07-21 17:36:28 +00:00
description = "Jupyter interactive widgets"
optional = false
python-versions = ">=3.7"
files = [
2023-10-17 01:13:31 +00:00
{ file = "ipywidgets-8.1.1-py3-none-any.whl" , hash = "sha256:2b88d728656aea3bbfd05d32c747cfd0078f9d7e159cf982433b58ad717eed7f" } ,
{ file = "ipywidgets-8.1.1.tar.gz" , hash = "sha256:40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-08-22 18:09:35 +00:00
comm = ">=0.1.3"
2023-07-21 17:36:28 +00:00
ipython = ">=6.1.0"
2023-10-17 01:13:31 +00:00
jupyterlab-widgets = ">=3.0.9,<3.1.0"
2023-07-21 17:36:28 +00:00
traitlets = ">=4.3.1"
2023-10-17 01:13:31 +00:00
widgetsnbextension = ">=4.0.9,<4.1.0"
2023-07-21 17:36:28 +00:00
[ package . extras ]
test = [ "ipykernel" , "jsonschema" , "pytest (>=3.6.0)" , "pytest-cov" , "pytz" ]
[ [ package ] ]
name = "isoduration"
version = "20.11.0"
description = "Operations with ISO 8601 durations"
optional = false
python-versions = ">=3.7"
files = [
{ file = "isoduration-20.11.0-py3-none-any.whl" , hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042" } ,
{ file = "isoduration-20.11.0.tar.gz" , hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9" } ,
]
[ package . dependencies ]
arrow = ">=0.15.0"
[ [ package ] ]
name = "jedi"
2023-10-17 01:13:31 +00:00
version = "0.19.1"
2023-07-21 17:36:28 +00:00
description = "An autocompletion tool for Python that can be used for text editors."
optional = false
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "jedi-0.19.1-py2.py3-none-any.whl" , hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0" } ,
{ file = "jedi-0.19.1.tar.gz" , hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-08-22 18:09:35 +00:00
parso = ">=0.8.3,<0.9.0"
2023-07-21 17:36:28 +00:00
[ package . extras ]
docs = [ "Jinja2 (==2.11.3)" , "MarkupSafe (==1.1.1)" , "Pygments (==2.8.1)" , "alabaster (==0.7.12)" , "babel (==2.9.1)" , "chardet (==4.0.0)" , "commonmark (==0.8.1)" , "docutils (==0.17.1)" , "future (==0.18.2)" , "idna (==2.10)" , "imagesize (==1.2.0)" , "mock (==1.0.1)" , "packaging (==20.9)" , "pyparsing (==2.4.7)" , "pytz (==2021.1)" , "readthedocs-sphinx-ext (==2.1.4)" , "recommonmark (==0.5.0)" , "requests (==2.25.1)" , "six (==1.15.0)" , "snowballstemmer (==2.1.0)" , "sphinx (==1.8.5)" , "sphinx-rtd-theme (==0.4.3)" , "sphinxcontrib-serializinghtml (==1.1.4)" , "sphinxcontrib-websupport (==1.2.4)" , "urllib3 (==1.26.4)" ]
2023-08-22 18:09:35 +00:00
qa = [ "flake8 (==5.0.4)" , "mypy (==0.971)" , "types-setuptools (==67.2.0.1)" ]
2023-10-17 01:13:31 +00:00
testing = [ "Django" , "attrs" , "colorama" , "docopt" , "pytest (<7.0.0)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "jinja2"
version = "3.1.2"
description = "A very fast and expressive template engine."
optional = false
python-versions = ">=3.7"
files = [
{ file = "Jinja2-3.1.2-py3-none-any.whl" , hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" } ,
{ file = "Jinja2-3.1.2.tar.gz" , hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852" } ,
]
[ package . dependencies ]
MarkupSafe = ">=2.0"
[ package . extras ]
i18n = [ "Babel (>=2.7)" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "joblib"
version = "1.3.2"
description = "Lightweight pipelining with Python functions"
optional = true
python-versions = ">=3.7"
files = [
{ file = "joblib-1.3.2-py3-none-any.whl" , hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9" } ,
{ file = "joblib-1.3.2.tar.gz" , hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1" } ,
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "json5"
version = "0.9.14"
description = "A Python implementation of the JSON5 data format."
optional = false
python-versions = "*"
files = [
{ file = "json5-0.9.14-py2.py3-none-any.whl" , hash = "sha256:740c7f1b9e584a468dbb2939d8d458db3427f2c93ae2139d05f47e453eae964f" } ,
{ file = "json5-0.9.14.tar.gz" , hash = "sha256:9ed66c3a6ca3510a976a9ef9b8c0787de24802724ab1860bc0153c7fdd589b02" } ,
]
[ package . extras ]
dev = [ "hypothesis" ]
2023-10-05 02:36:58 +00:00
[ [ package ] ]
name = "jsonpatch"
version = "1.33"
description = "Apply JSON-Patches (RFC 6902)"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
files = [
{ file = "jsonpatch-1.33-py2.py3-none-any.whl" , hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade" } ,
{ file = "jsonpatch-1.33.tar.gz" , hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c" } ,
]
[ package . dependencies ]
jsonpointer = ">=1.9"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "jsonpointer"
version = "2.4"
description = "Identify specific nodes in a JSON document (RFC 6901)"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*"
files = [
{ file = "jsonpointer-2.4-py2.py3-none-any.whl" , hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a" } ,
2024-02-19 21:12:22 +00:00
{ file = "jsonpointer-2.4.tar.gz" , hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "jsonschema"
2023-11-07 23:15:09 +00:00
version = "4.19.2"
2023-07-21 17:36:28 +00:00
description = "An implementation of JSON Schema validation for Python"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "jsonschema-4.19.2-py3-none-any.whl" , hash = "sha256:eee9e502c788e89cb166d4d37f43084e3b64ab405c795c03d343a4dbc2c810fc" } ,
{ file = "jsonschema-4.19.2.tar.gz" , hash = "sha256:c9ff4d7447eed9592c23a12ccee508baf0dd0d59650615e847feb6cdca74f392" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
attrs = ">=22.2.0"
fqdn = { version = "*" , optional = true , markers = "extra == \"format-nongpl\"" }
idna = { version = "*" , optional = true , markers = "extra == \"format-nongpl\"" }
importlib-resources = { version = ">=1.4.0" , markers = "python_version < \"3.9\"" }
isoduration = { version = "*" , optional = true , markers = "extra == \"format-nongpl\"" }
jsonpointer = { version = ">1.13" , optional = true , markers = "extra == \"format-nongpl\"" }
jsonschema-specifications = ">=2023.03.6"
pkgutil-resolve-name = { version = ">=1.3.10" , markers = "python_version < \"3.9\"" }
referencing = ">=0.28.4"
rfc3339-validator = { version = "*" , optional = true , markers = "extra == \"format-nongpl\"" }
rfc3986-validator = { version = ">0.1.0" , optional = true , markers = "extra == \"format-nongpl\"" }
rpds-py = ">=0.7.1"
uri-template = { version = "*" , optional = true , markers = "extra == \"format-nongpl\"" }
webcolors = { version = ">=1.11" , optional = true , markers = "extra == \"format-nongpl\"" }
[ package . extras ]
format = [ "fqdn" , "idna" , "isoduration" , "jsonpointer (>1.13)" , "rfc3339-validator" , "rfc3987" , "uri-template" , "webcolors (>=1.11)" ]
format-nongpl = [ "fqdn" , "idna" , "isoduration" , "jsonpointer (>1.13)" , "rfc3339-validator" , "rfc3986-validator (>0.1.0)" , "uri-template" , "webcolors (>=1.11)" ]
[ [ package ] ]
name = "jsonschema-specifications"
version = "2023.7.1"
description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
optional = false
python-versions = ">=3.8"
files = [
{ file = "jsonschema_specifications-2023.7.1-py3-none-any.whl" , hash = "sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1" } ,
{ file = "jsonschema_specifications-2023.7.1.tar.gz" , hash = "sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb" } ,
]
[ package . dependencies ]
importlib-resources = { version = ">=1.4.0" , markers = "python_version < \"3.9\"" }
referencing = ">=0.28.0"
[ [ package ] ]
name = "jupyter"
version = "1.0.0"
description = "Jupyter metapackage. Install all the Jupyter components in one go."
optional = false
python-versions = "*"
files = [
{ file = "jupyter-1.0.0-py2.py3-none-any.whl" , hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78" } ,
{ file = "jupyter-1.0.0.tar.gz" , hash = "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" } ,
{ file = "jupyter-1.0.0.zip" , hash = "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7" } ,
]
[ package . dependencies ]
ipykernel = "*"
ipywidgets = "*"
jupyter-console = "*"
nbconvert = "*"
notebook = "*"
qtconsole = "*"
[ [ package ] ]
name = "jupyter-client"
2023-11-07 23:15:09 +00:00
version = "8.6.0"
2023-07-21 17:36:28 +00:00
description = "Jupyter protocol implementation and client libraries"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "jupyter_client-8.6.0-py3-none-any.whl" , hash = "sha256:909c474dbe62582ae62b758bca86d6518c85234bdee2d908c778db6d72f39d99" } ,
{ file = "jupyter_client-8.6.0.tar.gz" , hash = "sha256:0642244bb83b4764ae60d07e010e15f0e2d275ec4e918a8f7b80fbbef3ca60c7" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
importlib-metadata = { version = ">=4.8.3" , markers = "python_version < \"3.10\"" }
2024-02-01 16:27:39 +00:00
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
2023-07-21 17:36:28 +00:00
python-dateutil = ">=2.8.2"
pyzmq = ">=23.0"
tornado = ">=6.2"
traitlets = ">=5.3"
[ package . extras ]
docs = [ "ipykernel" , "myst-parser" , "pydata-sphinx-theme" , "sphinx (>=4)" , "sphinx-autodoc-typehints" , "sphinxcontrib-github-alt" , "sphinxcontrib-spelling" ]
test = [ "coverage" , "ipykernel (>=6.14)" , "mypy" , "paramiko" , "pre-commit" , "pytest" , "pytest-cov" , "pytest-jupyter[client] (>=0.4.1)" , "pytest-timeout" ]
[ [ package ] ]
name = "jupyter-console"
version = "6.6.3"
description = "Jupyter terminal console"
optional = false
python-versions = ">=3.7"
files = [
{ file = "jupyter_console-6.6.3-py3-none-any.whl" , hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485" } ,
{ file = "jupyter_console-6.6.3.tar.gz" , hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539" } ,
]
[ package . dependencies ]
ipykernel = ">=6.14"
ipython = "*"
jupyter-client = ">=7.0.0"
2024-02-01 16:27:39 +00:00
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
2023-07-21 17:36:28 +00:00
prompt-toolkit = ">=3.0.30"
pygments = "*"
pyzmq = ">=17"
traitlets = ">=5.4"
[ package . extras ]
test = [ "flaky" , "pexpect" , "pytest" ]
[ [ package ] ]
name = "jupyter-core"
2023-11-07 23:15:09 +00:00
version = "5.5.0"
2023-07-21 17:36:28 +00:00
description = "Jupyter core package. A base package on which Jupyter projects rely."
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "jupyter_core-5.5.0-py3-none-any.whl" , hash = "sha256:e11e02cd8ae0a9de5c6c44abf5727df9f2581055afe00b22183f621ba3585805" } ,
{ file = "jupyter_core-5.5.0.tar.gz" , hash = "sha256:880b86053bf298a8724994f95e99b99130659022a4f7f45f563084b6223861d3" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
platformdirs = ">=2.5"
pywin32 = { version = ">=300" , markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\"" }
traitlets = ">=5.3"
[ package . extras ]
2023-11-07 23:15:09 +00:00
docs = [ "myst-parser" , "pydata-sphinx-theme" , "sphinx-autodoc-typehints" , "sphinxcontrib-github-alt" , "sphinxcontrib-spelling" , "traitlets" ]
2023-07-21 17:36:28 +00:00
test = [ "ipykernel" , "pre-commit" , "pytest" , "pytest-cov" , "pytest-timeout" ]
[ [ package ] ]
name = "jupyter-events"
2023-11-07 23:15:09 +00:00
version = "0.9.0"
2023-07-21 17:36:28 +00:00
description = "Jupyter Event System library"
optional = false
2023-08-22 18:09:35 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "jupyter_events-0.9.0-py3-none-any.whl" , hash = "sha256:d853b3c10273ff9bc8bb8b30076d65e2c9685579db736873de6c2232dde148bf" } ,
{ file = "jupyter_events-0.9.0.tar.gz" , hash = "sha256:81ad2e4bc710881ec274d31c6c50669d71bbaa5dd9d01e600b56faa85700d399" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-08-22 18:09:35 +00:00
jsonschema = { version = ">=4.18.0" , extras = [ "format-nongpl" ] }
2023-07-21 17:36:28 +00:00
python-json-logger = ">=2.0.4"
pyyaml = ">=5.3"
2023-08-22 18:09:35 +00:00
referencing = "*"
2023-07-21 17:36:28 +00:00
rfc3339-validator = "*"
rfc3986-validator = ">=0.1.1"
traitlets = ">=5.3"
[ package . extras ]
cli = [ "click" , "rich" ]
docs = [ "jupyterlite-sphinx" , "myst-parser" , "pydata-sphinx-theme" , "sphinxcontrib-spelling" ]
2023-08-22 18:09:35 +00:00
test = [ "click" , "pre-commit" , "pytest (>=7.0)" , "pytest-asyncio (>=0.19.0)" , "pytest-console-scripts" , "rich" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "jupyter-lsp"
version = "2.2.0"
description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server"
optional = false
python-versions = ">=3.8"
files = [
{ file = "jupyter-lsp-2.2.0.tar.gz" , hash = "sha256:8ebbcb533adb41e5d635eb8fe82956b0aafbf0fd443b6c4bfa906edeeb8635a1" } ,
{ file = "jupyter_lsp-2.2.0-py3-none-any.whl" , hash = "sha256:9e06b8b4f7dd50300b70dd1a78c0c3b0c3d8fa68e0f2d8a5d1fbab62072aca3f" } ,
]
[ package . dependencies ]
importlib-metadata = { version = ">=4.8.3" , markers = "python_version < \"3.10\"" }
jupyter-server = ">=1.1.2"
[ [ package ] ]
name = "jupyter-server"
2023-11-07 23:15:09 +00:00
version = "2.10.0"
2023-07-21 17:36:28 +00:00
description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications."
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "jupyter_server-2.10.0-py3-none-any.whl" , hash = "sha256:dde56c9bc3cb52d7b72cc0f696d15d7163603526f1a758eb4a27405b73eab2a5" } ,
{ file = "jupyter_server-2.10.0.tar.gz" , hash = "sha256:47b8f5e63440125cb1bb8957bf12b18453ee5ed9efe42d2f7b2ca66a7019a278" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
anyio = ">=3.1.0"
argon2-cffi = "*"
jinja2 = "*"
jupyter-client = ">=7.4.4"
2024-02-01 16:27:39 +00:00
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
2023-07-21 17:36:28 +00:00
jupyter-events = ">=0.6.0"
jupyter-server-terminals = "*"
nbconvert = ">=6.4.4"
nbformat = ">=5.3.0"
overrides = "*"
packaging = "*"
prometheus-client = "*"
pywinpty = { version = "*" , markers = "os_name == \"nt\"" }
pyzmq = ">=24"
2023-08-22 18:09:35 +00:00
send2trash = ">=1.8.2"
2023-07-21 17:36:28 +00:00
terminado = ">=0.8.3"
tornado = ">=6.2.0"
traitlets = ">=5.6.0"
websocket-client = "*"
[ package . extras ]
docs = [ "ipykernel" , "jinja2" , "jupyter-client" , "jupyter-server" , "myst-parser" , "nbformat" , "prometheus-client" , "pydata-sphinx-theme" , "send2trash" , "sphinx-autodoc-typehints" , "sphinxcontrib-github-alt" , "sphinxcontrib-openapi (>=0.8.0)" , "sphinxcontrib-spelling" , "sphinxemoji" , "tornado" , "typing-extensions" ]
test = [ "flaky" , "ipykernel" , "pre-commit" , "pytest (>=7.0)" , "pytest-console-scripts" , "pytest-jupyter[server] (>=0.4)" , "pytest-timeout" , "requests" ]
[ [ package ] ]
name = "jupyter-server-terminals"
version = "0.4.4"
description = "A Jupyter Server Extension Providing Terminals."
optional = false
python-versions = ">=3.8"
files = [
{ file = "jupyter_server_terminals-0.4.4-py3-none-any.whl" , hash = "sha256:75779164661cec02a8758a5311e18bb8eb70c4e86c6b699403100f1585a12a36" } ,
{ file = "jupyter_server_terminals-0.4.4.tar.gz" , hash = "sha256:57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d" } ,
]
[ package . dependencies ]
pywinpty = { version = ">=2.0.3" , markers = "os_name == \"nt\"" }
terminado = ">=0.8.3"
[ package . extras ]
docs = [ "jinja2" , "jupyter-server" , "mistune (<3.0)" , "myst-parser" , "nbformat" , "packaging" , "pydata-sphinx-theme" , "sphinxcontrib-github-alt" , "sphinxcontrib-openapi" , "sphinxcontrib-spelling" , "sphinxemoji" , "tornado" ]
test = [ "coverage" , "jupyter-server (>=2.0.0)" , "pytest (>=7.0)" , "pytest-cov" , "pytest-jupyter[server] (>=0.5.3)" , "pytest-timeout" ]
[ [ package ] ]
name = "jupyterlab"
2023-11-07 23:15:09 +00:00
version = "4.0.8"
2023-07-21 17:36:28 +00:00
description = "JupyterLab computational environment"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "jupyterlab-4.0.8-py3-none-any.whl" , hash = "sha256:2ff5aa2a51eb21df241d6011c236e88bd1ff9a5dbb75bebc54472f9c18bfffa4" } ,
{ file = "jupyterlab-4.0.8.tar.gz" , hash = "sha256:c4fe93f977bcc987bd395d7fae5ab02e0c042bf4e0f7c95196f3e2e578c2fb3a" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
async-lru = ">=1.0.0"
importlib-metadata = { version = ">=4.8.3" , markers = "python_version < \"3.10\"" }
importlib-resources = { version = ">=1.4" , markers = "python_version < \"3.9\"" }
ipykernel = "*"
jinja2 = ">=3.0.3"
jupyter-core = "*"
jupyter-lsp = ">=2.0.0"
jupyter-server = ">=2.4.0,<3"
jupyterlab-server = ">=2.19.0,<3"
notebook-shim = ">=0.2"
packaging = "*"
tomli = { version = "*" , markers = "python_version < \"3.11\"" }
tornado = ">=6.2.0"
traitlets = "*"
[ package . extras ]
2023-11-07 23:15:09 +00:00
dev = [ "black[jupyter] (==23.10.1)" , "build" , "bump2version" , "coverage" , "hatch" , "pre-commit" , "pytest-cov" , "ruff (==0.0.292)" ]
2023-10-17 01:13:31 +00:00
docs = [ "jsx-lexer" , "myst-parser" , "pydata-sphinx-theme (>=0.13.0)" , "pytest" , "pytest-check-links" , "pytest-tornasync" , "sphinx (>=1.8,<7.2.0)" , "sphinx-copybutton" ]
2023-07-21 17:36:28 +00:00
docs-screenshots = [ "altair (==5.0.1)" , "ipython (==8.14.0)" , "ipywidgets (==8.0.6)" , "jupyterlab-geojson (==3.4.0)" , "jupyterlab-language-pack-zh-cn (==4.0.post0)" , "matplotlib (==3.7.1)" , "nbconvert (>=7.0.0)" , "pandas (==2.0.2)" , "scipy (==1.10.1)" , "vega-datasets (==0.9.0)" ]
test = [ "coverage" , "pytest (>=7.0)" , "pytest-check-links (>=0.7)" , "pytest-console-scripts" , "pytest-cov" , "pytest-jupyter (>=0.5.3)" , "pytest-timeout" , "pytest-tornasync" , "requests" , "requests-cache" , "virtualenv" ]
[ [ package ] ]
name = "jupyterlab-pygments"
version = "0.2.2"
description = "Pygments theme using JupyterLab CSS variables"
optional = false
python-versions = ">=3.7"
files = [
{ file = "jupyterlab_pygments-0.2.2-py2.py3-none-any.whl" , hash = "sha256:2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f" } ,
{ file = "jupyterlab_pygments-0.2.2.tar.gz" , hash = "sha256:7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d" } ,
]
[ [ package ] ]
name = "jupyterlab-server"
2023-10-17 01:13:31 +00:00
version = "2.25.0"
2023-07-21 17:36:28 +00:00
description = "A set of server components for JupyterLab and JupyterLab like applications."
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "jupyterlab_server-2.25.0-py3-none-any.whl" , hash = "sha256:c9f67a98b295c5dee87f41551b0558374e45d449f3edca153dd722140630dcb2" } ,
{ file = "jupyterlab_server-2.25.0.tar.gz" , hash = "sha256:77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
babel = ">=2.10"
importlib-metadata = { version = ">=4.8.3" , markers = "python_version < \"3.10\"" }
jinja2 = ">=3.0.3"
json5 = ">=0.9.0"
2023-10-17 01:13:31 +00:00
jsonschema = ">=4.18.0"
2023-07-21 17:36:28 +00:00
jupyter-server = ">=1.21,<3"
packaging = ">=21.3"
2023-10-17 01:13:31 +00:00
requests = ">=2.31"
2023-07-21 17:36:28 +00:00
[ package . extras ]
docs = [ "autodoc-traits" , "jinja2 (<3.2.0)" , "mistune (<4)" , "myst-parser" , "pydata-sphinx-theme" , "sphinx" , "sphinx-copybutton" , "sphinxcontrib-openapi (>0.8)" ]
2023-10-17 01:13:31 +00:00
openapi = [ "openapi-core (>=0.18.0,<0.19.0)" , "ruamel-yaml" ]
test = [ "hatch" , "ipykernel" , "openapi-core (>=0.18.0,<0.19.0)" , "openapi-spec-validator (>=0.6.0,<0.7.0)" , "pytest (>=7.0)" , "pytest-console-scripts" , "pytest-cov" , "pytest-jupyter[server] (>=0.6.2)" , "pytest-timeout" , "requests-mock" , "ruamel-yaml" , "sphinxcontrib-spelling" , "strict-rfc3339" , "werkzeug" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "jupyterlab-widgets"
2023-10-17 01:13:31 +00:00
version = "3.0.9"
2023-07-21 17:36:28 +00:00
description = "Jupyter interactive widgets for JupyterLab"
optional = false
python-versions = ">=3.7"
files = [
2023-10-17 01:13:31 +00:00
{ file = "jupyterlab_widgets-3.0.9-py3-none-any.whl" , hash = "sha256:3cf5bdf5b897bf3bccf1c11873aa4afd776d7430200f765e0686bd352487b58d" } ,
{ file = "jupyterlab_widgets-3.0.9.tar.gz" , hash = "sha256:6005a4e974c7beee84060fdfba341a3218495046de8ae3ec64888e5fe19fdb4c" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "langchain"
2024-02-29 17:13:21 +00:00
version = "0.1.9"
2023-07-21 17:36:28 +00:00
description = "Building applications with LLMs through composability"
optional = false
python-versions = ">=3.8.1,<4.0"
2023-11-28 21:26:15 +00:00
files = [ ]
develop = true
2023-07-21 17:36:28 +00:00
[ package . dependencies ]
2023-11-28 21:26:15 +00:00
aiohttp = "^3.8.3"
async-timeout = { version = "^4.0.0" , markers = "python_version < \"3.11\"" }
dataclasses-json = ">= 0.5.7, < 0.7"
jsonpatch = "^1.33"
2024-02-19 21:12:22 +00:00
langchain-community = ">=0.0.21,<0.1"
2024-02-29 17:13:21 +00:00
langchain-core = ">=0.1.26,<0.2"
2024-03-01 02:33:21 +00:00
langchain-text-splitters = { path = "../text-splitters" , develop = true }
2024-02-16 06:17:59 +00:00
langsmith = "^0.1.0"
2023-11-28 21:26:15 +00:00
numpy = "^1"
2023-10-05 02:36:58 +00:00
pydantic = ">=1,<3"
PyYAML = ">=5.3"
2023-11-28 21:26:15 +00:00
requests = "^2"
2023-07-21 17:36:28 +00:00
SQLAlchemy = ">=1.4,<3"
2023-11-28 21:26:15 +00:00
tenacity = "^8.1.0"
2023-07-21 17:36:28 +00:00
[ package . extras ]
2023-12-11 21:53:30 +00:00
all = [ ]
2023-11-28 21:26:15 +00:00
azure = [ "azure-ai-formrecognizer (>=3.2.1,<4.0.0)" , "azure-ai-textanalytics (>=5.3.0,<6.0.0)" , "azure-ai-vision (>=0.11.1b1,<0.12.0)" , "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)" , "azure-core (>=1.26.4,<2.0.0)" , "azure-cosmos (>=4.4.0b1,<5.0.0)" , "azure-identity (>=1.12.0,<2.0.0)" , "azure-search-documents (==11.4.0b8)" , "openai (<2)" ]
2023-07-21 17:36:28 +00:00
clarifai = [ "clarifai (>=9.1.0)" ]
2023-10-17 01:13:31 +00:00
cli = [ "typer (>=0.9.0,<0.10.0)" ]
2023-10-05 02:36:58 +00:00
cohere = [ "cohere (>=4,<5)" ]
2023-07-21 17:36:28 +00:00
docarray = [ "docarray[hnswlib] (>=0.32.0,<0.33.0)" ]
embeddings = [ "sentence-transformers (>=2,<3)" ]
2024-02-01 16:27:39 +00:00
extended-testing = [ "aiosqlite (>=0.19.0,<0.20.0)" , "aleph-alpha-client (>=2.15.0,<3.0.0)" , "anthropic (>=0.3.11,<0.4.0)" , "arxiv (>=1.4,<2.0)" , "assemblyai (>=0.17.0,<0.18.0)" , "atlassian-python-api (>=3.36.0,<4.0.0)" , "beautifulsoup4 (>=4,<5)" , "bibtexparser (>=1.4.0,<2.0.0)" , "cassio (>=0.1.0,<0.2.0)" , "chardet (>=5.1.0,<6.0.0)" , "cohere (>=4,<5)" , "couchbase (>=4.1.9,<5.0.0)" , "dashvector (>=1.0.1,<2.0.0)" , "databricks-vectorsearch (>=0.21,<0.22)" , "datasets (>=2.15.0,<3.0.0)" , "dgml-utils (>=0.3.0,<0.4.0)" , "esprima (>=4.0.1,<5.0.0)" , "faiss-cpu (>=1,<2)" , "feedparser (>=6.0.10,<7.0.0)" , "fireworks-ai (>=0.9.0,<0.10.0)" , "geopandas (>=0.13.1,<0.14.0)" , "gitpython (>=3.1.32,<4.0.0)" , "google-cloud-documentai (>=2.20.1,<3.0.0)" , "gql (>=3.4.1,<4.0.0)" , "hologres-vector (>=0.0.6,<0.0.7)" , "html2text (>=2020.1.16,<2021.0.0)" , "javelin-sdk (>=0.1.8,<0.2.0)" , "jinja2 (>=3,<4)" , "jq (>=1.4.1,<2.0.0)" , "jsonschema (>1)" , "langchain-openai (>=0.0.2,<0.1)" , "lxml (>=4.9.2,<5.0.0)" , "markdownify (>=0.11.6,<0.12.0)" , "motor (>=3.3.1,<4.0.0)" , "msal (>=1.25.0,<2.0.0)" , "mwparserfromhell (>=0.6.4,<0.7.0)" , "mwxml (>=0.3.3,<0.4.0)" , "newspaper3k (>=0.2.8,<0.3.0)" , "numexpr (>=2.8.6,<3.0.0)" , "openai (<2)" , "openai (<2)" , "openapi-pydantic (>=0.3.2,<0.4.0)" , "pandas (>=2.0.1,<3.0.0)" , "pdfminer-six (>=20221105,<20221106)" , "pgvector (>=0.1.6,<0.2.0)" , "praw (>=7.7.1,<8.0.0)" , "psychicapi (>=0.8.0,<0.9.0)" , "py-trello (>=0.19.0,<0.20.0)" , "pymupdf (>=1.22.3,<2.0.0)" , "pypdf (>=3.4.0,<4.0.0)" , "pypdfium2 (>=4.10.0,<5.0.0)" , "pyspark (>=3.4.0,<4.0.0)" , "rank-bm25 (>=0.2.2,<0.3.0)" , "rapidfuzz (>=3.1.1,<4.0.0)" , "rapidocr-onnxruntime (>=1.3.2,<2.0.0)" , "rdflib (==7.0.0)" , "requests-toolbelt (>=1.0.0,<2.0.0)" , "rspace_client (>=2.5.0,<3.0.0)" , "scikit-learn (>=1.2.2,<2.0.0)" , "sqlite-vss (>=0.1.2,<0.2.0)" , "streamlit (>=1.18.0,<2.0.0)" , "sympy (>=1.12,<2.0)" , "telethon (>=1.28.5,<2.0.0)" , "timescale-vector (>=0.0.1,<0.0.2)" , "tqdm (>=4.48.0)" , "upstash-redis (>=0.15.0,<0.16.0)" , "xata (>=1.0.0a7,<2.0.0)" , "xmltodict (>=0.13.0,<0.14.0)" ]
2023-07-21 17:36:28 +00:00
javascript = [ "esprima (>=4.0.1,<5.0.0)" ]
2023-11-28 21:26:15 +00:00
llms = [ "clarifai (>=9.1.0)" , "cohere (>=4,<5)" , "huggingface_hub (>=0,<1)" , "manifest-ml (>=0.0.1,<0.0.2)" , "nlpcloud (>=1,<2)" , "openai (<2)" , "openlm (>=0.0.5,<0.0.6)" , "torch (>=1,<3)" , "transformers (>=4,<5)" ]
openai = [ "openai (<2)" , "tiktoken (>=0.3.2,<0.6.0)" ]
2023-07-21 17:36:28 +00:00
qdrant = [ "qdrant-client (>=1.3.1,<2.0.0)" ]
text-helpers = [ "chardet (>=5.1.0,<6.0.0)" ]
2023-11-28 21:26:15 +00:00
[ package . source ]
type = "directory"
url = "../langchain"
2023-12-11 21:53:30 +00:00
[ [ package ] ]
name = "langchain-community"
2024-02-29 17:13:21 +00:00
version = "0.0.24"
2023-12-11 21:53:30 +00:00
description = "Community contributed LangChain integrations."
optional = false
python-versions = ">=3.8.1,<4.0"
files = [ ]
develop = true
[ package . dependencies ]
aiohttp = "^3.8.3"
dataclasses-json = ">= 0.5.7, < 0.7"
2024-02-29 17:13:21 +00:00
langchain-core = ">=0.1.26,<0.2"
2024-03-01 02:33:21 +00:00
langchain-text-splitters = { path = "../text-splitters" , develop = true }
2024-02-16 06:17:59 +00:00
langsmith = "^0.1.0"
2023-12-11 21:53:30 +00:00
numpy = "^1"
PyYAML = ">=5.3"
requests = "^2"
SQLAlchemy = ">=1.4,<3"
tenacity = "^8.1.0"
[ package . extras ]
cli = [ "typer (>=0.9.0,<0.10.0)" ]
2024-03-01 02:33:21 +00:00
extended-testing = [ "aiosqlite (>=0.19.0,<0.20.0)" , "aleph-alpha-client (>=2.15.0,<3.0.0)" , "anthropic (>=0.3.11,<0.4.0)" , "arxiv (>=1.4,<2.0)" , "assemblyai (>=0.17.0,<0.18.0)" , "atlassian-python-api (>=3.36.0,<4.0.0)" , "azure-ai-documentintelligence (>=1.0.0b1,<2.0.0)" , "beautifulsoup4 (>=4,<5)" , "bibtexparser (>=1.4.0,<2.0.0)" , "cassio (>=0.1.0,<0.2.0)" , "chardet (>=5.1.0,<6.0.0)" , "cohere (>=4,<5)" , "databricks-vectorsearch (>=0.21,<0.22)" , "datasets (>=2.15.0,<3.0.0)" , "dgml-utils (>=0.3.0,<0.4.0)" , "elasticsearch (>=8.12.0,<9.0.0)" , "esprima (>=4.0.1,<5.0.0)" , "faiss-cpu (>=1,<2)" , "feedparser (>=6.0.10,<7.0.0)" , "fireworks-ai (>=0.9.0,<0.10.0)" , "geopandas (>=0.13.1,<0.14.0)" , "gitpython (>=3.1.32,<4.0.0)" , "google-cloud-documentai (>=2.20.1,<3.0.0)" , "gql (>=3.4.1,<4.0.0)" , "gradientai (>=1.4.0,<2.0.0)" , "hdbcli (>=2.19.21,<3.0.0)" , "hologres-vector (>=0.0.6,<0.0.7)" , "html2text (>=2020.1.16,<2021.0.0)" , "httpx (>=0.24.1,<0.25.0)" , "javelin-sdk (>=0.1.8,<0.2.0)" , "jinja2 (>=3,<4)" , "jq (>=1.4.1,<2.0.0)" , "jsonschema (>1)" , "lxml (>=4.9.2,<5.0.0)" , "markdownify (>=0.11.6,<0.12.0)" , "motor (>=3.3.1,<4.0.0)" , "msal (>=1.25.0,<2.0.0)" , "mwparserfromhell (>=0.6.4,<0.7.0)" , "mwxml (>=0.3.3,<0.4.0)" , "newspaper3k (>=0.2.8,<0.3.0)" , "numexpr (>=2.8.6,<3.0.0)" , "nvidia-riva-client (>=2.14.0,<3.0.0)" , "oci (>=2.119.1,<3.0.0)" , "openai (<2)" , "openapi-pydantic (>=0.3.2,<0.4.0)" , "oracle-ads (>=2.9.1,<3.0.0)" , "pandas (>=2.0.1,<3.0.0)" , "pdfminer-six (>=20221105,<20221106)" , "pgvector (>=0.1.6,<0.2.0)" , "praw (>=7.7.1,<8.0.0)" , "psychicapi (>=0.8.0,<0.9.0)" , "py-trello (>=0.19.0,<0.20.0)" , "pymupdf (>=1.22.3,<2.0.0)" , "pypdf (>=3.4.0,<4.0.0)" , "pypdfium2 (>=4.10.0,<5.0.0)" , "pyspark (>=3.4.0,<4.0.0)" , "rank-bm25 (>=0.2.2,<0.3.0)" , "rapidfuzz (>=3.1.1,<4.0.0)" , "rapidocr-onnxruntime (>=1.3.2,<2.0.0)" , "rdflib (==7.0.0)" , "requests-toolbelt (>=1.0.0,<2.0.0)" , "rspace_client (>=2.5.0,<3.0.0)" , "scikit-learn (>=1.2.2,<2.0.0)" , "sqlite-vss (>=0.1.2,<0.2.0)" , "streamlit (>=1.18.0,<2.0.0)" , "sympy (>=1.12,<2.0)" , "telethon (>=1.28.5,<2.0.0)" , "timescale-vector (>=0.0.1,<0.0.2)" , "tqdm (>=4.48.0)" , "tree-sitter (>=0.20.2,<0.21.0)" , "tree-sitter-languages (>=1.8.0,<2.0.0)" , "upstash-redis (>=0.15.0,<0.16.0)" , "xata (>=1.0.0a7,<2.0.0)" , "xmltodict (>=0.13.0,<0.14.0)" , "zhipuai (>=1.0.7,<2.0.0)" ]
2023-12-11 21:53:30 +00:00
[ package . source ]
type = "directory"
url = "../community"
2023-11-28 21:26:15 +00:00
[ [ package ] ]
name = "langchain-core"
2024-03-01 02:33:21 +00:00
version = "0.1.28"
2023-11-28 21:26:15 +00:00
description = "Building applications with LLMs through composability"
optional = false
python-versions = ">=3.8.1,<4.0"
files = [ ]
develop = true
[ package . dependencies ]
2023-12-07 22:24:58 +00:00
anyio = ">=3,<5"
2023-11-28 21:26:15 +00:00
jsonpatch = "^1.33"
2024-02-16 06:17:59 +00:00
langsmith = "^0.1.0"
2023-12-07 22:24:58 +00:00
packaging = "^23.2"
2023-11-28 21:26:15 +00:00
pydantic = ">=1,<3"
2023-12-07 22:24:58 +00:00
PyYAML = ">=5.3"
requests = "^2"
2023-11-28 21:26:15 +00:00
tenacity = "^8.1.0"
2023-12-07 22:24:58 +00:00
[ package . extras ]
extended-testing = [ "jinja2 (>=3,<4)" ]
2023-11-28 21:26:15 +00:00
[ package . source ]
type = "directory"
url = "../core"
2024-03-01 02:33:21 +00:00
[ [ package ] ]
name = "langchain-text-splitters"
version = "0.0.1"
description = "LangChain text splitting utilities"
optional = false
python-versions = ">=3.8.1,<4.0"
files = [ ]
develop = true
[ package . dependencies ]
langchain-core = "^0.1.28"
[ package . extras ]
extended-testing = [ ]
[ package . source ]
type = "directory"
url = "../text-splitters"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "langcodes"
version = "3.3.0"
description = "Tools for labeling human languages with IETF language tags"
optional = true
python-versions = ">=3.6"
files = [
{ file = "langcodes-3.3.0-py3-none-any.whl" , hash = "sha256:4d89fc9acb6e9c8fdef70bcdf376113a3db09b67285d9e1d534de6d8818e7e69" } ,
{ file = "langcodes-3.3.0.tar.gz" , hash = "sha256:794d07d5a28781231ac335a1561b8442f8648ca07cd518310aeb45d6f0807ef6" } ,
]
[ package . extras ]
data = [ "language-data (>=1.1,<2.0)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "langsmith"
2024-02-16 06:17:59 +00:00
version = "0.1.1"
2023-07-21 17:36:28 +00:00
description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform."
optional = false
python-versions = ">=3.8.1,<4.0"
files = [
2024-02-16 06:17:59 +00:00
{ file = "langsmith-0.1.1-py3-none-any.whl" , hash = "sha256:10ff2b977a41e3f6351d1a4239d9bd57af0547aa909e839d2791e16cc197a6f9" } ,
{ file = "langsmith-0.1.1.tar.gz" , hash = "sha256:09df0c2ca9085105f97a4e4f281b083e312c99d162f3fe2b2d5eefd5c3692e60" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-08-22 18:09:35 +00:00
pydantic = ">=1,<3"
2023-07-21 17:36:28 +00:00
requests = ">=2,<3"
[ [ package ] ]
name = "markupsafe"
version = "2.1.3"
description = "Safely add untrusted strings to HTML/XML markup."
optional = false
python-versions = ">=3.7"
files = [
{ file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl" , hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431" } ,
{ file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl" , hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl" , hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb" } ,
{ file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl" , hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686" } ,
2024-02-19 21:12:22 +00:00
{ file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl" , hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl" , hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl" , hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007" } ,
{ file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl" , hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb" } ,
2023-07-21 17:36:28 +00:00
{ file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl" , hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl" , hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0" } ,
{ file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl" , hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl" , hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5" } ,
{ file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl" , hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl" , hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2" } ,
{ file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl" , hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba" } ,
{ file = "MarkupSafe-2.1.3.tar.gz" , hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad" } ,
]
[ [ package ] ]
name = "marshmallow"
version = "3.20.1"
description = "A lightweight library for converting complex datatypes to and from native Python datatypes."
optional = false
python-versions = ">=3.8"
files = [
{ file = "marshmallow-3.20.1-py3-none-any.whl" , hash = "sha256:684939db93e80ad3561392f47be0230743131560a41c5110684c16e21ade0a5c" } ,
{ file = "marshmallow-3.20.1.tar.gz" , hash = "sha256:5d2371bbe42000f2b3fb5eaa065224df7d8f8597bc19a1bbfa5bfe7fba8da889" } ,
]
[ package . dependencies ]
packaging = ">=17.0"
[ package . extras ]
dev = [ "flake8 (==6.0.0)" , "flake8-bugbear (==23.7.10)" , "mypy (==1.4.1)" , "pre-commit (>=2.4,<4.0)" , "pytest" , "pytz" , "simplejson" , "tox" ]
docs = [ "alabaster (==0.7.13)" , "autodocsumm (==0.2.11)" , "sphinx (==7.0.1)" , "sphinx-issues (==3.0.1)" , "sphinx-version-warning (==1.1.2)" ]
lint = [ "flake8 (==6.0.0)" , "flake8-bugbear (==23.7.10)" , "mypy (==1.4.1)" , "pre-commit (>=2.4,<4.0)" ]
tests = [ "pytest" , "pytz" , "simplejson" ]
[ [ package ] ]
name = "matplotlib-inline"
version = "0.1.6"
description = "Inline Matplotlib backend for Jupyter"
optional = false
python-versions = ">=3.5"
files = [
{ file = "matplotlib-inline-0.1.6.tar.gz" , hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304" } ,
{ file = "matplotlib_inline-0.1.6-py3-none-any.whl" , hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311" } ,
]
[ package . dependencies ]
traitlets = "*"
[ [ package ] ]
name = "mistune"
2023-10-17 01:13:31 +00:00
version = "3.0.2"
2023-07-21 17:36:28 +00:00
description = "A sane and fast Markdown parser with useful plugins and renderers"
optional = false
python-versions = ">=3.7"
files = [
2023-10-17 01:13:31 +00:00
{ file = "mistune-3.0.2-py3-none-any.whl" , hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205" } ,
{ file = "mistune-3.0.2.tar.gz" , hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8" } ,
2023-07-21 17:36:28 +00:00
]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "mpmath"
version = "1.3.0"
description = "Python library for arbitrary-precision floating-point arithmetic"
optional = true
python-versions = "*"
files = [
{ file = "mpmath-1.3.0-py3-none-any.whl" , hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c" } ,
{ file = "mpmath-1.3.0.tar.gz" , hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f" } ,
]
[ package . extras ]
develop = [ "codecov" , "pycodestyle" , "pytest (>=4.6)" , "pytest-cov" , "wheel" ]
docs = [ "sphinx" ]
gmpy = [ "gmpy2 (>=2.1.0a4)" ]
tests = [ "pytest (>=4.6)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "multidict"
version = "6.0.4"
description = "multidict implementation"
optional = false
python-versions = ">=3.7"
files = [
{ file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8" } ,
{ file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171" } ,
{ file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7" } ,
{ file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b" } ,
{ file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547" } ,
{ file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569" } ,
{ file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93" } ,
{ file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98" } ,
{ file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0" } ,
{ file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988" } ,
{ file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl" , hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc" } ,
{ file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl" , hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0" } ,
{ file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5" } ,
{ file = "multidict-6.0.4-cp310-cp310-win32.whl" , hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8" } ,
{ file = "multidict-6.0.4-cp310-cp310-win_amd64.whl" , hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc" } ,
{ file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03" } ,
{ file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3" } ,
{ file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba" } ,
{ file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9" } ,
{ file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982" } ,
{ file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe" } ,
{ file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710" } ,
{ file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c" } ,
{ file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4" } ,
{ file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a" } ,
{ file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl" , hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c" } ,
{ file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl" , hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed" } ,
{ file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461" } ,
{ file = "multidict-6.0.4-cp311-cp311-win32.whl" , hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636" } ,
{ file = "multidict-6.0.4-cp311-cp311-win_amd64.whl" , hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0" } ,
{ file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78" } ,
{ file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f" } ,
{ file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603" } ,
{ file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac" } ,
{ file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9" } ,
{ file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2" } ,
{ file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde" } ,
{ file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl" , hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe" } ,
{ file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl" , hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067" } ,
{ file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl" , hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87" } ,
{ file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d" } ,
{ file = "multidict-6.0.4-cp37-cp37m-win32.whl" , hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775" } ,
{ file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl" , hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e" } ,
{ file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c" } ,
{ file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161" } ,
{ file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11" } ,
{ file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e" } ,
{ file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d" } ,
{ file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2" } ,
{ file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258" } ,
{ file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52" } ,
{ file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660" } ,
{ file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951" } ,
{ file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl" , hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60" } ,
{ file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl" , hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d" } ,
{ file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1" } ,
{ file = "multidict-6.0.4-cp38-cp38-win32.whl" , hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779" } ,
{ file = "multidict-6.0.4-cp38-cp38-win_amd64.whl" , hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480" } ,
{ file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664" } ,
{ file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35" } ,
{ file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60" } ,
{ file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706" } ,
{ file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d" } ,
{ file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca" } ,
{ file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1" } ,
{ file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449" } ,
{ file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf" } ,
{ file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063" } ,
{ file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl" , hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a" } ,
{ file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl" , hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176" } ,
{ file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95" } ,
{ file = "multidict-6.0.4-cp39-cp39-win32.whl" , hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313" } ,
{ file = "multidict-6.0.4-cp39-cp39-win_amd64.whl" , hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2" } ,
{ file = "multidict-6.0.4.tar.gz" , hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49" } ,
]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "murmurhash"
2023-10-17 01:13:31 +00:00
version = "1.0.10"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Cython bindings for MurmurHash"
optional = true
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "murmurhash-1.0.10-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:3e90eef568adca5e17a91f96975e9a782ace3a617bbb3f8c8c2d917096e9bfeb" } ,
{ file = "murmurhash-1.0.10-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:f8ecb00cc1ab57e4b065f9fb3ea923b55160c402d959c69a0b6dbbe8bc73efc3" } ,
{ file = "murmurhash-1.0.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3310101004d9e2e0530c2fed30174448d998ffd1b50dcbfb7677e95db101aa4b" } ,
{ file = "murmurhash-1.0.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c65401a6f1778676253cbf89c1f45a8a7feb7d73038e483925df7d5943c08ed9" } ,
{ file = "murmurhash-1.0.10-cp310-cp310-win_amd64.whl" , hash = "sha256:f23f2dfc7174de2cdc5007c0771ab8376a2a3f48247f32cac4a5563e40c6adcc" } ,
{ file = "murmurhash-1.0.10-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:90ed37ee2cace9381b83d56068334f77e3e30bc521169a1f886a2a2800e965d6" } ,
{ file = "murmurhash-1.0.10-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:22e9926fdbec9d24ced9b0a42f0fee68c730438be3cfb00c2499fd495caec226" } ,
{ file = "murmurhash-1.0.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:54bfbfd68baa99717239b8844600db627f336a08b1caf4df89762999f681cdd1" } ,
{ file = "murmurhash-1.0.10-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:18b9d200a09d48ef67f6840b77c14f151f2b6c48fd69661eb75c7276ebdb146c" } ,
{ file = "murmurhash-1.0.10-cp311-cp311-win_amd64.whl" , hash = "sha256:e5d7cfe392c0a28129226271008e61e77bf307afc24abf34f386771daa7b28b0" } ,
{ file = "murmurhash-1.0.10-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:96f0a070344d4802ea76a160e0d4c88b7dc10454d2426f48814482ba60b38b9e" } ,
{ file = "murmurhash-1.0.10-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:9f61862060d677c84556610ac0300a0776cb13cb3155f5075ed97e80f86e55d9" } ,
{ file = "murmurhash-1.0.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b3b6d2d877d8881a08be66d906856d05944be0faf22b9a0390338bcf45299989" } ,
{ file = "murmurhash-1.0.10-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d8f54b0031d8696fed17ed6e9628f339cdea0ba2367ca051e18ff59193f52687" } ,
{ file = "murmurhash-1.0.10-cp312-cp312-win_amd64.whl" , hash = "sha256:97e09d675de2359e586f09de1d0de1ab39f9911edffc65c9255fb5e04f7c1f85" } ,
{ file = "murmurhash-1.0.10-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:1b64e5332932993fef598e78d633b1ba664789ab73032ed511f3dc615a631a1a" } ,
{ file = "murmurhash-1.0.10-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6e2a38437a8497e082408aa015c6d90554b9e00c2c221fdfa79728a2d99a739e" } ,
{ file = "murmurhash-1.0.10-cp36-cp36m-win_amd64.whl" , hash = "sha256:55f4e4f9291a53c36070330950b472d72ba7d331e4ce3ce1ab349a4f458f7bc4" } ,
{ file = "murmurhash-1.0.10-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:16ef9f0855952493fe08929d23865425906a8c0c40607ac8a949a378652ba6a9" } ,
{ file = "murmurhash-1.0.10-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:2cc3351ae92b89c2fcdc6e41ac6f17176dbd9b3554c96109fd0713695d8663e7" } ,
{ file = "murmurhash-1.0.10-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6559fef7c2e7349a42a63549067709b656d6d1580752bd76be1541d8b2d65718" } ,
{ file = "murmurhash-1.0.10-cp37-cp37m-win_amd64.whl" , hash = "sha256:8bf49e3bb33febb7057ae3a5d284ef81243a1e55eaa62bdcd79007cddbdc0461" } ,
{ file = "murmurhash-1.0.10-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:f1605fde07030516eb63d77a598dd164fb9bf217fd937dbac588fe7e47a28c40" } ,
{ file = "murmurhash-1.0.10-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:4904f7e68674a64eb2b08823c72015a5e14653e0b4b109ea00c652a005a59bad" } ,
{ file = "murmurhash-1.0.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:0438f0cb44cf1cd26251f72c1428213c4197d40a4e3f48b1efc3aea12ce18517" } ,
{ file = "murmurhash-1.0.10-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:db1171a3f9a10571931764cdbfaa5371f4cf5c23c680639762125cb075b833a5" } ,
{ file = "murmurhash-1.0.10-cp38-cp38-win_amd64.whl" , hash = "sha256:1c9fbcd7646ad8ba67b895f71d361d232c6765754370ecea473dd97d77afe99f" } ,
{ file = "murmurhash-1.0.10-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:7024ab3498434f22f8e642ae31448322ad8228c65c8d9e5dc2d563d57c14c9b8" } ,
{ file = "murmurhash-1.0.10-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:a99dedfb7f0cc5a4cd76eb409ee98d3d50eba024f934e705914f6f4d765aef2c" } ,
{ file = "murmurhash-1.0.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:8b580b8503647de5dd7972746b7613ea586270f17ac92a44872a9b1b52c36d68" } ,
{ file = "murmurhash-1.0.10-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d75840212bf75eb1352c946c3cf1622dacddd6d6bdda34368237d1eb3568f23a" } ,
{ file = "murmurhash-1.0.10-cp39-cp39-win_amd64.whl" , hash = "sha256:a4209962b9f85de397c3203ea4b3a554da01ae9fd220fdab38757d4e9eba8d1a" } ,
{ file = "murmurhash-1.0.10.tar.gz" , hash = "sha256:5282aab1317804c6ebd6dd7f69f15ba9075aee671c44a34be2bde0f1b11ef88a" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "mypy"
version = "0.991"
description = "Optional static typing for Python"
optional = false
python-versions = ">=3.7"
files = [
{ file = "mypy-0.991-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:7d17e0a9707d0772f4a7b878f04b4fd11f6f5bcb9b3813975a9b13c9332153ab" } ,
{ file = "mypy-0.991-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:0714258640194d75677e86c786e80ccf294972cc76885d3ebbb560f11db0003d" } ,
{ file = "mypy-0.991-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:0c8f3be99e8a8bd403caa8c03be619544bc2c77a7093685dcf308c6b109426c6" } ,
{ file = "mypy-0.991-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:bc9ec663ed6c8f15f4ae9d3c04c989b744436c16d26580eaa760ae9dd5d662eb" } ,
{ file = "mypy-0.991-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:4307270436fd7694b41f913eb09210faff27ea4979ecbcd849e57d2da2f65305" } ,
{ file = "mypy-0.991-cp310-cp310-win_amd64.whl" , hash = "sha256:901c2c269c616e6cb0998b33d4adbb4a6af0ac4ce5cd078afd7bc95830e62c1c" } ,
{ file = "mypy-0.991-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:d13674f3fb73805ba0c45eb6c0c3053d218aa1f7abead6e446d474529aafc372" } ,
{ file = "mypy-0.991-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:1c8cd4fb70e8584ca1ed5805cbc7c017a3d1a29fb450621089ffed3e99d1857f" } ,
{ file = "mypy-0.991-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:209ee89fbb0deed518605edddd234af80506aec932ad28d73c08f1400ef80a33" } ,
{ file = "mypy-0.991-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:37bd02ebf9d10e05b00d71302d2c2e6ca333e6c2a8584a98c00e038db8121f05" } ,
{ file = "mypy-0.991-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:26efb2fcc6b67e4d5a55561f39176821d2adf88f2745ddc72751b7890f3194ad" } ,
{ file = "mypy-0.991-cp311-cp311-win_amd64.whl" , hash = "sha256:3a700330b567114b673cf8ee7388e949f843b356a73b5ab22dd7cff4742a5297" } ,
{ file = "mypy-0.991-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:1f7d1a520373e2272b10796c3ff721ea1a0712288cafaa95931e66aa15798813" } ,
{ file = "mypy-0.991-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:641411733b127c3e0dab94c45af15fea99e4468f99ac88b39efb1ad677da5711" } ,
{ file = "mypy-0.991-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:3d80e36b7d7a9259b740be6d8d906221789b0d836201af4234093cae89ced0cd" } ,
{ file = "mypy-0.991-cp37-cp37m-win_amd64.whl" , hash = "sha256:e62ebaad93be3ad1a828a11e90f0e76f15449371ffeecca4a0a0b9adc99abcef" } ,
{ file = "mypy-0.991-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:b86ce2c1866a748c0f6faca5232059f881cda6dda2a893b9a8373353cfe3715a" } ,
{ file = "mypy-0.991-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:ac6e503823143464538efda0e8e356d871557ef60ccd38f8824a4257acc18d93" } ,
{ file = "mypy-0.991-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:0cca5adf694af539aeaa6ac633a7afe9bbd760df9d31be55ab780b77ab5ae8bf" } ,
{ file = "mypy-0.991-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:a12c56bf73cdab116df96e4ff39610b92a348cc99a1307e1da3c3768bbb5b135" } ,
{ file = "mypy-0.991-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:652b651d42f155033a1967739788c436491b577b6a44e4c39fb340d0ee7f0d70" } ,
{ file = "mypy-0.991-cp38-cp38-win_amd64.whl" , hash = "sha256:4175593dc25d9da12f7de8de873a33f9b2b8bdb4e827a7cae952e5b1a342e243" } ,
{ file = "mypy-0.991-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:98e781cd35c0acf33eb0295e8b9c55cdbef64fcb35f6d3aa2186f289bed6e80d" } ,
{ file = "mypy-0.991-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:6d7464bac72a85cb3491c7e92b5b62f3dcccb8af26826257760a552a5e244aa5" } ,
{ file = "mypy-0.991-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:c9166b3f81a10cdf9b49f2d594b21b31adadb3d5e9db9b834866c3258b695be3" } ,
{ file = "mypy-0.991-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:b8472f736a5bfb159a5e36740847808f6f5b659960115ff29c7cecec1741c648" } ,
{ file = "mypy-0.991-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:5e80e758243b97b618cdf22004beb09e8a2de1af481382e4d84bc52152d1c476" } ,
{ file = "mypy-0.991-cp39-cp39-win_amd64.whl" , hash = "sha256:74e259b5c19f70d35fcc1ad3d56499065c601dfe94ff67ae48b85596b9ec1461" } ,
{ file = "mypy-0.991-py3-none-any.whl" , hash = "sha256:de32edc9b0a7e67c2775e574cb061a537660e51210fbf6006b0b36ea695ae9bb" } ,
{ file = "mypy-0.991.tar.gz" , hash = "sha256:3c0165ba8f354a6d9881809ef29f1a9318a236a6d81c690094c5df32107bde06" } ,
]
[ package . dependencies ]
mypy-extensions = ">=0.4.3"
tomli = { version = ">=1.1.0" , markers = "python_version < \"3.11\"" }
typing-extensions = ">=3.10"
[ package . extras ]
dmypy = [ "psutil (>=4.0)" ]
install-types = [ "pip" ]
python2 = [ "typed-ast (>=1.4.0,<2)" ]
reports = [ "lxml" ]
[ [ package ] ]
name = "mypy-extensions"
version = "1.0.0"
description = "Type system extensions for programs checked with the mypy type checker."
optional = false
python-versions = ">=3.5"
files = [
{ file = "mypy_extensions-1.0.0-py3-none-any.whl" , hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d" } ,
{ file = "mypy_extensions-1.0.0.tar.gz" , hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782" } ,
]
[ [ package ] ]
name = "nbclient"
2023-11-07 23:15:09 +00:00
version = "0.9.0"
2023-07-21 17:36:28 +00:00
description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor."
optional = false
python-versions = ">=3.8.0"
files = [
2023-11-07 23:15:09 +00:00
{ file = "nbclient-0.9.0-py3-none-any.whl" , hash = "sha256:a3a1ddfb34d4a9d17fc744d655962714a866639acd30130e9be84191cd97cd15" } ,
{ file = "nbclient-0.9.0.tar.gz" , hash = "sha256:4b28c207877cf33ef3a9838cdc7a54c5ceff981194a82eac59d558f05487295e" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
jupyter-client = ">=6.1.12"
2024-02-01 16:27:39 +00:00
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
2023-07-21 17:36:28 +00:00
nbformat = ">=5.1"
traitlets = ">=5.4"
[ package . extras ]
dev = [ "pre-commit" ]
docs = [ "autodoc-traits" , "mock" , "moto" , "myst-parser" , "nbclient[test]" , "sphinx (>=1.7)" , "sphinx-book-theme" , "sphinxcontrib-spelling" ]
test = [ "flaky" , "ipykernel (>=6.19.3)" , "ipython" , "ipywidgets" , "nbconvert (>=7.0.0)" , "pytest (>=7.0)" , "pytest-asyncio" , "pytest-cov (>=4.0)" , "testpath" , "xmltodict" ]
[ [ package ] ]
name = "nbconvert"
2023-11-07 23:15:09 +00:00
version = "7.11.0"
2023-07-21 17:36:28 +00:00
description = "Converting Jupyter Notebooks"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "nbconvert-7.11.0-py3-none-any.whl" , hash = "sha256:d1d417b7f34a4e38887f8da5bdfd12372adf3b80f995d57556cb0972c68909fe" } ,
{ file = "nbconvert-7.11.0.tar.gz" , hash = "sha256:abedc01cf543177ffde0bfc2a69726d5a478f6af10a332fc1bf29fcb4f0cf000" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
beautifulsoup4 = "*"
bleach = "!=5.0.0"
defusedxml = "*"
importlib-metadata = { version = ">=3.6" , markers = "python_version < \"3.10\"" }
jinja2 = ">=3.0"
jupyter-core = ">=4.7"
jupyterlab-pygments = "*"
markupsafe = ">=2.0"
mistune = ">=2.0.3,<4"
nbclient = ">=0.5.0"
nbformat = ">=5.7"
packaging = "*"
pandocfilters = ">=1.4.1"
pygments = ">=2.4.1"
tinycss2 = "*"
traitlets = ">=5.1"
[ package . extras ]
all = [ "nbconvert[docs,qtpdf,serve,test,webpdf]" ]
docs = [ "ipykernel" , "ipython" , "myst-parser" , "nbsphinx (>=0.2.12)" , "pydata-sphinx-theme" , "sphinx (==5.0.2)" , "sphinxcontrib-spelling" ]
qtpdf = [ "nbconvert[qtpng]" ]
qtpng = [ "pyqtwebengine (>=5.15)" ]
serve = [ "tornado (>=6.1)" ]
2023-11-07 23:15:09 +00:00
test = [ "flaky" , "ipykernel" , "ipywidgets (>=7)" , "pytest" ]
2023-07-21 17:36:28 +00:00
webpdf = [ "playwright" ]
[ [ package ] ]
name = "nbformat"
2023-08-22 18:09:35 +00:00
version = "5.9.2"
2023-07-21 17:36:28 +00:00
description = "The Jupyter Notebook format"
optional = false
python-versions = ">=3.8"
files = [
2023-08-22 18:09:35 +00:00
{ file = "nbformat-5.9.2-py3-none-any.whl" , hash = "sha256:1c5172d786a41b82bcfd0c23f9e6b6f072e8fb49c39250219e4acfff1efe89e9" } ,
{ file = "nbformat-5.9.2.tar.gz" , hash = "sha256:5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
fastjsonschema = "*"
jsonschema = ">=2.6"
jupyter-core = "*"
traitlets = ">=5.1"
[ package . extras ]
docs = [ "myst-parser" , "pydata-sphinx-theme" , "sphinx" , "sphinxcontrib-github-alt" , "sphinxcontrib-spelling" ]
test = [ "pep440" , "pre-commit" , "pytest" , "testpath" ]
[ [ package ] ]
name = "nest-asyncio"
2023-10-17 01:13:31 +00:00
version = "1.5.8"
2023-07-21 17:36:28 +00:00
description = "Patch asyncio to allow nested event loops"
optional = false
python-versions = ">=3.5"
files = [
2023-10-17 01:13:31 +00:00
{ file = "nest_asyncio-1.5.8-py3-none-any.whl" , hash = "sha256:accda7a339a70599cb08f9dd09a67e0c2ef8d8d6f4c07f96ab203f2ae254e48d" } ,
{ file = "nest_asyncio-1.5.8.tar.gz" , hash = "sha256:25aa2ca0d2a5b5531956b9e273b45cf664cae2b145101d73b86b199978d48fdb" } ,
2023-07-21 17:36:28 +00:00
]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "networkx"
version = "3.1"
description = "Python package for creating and manipulating graphs and networks"
optional = true
python-versions = ">=3.8"
files = [
{ file = "networkx-3.1-py3-none-any.whl" , hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36" } ,
{ file = "networkx-3.1.tar.gz" , hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61" } ,
]
[ package . extras ]
default = [ "matplotlib (>=3.4)" , "numpy (>=1.20)" , "pandas (>=1.3)" , "scipy (>=1.8)" ]
developer = [ "mypy (>=1.1)" , "pre-commit (>=3.2)" ]
doc = [ "nb2plots (>=0.6)" , "numpydoc (>=1.5)" , "pillow (>=9.4)" , "pydata-sphinx-theme (>=0.13)" , "sphinx (>=6.1)" , "sphinx-gallery (>=0.12)" , "texext (>=0.6.7)" ]
extra = [ "lxml (>=4.6)" , "pydot (>=1.4.2)" , "pygraphviz (>=1.10)" , "sympy (>=1.10)" ]
test = [ "codecov (>=2.1)" , "pytest (>=7.2)" , "pytest-cov (>=4.0)" ]
[ [ package ] ]
name = "nltk"
version = "3.8.1"
description = "Natural Language Toolkit"
optional = true
python-versions = ">=3.7"
files = [
{ file = "nltk-3.8.1-py3-none-any.whl" , hash = "sha256:fd5c9109f976fa86bcadba8f91e47f5e9293bd034474752e92a520f81c93dda5" } ,
{ file = "nltk-3.8.1.zip" , hash = "sha256:1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3" } ,
]
[ package . dependencies ]
click = "*"
joblib = "*"
regex = ">=2021.8.3"
tqdm = "*"
[ package . extras ]
all = [ "matplotlib" , "numpy" , "pyparsing" , "python-crfsuite" , "requests" , "scikit-learn" , "scipy" , "twython" ]
corenlp = [ "requests" ]
machine-learning = [ "numpy" , "python-crfsuite" , "scikit-learn" , "scipy" ]
plot = [ "matplotlib" ]
tgrep = [ "pyparsing" ]
twitter = [ "twython" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "notebook"
2023-11-07 23:15:09 +00:00
version = "7.0.6"
2023-07-21 17:36:28 +00:00
description = "Jupyter Notebook - A web-based notebook environment for interactive computing"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "notebook-7.0.6-py3-none-any.whl" , hash = "sha256:0fe8f67102fea3744fedf652e4c15339390902ca70c5a31c4f547fa23da697cc" } ,
{ file = "notebook-7.0.6.tar.gz" , hash = "sha256:ec6113b06529019f7f287819af06c97a2baf7a95ac21a8f6e32192898e9f9a58" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
jupyter-server = ">=2.4.0,<3"
jupyterlab = ">=4.0.2,<5"
jupyterlab-server = ">=2.22.1,<3"
notebook-shim = ">=0.2,<0.3"
tornado = ">=6.2.0"
[ package . extras ]
dev = [ "hatch" , "pre-commit" ]
docs = [ "myst-parser" , "nbsphinx" , "pydata-sphinx-theme" , "sphinx (>=1.3.6)" , "sphinxcontrib-github-alt" , "sphinxcontrib-spelling" ]
2023-10-17 01:13:31 +00:00
test = [ "importlib-resources (>=5.0)" , "ipykernel" , "jupyter-server[test] (>=2.4.0,<3)" , "jupyterlab-server[test] (>=2.22.1,<3)" , "nbval" , "pytest (>=7.0)" , "pytest-console-scripts" , "pytest-timeout" , "pytest-tornasync" , "requests" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "notebook-shim"
version = "0.2.3"
description = "A shim layer for notebook traits and config"
optional = false
python-versions = ">=3.7"
files = [
{ file = "notebook_shim-0.2.3-py3-none-any.whl" , hash = "sha256:a83496a43341c1674b093bfcebf0fe8e74cbe7eda5fd2bbc56f8e39e1486c0c7" } ,
{ file = "notebook_shim-0.2.3.tar.gz" , hash = "sha256:f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9" } ,
]
[ package . dependencies ]
jupyter-server = ">=1.8,<3"
[ package . extras ]
test = [ "pytest" , "pytest-console-scripts" , "pytest-jupyter" , "pytest-tornasync" ]
[ [ package ] ]
name = "numpy"
version = "1.24.4"
description = "Fundamental package for array computing in Python"
optional = false
python-versions = ">=3.8"
files = [
{ file = "numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64" } ,
{ file = "numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1" } ,
{ file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4" } ,
{ file = "numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6" } ,
{ file = "numpy-1.24.4-cp310-cp310-win32.whl" , hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc" } ,
{ file = "numpy-1.24.4-cp310-cp310-win_amd64.whl" , hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e" } ,
{ file = "numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810" } ,
{ file = "numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254" } ,
{ file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7" } ,
{ file = "numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5" } ,
{ file = "numpy-1.24.4-cp311-cp311-win32.whl" , hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d" } ,
{ file = "numpy-1.24.4-cp311-cp311-win_amd64.whl" , hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694" } ,
{ file = "numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61" } ,
{ file = "numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f" } ,
{ file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e" } ,
{ file = "numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc" } ,
{ file = "numpy-1.24.4-cp38-cp38-win32.whl" , hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2" } ,
{ file = "numpy-1.24.4-cp38-cp38-win_amd64.whl" , hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706" } ,
{ file = "numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400" } ,
{ file = "numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f" } ,
{ file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9" } ,
{ file = "numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d" } ,
{ file = "numpy-1.24.4-cp39-cp39-win32.whl" , hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835" } ,
{ file = "numpy-1.24.4-cp39-cp39-win_amd64.whl" , hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8" } ,
{ file = "numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef" } ,
{ file = "numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a" } ,
{ file = "numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl" , hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2" } ,
{ file = "numpy-1.24.4.tar.gz" , hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463" } ,
]
[ [ package ] ]
name = "overrides"
2023-08-22 18:09:35 +00:00
version = "7.4.0"
2023-07-21 17:36:28 +00:00
description = "A decorator to automatically detect mismatch when overriding a method."
optional = false
python-versions = ">=3.6"
files = [
2023-08-22 18:09:35 +00:00
{ file = "overrides-7.4.0-py3-none-any.whl" , hash = "sha256:3ad24583f86d6d7a49049695efe9933e67ba62f0c7625d53c59fa832ce4b8b7d" } ,
{ file = "overrides-7.4.0.tar.gz" , hash = "sha256:9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "packaging"
2023-10-17 01:13:31 +00:00
version = "23.2"
2023-07-21 17:36:28 +00:00
description = "Core utilities for Python packages"
optional = false
python-versions = ">=3.7"
files = [
2023-10-17 01:13:31 +00:00
{ file = "packaging-23.2-py3-none-any.whl" , hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7" } ,
{ file = "packaging-23.2.tar.gz" , hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5" } ,
2023-07-21 17:36:28 +00:00
]
2024-02-13 05:58:35 +00:00
[ [ package ] ]
name = "pandas"
version = "2.0.3"
description = "Powerful data structures for data analysis, time series, and statistics"
optional = true
python-versions = ">=3.8"
files = [
{ file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8" } ,
{ file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f" } ,
{ file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183" } ,
{ file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0" } ,
{ file = "pandas-2.0.3-cp310-cp310-win32.whl" , hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210" } ,
{ file = "pandas-2.0.3-cp310-cp310-win_amd64.whl" , hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e" } ,
{ file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8" } ,
{ file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26" } ,
{ file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d" } ,
{ file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df" } ,
{ file = "pandas-2.0.3-cp311-cp311-win32.whl" , hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd" } ,
{ file = "pandas-2.0.3-cp311-cp311-win_amd64.whl" , hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b" } ,
{ file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061" } ,
{ file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5" } ,
{ file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089" } ,
{ file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0" } ,
{ file = "pandas-2.0.3-cp38-cp38-win32.whl" , hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02" } ,
{ file = "pandas-2.0.3-cp38-cp38-win_amd64.whl" , hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78" } ,
{ file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b" } ,
{ file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e" } ,
{ file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b" } ,
{ file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641" } ,
{ file = "pandas-2.0.3-cp39-cp39-win32.whl" , hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682" } ,
{ file = "pandas-2.0.3-cp39-cp39-win_amd64.whl" , hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc" } ,
{ file = "pandas-2.0.3.tar.gz" , hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c" } ,
]
[ package . dependencies ]
numpy = [
{ version = ">=1.20.3" , markers = "python_version < \"3.10\"" } ,
{ version = ">=1.23.2" , markers = "python_version >= \"3.11\"" } ,
2024-02-19 21:12:22 +00:00
{ version = ">=1.21.0" , markers = "python_version >= \"3.10\" and python_version < \"3.11\"" } ,
2024-02-13 05:58:35 +00:00
]
python-dateutil = ">=2.8.2"
pytz = ">=2020.1"
tzdata = ">=2022.1"
[ package . extras ]
all = [ "PyQt5 (>=5.15.1)" , "SQLAlchemy (>=1.4.16)" , "beautifulsoup4 (>=4.9.3)" , "bottleneck (>=1.3.2)" , "brotlipy (>=0.7.0)" , "fastparquet (>=0.6.3)" , "fsspec (>=2021.07.0)" , "gcsfs (>=2021.07.0)" , "html5lib (>=1.1)" , "hypothesis (>=6.34.2)" , "jinja2 (>=3.0.0)" , "lxml (>=4.6.3)" , "matplotlib (>=3.6.1)" , "numba (>=0.53.1)" , "numexpr (>=2.7.3)" , "odfpy (>=1.4.1)" , "openpyxl (>=3.0.7)" , "pandas-gbq (>=0.15.0)" , "psycopg2 (>=2.8.6)" , "pyarrow (>=7.0.0)" , "pymysql (>=1.0.2)" , "pyreadstat (>=1.1.2)" , "pytest (>=7.3.2)" , "pytest-asyncio (>=0.17.0)" , "pytest-xdist (>=2.2.0)" , "python-snappy (>=0.6.0)" , "pyxlsb (>=1.0.8)" , "qtpy (>=2.2.0)" , "s3fs (>=2021.08.0)" , "scipy (>=1.7.1)" , "tables (>=3.6.1)" , "tabulate (>=0.8.9)" , "xarray (>=0.21.0)" , "xlrd (>=2.0.1)" , "xlsxwriter (>=1.4.3)" , "zstandard (>=0.15.2)" ]
aws = [ "s3fs (>=2021.08.0)" ]
clipboard = [ "PyQt5 (>=5.15.1)" , "qtpy (>=2.2.0)" ]
compression = [ "brotlipy (>=0.7.0)" , "python-snappy (>=0.6.0)" , "zstandard (>=0.15.2)" ]
computation = [ "scipy (>=1.7.1)" , "xarray (>=0.21.0)" ]
excel = [ "odfpy (>=1.4.1)" , "openpyxl (>=3.0.7)" , "pyxlsb (>=1.0.8)" , "xlrd (>=2.0.1)" , "xlsxwriter (>=1.4.3)" ]
feather = [ "pyarrow (>=7.0.0)" ]
fss = [ "fsspec (>=2021.07.0)" ]
gcp = [ "gcsfs (>=2021.07.0)" , "pandas-gbq (>=0.15.0)" ]
hdf5 = [ "tables (>=3.6.1)" ]
html = [ "beautifulsoup4 (>=4.9.3)" , "html5lib (>=1.1)" , "lxml (>=4.6.3)" ]
mysql = [ "SQLAlchemy (>=1.4.16)" , "pymysql (>=1.0.2)" ]
output-formatting = [ "jinja2 (>=3.0.0)" , "tabulate (>=0.8.9)" ]
parquet = [ "pyarrow (>=7.0.0)" ]
performance = [ "bottleneck (>=1.3.2)" , "numba (>=0.53.1)" , "numexpr (>=2.7.1)" ]
plot = [ "matplotlib (>=3.6.1)" ]
postgresql = [ "SQLAlchemy (>=1.4.16)" , "psycopg2 (>=2.8.6)" ]
spss = [ "pyreadstat (>=1.1.2)" ]
sql-other = [ "SQLAlchemy (>=1.4.16)" ]
test = [ "hypothesis (>=6.34.2)" , "pytest (>=7.3.2)" , "pytest-asyncio (>=0.17.0)" , "pytest-xdist (>=2.2.0)" ]
xml = [ "lxml (>=4.6.3)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "pandocfilters"
version = "1.5.0"
description = "Utilities for writing pandoc filters in python"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
{ file = "pandocfilters-1.5.0-py2.py3-none-any.whl" , hash = "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f" } ,
{ file = "pandocfilters-1.5.0.tar.gz" , hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38" } ,
]
[ [ package ] ]
name = "parso"
version = "0.8.3"
description = "A Python Parser"
optional = false
python-versions = ">=3.6"
files = [
{ file = "parso-0.8.3-py2.py3-none-any.whl" , hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75" } ,
{ file = "parso-0.8.3.tar.gz" , hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0" } ,
]
[ package . extras ]
qa = [ "flake8 (==3.8.3)" , "mypy (==0.782)" ]
testing = [ "docopt" , "pytest (<6.0.0)" ]
[ [ package ] ]
name = "pexpect"
version = "4.8.0"
description = "Pexpect allows easy control of interactive console applications."
optional = false
python-versions = "*"
files = [
{ file = "pexpect-4.8.0-py2.py3-none-any.whl" , hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937" } ,
{ file = "pexpect-4.8.0.tar.gz" , hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" } ,
]
[ package . dependencies ]
ptyprocess = ">=0.5"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "phonenumbers"
2023-11-07 23:15:09 +00:00
version = "8.13.24"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers."
optional = true
python-versions = "*"
files = [
2023-11-07 23:15:09 +00:00
{ file = "phonenumbers-8.13.24-py2.py3-none-any.whl" , hash = "sha256:7dd66c57da00c0f373de83074e78d66a0801381cface4d010cfe07be2fa77fe5" } ,
{ file = "phonenumbers-8.13.24.tar.gz" , hash = "sha256:7abc66f38d92c3b9e827d597b5d590283ca3b05288d9fadea8bc0d6c8ad73c06" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "pickleshare"
version = "0.7.5"
description = "Tiny 'shelve'-like database with concurrency support"
optional = false
python-versions = "*"
files = [
{ file = "pickleshare-0.7.5-py2.py3-none-any.whl" , hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" } ,
{ file = "pickleshare-0.7.5.tar.gz" , hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca" } ,
]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "pillow"
2023-10-17 01:13:31 +00:00
version = "10.1.0"
2023-09-11 16:20:19 +00:00
description = "Python Imaging Library (Fork)"
optional = true
python-versions = ">=3.8"
files = [
2023-10-17 01:13:31 +00:00
{ file = "Pillow-10.1.0-cp310-cp310-macosx_10_10_x86_64.whl" , hash = "sha256:1ab05f3db77e98f93964697c8efc49c7954b08dd61cff526b7f2531a22410106" } ,
{ file = "Pillow-10.1.0-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:6932a7652464746fcb484f7fc3618e6503d2066d853f68a4bd97193a3996e273" } ,
{ file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:a5f63b5a68daedc54c7c3464508d8c12075e56dcfbd42f8c1bf40169061ae666" } ,
{ file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c0949b55eb607898e28eaccb525ab104b2d86542a85c74baf3a6dc24002edec2" } ,
{ file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_aarch64.whl" , hash = "sha256:ae88931f93214777c7a3aa0a8f92a683f83ecde27f65a45f95f22d289a69e593" } ,
{ file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_x86_64.whl" , hash = "sha256:b0eb01ca85b2361b09480784a7931fc648ed8b7836f01fb9241141b968feb1db" } ,
{ file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:d27b5997bdd2eb9fb199982bb7eb6164db0426904020dc38c10203187ae2ff2f" } ,
{ file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:7df5608bc38bd37ef585ae9c38c9cd46d7c81498f086915b0f97255ea60c2818" } ,
{ file = "Pillow-10.1.0-cp310-cp310-win_amd64.whl" , hash = "sha256:41f67248d92a5e0a2076d3517d8d4b1e41a97e2df10eb8f93106c89107f38b57" } ,
{ file = "Pillow-10.1.0-cp311-cp311-macosx_10_10_x86_64.whl" , hash = "sha256:1fb29c07478e6c06a46b867e43b0bcdb241b44cc52be9bc25ce5944eed4648e7" } ,
{ file = "Pillow-10.1.0-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:2cdc65a46e74514ce742c2013cd4a2d12e8553e3a2563c64879f7c7e4d28bce7" } ,
{ file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:50d08cd0a2ecd2a8657bd3d82c71efd5a58edb04d9308185d66c3a5a5bed9610" } ,
{ file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:062a1610e3bc258bff2328ec43f34244fcec972ee0717200cb1425214fe5b839" } ,
{ file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_aarch64.whl" , hash = "sha256:61f1a9d247317fa08a308daaa8ee7b3f760ab1809ca2da14ecc88ae4257d6172" } ,
{ file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_x86_64.whl" , hash = "sha256:a646e48de237d860c36e0db37ecaecaa3619e6f3e9d5319e527ccbc8151df061" } ,
{ file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:47e5bf85b80abc03be7455c95b6d6e4896a62f6541c1f2ce77a7d2bb832af262" } ,
{ file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:a92386125e9ee90381c3369f57a2a50fa9e6aa8b1cf1d9c4b200d41a7dd8e992" } ,
{ file = "Pillow-10.1.0-cp311-cp311-win_amd64.whl" , hash = "sha256:0f7c276c05a9767e877a0b4c5050c8bee6a6d960d7f0c11ebda6b99746068c2a" } ,
{ file = "Pillow-10.1.0-cp312-cp312-macosx_10_10_x86_64.whl" , hash = "sha256:a89b8312d51715b510a4fe9fc13686283f376cfd5abca8cd1c65e4c76e21081b" } ,
{ file = "Pillow-10.1.0-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:00f438bb841382b15d7deb9a05cc946ee0f2c352653c7aa659e75e592f6fa17d" } ,
{ file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3d929a19f5469b3f4df33a3df2983db070ebb2088a1e145e18facbc28cae5b27" } ,
{ file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:9a92109192b360634a4489c0c756364c0c3a2992906752165ecb50544c251312" } ,
{ file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_aarch64.whl" , hash = "sha256:0248f86b3ea061e67817c47ecbe82c23f9dd5d5226200eb9090b3873d3ca32de" } ,
{ file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl" , hash = "sha256:9882a7451c680c12f232a422730f986a1fcd808da0fd428f08b671237237d651" } ,
{ file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:1c3ac5423c8c1da5928aa12c6e258921956757d976405e9467c5f39d1d577a4b" } ,
{ file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:806abdd8249ba3953c33742506fe414880bad78ac25cc9a9b1c6ae97bedd573f" } ,
{ file = "Pillow-10.1.0-cp312-cp312-win_amd64.whl" , hash = "sha256:eaed6977fa73408b7b8a24e8b14e59e1668cfc0f4c40193ea7ced8e210adf996" } ,
{ file = "Pillow-10.1.0-cp38-cp38-macosx_10_10_x86_64.whl" , hash = "sha256:fe1e26e1ffc38be097f0ba1d0d07fcade2bcfd1d023cda5b29935ae8052bd793" } ,
{ file = "Pillow-10.1.0-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:7a7e3daa202beb61821c06d2517428e8e7c1aab08943e92ec9e5755c2fc9ba5e" } ,
{ file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:24fadc71218ad2b8ffe437b54876c9382b4a29e030a05a9879f615091f42ffc2" } ,
{ file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:fa1d323703cfdac2036af05191b969b910d8f115cf53093125e4058f62012c9a" } ,
{ file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_aarch64.whl" , hash = "sha256:912e3812a1dbbc834da2b32299b124b5ddcb664ed354916fd1ed6f193f0e2d01" } ,
{ file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl" , hash = "sha256:7dbaa3c7de82ef37e7708521be41db5565004258ca76945ad74a8e998c30af8d" } ,
{ file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:9d7bc666bd8c5a4225e7ac71f2f9d12466ec555e89092728ea0f5c0c2422ea80" } ,
{ file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:baada14941c83079bf84c037e2d8b7506ce201e92e3d2fa0d1303507a8538212" } ,
{ file = "Pillow-10.1.0-cp38-cp38-win_amd64.whl" , hash = "sha256:2ef6721c97894a7aa77723740a09547197533146fba8355e86d6d9a4a1056b14" } ,
{ file = "Pillow-10.1.0-cp39-cp39-macosx_10_10_x86_64.whl" , hash = "sha256:0a026c188be3b443916179f5d04548092e253beb0c3e2ee0a4e2cdad72f66099" } ,
{ file = "Pillow-10.1.0-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:04f6f6149f266a100374ca3cc368b67fb27c4af9f1cc8cb6306d849dcdf12616" } ,
{ file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:bb40c011447712d2e19cc261c82655f75f32cb724788df315ed992a4d65696bb" } ,
{ file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:1a8413794b4ad9719346cd9306118450b7b00d9a15846451549314a58ac42219" } ,
{ file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_aarch64.whl" , hash = "sha256:c9aeea7b63edb7884b031a35305629a7593272b54f429a9869a4f63a1bf04c34" } ,
{ file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_x86_64.whl" , hash = "sha256:b4005fee46ed9be0b8fb42be0c20e79411533d1fd58edabebc0dd24626882cfd" } ,
{ file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:4d0152565c6aa6ebbfb1e5d8624140a440f2b99bf7afaafbdbf6430426497f28" } ,
{ file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:d921bc90b1defa55c9917ca6b6b71430e4286fc9e44c55ead78ca1a9f9eba5f2" } ,
{ file = "Pillow-10.1.0-cp39-cp39-win_amd64.whl" , hash = "sha256:cfe96560c6ce2f4c07d6647af2d0f3c54cc33289894ebd88cfbb3bcd5391e256" } ,
{ file = "Pillow-10.1.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl" , hash = "sha256:937bdc5a7f5343d1c97dc98149a0be7eb9704e937fe3dc7140e229ae4fc572a7" } ,
{ file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:b1c25762197144e211efb5f4e8ad656f36c8d214d390585d1d21281f46d556ba" } ,
{ file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl" , hash = "sha256:afc8eef765d948543a4775f00b7b8c079b3321d6b675dde0d02afa2ee23000b4" } ,
{ file = "Pillow-10.1.0-pp310-pypy310_pp73-win_amd64.whl" , hash = "sha256:883f216eac8712b83a63f41b76ddfb7b2afab1b74abbb413c5df6680f071a6b9" } ,
{ file = "Pillow-10.1.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl" , hash = "sha256:b920e4d028f6442bea9a75b7491c063f0b9a3972520731ed26c83e254302eb1e" } ,
{ file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:1c41d960babf951e01a49c9746f92c5a7e0d939d1652d7ba30f6b3090f27e412" } ,
{ file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" , hash = "sha256:1fafabe50a6977ac70dfe829b2d5735fd54e190ab55259ec8aea4aaea412fa0b" } ,
{ file = "Pillow-10.1.0-pp39-pypy39_pp73-win_amd64.whl" , hash = "sha256:3b834f4b16173e5b92ab6566f0473bfb09f939ba14b23b8da1f54fa63e4b623f" } ,
{ file = "Pillow-10.1.0.tar.gz" , hash = "sha256:e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38" } ,
2023-09-11 16:20:19 +00:00
]
[ package . extras ]
docs = [ "furo" , "olefile" , "sphinx (>=2.4)" , "sphinx-copybutton" , "sphinx-inline-tabs" , "sphinx-removed-in" , "sphinxext-opengraph" ]
tests = [ "check-manifest" , "coverage" , "defusedxml" , "markdown2" , "olefile" , "packaging" , "pyroma" , "pytest" , "pytest-cov" , "pytest-timeout" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "pkgutil-resolve-name"
version = "1.3.10"
description = "Resolve a name to an object."
optional = false
python-versions = ">=3.6"
files = [
{ file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl" , hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e" } ,
{ file = "pkgutil_resolve_name-1.3.10.tar.gz" , hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174" } ,
]
[ [ package ] ]
name = "platformdirs"
2023-10-17 01:13:31 +00:00
version = "3.11.0"
2023-07-21 17:36:28 +00:00
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
optional = false
python-versions = ">=3.7"
files = [
2023-10-17 01:13:31 +00:00
{ file = "platformdirs-3.11.0-py3-none-any.whl" , hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e" } ,
{ file = "platformdirs-3.11.0.tar.gz" , hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
2023-08-22 18:09:35 +00:00
docs = [ "furo (>=2023.7.26)" , "proselint (>=0.13)" , "sphinx (>=7.1.1)" , "sphinx-autodoc-typehints (>=1.24)" ]
test = [ "appdirs (==1.4.4)" , "covdefaults (>=2.3)" , "pytest (>=7.4)" , "pytest-cov (>=4.1)" , "pytest-mock (>=3.11.1)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "pluggy"
2023-10-17 01:13:31 +00:00
version = "1.3.0"
2023-07-21 17:36:28 +00:00
description = "plugin and hook calling mechanisms for python"
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "pluggy-1.3.0-py3-none-any.whl" , hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7" } ,
{ file = "pluggy-1.3.0.tar.gz" , hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
dev = [ "pre-commit" , "tox" ]
testing = [ "pytest" , "pytest-benchmark" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "preshed"
2023-10-17 01:13:31 +00:00
version = "3.0.9"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Cython hash table that trusts the keys are pre-hashed"
optional = true
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "preshed-3.0.9-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:4f96ef4caf9847b2bb9868574dcbe2496f974e41c2b83d6621c24fb4c3fc57e3" } ,
{ file = "preshed-3.0.9-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:a61302cf8bd30568631adcdaf9e6b21d40491bd89ba8ebf67324f98b6c2a2c05" } ,
{ file = "preshed-3.0.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:99499e8a58f58949d3f591295a97bca4e197066049c96f5d34944dd21a497193" } ,
{ file = "preshed-3.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ea6b6566997dc3acd8c6ee11a89539ac85c77275b4dcefb2dc746d11053a5af8" } ,
{ file = "preshed-3.0.9-cp310-cp310-win_amd64.whl" , hash = "sha256:bfd523085a84b1338ff18f61538e1cfcdedc4b9e76002589a301c364d19a2e36" } ,
{ file = "preshed-3.0.9-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:e7c2364da27f2875524ce1ca754dc071515a9ad26eb5def4c7e69129a13c9a59" } ,
{ file = "preshed-3.0.9-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:182138033c0730c683a6d97e567ceb8a3e83f3bff5704f300d582238dbd384b3" } ,
{ file = "preshed-3.0.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:345a10be3b86bcc6c0591d343a6dc2bfd86aa6838c30ced4256dfcfa836c3a64" } ,
{ file = "preshed-3.0.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:51d0192274aa061699b284f9fd08416065348edbafd64840c3889617ee1609de" } ,
{ file = "preshed-3.0.9-cp311-cp311-win_amd64.whl" , hash = "sha256:96b857d7a62cbccc3845ac8c41fd23addf052821be4eb987f2eb0da3d8745aa1" } ,
{ file = "preshed-3.0.9-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:b4fe6720012c62e6d550d6a5c1c7ad88cacef8388d186dad4bafea4140d9d198" } ,
{ file = "preshed-3.0.9-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:e04f05758875be9751e483bd3c519c22b00d3b07f5a64441ec328bb9e3c03700" } ,
{ file = "preshed-3.0.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4a55091d0e395f1fdb62ab43401bb9f8b46c7d7794d5b071813c29dc1ab22fd0" } ,
{ file = "preshed-3.0.9-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7de8f5138bcac7870424e09684dc3dd33c8e30e81b269f6c9ede3d8c7bb8e257" } ,
{ file = "preshed-3.0.9-cp312-cp312-win_amd64.whl" , hash = "sha256:24229c77364628743bc29c5620c5d6607ed104f0e02ae31f8a030f99a78a5ceb" } ,
{ file = "preshed-3.0.9-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b73b0f7ecc58095ebbc6ca26ec806008ef780190fe685ce471b550e7eef58dc2" } ,
{ file = "preshed-3.0.9-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:5cb90ecd5bec71c21d95962db1a7922364d6db2abe284a8c4b196df8bbcc871e" } ,
{ file = "preshed-3.0.9-cp36-cp36m-win_amd64.whl" , hash = "sha256:e304a0a8c9d625b70ba850c59d4e67082a6be9c16c4517b97850a17a282ebee6" } ,
{ file = "preshed-3.0.9-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:1fa6d3d5529b08296ff9b7b4da1485c080311fd8744bbf3a86019ff88007b382" } ,
{ file = "preshed-3.0.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ef1e5173809d85edd420fc79563b286b88b4049746b797845ba672cf9435c0e7" } ,
{ file = "preshed-3.0.9-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7fe81eb21c7d99e8b9a802cc313b998c5f791bda592903c732b607f78a6b7dc4" } ,
{ file = "preshed-3.0.9-cp37-cp37m-win_amd64.whl" , hash = "sha256:78590a4a952747c3766e605ce8b747741005bdb1a5aa691a18aae67b09ece0e6" } ,
{ file = "preshed-3.0.9-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:3452b64d97ce630e200c415073040aa494ceec6b7038f7a2a3400cbd7858e952" } ,
{ file = "preshed-3.0.9-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:ac970d97b905e9e817ec13d31befd5b07c9cfec046de73b551d11a6375834b79" } ,
{ file = "preshed-3.0.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:eebaa96ece6641cd981491cba995b68c249e0b6877c84af74971eacf8990aa19" } ,
{ file = "preshed-3.0.9-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:2d473c5f6856e07a88d41fe00bb6c206ecf7b34c381d30de0b818ba2ebaf9406" } ,
{ file = "preshed-3.0.9-cp38-cp38-win_amd64.whl" , hash = "sha256:0de63a560f10107a3f0a9e252cc3183b8fdedcb5f81a86938fd9f1dcf8a64adf" } ,
{ file = "preshed-3.0.9-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:3a9ad9f738084e048a7c94c90f40f727217387115b2c9a95c77f0ce943879fcd" } ,
{ file = "preshed-3.0.9-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:a671dfa30b67baa09391faf90408b69c8a9a7f81cb9d83d16c39a182355fbfce" } ,
{ file = "preshed-3.0.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:23906d114fc97c17c5f8433342495d7562e96ecfd871289c2bb2ed9a9df57c3f" } ,
{ file = "preshed-3.0.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:778cf71f82cedd2719b256f3980d556d6fb56ec552334ba79b49d16e26e854a0" } ,
{ file = "preshed-3.0.9-cp39-cp39-win_amd64.whl" , hash = "sha256:a6e579439b329eb93f32219ff27cb358b55fbb52a4862c31a915a098c8a22ac2" } ,
{ file = "preshed-3.0.9.tar.gz" , hash = "sha256:721863c5244ffcd2651ad0928951a2c7c77b102f4e11a251ad85d37ee7621660" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
cymem = ">=2.0.2,<2.1.0"
murmurhash = ">=0.28.0,<1.1.0"
[ [ package ] ]
name = "presidio-analyzer"
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
version = "2.2.352"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Presidio analyzer package"
optional = true
python-versions = "*"
files = [
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
{ file = "presidio_analyzer-2.2.352-py3-none-any.whl" , hash = "sha256:d35f1129bf3190d2cc5400e9cad20d63f9fcc7839c024492a9d1a808ca7c1e1f" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
2023-11-07 23:15:09 +00:00
phonenumbers = ">=8.12,<9.0.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
pyyaml = "*"
regex = "*"
2023-11-07 23:15:09 +00:00
spacy = ">=3.4.4,<4.0.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
tldextract = "*"
[ package . extras ]
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
azure-ai-language = [ "azure-ai-textanalytics" , "azure-core" ]
2023-11-07 23:15:09 +00:00
stanza = [ "spacy-stanza" , "stanza" ]
transformers = [ "spacy-huggingface-pipelines" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "presidio-anonymizer"
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
version = "2.2.352"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Persidio Anonymizer package - replaces analyzed text with desired values."
optional = true
python-versions = ">=3.5"
files = [
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
{ file = "presidio_anonymizer-2.2.352-py3-none-any.whl" , hash = "sha256:e09df86d4aeb2dfd2428e3c27a6f17fa5655de813ac164d7c2bbf3dd2d905f72" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
pycryptodome = ">=3.10.1"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "prometheus-client"
2023-11-07 23:15:09 +00:00
version = "0.18.0"
2023-07-21 17:36:28 +00:00
description = "Python client for the Prometheus monitoring system."
optional = false
2023-11-07 23:15:09 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "prometheus_client-0.18.0-py3-none-any.whl" , hash = "sha256:8de3ae2755f890826f4b6479e5571d4f74ac17a81345fe69a6778fdb92579184" } ,
{ file = "prometheus_client-0.18.0.tar.gz" , hash = "sha256:35f7a8c22139e2bb7ca5a698e92d38145bc8dc74c1c0bf56f25cca886a764e17" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
twisted = [ "twisted" ]
[ [ package ] ]
name = "prompt-toolkit"
version = "3.0.39"
description = "Library for building powerful interactive command lines in Python"
optional = false
python-versions = ">=3.7.0"
files = [
{ file = "prompt_toolkit-3.0.39-py3-none-any.whl" , hash = "sha256:9dffbe1d8acf91e3de75f3b544e4842382fc06c6babe903ac9acb74dc6e08d88" } ,
{ file = "prompt_toolkit-3.0.39.tar.gz" , hash = "sha256:04505ade687dc26dc4284b1ad19a83be2f2afe83e7a828ace0c72f3a1df72aac" } ,
]
[ package . dependencies ]
wcwidth = "*"
[ [ package ] ]
name = "psutil"
2023-10-17 01:13:31 +00:00
version = "5.9.6"
2023-07-21 17:36:28 +00:00
description = "Cross-platform lib for process and system monitoring in Python."
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
files = [
{ file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl" , hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d" } ,
{ file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl" , hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c" } ,
{ file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl" , hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28" } ,
{ file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl" , hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017" } ,
{ file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl" , hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c" } ,
{ file = "psutil-5.9.6-cp27-none-win32.whl" , hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9" } ,
{ file = "psutil-5.9.6-cp27-none-win_amd64.whl" , hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac" } ,
{ file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl" , hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a" } ,
{ file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c" } ,
{ file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4" } ,
{ file = "psutil-5.9.6-cp36-cp36m-win32.whl" , hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602" } ,
{ file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl" , hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa" } ,
{ file = "psutil-5.9.6-cp37-abi3-win32.whl" , hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c" } ,
{ file = "psutil-5.9.6-cp37-abi3-win_amd64.whl" , hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a" } ,
{ file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl" , hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57" } ,
{ file = "psutil-5.9.6.tar.gz" , hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
test = [ "enum34" , "ipaddress" , "mock" , "pywin32" , "wmi" ]
[ [ package ] ]
name = "ptyprocess"
version = "0.7.0"
description = "Run a subprocess in a pseudo terminal"
optional = false
python-versions = "*"
files = [
{ file = "ptyprocess-0.7.0-py2.py3-none-any.whl" , hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35" } ,
{ file = "ptyprocess-0.7.0.tar.gz" , hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" } ,
]
[ [ package ] ]
name = "pure-eval"
version = "0.2.2"
description = "Safely evaluate AST nodes without side effects"
optional = false
python-versions = "*"
files = [
{ file = "pure_eval-0.2.2-py3-none-any.whl" , hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350" } ,
{ file = "pure_eval-0.2.2.tar.gz" , hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3" } ,
]
[ package . extras ]
tests = [ "pytest" ]
[ [ package ] ]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
{ file = "pycparser-2.21-py2.py3-none-any.whl" , hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9" } ,
{ file = "pycparser-2.21.tar.gz" , hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" } ,
]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "pycryptodome"
2023-10-17 01:13:31 +00:00
version = "3.19.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Cryptographic library for Python"
optional = true
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "pycryptodome-3.19.0-cp27-cp27m-macosx_10_9_x86_64.whl" , hash = "sha256:3006c44c4946583b6de24fe0632091c2653d6256b99a02a3db71ca06472ea1e4" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27m-manylinux2010_i686.whl" , hash = "sha256:7c760c8a0479a4042111a8dd2f067d3ae4573da286c53f13cf6f5c53a5c1f631" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27m-manylinux2010_x86_64.whl" , hash = "sha256:08ce3558af5106c632baf6d331d261f02367a6bc3733086ae43c0f988fe042db" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:45430dfaf1f421cf462c0dd824984378bef32b22669f2635cb809357dbaab405" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27m-musllinux_1_1_aarch64.whl" , hash = "sha256:a9bcd5f3794879e91970f2bbd7d899780541d3ff439d8f2112441769c9f2ccea" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27m-win32.whl" , hash = "sha256:190c53f51e988dceb60472baddce3f289fa52b0ec38fbe5fd20dd1d0f795c551" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27m-win_amd64.whl" , hash = "sha256:22e0ae7c3a7f87dcdcf302db06ab76f20e83f09a6993c160b248d58274473bfa" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_i686.whl" , hash = "sha256:7822f36d683f9ad7bc2145b2c2045014afdbbd1d9922a6d4ce1cbd6add79a01e" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_x86_64.whl" , hash = "sha256:05e33267394aad6db6595c0ce9d427fe21552f5425e116a925455e099fdf759a" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:829b813b8ee00d9c8aba417621b94bc0b5efd18c928923802ad5ba4cf1ec709c" } ,
{ file = "pycryptodome-3.19.0-cp27-cp27mu-musllinux_1_1_aarch64.whl" , hash = "sha256:fc7a79590e2b5d08530175823a242de6790abc73638cc6dc9d2684e7be2f5e49" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-macosx_10_9_universal2.whl" , hash = "sha256:542f99d5026ac5f0ef391ba0602f3d11beef8e65aae135fa5b762f5ebd9d3bfb" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-macosx_10_9_x86_64.whl" , hash = "sha256:61bb3ccbf4bf32ad9af32da8badc24e888ae5231c617947e0f5401077f8b091f" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d49a6c715d8cceffedabb6adb7e0cbf41ae1a2ff4adaeec9432074a80627dea1" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:e249a784cc98a29c77cea9df54284a44b40cafbfae57636dd2f8775b48af2434" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:d033947e7fd3e2ba9a031cb2d267251620964705a013c5a461fa5233cc025270" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_aarch64.whl" , hash = "sha256:84c3e4fffad0c4988aef0d5591be3cad4e10aa7db264c65fadbc633318d20bde" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_i686.whl" , hash = "sha256:139ae2c6161b9dd5d829c9645d781509a810ef50ea8b657e2257c25ca20efe33" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_x86_64.whl" , hash = "sha256:5b1986c761258a5b4332a7f94a83f631c1ffca8747d75ab8395bf2e1b93283d9" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-win32.whl" , hash = "sha256:536f676963662603f1f2e6ab01080c54d8cd20f34ec333dcb195306fa7826997" } ,
{ file = "pycryptodome-3.19.0-cp35-abi3-win_amd64.whl" , hash = "sha256:04dd31d3b33a6b22ac4d432b3274588917dcf850cc0c51c84eca1d8ed6933810" } ,
{ file = "pycryptodome-3.19.0-pp27-pypy_73-manylinux2010_x86_64.whl" , hash = "sha256:8999316e57abcbd8085c91bc0ef75292c8618f41ca6d2b6132250a863a77d1e7" } ,
{ file = "pycryptodome-3.19.0-pp27-pypy_73-win32.whl" , hash = "sha256:a0ab84755f4539db086db9ba9e9f3868d2e3610a3948cbd2a55e332ad83b01b0" } ,
{ file = "pycryptodome-3.19.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:0101f647d11a1aae5a8ce4f5fad6644ae1b22bb65d05accc7d322943c69a74a6" } ,
{ file = "pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8c1601e04d32087591d78e0b81e1e520e57a92796089864b20e5f18c9564b3fa" } ,
{ file = "pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:506c686a1eee6c00df70010be3b8e9e78f406af4f21b23162bbb6e9bdf5427bc" } ,
{ file = "pycryptodome-3.19.0-pp310-pypy310_pp73-win_amd64.whl" , hash = "sha256:7919ccd096584b911f2a303c593280869ce1af9bf5d36214511f5e5a1bed8c34" } ,
{ file = "pycryptodome-3.19.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:560591c0777f74a5da86718f70dfc8d781734cf559773b64072bbdda44b3fc3e" } ,
{ file = "pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c1cc2f2ae451a676def1a73c1ae9120cd31af25db3f381893d45f75e77be2400" } ,
{ file = "pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:17940dcf274fcae4a54ec6117a9ecfe52907ed5e2e438fe712fe7ca502672ed5" } ,
{ file = "pycryptodome-3.19.0-pp39-pypy39_pp73-win_amd64.whl" , hash = "sha256:d04f5f623a280fbd0ab1c1d8ecbd753193ab7154f09b6161b0f857a1a676c15f" } ,
{ file = "pycryptodome-3.19.0.tar.gz" , hash = "sha256:bc35d463222cdb4dbebd35e0784155c81e161b9284e567e7e933d722e533331e" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "pydantic"
2023-10-17 01:13:31 +00:00
version = "2.4.2"
description = "Data validation using Python type hints"
2023-07-21 17:36:28 +00:00
optional = false
python-versions = ">=3.7"
files = [
2023-10-17 01:13:31 +00:00
{ file = "pydantic-2.4.2-py3-none-any.whl" , hash = "sha256:bc3ddf669d234f4220e6e1c4d96b061abe0998185a8d7855c0126782b7abc8c1" } ,
{ file = "pydantic-2.4.2.tar.gz" , hash = "sha256:94f336138093a5d7f426aac732dcfe7ab4eb4da243c88f891d65deb4a2556ee7" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
2023-10-17 01:13:31 +00:00
annotated-types = ">=0.4.0"
pydantic-core = "2.10.1"
typing-extensions = ">=4.6.1"
2023-07-21 17:36:28 +00:00
[ package . extras ]
2023-10-17 01:13:31 +00:00
email = [ "email-validator (>=2.0.0)" ]
[ [ package ] ]
name = "pydantic-core"
version = "2.10.1"
description = ""
optional = false
python-versions = ">=3.7"
files = [
{ file = "pydantic_core-2.10.1-cp310-cp310-macosx_10_7_x86_64.whl" , hash = "sha256:d64728ee14e667ba27c66314b7d880b8eeb050e58ffc5fec3b7a109f8cddbd63" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:48525933fea744a3e7464c19bfede85df4aba79ce90c60b94d8b6e1eddd67096" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ef337945bbd76cce390d1b2496ccf9f90b1c1242a3a7bc242ca4a9fc5993427a" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:a1392e0638af203cee360495fd2cfdd6054711f2db5175b6e9c3c461b76f5175" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:0675ba5d22de54d07bccde38997e780044dcfa9a71aac9fd7d4d7a1d2e3e65f7" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:128552af70a64660f21cb0eb4876cbdadf1a1f9d5de820fed6421fa8de07c893" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8f6e6aed5818c264412ac0598b581a002a9f050cb2637a84979859e70197aa9e" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:ecaac27da855b8d73f92123e5f03612b04c5632fd0a476e469dfc47cd37d6b2e" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:b3c01c2fb081fced3bbb3da78510693dc7121bb893a1f0f5f4b48013201f362e" } ,
{ file = "pydantic_core-2.10.1-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:92f675fefa977625105708492850bcbc1182bfc3e997f8eecb866d1927c98ae6" } ,
{ file = "pydantic_core-2.10.1-cp310-none-win32.whl" , hash = "sha256:420a692b547736a8d8703c39ea935ab5d8f0d2573f8f123b0a294e49a73f214b" } ,
{ file = "pydantic_core-2.10.1-cp310-none-win_amd64.whl" , hash = "sha256:0880e239827b4b5b3e2ce05e6b766a7414e5f5aedc4523be6b68cfbc7f61c5d0" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-macosx_10_7_x86_64.whl" , hash = "sha256:073d4a470b195d2b2245d0343569aac7e979d3a0dcce6c7d2af6d8a920ad0bea" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:600d04a7b342363058b9190d4e929a8e2e715c5682a70cc37d5ded1e0dd370b4" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:39215d809470f4c8d1881758575b2abfb80174a9e8daf8f33b1d4379357e417c" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:eeb3d3d6b399ffe55f9a04e09e635554012f1980696d6b0aca3e6cf42a17a03b" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:a7a7902bf75779bc12ccfc508bfb7a4c47063f748ea3de87135d433a4cca7a2f" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:3625578b6010c65964d177626fde80cf60d7f2e297d56b925cb5cdeda6e9925a" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:caa48fc31fc7243e50188197b5f0c4228956f97b954f76da157aae7f67269ae8" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:07ec6d7d929ae9c68f716195ce15e745b3e8fa122fc67698ac6498d802ed0fa4" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:e6f31a17acede6a8cd1ae2d123ce04d8cca74056c9d456075f4f6f85de055607" } ,
{ file = "pydantic_core-2.10.1-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:d8f1ebca515a03e5654f88411420fea6380fc841d1bea08effb28184e3d4899f" } ,
{ file = "pydantic_core-2.10.1-cp311-none-win32.whl" , hash = "sha256:6db2eb9654a85ada248afa5a6db5ff1cf0f7b16043a6b070adc4a5be68c716d6" } ,
{ file = "pydantic_core-2.10.1-cp311-none-win_amd64.whl" , hash = "sha256:4a5be350f922430997f240d25f8219f93b0c81e15f7b30b868b2fddfc2d05f27" } ,
{ file = "pydantic_core-2.10.1-cp311-none-win_arm64.whl" , hash = "sha256:5fdb39f67c779b183b0c853cd6b45f7db84b84e0571b3ef1c89cdb1dfc367325" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-macosx_10_7_x86_64.whl" , hash = "sha256:b1f22a9ab44de5f082216270552aa54259db20189e68fc12484873d926426921" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:8572cadbf4cfa95fb4187775b5ade2eaa93511f07947b38f4cd67cf10783b118" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:db9a28c063c7c00844ae42a80203eb6d2d6bbb97070cfa00194dff40e6f545ab" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:0e2a35baa428181cb2270a15864ec6286822d3576f2ed0f4cd7f0c1708472aff" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:05560ab976012bf40f25d5225a58bfa649bb897b87192a36c6fef1ab132540d7" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:d6495008733c7521a89422d7a68efa0a0122c99a5861f06020ef5b1f51f9ba7c" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:14ac492c686defc8e6133e3a2d9eaf5261b3df26b8ae97450c1647286750b901" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:8282bab177a9a3081fd3d0a0175a07a1e2bfb7fcbbd949519ea0980f8a07144d" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:aafdb89fdeb5fe165043896817eccd6434aee124d5ee9b354f92cd574ba5e78f" } ,
{ file = "pydantic_core-2.10.1-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:f6defd966ca3b187ec6c366604e9296f585021d922e666b99c47e78738b5666c" } ,
{ file = "pydantic_core-2.10.1-cp312-none-win32.whl" , hash = "sha256:7c4d1894fe112b0864c1fa75dffa045720a194b227bed12f4be7f6045b25209f" } ,
{ file = "pydantic_core-2.10.1-cp312-none-win_amd64.whl" , hash = "sha256:5994985da903d0b8a08e4935c46ed8daf5be1cf217489e673910951dc533d430" } ,
{ file = "pydantic_core-2.10.1-cp312-none-win_arm64.whl" , hash = "sha256:0d8a8adef23d86d8eceed3e32e9cca8879c7481c183f84ed1a8edc7df073af94" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-macosx_10_7_x86_64.whl" , hash = "sha256:9badf8d45171d92387410b04639d73811b785b5161ecadabf056ea14d62d4ede" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-macosx_11_0_arm64.whl" , hash = "sha256:ebedb45b9feb7258fac0a268a3f6bec0a2ea4d9558f3d6f813f02ff3a6dc6698" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:cfe1090245c078720d250d19cb05d67e21a9cd7c257698ef139bc41cf6c27b4f" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:e357571bb0efd65fd55f18db0a2fb0ed89d0bb1d41d906b138f088933ae618bb" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:b3dcd587b69bbf54fc04ca157c2323b8911033e827fffaecf0cafa5a892a0904" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:9c120c9ce3b163b985a3b966bb701114beb1da4b0468b9b236fc754783d85aa3" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:15d6bca84ffc966cc9976b09a18cf9543ed4d4ecbd97e7086f9ce9327ea48891" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:5cabb9710f09d5d2e9e2748c3e3e20d991a4c5f96ed8f1132518f54ab2967221" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:82f55187a5bebae7d81d35b1e9aaea5e169d44819789837cdd4720d768c55d15" } ,
{ file = "pydantic_core-2.10.1-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:1d40f55222b233e98e3921df7811c27567f0e1a4411b93d4c5c0f4ce131bc42f" } ,
{ file = "pydantic_core-2.10.1-cp37-none-win32.whl" , hash = "sha256:14e09ff0b8fe6e46b93d36a878f6e4a3a98ba5303c76bb8e716f4878a3bee92c" } ,
{ file = "pydantic_core-2.10.1-cp37-none-win_amd64.whl" , hash = "sha256:1396e81b83516b9d5c9e26a924fa69164156c148c717131f54f586485ac3c15e" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-macosx_10_7_x86_64.whl" , hash = "sha256:6835451b57c1b467b95ffb03a38bb75b52fb4dc2762bb1d9dbed8de31ea7d0fc" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:b00bc4619f60c853556b35f83731bd817f989cba3e97dc792bb8c97941b8053a" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:0fa467fd300a6f046bdb248d40cd015b21b7576c168a6bb20aa22e595c8ffcdd" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:d99277877daf2efe074eae6338453a4ed54a2d93fb4678ddfe1209a0c93a2468" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:fa7db7558607afeccb33c0e4bf1c9a9a835e26599e76af6fe2fcea45904083a6" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:aad7bd686363d1ce4ee930ad39f14e1673248373f4a9d74d2b9554f06199fb58" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:443fed67d33aa85357464f297e3d26e570267d1af6fef1c21ca50921d2976302" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:042462d8d6ba707fd3ce9649e7bf268633a41018d6a998fb5fbacb7e928a183e" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:ecdbde46235f3d560b18be0cb706c8e8ad1b965e5c13bbba7450c86064e96561" } ,
{ file = "pydantic_core-2.10.1-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:ed550ed05540c03f0e69e6d74ad58d026de61b9eaebebbaaf8873e585cbb18de" } ,
{ file = "pydantic_core-2.10.1-cp38-none-win32.whl" , hash = "sha256:8cdbbd92154db2fec4ec973d45c565e767ddc20aa6dbaf50142676484cbff8ee" } ,
{ file = "pydantic_core-2.10.1-cp38-none-win_amd64.whl" , hash = "sha256:9f6f3e2598604956480f6c8aa24a3384dbf6509fe995d97f6ca6103bb8c2534e" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-macosx_10_7_x86_64.whl" , hash = "sha256:655f8f4c8d6a5963c9a0687793da37b9b681d9ad06f29438a3b2326d4e6b7970" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:e570ffeb2170e116a5b17e83f19911020ac79d19c96f320cbfa1fa96b470185b" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:64322bfa13e44c6c30c518729ef08fda6026b96d5c0be724b3c4ae4da939f875" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:485a91abe3a07c3a8d1e082ba29254eea3e2bb13cbbd4351ea4e5a21912cc9b0" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:f7c2b8eb9fc872e68b46eeaf835e86bccc3a58ba57d0eedc109cbb14177be531" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:a5cb87bdc2e5f620693148b5f8f842d293cae46c5f15a1b1bf7ceeed324a740c" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:25bd966103890ccfa028841a8f30cebcf5875eeac8c4bde4fe221364c92f0c9a" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:f323306d0556351735b54acbf82904fe30a27b6a7147153cbe6e19aaaa2aa429" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:0c27f38dc4fbf07b358b2bc90edf35e82d1703e22ff2efa4af4ad5de1b3833e7" } ,
{ file = "pydantic_core-2.10.1-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:f1365e032a477c1430cfe0cf2856679529a2331426f8081172c4a74186f1d595" } ,
{ file = "pydantic_core-2.10.1-cp39-none-win32.whl" , hash = "sha256:a1c311fd06ab3b10805abb72109f01a134019739bd3286b8ae1bc2fc4e50c07a" } ,
{ file = "pydantic_core-2.10.1-cp39-none-win_amd64.whl" , hash = "sha256:ae8a8843b11dc0b03b57b52793e391f0122e740de3df1474814c700d2622950a" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:d43002441932f9a9ea5d6f9efaa2e21458221a3a4b417a14027a1d530201ef1b" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl" , hash = "sha256:fcb83175cc4936a5425dde3356f079ae03c0802bbdf8ff82c035f8a54b333521" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:962ed72424bf1f72334e2f1e61b68f16c0e596f024ca7ac5daf229f7c26e4208" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:2cf5bb4dd67f20f3bbc1209ef572a259027c49e5ff694fa56bed62959b41e1f9" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:e544246b859f17373bed915182ab841b80849ed9cf23f1f07b73b7c58baee5fb" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:c0877239307b7e69d025b73774e88e86ce82f6ba6adf98f41069d5b0b78bd1bf" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:53df009d1e1ba40f696f8995683e067e3967101d4bb4ea6f667931b7d4a01357" } ,
{ file = "pydantic_core-2.10.1-pp310-pypy310_pp73-win_amd64.whl" , hash = "sha256:a1254357f7e4c82e77c348dabf2d55f1d14d19d91ff025004775e70a6ef40ada" } ,
{ file = "pydantic_core-2.10.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:524ff0ca3baea164d6d93a32c58ac79eca9f6cf713586fdc0adb66a8cdeab96a" } ,
{ file = "pydantic_core-2.10.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3f0ac9fb8608dbc6eaf17956bf623c9119b4db7dbb511650910a82e261e6600f" } ,
{ file = "pydantic_core-2.10.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:320f14bd4542a04ab23747ff2c8a778bde727158b606e2661349557f0770711e" } ,
{ file = "pydantic_core-2.10.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:63974d168b6233b4ed6a0046296803cb13c56637a7b8106564ab575926572a55" } ,
{ file = "pydantic_core-2.10.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:417243bf599ba1f1fef2bb8c543ceb918676954734e2dcb82bf162ae9d7bd514" } ,
{ file = "pydantic_core-2.10.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:dda81e5ec82485155a19d9624cfcca9be88a405e2857354e5b089c2a982144b2" } ,
{ file = "pydantic_core-2.10.1-pp37-pypy37_pp73-win_amd64.whl" , hash = "sha256:14cfbb00959259e15d684505263d5a21732b31248a5dd4941f73a3be233865b9" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:631cb7415225954fdcc2a024119101946793e5923f6c4d73a5914d27eb3d3a05" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl" , hash = "sha256:bec7dd208a4182e99c5b6c501ce0b1f49de2802448d4056091f8e630b28e9a52" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:149b8a07712f45b332faee1a2258d8ef1fb4a36f88c0c17cb687f205c5dc6e7d" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:4d966c47f9dd73c2d32a809d2be529112d509321c5310ebf54076812e6ecd884" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:7eb037106f5c6b3b0b864ad226b0b7ab58157124161d48e4b30c4a43fef8bc4b" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:154ea7c52e32dce13065dbb20a4a6f0cc012b4f667ac90d648d36b12007fa9f7" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:e562617a45b5a9da5be4abe72b971d4f00bf8555eb29bb91ec2ef2be348cd132" } ,
{ file = "pydantic_core-2.10.1-pp38-pypy38_pp73-win_amd64.whl" , hash = "sha256:f23b55eb5464468f9e0e9a9935ce3ed2a870608d5f534025cd5536bca25b1402" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:e9121b4009339b0f751955baf4543a0bfd6bc3f8188f8056b1a25a2d45099934" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl" , hash = "sha256:0523aeb76e03f753b58be33b26540880bac5aa54422e4462404c432230543f33" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:2e0e2959ef5d5b8dc9ef21e1a305a21a36e254e6a34432d00c72a92fdc5ecda5" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:da01bec0a26befab4898ed83b362993c844b9a607a86add78604186297eb047e" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:f2e9072d71c1f6cfc79a36d4484c82823c560e6f5599c43c1ca6b5cdbd54f881" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:f36a3489d9e28fe4b67be9992a23029c3cec0babc3bd9afb39f49844a8c721c5" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:f64f82cc3443149292b32387086d02a6c7fb39b8781563e0ca7b8d7d9cf72bd7" } ,
{ file = "pydantic_core-2.10.1-pp39-pypy39_pp73-win_amd64.whl" , hash = "sha256:b4a6db486ac8e99ae696e09efc8b2b9fea67b63c8f88ba7a1a16c24a057a0776" } ,
{ file = "pydantic_core-2.10.1.tar.gz" , hash = "sha256:0f8682dbdd2f67f8e1edddcbffcc29f60a6182b4901c367fc8c1c40d30bb0a82" } ,
]
[ package . dependencies ]
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "pygments"
2023-08-22 18:09:35 +00:00
version = "2.16.1"
2023-07-21 17:36:28 +00:00
description = "Pygments is a syntax highlighting package written in Python."
optional = false
python-versions = ">=3.7"
files = [
2023-08-22 18:09:35 +00:00
{ file = "Pygments-2.16.1-py3-none-any.whl" , hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692" } ,
{ file = "Pygments-2.16.1.tar.gz" , hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
plugins = [ "importlib-metadata" ]
[ [ package ] ]
name = "pytest"
2023-11-07 23:15:09 +00:00
version = "7.4.3"
2023-07-21 17:36:28 +00:00
description = "pytest: simple powerful testing with Python"
optional = false
python-versions = ">=3.7"
files = [
2023-11-07 23:15:09 +00:00
{ file = "pytest-7.4.3-py3-none-any.whl" , hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac" } ,
{ file = "pytest-7.4.3.tar.gz" , hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
colorama = { version = "*" , markers = "sys_platform == \"win32\"" }
exceptiongroup = { version = ">=1.0.0rc8" , markers = "python_version < \"3.11\"" }
iniconfig = "*"
packaging = "*"
pluggy = ">=0.12,<2.0"
tomli = { version = ">=1.0.0" , markers = "python_version < \"3.11\"" }
[ package . extras ]
testing = [ "argcomplete" , "attrs (>=19.2.0)" , "hypothesis (>=3.56)" , "mock" , "nose" , "pygments (>=2.7.2)" , "requests" , "setuptools" , "xmlschema" ]
EXPERIMENTAL Generic LLM wrapper to support chat model interface with configurable chat prompt format (#8295)
## Update 2023-09-08
This PR now supports further models in addition to Lllama-2 chat models.
See [this comment](#issuecomment-1668988543) for further details. The
title of this PR has been updated accordingly.
## Original PR description
This PR adds a generic `Llama2Chat` model, a wrapper for LLMs able to
serve Llama-2 chat models (like `LlamaCPP`,
`HuggingFaceTextGenInference`, ...). It implements `BaseChatModel`,
converts a list of chat messages into the [required Llama-2 chat prompt
format](https://huggingface.co/blog/llama2#how-to-prompt-llama-2) and
forwards the formatted prompt as `str` to the wrapped `LLM`. Usage
example:
```python
# uses a locally hosted Llama2 chat model
llm = HuggingFaceTextGenInference(
inference_server_url="http://127.0.0.1:8080/",
max_new_tokens=512,
top_k=50,
temperature=0.1,
repetition_penalty=1.03,
)
# Wrap llm to support Llama2 chat prompt format.
# Resulting model is a chat model
model = Llama2Chat(llm=llm)
messages = [
SystemMessage(content="You are a helpful assistant."),
MessagesPlaceholder(variable_name="chat_history"),
HumanMessagePromptTemplate.from_template("{text}"),
]
prompt = ChatPromptTemplate.from_messages(messages)
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
chain = LLMChain(llm=model, prompt=prompt, memory=memory)
# use chat model in a conversation
# ...
```
Also part of this PR are tests and a demo notebook.
- Tag maintainer: @hwchase17
- Twitter handle: `@mrt1nz`
---------
Co-authored-by: Erick Friis <erick@langchain.dev>
2023-11-18 00:32:13 +00:00
[ [ package ] ]
name = "pytest-asyncio"
version = "0.20.3"
description = "Pytest support for asyncio"
optional = false
python-versions = ">=3.7"
files = [
{ file = "pytest-asyncio-0.20.3.tar.gz" , hash = "sha256:83cbf01169ce3e8eb71c6c278ccb0574d1a7a3bb8eaaf5e50e0ad342afb33b36" } ,
{ file = "pytest_asyncio-0.20.3-py3-none-any.whl" , hash = "sha256:f129998b209d04fcc65c96fc85c11e5316738358909a8399e93be553d7656442" } ,
]
[ package . dependencies ]
pytest = ">=6.1.0"
[ package . extras ]
docs = [ "sphinx (>=5.3)" , "sphinx-rtd-theme (>=1.0)" ]
testing = [ "coverage (>=6.2)" , "flaky (>=3.5.0)" , "hypothesis (>=5.7.1)" , "mypy (>=0.931)" , "pytest-trio (>=0.7.0)" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "python-dateutil"
version = "2.8.2"
description = "Extensions to the standard Python datetime module"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
files = [
{ file = "python-dateutil-2.8.2.tar.gz" , hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86" } ,
{ file = "python_dateutil-2.8.2-py2.py3-none-any.whl" , hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" } ,
]
[ package . dependencies ]
six = ">=1.5"
[ [ package ] ]
name = "python-json-logger"
version = "2.0.7"
description = "A python library adding a json log formatter"
optional = false
python-versions = ">=3.6"
files = [
{ file = "python-json-logger-2.0.7.tar.gz" , hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c" } ,
{ file = "python_json_logger-2.0.7-py3-none-any.whl" , hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd" } ,
]
[ [ package ] ]
name = "pytz"
2023-10-17 01:13:31 +00:00
version = "2023.3.post1"
2023-07-21 17:36:28 +00:00
description = "World timezone definitions, modern and historical"
optional = false
python-versions = "*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "pytz-2023.3.post1-py2.py3-none-any.whl" , hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7" } ,
{ file = "pytz-2023.3.post1.tar.gz" , hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "pywin32"
version = "306"
description = "Python for Window Extensions"
optional = false
python-versions = "*"
files = [
{ file = "pywin32-306-cp310-cp310-win32.whl" , hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d" } ,
{ file = "pywin32-306-cp310-cp310-win_amd64.whl" , hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8" } ,
{ file = "pywin32-306-cp311-cp311-win32.whl" , hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407" } ,
{ file = "pywin32-306-cp311-cp311-win_amd64.whl" , hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e" } ,
{ file = "pywin32-306-cp311-cp311-win_arm64.whl" , hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a" } ,
{ file = "pywin32-306-cp312-cp312-win32.whl" , hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b" } ,
{ file = "pywin32-306-cp312-cp312-win_amd64.whl" , hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e" } ,
{ file = "pywin32-306-cp312-cp312-win_arm64.whl" , hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040" } ,
{ file = "pywin32-306-cp37-cp37m-win32.whl" , hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65" } ,
{ file = "pywin32-306-cp37-cp37m-win_amd64.whl" , hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36" } ,
{ file = "pywin32-306-cp38-cp38-win32.whl" , hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a" } ,
{ file = "pywin32-306-cp38-cp38-win_amd64.whl" , hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0" } ,
{ file = "pywin32-306-cp39-cp39-win32.whl" , hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802" } ,
{ file = "pywin32-306-cp39-cp39-win_amd64.whl" , hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4" } ,
]
[ [ package ] ]
name = "pywinpty"
2023-10-17 01:13:31 +00:00
version = "2.0.12"
2023-07-21 17:36:28 +00:00
description = "Pseudo terminal support for Windows from Python."
optional = false
python-versions = ">=3.8"
files = [
2023-10-17 01:13:31 +00:00
{ file = "pywinpty-2.0.12-cp310-none-win_amd64.whl" , hash = "sha256:21319cd1d7c8844fb2c970fb3a55a3db5543f112ff9cfcd623746b9c47501575" } ,
{ file = "pywinpty-2.0.12-cp311-none-win_amd64.whl" , hash = "sha256:853985a8f48f4731a716653170cd735da36ffbdc79dcb4c7b7140bce11d8c722" } ,
{ file = "pywinpty-2.0.12-cp312-none-win_amd64.whl" , hash = "sha256:1617b729999eb6713590e17665052b1a6ae0ad76ee31e60b444147c5b6a35dca" } ,
{ file = "pywinpty-2.0.12-cp38-none-win_amd64.whl" , hash = "sha256:189380469ca143d06e19e19ff3fba0fcefe8b4a8cc942140a6b863aed7eebb2d" } ,
{ file = "pywinpty-2.0.12-cp39-none-win_amd64.whl" , hash = "sha256:7520575b6546db23e693cbd865db2764097bd6d4ef5dc18c92555904cd62c3d4" } ,
{ file = "pywinpty-2.0.12.tar.gz" , hash = "sha256:8197de460ae8ebb7f5d1701dfa1b5df45b157bb832e92acba316305e18ca00dd" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "pyyaml"
version = "6.0.1"
description = "YAML parser and emitter for Python"
optional = false
python-versions = ">=3.6"
files = [
{ file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a" } ,
{ file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f" } ,
{ file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938" } ,
{ file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d" } ,
{ file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515" } ,
2024-02-19 21:12:22 +00:00
{ file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290" } ,
2023-07-21 17:36:28 +00:00
{ file = "PyYAML-6.0.1-cp310-cp310-win32.whl" , hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924" } ,
{ file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl" , hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d" } ,
{ file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007" } ,
{ file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab" } ,
{ file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d" } ,
{ file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc" } ,
{ file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673" } ,
2024-02-19 21:12:22 +00:00
{ file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b" } ,
2023-07-21 17:36:28 +00:00
{ file = "PyYAML-6.0.1-cp311-cp311-win32.whl" , hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741" } ,
{ file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl" , hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34" } ,
2024-02-19 21:12:22 +00:00
{ file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28" } ,
{ file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9" } ,
{ file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef" } ,
{ file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0" } ,
{ file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4" } ,
{ file = "PyYAML-6.0.1-cp312-cp312-win32.whl" , hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54" } ,
{ file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl" , hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df" } ,
2023-07-21 17:36:28 +00:00
{ file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl" , hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47" } ,
{ file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98" } ,
{ file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c" } ,
{ file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd" } ,
{ file = "PyYAML-6.0.1-cp36-cp36m-win32.whl" , hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585" } ,
{ file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl" , hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa" } ,
{ file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3" } ,
{ file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27" } ,
{ file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3" } ,
{ file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c" } ,
{ file = "PyYAML-6.0.1-cp37-cp37m-win32.whl" , hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba" } ,
{ file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl" , hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867" } ,
{ file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595" } ,
{ file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5" } ,
{ file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696" } ,
{ file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735" } ,
2024-02-19 21:12:22 +00:00
{ file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6" } ,
2023-07-21 17:36:28 +00:00
{ file = "PyYAML-6.0.1-cp38-cp38-win32.whl" , hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206" } ,
{ file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl" , hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62" } ,
{ file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8" } ,
{ file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859" } ,
{ file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6" } ,
{ file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0" } ,
{ file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c" } ,
2024-02-19 21:12:22 +00:00
{ file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5" } ,
2023-07-21 17:36:28 +00:00
{ file = "PyYAML-6.0.1-cp39-cp39-win32.whl" , hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c" } ,
{ file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl" , hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486" } ,
{ file = "PyYAML-6.0.1.tar.gz" , hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43" } ,
]
[ [ package ] ]
name = "pyzmq"
2023-08-22 18:09:35 +00:00
version = "25.1.1"
2023-07-21 17:36:28 +00:00
description = "Python bindings for 0MQ"
optional = false
python-versions = ">=3.6"
files = [
2023-08-22 18:09:35 +00:00
{ file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl" , hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl" , hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-win32.whl" , hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790" } ,
{ file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl" , hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl" , hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl" , hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-win32.whl" , hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329" } ,
{ file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl" , hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl" , hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl" , hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl" , hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-win32.whl" , hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075" } ,
{ file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl" , hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl" , hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl" , hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl" , hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl" , hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl" , hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-win32.whl" , hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71" } ,
{ file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl" , hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl" , hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl" , hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-win32.whl" , hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e" } ,
{ file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl" , hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl" , hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-win32.whl" , hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c" } ,
{ file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl" , hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl" , hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-win32.whl" , hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2" } ,
{ file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl" , hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef" } ,
{ file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6" } ,
{ file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7" } ,
{ file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978" } ,
{ file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996" } ,
{ file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl" , hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5" } ,
{ file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800" } ,
{ file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2" } ,
{ file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a" } ,
{ file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a" } ,
{ file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl" , hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0" } ,
{ file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6" } ,
{ file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e" } ,
{ file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0" } ,
{ file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728" } ,
{ file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl" , hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55" } ,
{ file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl" , hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a" } ,
{ file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4" } ,
{ file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c" } ,
{ file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2" } ,
{ file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl" , hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180" } ,
{ file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl" , hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304" } ,
{ file = "pyzmq-25.1.1.tar.gz" , hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
cffi = { version = "*" , markers = "implementation_name == \"pypy\"" }
[ [ package ] ]
name = "qtconsole"
2023-11-07 23:15:09 +00:00
version = "5.5.0"
2023-07-21 17:36:28 +00:00
description = "Jupyter Qt console"
optional = false
2023-11-07 23:15:09 +00:00
python-versions = ">= 3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "qtconsole-5.5.0-py3-none-any.whl" , hash = "sha256:6b6bcf8f834c6df1579a3e6623c8531b85d3e723997cee3a1156296df14716c8" } ,
{ file = "qtconsole-5.5.0.tar.gz" , hash = "sha256:ea8b4a07d7dc915a1b1238fbfe2c9aea570640402557b64615e09a4bc60df47c" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
ipykernel = ">=4.1"
jupyter-client = ">=4.1"
jupyter-core = "*"
packaging = "*"
pygments = "*"
pyzmq = ">=17.1"
2023-10-17 01:13:31 +00:00
qtpy = ">=2.4.0"
2023-07-21 17:36:28 +00:00
traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2"
[ package . extras ]
doc = [ "Sphinx (>=1.3)" ]
test = [ "flaky" , "pytest" , "pytest-qt" ]
[ [ package ] ]
name = "qtpy"
2023-11-07 23:15:09 +00:00
version = "2.4.1"
2023-07-21 17:36:28 +00:00
description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)."
optional = false
python-versions = ">=3.7"
files = [
2023-11-07 23:15:09 +00:00
{ file = "QtPy-2.4.1-py3-none-any.whl" , hash = "sha256:1c1d8c4fa2c884ae742b069151b0abe15b3f70491f3972698c683b8e38de839b" } ,
{ file = "QtPy-2.4.1.tar.gz" , hash = "sha256:a5a15ffd519550a1361bdc56ffc07fda56a6af7292f17c7b395d4083af632987" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
packaging = "*"
[ package . extras ]
test = [ "pytest (>=6,!=7.0.0,!=7.0.1)" , "pytest-cov (>=3.0.0)" , "pytest-qt" ]
[ [ package ] ]
name = "referencing"
2023-08-22 18:09:35 +00:00
version = "0.30.2"
2023-07-21 17:36:28 +00:00
description = "JSON Referencing + Python"
optional = false
python-versions = ">=3.8"
files = [
2023-08-22 18:09:35 +00:00
{ file = "referencing-0.30.2-py3-none-any.whl" , hash = "sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf" } ,
{ file = "referencing-0.30.2.tar.gz" , hash = "sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
attrs = ">=22.2.0"
rpds-py = ">=0.7.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "regex"
2023-10-17 01:13:31 +00:00
version = "2023.10.3"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Alternative regular expression module, to replace re."
optional = true
2023-10-17 01:13:31 +00:00
python-versions = ">=3.7"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc" } ,
{ file = "regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915" } ,
{ file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29" } ,
{ file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8" } ,
{ file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b" } ,
{ file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee" } ,
{ file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55" } ,
{ file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be" } ,
{ file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5" } ,
{ file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767" } ,
{ file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl" , hash = "sha256:107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff" } ,
{ file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl" , hash = "sha256:00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a" } ,
{ file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a" } ,
{ file = "regex-2023.10.3-cp310-cp310-win32.whl" , hash = "sha256:36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec" } ,
{ file = "regex-2023.10.3-cp310-cp310-win_amd64.whl" , hash = "sha256:c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353" } ,
{ file = "regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e" } ,
{ file = "regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051" } ,
{ file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964" } ,
{ file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc" } ,
{ file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b" } ,
{ file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac" } ,
{ file = "regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58" } ,
{ file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a" } ,
{ file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e" } ,
{ file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl" , hash = "sha256:be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0" } ,
{ file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl" , hash = "sha256:4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6" } ,
{ file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54" } ,
{ file = "regex-2023.10.3-cp311-cp311-win32.whl" , hash = "sha256:9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2" } ,
{ file = "regex-2023.10.3-cp311-cp311-win_amd64.whl" , hash = "sha256:b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c" } ,
{ file = "regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037" } ,
{ file = "regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f" } ,
{ file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41" } ,
{ file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e" } ,
{ file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c" } ,
{ file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841" } ,
{ file = "regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9" } ,
{ file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420" } ,
{ file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl" , hash = "sha256:bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9" } ,
{ file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl" , hash = "sha256:ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f" } ,
{ file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl" , hash = "sha256:b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292" } ,
{ file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a" } ,
{ file = "regex-2023.10.3-cp312-cp312-win32.whl" , hash = "sha256:ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a" } ,
{ file = "regex-2023.10.3-cp312-cp312-win_amd64.whl" , hash = "sha256:39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b" } ,
{ file = "regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293" } ,
{ file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d" } ,
{ file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b" } ,
{ file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0" } ,
{ file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3" } ,
{ file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf" } ,
{ file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991" } ,
{ file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302" } ,
{ file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl" , hash = "sha256:16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971" } ,
{ file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl" , hash = "sha256:f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11" } ,
{ file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl" , hash = "sha256:39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597" } ,
{ file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb" } ,
{ file = "regex-2023.10.3-cp37-cp37m-win32.whl" , hash = "sha256:ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a" } ,
{ file = "regex-2023.10.3-cp37-cp37m-win_amd64.whl" , hash = "sha256:0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed" } ,
{ file = "regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533" } ,
{ file = "regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a" } ,
{ file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4" } ,
{ file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368" } ,
{ file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab" } ,
{ file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94" } ,
{ file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07" } ,
{ file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c" } ,
{ file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039" } ,
{ file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863" } ,
{ file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl" , hash = "sha256:741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f" } ,
{ file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl" , hash = "sha256:e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711" } ,
{ file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4" } ,
{ file = "regex-2023.10.3-cp38-cp38-win32.whl" , hash = "sha256:58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d" } ,
{ file = "regex-2023.10.3-cp38-cp38-win_amd64.whl" , hash = "sha256:c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b" } ,
{ file = "regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af" } ,
{ file = "regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930" } ,
{ file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e" } ,
{ file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14" } ,
{ file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d" } ,
{ file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52" } ,
{ file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b" } ,
{ file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl" , hash = "sha256:9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588" } ,
{ file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa" } ,
{ file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af" } ,
{ file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl" , hash = "sha256:11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528" } ,
{ file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl" , hash = "sha256:06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca" } ,
{ file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48" } ,
{ file = "regex-2023.10.3-cp39-cp39-win32.whl" , hash = "sha256:3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd" } ,
{ file = "regex-2023.10.3-cp39-cp39-win_amd64.whl" , hash = "sha256:adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988" } ,
{ file = "regex-2023.10.3.tar.gz" , hash = "sha256:3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "requests"
version = "2.31.0"
description = "Python HTTP for Humans."
optional = false
python-versions = ">=3.7"
files = [
{ file = "requests-2.31.0-py3-none-any.whl" , hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f" } ,
{ file = "requests-2.31.0.tar.gz" , hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" } ,
]
[ package . dependencies ]
certifi = ">=2017.4.17"
charset-normalizer = ">=2,<4"
idna = ">=2.5,<4"
urllib3 = ">=1.21.1,<3"
[ package . extras ]
socks = [ "PySocks (>=1.5.6,!=1.5.7)" ]
use-chardet-on-py3 = [ "chardet (>=3.0.2,<6)" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "requests-file"
version = "1.5.1"
description = "File transport adapter for Requests"
optional = true
python-versions = "*"
files = [
{ file = "requests-file-1.5.1.tar.gz" , hash = "sha256:07d74208d3389d01c38ab89ef403af0cfec63957d53a0081d8eca738d0247d8e" } ,
{ file = "requests_file-1.5.1-py2.py3-none-any.whl" , hash = "sha256:dfe5dae75c12481f68ba353183c53a65e6044c923e64c24b2209f6c7570ca953" } ,
]
[ package . dependencies ]
requests = ">=1.0.0"
six = "*"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "rfc3339-validator"
version = "0.1.4"
description = "A pure python RFC3339 validator"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
{ file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl" , hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa" } ,
{ file = "rfc3339_validator-0.1.4.tar.gz" , hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b" } ,
]
[ package . dependencies ]
six = "*"
[ [ package ] ]
name = "rfc3986-validator"
version = "0.1.1"
description = "Pure python rfc3986 validator"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
{ file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl" , hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9" } ,
{ file = "rfc3986_validator-0.1.1.tar.gz" , hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055" } ,
]
[ [ package ] ]
name = "rpds-py"
2023-11-07 23:15:09 +00:00
version = "0.12.0"
2023-07-21 17:36:28 +00:00
description = "Python bindings to Rust's persistent data structures (rpds)"
optional = false
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "rpds_py-0.12.0-cp310-cp310-macosx_10_7_x86_64.whl" , hash = "sha256:c694bee70ece3b232df4678448fdda245fd3b1bb4ba481fb6cd20e13bb784c46" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:30e5ce9f501fb1f970e4a59098028cf20676dee64fc496d55c33e04bbbee097d" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d72a4315514e5a0b9837a086cb433b004eea630afb0cc129de76d77654a9606f" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:eebaf8c76c39604d52852366249ab807fe6f7a3ffb0dd5484b9944917244cdbe" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:a239303acb0315091d54c7ff36712dba24554993b9a93941cf301391d8a997ee" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:ced40cdbb6dd47a032725a038896cceae9ce267d340f59508b23537f05455431" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:3c8c0226c71bd0ce9892eaf6afa77ae8f43a3d9313124a03df0b389c01f832de" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:b8e11715178f3608874508f08e990d3771e0b8c66c73eb4e183038d600a9b274" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_aarch64.whl" , hash = "sha256:5210a0018c7e09c75fa788648617ebba861ae242944111d3079034e14498223f" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_i686.whl" , hash = "sha256:171d9a159f1b2f42a42a64a985e4ba46fc7268c78299272ceba970743a67ee50" } ,
{ file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_x86_64.whl" , hash = "sha256:57ec6baec231bb19bb5fd5fc7bae21231860a1605174b11585660236627e390e" } ,
{ file = "rpds_py-0.12.0-cp310-none-win32.whl" , hash = "sha256:7188ddc1a8887194f984fa4110d5a3d5b9b5cd35f6bafdff1b649049cbc0ce29" } ,
{ file = "rpds_py-0.12.0-cp310-none-win_amd64.whl" , hash = "sha256:1e04581c6117ad9479b6cfae313e212fe0dfa226ac727755f0d539cd54792963" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-macosx_10_7_x86_64.whl" , hash = "sha256:0a38612d07a36138507d69646c470aedbfe2b75b43a4643f7bd8e51e52779624" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:f12d69d568f5647ec503b64932874dade5a20255736c89936bf690951a5e79f5" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4f8a1d990dc198a6c68ec3d9a637ba1ce489b38cbfb65440a27901afbc5df575" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:8c567c664fc2f44130a20edac73e0a867f8e012bf7370276f15c6adc3586c37c" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:0e9e976e0dbed4f51c56db10831c9623d0fd67aac02853fe5476262e5a22acb7" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:efddca2d02254a52078c35cadad34762adbae3ff01c6b0c7787b59d038b63e0d" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d9e7f29c00577aff6b318681e730a519b235af292732a149337f6aaa4d1c5e31" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:389c0e38358fdc4e38e9995e7291269a3aead7acfcf8942010ee7bc5baee091c" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_aarch64.whl" , hash = "sha256:33ab498f9ac30598b6406e2be1b45fd231195b83d948ebd4bd77f337cb6a2bff" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_i686.whl" , hash = "sha256:d56b1cd606ba4cedd64bb43479d56580e147c6ef3f5d1c5e64203a1adab784a2" } ,
{ file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_x86_64.whl" , hash = "sha256:1fa73ed22c40a1bec98d7c93b5659cd35abcfa5a0a95ce876b91adbda170537c" } ,
{ file = "rpds_py-0.12.0-cp311-none-win32.whl" , hash = "sha256:dbc25baa6abb205766fb8606f8263b02c3503a55957fcb4576a6bb0a59d37d10" } ,
{ file = "rpds_py-0.12.0-cp311-none-win_amd64.whl" , hash = "sha256:c6b52b7028b547866c2413f614ee306c2d4eafdd444b1ff656bf3295bf1484aa" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-macosx_10_7_x86_64.whl" , hash = "sha256:9620650c364c01ed5b497dcae7c3d4b948daeae6e1883ae185fef1c927b6b534" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:2124f9e645a94ab7c853bc0a3644e0ca8ffbe5bb2d72db49aef8f9ec1c285733" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:281c8b219d4f4b3581b918b816764098d04964915b2f272d1476654143801aa2" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:27ccc93c7457ef890b0dd31564d2a05e1aca330623c942b7e818e9e7c2669ee4" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:d1c562a9bb72244fa767d1c1ab55ca1d92dd5f7c4d77878fee5483a22ffac808" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:e57919c32ee295a2fca458bb73e4b20b05c115627f96f95a10f9f5acbd61172d" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:fa35ad36440aaf1ac8332b4a4a433d4acd28f1613f0d480995f5cfd3580e90b7" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:e6aea5c0eb5b0faf52c7b5c4a47c8bb64437173be97227c819ffa31801fa4e34" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_aarch64.whl" , hash = "sha256:81cf9d306c04df1b45971c13167dc3bad625808aa01281d55f3cf852dde0e206" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_i686.whl" , hash = "sha256:08e6e7ff286254016b945e1ab632ee843e43d45e40683b66dd12b73791366dd1" } ,
{ file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_x86_64.whl" , hash = "sha256:4d0a675a7acbbc16179188d8c6d0afb8628604fc1241faf41007255957335a0b" } ,
{ file = "rpds_py-0.12.0-cp312-none-win32.whl" , hash = "sha256:b2287c09482949e0ca0c0eb68b2aca6cf57f8af8c6dfd29dcd3bc45f17b57978" } ,
{ file = "rpds_py-0.12.0-cp312-none-win_amd64.whl" , hash = "sha256:8015835494b21aa7abd3b43fdea0614ee35ef6b03db7ecba9beb58eadf01c24f" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-macosx_10_7_x86_64.whl" , hash = "sha256:6174d6ad6b58a6bcf67afbbf1723420a53d06c4b89f4c50763d6fa0a6ac9afd2" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:a689e1ded7137552bea36305a7a16ad2b40be511740b80748d3140614993db98" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:f45321224144c25a62052035ce96cbcf264667bcb0d81823b1bbc22c4addd194" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:aa32205358a76bf578854bf31698a86dc8b2cb591fd1d79a833283f4a403f04b" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:91bd2b7cf0f4d252eec8b7046fa6a43cee17e8acdfc00eaa8b3dbf2f9a59d061" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:3acadbab8b59f63b87b518e09c4c64b142e7286b9ca7a208107d6f9f4c393c5c" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:429349a510da82c85431f0f3e66212d83efe9fd2850f50f339341b6532c62fe4" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:05942656cb2cb4989cd50ced52df16be94d344eae5097e8583966a1d27da73a5" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_aarch64.whl" , hash = "sha256:0c5441b7626c29dbd54a3f6f3713ec8e956b009f419ffdaaa3c80eaf98ddb523" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_i686.whl" , hash = "sha256:b6b0e17d39d21698185097652c611f9cf30f7c56ccec189789920e3e7f1cee56" } ,
{ file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_x86_64.whl" , hash = "sha256:3b7a64d43e2a1fa2dd46b678e00cabd9a49ebb123b339ce799204c44a593ae1c" } ,
{ file = "rpds_py-0.12.0-cp38-none-win32.whl" , hash = "sha256:e5bbe011a2cea9060fef1bb3d668a2fd8432b8888e6d92e74c9c794d3c101595" } ,
{ file = "rpds_py-0.12.0-cp38-none-win_amd64.whl" , hash = "sha256:bec29b801b4adbf388314c0d050e851d53762ab424af22657021ce4b6eb41543" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-macosx_10_7_x86_64.whl" , hash = "sha256:1096ca0bf2d3426cbe79d4ccc91dc5aaa73629b08ea2d8467375fad8447ce11a" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:48aa98987d54a46e13e6954880056c204700c65616af4395d1f0639eba11764b" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:7979d90ee2190d000129598c2b0c82f13053dba432b94e45e68253b09bb1f0f6" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:88857060b690a57d2ea8569bca58758143c8faa4639fb17d745ce60ff84c867e" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:4eb74d44776b0fb0782560ea84d986dffec8ddd94947f383eba2284b0f32e35e" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:f62581d7e884dd01ee1707b7c21148f61f2febb7de092ae2f108743fcbef5985" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6f5dcb658d597410bb7c967c1d24eaf9377b0d621358cbe9d2ff804e5dd12e81" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:9bf9acce44e967a5103fcd820fc7580c7b0ab8583eec4e2051aec560f7b31a63" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_aarch64.whl" , hash = "sha256:240687b5be0f91fbde4936a329c9b7589d9259742766f74de575e1b2046575e4" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_i686.whl" , hash = "sha256:25740fb56e8bd37692ed380e15ec734be44d7c71974d8993f452b4527814601e" } ,
{ file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_x86_64.whl" , hash = "sha256:a54917b7e9cd3a67e429a630e237a90b096e0ba18897bfb99ee8bd1068a5fea0" } ,
{ file = "rpds_py-0.12.0-cp39-none-win32.whl" , hash = "sha256:b92aafcfab3d41580d54aca35a8057341f1cfc7c9af9e8bdfc652f83a20ced31" } ,
{ file = "rpds_py-0.12.0-cp39-none-win_amd64.whl" , hash = "sha256:cd316dbcc74c76266ba94eb021b0cc090b97cca122f50bd7a845f587ff4bf03f" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:0853da3d5e9bc6a07b2486054a410b7b03f34046c123c6561b535bb48cc509e1" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl" , hash = "sha256:cb41ad20064e18a900dd427d7cf41cfaec83bcd1184001f3d91a1f76b3fcea4e" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b710bf7e7ae61957d5c4026b486be593ed3ec3dca3e5be15e0f6d8cf5d0a4990" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:a952ae3eb460c6712388ac2ec706d24b0e651b9396d90c9a9e0a69eb27737fdc" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:0bedd91ae1dd142a4dc15970ed2c729ff6c73f33a40fa84ed0cdbf55de87c777" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:761531076df51309075133a6bc1db02d98ec7f66e22b064b1d513bc909f29743" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:a2baa6be130e8a00b6cbb9f18a33611ec150b4537f8563bddadb54c1b74b8193" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:f05450fa1cd7c525c0b9d1a7916e595d3041ac0afbed2ff6926e5afb6a781b7f" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl" , hash = "sha256:81c4d1a3a564775c44732b94135d06e33417e829ff25226c164664f4a1046213" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl" , hash = "sha256:e888be685fa42d8b8a3d3911d5604d14db87538aa7d0b29b1a7ea80d354c732d" } ,
{ file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl" , hash = "sha256:6f8d7fe73d1816eeb5378409adc658f9525ecbfaf9e1ede1e2d67a338b0c7348" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:0831d3ecdea22e4559cc1793f22e77067c9d8c451d55ae6a75bf1d116a8e7f42" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl" , hash = "sha256:513ccbf7420c30e283c25c82d5a8f439d625a838d3ba69e79a110c260c46813f" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:301bd744a1adaa2f6a5e06c98f1ac2b6f8dc31a5c23b838f862d65e32fca0d4b" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:f8832a4f83d4782a8f5a7b831c47e8ffe164e43c2c148c8160ed9a6d630bc02a" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:4b2416ed743ec5debcf61e1242e012652a4348de14ecc7df3512da072b074440" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:35585a8cb5917161f42c2104567bb83a1d96194095fc54a543113ed5df9fa436" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d389ff1e95b6e46ebedccf7fd1fadd10559add595ac6a7c2ea730268325f832c" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:9b007c2444705a2dc4a525964fd4dd28c3320b19b3410da6517cab28716f27d3" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl" , hash = "sha256:188912b22b6c8225f4c4ffa020a2baa6ad8fabb3c141a12dbe6edbb34e7f1425" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl" , hash = "sha256:1b4cf9ab9a0ae0cb122685209806d3f1dcb63b9fccdf1424fb42a129dc8c2faa" } ,
{ file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl" , hash = "sha256:2d34a5450a402b00d20aeb7632489ffa2556ca7b26f4a63c35f6fccae1977427" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:466030a42724780794dea71eb32db83cc51214d66ab3fb3156edd88b9c8f0d78" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl" , hash = "sha256:68172622a5a57deb079a2c78511c40f91193548e8ab342c31e8cb0764d362459" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:54cdfcda59251b9c2f87a05d038c2ae02121219a04d4a1e6fc345794295bdc07" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:6b75b912a0baa033350367a8a07a8b2d44fd5b90c890bfbd063a8a5f945f644b" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:47aeceb4363851d17f63069318ba5721ae695d9da55d599b4d6fb31508595278" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:0525847f83f506aa1e28eb2057b696fe38217e12931c8b1b02198cfe6975e142" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:efbe0b5e0fd078ed7b005faa0170da4f72666360f66f0bb2d7f73526ecfd99f9" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:0fadfdda275c838cba5102c7f90a20f2abd7727bf8f4a2b654a5b617529c5c18" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl" , hash = "sha256:56dd500411d03c5e9927a1eb55621e906837a83b02350a9dc401247d0353717c" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl" , hash = "sha256:6915fc9fa6b3ec3569566832e1bb03bd801c12cea030200e68663b9a87974e76" } ,
{ file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl" , hash = "sha256:5f1519b080d8ce0a814f17ad9fb49fb3a1d4d7ce5891f5c85fc38631ca3a8dc4" } ,
{ file = "rpds_py-0.12.0.tar.gz" , hash = "sha256:7036316cc26b93e401cedd781a579be606dad174829e6ad9e9c5a0da6e036f80" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "ruff"
2023-11-14 21:00:21 +00:00
version = "0.1.5"
2023-11-07 23:15:09 +00:00
description = "An extremely fast Python linter and code formatter, written in Rust."
2023-07-21 17:36:28 +00:00
optional = false
python-versions = ">=3.7"
files = [
2023-11-14 21:00:21 +00:00
{ file = "ruff-0.1.5-py3-none-macosx_10_7_x86_64.whl" , hash = "sha256:32d47fc69261c21a4c48916f16ca272bf2f273eb635d91c65d5cd548bf1f3d96" } ,
{ file = "ruff-0.1.5-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl" , hash = "sha256:171276c1df6c07fa0597fb946139ced1c2978f4f0b8254f201281729981f3c17" } ,
{ file = "ruff-0.1.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:17ef33cd0bb7316ca65649fc748acc1406dfa4da96a3d0cde6d52f2e866c7b39" } ,
{ file = "ruff-0.1.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:b2c205827b3f8c13b4a432e9585750b93fd907986fe1aec62b2a02cf4401eee6" } ,
{ file = "ruff-0.1.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:bb408e3a2ad8f6881d0f2e7ad70cddb3ed9f200eb3517a91a245bbe27101d379" } ,
{ file = "ruff-0.1.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl" , hash = "sha256:f20dc5e5905ddb407060ca27267c7174f532375c08076d1a953cf7bb016f5a24" } ,
{ file = "ruff-0.1.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:aafb9d2b671ed934998e881e2c0f5845a4295e84e719359c71c39a5363cccc91" } ,
{ file = "ruff-0.1.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:a4894dddb476597a0ba4473d72a23151b8b3b0b5f958f2cf4d3f1c572cdb7af7" } ,
{ file = "ruff-0.1.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:a00a7ec893f665ed60008c70fe9eeb58d210e6b4d83ec6654a9904871f982a2a" } ,
{ file = "ruff-0.1.5-py3-none-musllinux_1_2_aarch64.whl" , hash = "sha256:a8c11206b47f283cbda399a654fd0178d7a389e631f19f51da15cbe631480c5b" } ,
{ file = "ruff-0.1.5-py3-none-musllinux_1_2_armv7l.whl" , hash = "sha256:fa29e67b3284b9a79b1a85ee66e293a94ac6b7bb068b307a8a373c3d343aa8ec" } ,
{ file = "ruff-0.1.5-py3-none-musllinux_1_2_i686.whl" , hash = "sha256:9b97fd6da44d6cceb188147b68db69a5741fbc736465b5cea3928fdac0bc1aeb" } ,
{ file = "ruff-0.1.5-py3-none-musllinux_1_2_x86_64.whl" , hash = "sha256:721f4b9d3b4161df8dc9f09aa8562e39d14e55a4dbaa451a8e55bdc9590e20f4" } ,
{ file = "ruff-0.1.5-py3-none-win32.whl" , hash = "sha256:f80c73bba6bc69e4fdc73b3991db0b546ce641bdcd5b07210b8ad6f64c79f1ab" } ,
{ file = "ruff-0.1.5-py3-none-win_amd64.whl" , hash = "sha256:c21fe20ee7d76206d290a76271c1af7a5096bc4c73ab9383ed2ad35f852a0087" } ,
{ file = "ruff-0.1.5-py3-none-win_arm64.whl" , hash = "sha256:82bfcb9927e88c1ed50f49ac6c9728dab3ea451212693fe40d08d314663e412f" } ,
{ file = "ruff-0.1.5.tar.gz" , hash = "sha256:5cbec0ef2ae1748fb194f420fb03fb2c25c3258c86129af7172ff8f198f125ab" } ,
2023-07-21 17:36:28 +00:00
]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "safetensors"
2023-10-17 01:13:31 +00:00
version = "0.4.0"
description = ""
2023-09-11 16:20:19 +00:00
optional = true
2023-10-17 01:13:31 +00:00
python-versions = ">=3.7"
2023-09-11 16:20:19 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "safetensors-0.4.0-cp310-cp310-macosx_10_7_x86_64.whl" , hash = "sha256:2289ae6dbe6d027ecee016b28ced13a2e21a0b3a3a757a23033a2d1c0b1bad55" } ,
{ file = "safetensors-0.4.0-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:bf6458959f310f551cbbeef2255527ade5f783f952738e73e4d0136198cc3bfe" } ,
{ file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b6b60a58a8f7cc7aed3b5b73dce1f5259a53c83d9ba43a76a874e6ad868c1b4d" } ,
{ file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:491b3477e4d0d4599bb75d79da4b75af2e6ed9b1f6ec2b715991f0bc927bf09a" } ,
{ file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:59d2e10b7e0cd18bb73ed7c17c624a5957b003b81345e18159591771c26ee428" } ,
{ file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:3f667a4c12fb593f5f66ce966cb1b14a7148898b2b1a7f79e0761040ae1e3c51" } ,
{ file = "safetensors-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:5f9909512bcb6f712bdd04c296cdfb0d8ff73d258ffc5af884bb62ea02d221e0" } ,
{ file = "safetensors-0.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:d33d29e846821f0e4f92614022949b09ccf063cb36fe2f9fe099cde1efbfbb87" } ,
{ file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:4d512525a8e05a045ce6698066ba0c5378c174a83e0b3720a8c7799dc1bb06f3" } ,
{ file = "safetensors-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:0219cea445177f6ad1f9acd3a8d025440c8ff436d70a4a7c7ba9c36066aa9474" } ,
{ file = "safetensors-0.4.0-cp310-none-win32.whl" , hash = "sha256:67ab171eeaad6972d3971c53d29d53353c67f6743284c6d637b59fa3e54c8a94" } ,
{ file = "safetensors-0.4.0-cp310-none-win_amd64.whl" , hash = "sha256:7ffc736039f08a9ca1f09816a7481b8e4469c06e8f8a5ffa8cb67ddd79e6d77f" } ,
{ file = "safetensors-0.4.0-cp311-cp311-macosx_10_7_x86_64.whl" , hash = "sha256:4fe9e3737b30de458225a23926219ca30b902ee779b6a3df96eaab2b6d625ec2" } ,
{ file = "safetensors-0.4.0-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:e7916e814a90008de767b1c164a1d83803693c661ffe9af5a697b22e2752edb0" } ,
{ file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:cbc4a4da01143472323c145f3c289e5f6fabde0ac0a3414dabf912a21692fff4" } ,
{ file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:a54c21654a47669b38e359e8f852af754b786c9da884bb61ad5e9af12bd71ccb" } ,
{ file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:25cd407955bad5340ba17f9f8ac789a0d751601a311e2f7b2733f9384478c95e" } ,
{ file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:82e8fc4e3503cd738fd40718a430fe0e5ce6e7ff91a73d6ce628bbb89c41e8ce" } ,
{ file = "safetensors-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:48b92059b1a4ad163024d4f526e0e73ebe2bb3ae70537e15e347820b4de5dc27" } ,
{ file = "safetensors-0.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:5daa05058f7dce85b5f9f60c4eab483ed7859d63978f08a76e52e78859ff20ca" } ,
{ file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:a86565a5c112dd855909e20144947b4f53abb78c4de207f36ca71ee63ba5b90d" } ,
{ file = "safetensors-0.4.0-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:38032078ed9fea52d06584e441bccc73fb475c4581600c6d6166de2fe2deb3d1" } ,
{ file = "safetensors-0.4.0-cp311-none-win32.whl" , hash = "sha256:2f99d90c91b7c76b40a862acd9085bc77f7974a27dee7cfcebe46149af5a99a1" } ,
{ file = "safetensors-0.4.0-cp311-none-win_amd64.whl" , hash = "sha256:74e2a448ffe19be188b457b130168190ee73b5a75e45ba96796320c1f5ae35d2" } ,
{ file = "safetensors-0.4.0-cp312-cp312-macosx_10_7_x86_64.whl" , hash = "sha256:1e2f9c69b41d03b4826ffb96b29e07444bb6b34a78a7bafd0b88d59e8ec75b8a" } ,
{ file = "safetensors-0.4.0-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:3910fb5bf747413b59f1a34e6d2a993b589fa7d919709518823c70efaaa350bd" } ,
{ file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:cf8fdca709b2470a35a59b1e6dffea75cbe1214b22612b5dd4c93947697aea8b" } ,
{ file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:2f27b8ef814c5fb43456caeb7f3cbb889b76115180aad1f42402839c14a47c5b" } ,
{ file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:7b2d6101eccc43c7be0cb052f13ceda64288b3d8b344b988ed08d7133cbce2f3" } ,
{ file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:fdc34027b545a69be3d4220c140b276129523e4e46db06ad1a0b60d6a4cf9214" } ,
{ file = "safetensors-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:db7bb48ca9e90bb9526c71b388d38d8de160c0354f4c5126df23e8701a870dcb" } ,
{ file = "safetensors-0.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:a78ffc0795d3595cd9e4d453502e35f764276c49e434b25556a15a337db4dafc" } ,
{ file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:8e735b0f79090f6855b55e205e820b7b595502ffca0009a5c13eef3661ce465b" } ,
{ file = "safetensors-0.4.0-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:f8d2416734e850d5392afffbcb2b8985ea29fb171f1cb197e2ae51b8e35d6438" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-macosx_10_7_x86_64.whl" , hash = "sha256:e853e189ba7d47eaf561094586692ba2bbdd258c096f1755805cac098de0e6ab" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-macosx_11_0_arm64.whl" , hash = "sha256:4b2aa57b5a4d576f3d1dd6e56980026340f156f8a13c13016bfac4e25295b53f" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3b6c1316ffde6cb4bf22c7445bc9fd224b4d1b9dd7320695f5611c89e802e4b6" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:003077ec85261d00061058fa12e3c1d2055366b02ce8f2938929359ffbaff2b8" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:bd63d83a92f1437a8b0431779320376030ae43ace980bea5686d515de0784100" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:2077801800b4b13301d8d6290c7fb5bd60737320001717153ebc4371776643b5" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7abe0e157a49a75aeeccfbc4f3dac38d8f98512d3cdb35c200f8e628dc5773cf" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:3bfed574f6b1e7e7fe1f17213278875ef6c6e8b1582ab6eda93947db1178cae6" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:964ef166a286ce3b023d0d0bd0e21d440a1c8028981c8abdb136bc7872ba9b3d" } ,
{ file = "safetensors-0.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:44f84373e42183bd56a13a1f2d8acb1db7fedaeffbd83e79cec861477eee1af4" } ,
{ file = "safetensors-0.4.0-cp37-none-win32.whl" , hash = "sha256:c68132727dd86fb641102e494d445f705efe402f4d5e24b278183a15499ab400" } ,
{ file = "safetensors-0.4.0-cp37-none-win_amd64.whl" , hash = "sha256:1db87155454c168aef118d5657a403aee48a4cb08d8851a981157f07351ea317" } ,
{ file = "safetensors-0.4.0-cp38-cp38-macosx_10_7_x86_64.whl" , hash = "sha256:9e583fa68e5a07cc859c4e13c1ebff12029904aa2e27185cf04a1f57fe9a81c4" } ,
{ file = "safetensors-0.4.0-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:73e7696dcf3f72f99545eb1abe6106ad65ff1f62381d6ce4b34be3272552897a" } ,
{ file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4936096a57c62e84e200f92620a536be067fc5effe46ecc7f230ebb496ecd579" } ,
{ file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:87b328ee1591adac332543e1f5fc2c2d7f149b745ebb0d58d7850818ff9cee27" } ,
{ file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:b69554c143336256260eceff1d3c0969172a641b54d4668489a711b05f92a2c0" } ,
{ file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:3ebf6bcece5d5d1bd6416472f94604d2c834ca752ac60ed42dba7157e595a990" } ,
{ file = "safetensors-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6686ce01b8602d55a7d9903c90d4a6e6f90aeb6ddced7cf4605892d0ba94bcb8" } ,
{ file = "safetensors-0.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:9b8fd6cc2f3bda444a048b541c843c7b7fefc89c4120d7898ea7d5b026e93891" } ,
{ file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:8a6abfe67692f81b8bdb99c837f28351c17e624ebf136970c850ee989c720446" } ,
{ file = "safetensors-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:27a24ca8822c469ee452db4c13418ba983315a0d863c018a9af15f2305eac38c" } ,
{ file = "safetensors-0.4.0-cp38-none-win32.whl" , hash = "sha256:c4a0a47c8640167792d8261ee21b26430bbc39130a7edaad7f4c0bc05669d00e" } ,
{ file = "safetensors-0.4.0-cp38-none-win_amd64.whl" , hash = "sha256:a738970a367f39249e2abb900d9441a8a86d7ff50083e5eaa6e7760a9f216014" } ,
{ file = "safetensors-0.4.0-cp39-cp39-macosx_10_7_x86_64.whl" , hash = "sha256:806379f37e1abd5d302288c4b2f4186dd7ea7143d4c7811f90a8077f0ae8967b" } ,
{ file = "safetensors-0.4.0-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:2b9b94133ed2ae9dda0e95dcace7b7556eba023ffa4c4ae6df8f99377f571d6a" } ,
{ file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:6b563a14c43614815a6b524d2e4edeaace50b717f7e7487bb227dd5b68350f5a" } ,
{ file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:00a9b157be660fb7ba88fa2eedd05ec93793a5b61e43e783e10cb0b995372802" } ,
{ file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:c8f194f45ab6aa767993c24f0aeb950af169dbc5d611b94c9021a1d13b8a1a34" } ,
{ file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:469360b9451db10bfed3881378d5a71b347ecb1ab4f42367d77b8164a13af70b" } ,
{ file = "safetensors-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:f5f75fa97ccf32a3c7af476c6a0e851023197d3c078f6de3612008fff94735f9" } ,
{ file = "safetensors-0.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:acf0180283c2efae72f1d8c0a4a7974662091df01be3aa43b5237b1e52ed0a01" } ,
{ file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:cd02b495ba0814619f40bda46771bb06dbbf1d42524b66fa03b2a736c77e4515" } ,
{ file = "safetensors-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:c42bdea183dbaa99e2f0e6120dc524df79cf4289a6f90f30a534444ef20f49fa" } ,
{ file = "safetensors-0.4.0-cp39-none-win32.whl" , hash = "sha256:cef7bb5d9feae7146c3c3c7b3aef7d2c8b39ba7f5ff4252d368eb69462a47076" } ,
{ file = "safetensors-0.4.0-cp39-none-win_amd64.whl" , hash = "sha256:79dd46fb1f19282fd12f544471efb97823ede927cedbf9cf35550d92b349fdd2" } ,
{ file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:002301c1afa32909f83745b0c124d002e7ae07e15671f3b43cbebd0ffc5e6037" } ,
{ file = "safetensors-0.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl" , hash = "sha256:67762d36ae088c73d4a3c96bfc4ea8d31233554f35b6cace3a18533238d462ea" } ,
{ file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:0f45230f20a206e5e4c7f7bbf9342178410c6f8b0af889843aa99045a76f7691" } ,
{ file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:8f2ca939bbd8fb2f4dfa28e39a146dad03bc9325e9fc831b68f7b98f69a5a2f1" } ,
{ file = "safetensors-0.4.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:61a00f281391fae5ce91df70918bb61c12d2d514a493fd8056e12114be729911" } ,
{ file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:435fd136a42492b280cb55126f9ce9535b35dd49df2c5d572a5945455a439448" } ,
{ file = "safetensors-0.4.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:f0daa788273d683258fb1e4a5e16bef4486b2fca536451a2591bc0f4a6488895" } ,
{ file = "safetensors-0.4.0-pp37-pypy37_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:0620ab0d41e390ccb1c4ea8f63dc00cb5f0b96a5cdd3cd0d64c21765720c074a" } ,
{ file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:bc1fa8d067733cb67f22926689ee808f08afacf7700d2ffb44efae90a0693eb1" } ,
{ file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:dcaa40bc363edda145db75cd030f3b1822e5478d550c3500a42502ecef32c959" } ,
{ file = "safetensors-0.4.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:b561fbc044db7beff2ece0ec219a291809d45a38d30c6b38e7cc46482582f4ba" } ,
{ file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:79a983b09782dacf9a1adb19bb98f4a8f6c3144108939f572c047b5797e43cf5" } ,
{ file = "safetensors-0.4.0-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:10b65cd3ad79f5d0daf281523b4146bc271a34bb7430d4e03212e0de8622dab8" } ,
{ file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:114decacc475a6a9e2f9102a00c171d113ddb5d35cb0bda0db2c0c82b2eaa9ce" } ,
{ file = "safetensors-0.4.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl" , hash = "sha256:72ddb741dd5fe42521db76a70e012f76995516a12e7e0ef26be03ea9be77802a" } ,
{ file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:6c5556c2ec75f5a6134866eddd7341cb36062e6edaea343478a279591b63ddba" } ,
{ file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ed50f239b0ce7ae85b078395593b4a351ede7e6f73af25f4873e3392336f64c9" } ,
{ file = "safetensors-0.4.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:495dcaea8fbab70b927d2274e2547824462737acbf98ccd851a71124f779a5c6" } ,
{ file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:3f4d90c79a65ba2fe2ff0876f6140748f0a3ce6a21e27a35190f4f96321803f8" } ,
{ file = "safetensors-0.4.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:7a524382b5c55b5fbb168e0e9d3f502450c8cf3fb81b93e880018437c206a482" } ,
{ file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:9849ea60c7e840bfdd6030ad454d4a6ba837b3398c902f15a30460dd6961c28c" } ,
{ file = "safetensors-0.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl" , hash = "sha256:6c42623ae7045615d9eaa6877b9df1db4e9cc71ecc14bcc721ea1e475dddd595" } ,
{ file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:80cb8342f00f3c41b3b93b1a599b84723280d3ac90829bc62262efc03ab28793" } ,
{ file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d8c4f5ed4ede384dea8c99bae76b0718a828dbf7b2c8ced1f44e3b9b1a124475" } ,
{ file = "safetensors-0.4.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl" , hash = "sha256:40d7cf03493bfe75ef62e2c716314474b28d9ba5bf4909763e4b8dd14330c01a" } ,
{ file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:232029f0a9fa6fa1f737324eda98a700409811186888536a2333cbbf64e41741" } ,
{ file = "safetensors-0.4.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:9ed55f4a20c78ff3e8477efb63c8303c2152cdfb3bfea4d025a80f54d38fd628" } ,
{ file = "safetensors-0.4.0.tar.gz" , hash = "sha256:b985953c3cf11e942eac4317ef3db3da713e274109cf7cfb6076d877054f013e" } ,
2023-09-11 16:20:19 +00:00
]
[ package . extras ]
2023-10-17 01:13:31 +00:00
all = [ "safetensors[jax]" , "safetensors[numpy]" , "safetensors[paddlepaddle]" , "safetensors[pinned-tf]" , "safetensors[quality]" , "safetensors[testing]" , "safetensors[torch]" ]
dev = [ "safetensors[all]" ]
jax = [ "flax (>=0.6.3)" , "jax (>=0.3.25)" , "jaxlib (>=0.3.25)" , "safetensors[numpy]" ]
2023-09-11 16:20:19 +00:00
numpy = [ "numpy (>=1.21.6)" ]
2023-10-17 01:13:31 +00:00
paddlepaddle = [ "paddlepaddle (>=2.4.1)" , "safetensors[numpy]" ]
pinned-tf = [ "safetensors[numpy]" , "tensorflow (==2.11.0)" ]
2023-09-11 16:20:19 +00:00
quality = [ "black (==22.3)" , "click (==8.0.4)" , "flake8 (>=3.8.3)" , "isort (>=5.5.4)" ]
2023-10-17 01:13:31 +00:00
tensorflow = [ "safetensors[numpy]" , "tensorflow (>=2.11.0)" ]
testing = [ "h5py (>=3.7.0)" , "huggingface_hub (>=0.12.1)" , "hypothesis (>=6.70.2)" , "pytest (>=7.2.0)" , "pytest-benchmark (>=4.0.0)" , "safetensors[numpy]" , "setuptools_rust (>=1.5.2)" ]
torch = [ "safetensors[numpy]" , "torch (>=1.10)" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "scikit-learn"
2023-11-07 23:15:09 +00:00
version = "1.3.2"
2023-09-11 16:20:19 +00:00
description = "A set of python modules for machine learning and data mining"
optional = true
python-versions = ">=3.8"
files = [
2023-11-07 23:15:09 +00:00
{ file = "scikit-learn-1.3.2.tar.gz" , hash = "sha256:a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05" } ,
{ file = "scikit_learn-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:e326c0eb5cf4d6ba40f93776a20e9a7a69524c4db0757e7ce24ba222471ee8a1" } ,
{ file = "scikit_learn-1.3.2-cp310-cp310-macosx_12_0_arm64.whl" , hash = "sha256:535805c2a01ccb40ca4ab7d081d771aea67e535153e35a1fd99418fcedd1648a" } ,
{ file = "scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:1215e5e58e9880b554b01187b8c9390bf4dc4692eedeaf542d3273f4785e342c" } ,
{ file = "scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:0ee107923a623b9f517754ea2f69ea3b62fc898a3641766cb7deb2f2ce450161" } ,
{ file = "scikit_learn-1.3.2-cp310-cp310-win_amd64.whl" , hash = "sha256:35a22e8015048c628ad099da9df5ab3004cdbf81edc75b396fd0cff8699ac58c" } ,
{ file = "scikit_learn-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:6fb6bc98f234fda43163ddbe36df8bcde1d13ee176c6dc9b92bb7d3fc842eb66" } ,
{ file = "scikit_learn-1.3.2-cp311-cp311-macosx_12_0_arm64.whl" , hash = "sha256:18424efee518a1cde7b0b53a422cde2f6625197de6af36da0b57ec502f126157" } ,
{ file = "scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3271552a5eb16f208a6f7f617b8cc6d1f137b52c8a1ef8edf547db0259b2c9fb" } ,
{ file = "scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:fc4144a5004a676d5022b798d9e573b05139e77f271253a4703eed295bde0433" } ,
{ file = "scikit_learn-1.3.2-cp311-cp311-win_amd64.whl" , hash = "sha256:67f37d708f042a9b8d59551cf94d30431e01374e00dc2645fa186059c6c5d78b" } ,
{ file = "scikit_learn-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:8db94cd8a2e038b37a80a04df8783e09caac77cbe052146432e67800e430c028" } ,
{ file = "scikit_learn-1.3.2-cp312-cp312-macosx_12_0_arm64.whl" , hash = "sha256:61a6efd384258789aa89415a410dcdb39a50e19d3d8410bd29be365bcdd512d5" } ,
{ file = "scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:cb06f8dce3f5ddc5dee1715a9b9f19f20d295bed8e3cd4fa51e1d050347de525" } ,
{ file = "scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:5b2de18d86f630d68fe1f87af690d451388bb186480afc719e5f770590c2ef6c" } ,
{ file = "scikit_learn-1.3.2-cp312-cp312-win_amd64.whl" , hash = "sha256:0402638c9a7c219ee52c94cbebc8fcb5eb9fe9c773717965c1f4185588ad3107" } ,
{ file = "scikit_learn-1.3.2-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:a19f90f95ba93c1a7f7924906d0576a84da7f3b2282ac3bfb7a08a32801add93" } ,
{ file = "scikit_learn-1.3.2-cp38-cp38-macosx_12_0_arm64.whl" , hash = "sha256:b8692e395a03a60cd927125eef3a8e3424d86dde9b2370d544f0ea35f78a8073" } ,
{ file = "scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:15e1e94cc23d04d39da797ee34236ce2375ddea158b10bee3c343647d615581d" } ,
{ file = "scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:785a2213086b7b1abf037aeadbbd6d67159feb3e30263434139c98425e3dcfcf" } ,
{ file = "scikit_learn-1.3.2-cp38-cp38-win_amd64.whl" , hash = "sha256:64381066f8aa63c2710e6b56edc9f0894cc7bf59bd71b8ce5613a4559b6145e0" } ,
{ file = "scikit_learn-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:6c43290337f7a4b969d207e620658372ba3c1ffb611f8bc2b6f031dc5c6d1d03" } ,
{ file = "scikit_learn-1.3.2-cp39-cp39-macosx_12_0_arm64.whl" , hash = "sha256:dc9002fc200bed597d5d34e90c752b74df516d592db162f756cc52836b38fe0e" } ,
{ file = "scikit_learn-1.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:1d08ada33e955c54355d909b9c06a4789a729977f165b8bae6f225ff0a60ec4a" } ,
{ file = "scikit_learn-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:763f0ae4b79b0ff9cca0bf3716bcc9915bdacff3cebea15ec79652d1cc4fa5c9" } ,
{ file = "scikit_learn-1.3.2-cp39-cp39-win_amd64.whl" , hash = "sha256:ed932ea780517b00dae7431e031faae6b49b20eb6950918eb83bd043237950e0" } ,
2023-09-11 16:20:19 +00:00
]
[ package . dependencies ]
joblib = ">=1.1.1"
2023-10-06 01:09:35 +00:00
numpy = ">=1.17.3,<2.0"
2023-09-11 16:20:19 +00:00
scipy = ">=1.5.0"
threadpoolctl = ">=2.0.0"
[ package . extras ]
benchmark = [ "matplotlib (>=3.1.3)" , "memory-profiler (>=0.57.0)" , "pandas (>=1.0.5)" ]
docs = [ "Pillow (>=7.1.2)" , "matplotlib (>=3.1.3)" , "memory-profiler (>=0.57.0)" , "numpydoc (>=1.2.0)" , "pandas (>=1.0.5)" , "plotly (>=5.14.0)" , "pooch (>=1.6.0)" , "scikit-image (>=0.16.2)" , "seaborn (>=0.9.0)" , "sphinx (>=6.0.0)" , "sphinx-copybutton (>=0.5.2)" , "sphinx-gallery (>=0.10.1)" , "sphinx-prompt (>=1.3.0)" , "sphinxext-opengraph (>=0.4.2)" ]
examples = [ "matplotlib (>=3.1.3)" , "pandas (>=1.0.5)" , "plotly (>=5.14.0)" , "pooch (>=1.6.0)" , "scikit-image (>=0.16.2)" , "seaborn (>=0.9.0)" ]
tests = [ "black (>=23.3.0)" , "matplotlib (>=3.1.3)" , "mypy (>=1.3)" , "numpydoc (>=1.2.0)" , "pandas (>=1.0.5)" , "pooch (>=1.6.0)" , "pyamg (>=4.0.0)" , "pytest (>=7.1.2)" , "pytest-cov (>=2.9.0)" , "ruff (>=0.0.272)" , "scikit-image (>=0.16.2)" ]
[ [ package ] ]
name = "scipy"
version = "1.9.3"
description = "Fundamental algorithms for scientific computing in Python"
optional = true
python-versions = ">=3.8"
files = [
{ file = "scipy-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:1884b66a54887e21addf9c16fb588720a8309a57b2e258ae1c7986d4444d3bc0" } ,
{ file = "scipy-1.9.3-cp310-cp310-macosx_12_0_arm64.whl" , hash = "sha256:83b89e9586c62e787f5012e8475fbb12185bafb996a03257e9675cd73d3736dd" } ,
{ file = "scipy-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:1a72d885fa44247f92743fc20732ae55564ff2a519e8302fb7e18717c5355a8b" } ,
{ file = "scipy-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d01e1dd7b15bd2449c8bfc6b7cc67d630700ed655654f0dfcf121600bad205c9" } ,
{ file = "scipy-1.9.3-cp310-cp310-win_amd64.whl" , hash = "sha256:68239b6aa6f9c593da8be1509a05cb7f9efe98b80f43a5861cd24c7557e98523" } ,
{ file = "scipy-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:b41bc822679ad1c9a5f023bc93f6d0543129ca0f37c1ce294dd9d386f0a21096" } ,
{ file = "scipy-1.9.3-cp311-cp311-macosx_12_0_arm64.whl" , hash = "sha256:90453d2b93ea82a9f434e4e1cba043e779ff67b92f7a0e85d05d286a3625df3c" } ,
{ file = "scipy-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:83c06e62a390a9167da60bedd4575a14c1f58ca9dfde59830fc42e5197283dab" } ,
{ file = "scipy-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:abaf921531b5aeaafced90157db505e10345e45038c39e5d9b6c7922d68085cb" } ,
{ file = "scipy-1.9.3-cp311-cp311-win_amd64.whl" , hash = "sha256:06d2e1b4c491dc7d8eacea139a1b0b295f74e1a1a0f704c375028f8320d16e31" } ,
{ file = "scipy-1.9.3-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:5a04cd7d0d3eff6ea4719371cbc44df31411862b9646db617c99718ff68d4840" } ,
{ file = "scipy-1.9.3-cp38-cp38-macosx_12_0_arm64.whl" , hash = "sha256:545c83ffb518094d8c9d83cce216c0c32f8c04aaf28b92cc8283eda0685162d5" } ,
{ file = "scipy-1.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:0d54222d7a3ba6022fdf5773931b5d7c56efe41ede7f7128c7b1637700409108" } ,
{ file = "scipy-1.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:cff3a5295234037e39500d35316a4c5794739433528310e117b8a9a0c76d20fc" } ,
{ file = "scipy-1.9.3-cp38-cp38-win_amd64.whl" , hash = "sha256:2318bef588acc7a574f5bfdff9c172d0b1bf2c8143d9582e05f878e580a3781e" } ,
{ file = "scipy-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:d644a64e174c16cb4b2e41dfea6af722053e83d066da7343f333a54dae9bc31c" } ,
{ file = "scipy-1.9.3-cp39-cp39-macosx_12_0_arm64.whl" , hash = "sha256:da8245491d73ed0a994ed9c2e380fd058ce2fa8a18da204681f2fe1f57f98f95" } ,
{ file = "scipy-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4db5b30849606a95dcf519763dd3ab6fe9bd91df49eba517359e450a7d80ce2e" } ,
{ file = "scipy-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c68db6b290cbd4049012990d7fe71a2abd9ffbe82c0056ebe0f01df8be5436b0" } ,
{ file = "scipy-1.9.3-cp39-cp39-win_amd64.whl" , hash = "sha256:5b88e6d91ad9d59478fafe92a7c757d00c59e3bdc3331be8ada76a4f8d683f58" } ,
{ file = "scipy-1.9.3.tar.gz" , hash = "sha256:fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027" } ,
]
[ package . dependencies ]
numpy = ">=1.18.5,<1.26.0"
[ package . extras ]
dev = [ "flake8" , "mypy" , "pycodestyle" , "typing_extensions" ]
doc = [ "matplotlib (>2)" , "numpydoc" , "pydata-sphinx-theme (==0.9.0)" , "sphinx (!=4.1.0)" , "sphinx-panels (>=0.5.2)" , "sphinx-tabs" ]
test = [ "asv" , "gmpy2" , "mpmath" , "pytest" , "pytest-cov" , "pytest-xdist" , "scikit-umfpack" , "threadpoolctl" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "send2trash"
version = "1.8.2"
description = "Send file to trash natively under Mac OS X, Windows and Linux"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
files = [
{ file = "Send2Trash-1.8.2-py3-none-any.whl" , hash = "sha256:a384719d99c07ce1eefd6905d2decb6f8b7ed054025bb0e618919f945de4f679" } ,
{ file = "Send2Trash-1.8.2.tar.gz" , hash = "sha256:c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312" } ,
]
[ package . extras ]
nativelib = [ "pyobjc-framework-Cocoa" , "pywin32" ]
objc = [ "pyobjc-framework-Cocoa" ]
win32 = [ "pywin32" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "sentence-transformers"
version = "2.2.2"
description = "Multilingual text embeddings"
optional = true
python-versions = ">=3.6.0"
files = [
{ file = "sentence-transformers-2.2.2.tar.gz" , hash = "sha256:dbc60163b27de21076c9a30d24b5b7b6fa05141d68cf2553fa9a77bf79a29136" } ,
]
[ package . dependencies ]
huggingface-hub = ">=0.4.0"
nltk = "*"
numpy = "*"
scikit-learn = "*"
scipy = "*"
sentencepiece = "*"
torch = ">=1.6.0"
torchvision = "*"
tqdm = "*"
transformers = ">=4.6.0,<5.0.0"
[ [ package ] ]
name = "sentencepiece"
version = "0.1.99"
description = "SentencePiece python wrapper"
optional = true
python-versions = "*"
files = [
{ file = "sentencepiece-0.1.99-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:0eb528e70571b7c02723e5804322469b82fe7ea418c96051d0286c0fa028db73" } ,
{ file = "sentencepiece-0.1.99-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:77d7fafb2c4e4659cbdf303929503f37a26eabc4ff31d3a79bf1c5a1b338caa7" } ,
{ file = "sentencepiece-0.1.99-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:be9cf5b9e404c245aeb3d3723c737ba7a8f5d4ba262ef233a431fa6c45f732a0" } ,
{ file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:baed1a26464998f9710d20e52607c29ffd4293e7c71c6a1f83f51ad0911ec12c" } ,
{ file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:9832f08bb372d4c8b567612f8eab9e36e268dff645f1c28f9f8e851be705f6d1" } ,
{ file = "sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:019e7535108e309dae2b253a75834fc3128240aa87c00eb80732078cdc182588" } ,
{ file = "sentencepiece-0.1.99-cp310-cp310-win32.whl" , hash = "sha256:fa16a830416bb823fa2a52cbdd474d1f7f3bba527fd2304fb4b140dad31bb9bc" } ,
{ file = "sentencepiece-0.1.99-cp310-cp310-win_amd64.whl" , hash = "sha256:14b0eccb7b641d4591c3e12ae44cab537d68352e4d3b6424944f0c447d2348d5" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:6d3c56f24183a1e8bd61043ff2c58dfecdc68a5dd8955dc13bab83afd5f76b81" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:ed6ea1819fd612c989999e44a51bf556d0ef6abfb553080b9be3d347e18bcfb7" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:a2a0260cd1fb7bd8b4d4f39dc2444a8d5fd4e0a0c4d5c899810ef1abf99b2d45" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:8a1abff4d1ff81c77cac3cc6fefa34fa4b8b371e5ee51cb7e8d1ebc996d05983" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:004e6a621d4bc88978eecb6ea7959264239a17b70f2cbc348033d8195c9808ec" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:db361e03342c41680afae5807590bc88aa0e17cfd1a42696a160e4005fcda03b" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-win32.whl" , hash = "sha256:2d95e19168875b70df62916eb55428a0cbcb834ac51d5a7e664eda74def9e1e0" } ,
{ file = "sentencepiece-0.1.99-cp311-cp311-win_amd64.whl" , hash = "sha256:f90d73a6f81248a909f55d8e6ef56fec32d559e1e9af045f0b0322637cb8e5c7" } ,
{ file = "sentencepiece-0.1.99-cp36-cp36m-macosx_10_9_x86_64.whl" , hash = "sha256:62e24c81e74bd87a6e0d63c51beb6527e4c0add67e1a17bac18bcd2076afcfeb" } ,
{ file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:57efcc2d51caff20d9573567d9fd3f854d9efe613ed58a439c78c9f93101384a" } ,
{ file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:6a904c46197993bd1e95b93a6e373dca2f170379d64441041e2e628ad4afb16f" } ,
{ file = "sentencepiece-0.1.99-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d89adf59854741c0d465f0e1525b388c0d174f611cc04af54153c5c4f36088c4" } ,
{ file = "sentencepiece-0.1.99-cp36-cp36m-win32.whl" , hash = "sha256:47c378146928690d1bc106fdf0da768cebd03b65dd8405aa3dd88f9c81e35dba" } ,
{ file = "sentencepiece-0.1.99-cp36-cp36m-win_amd64.whl" , hash = "sha256:9ba142e7a90dd6d823c44f9870abdad45e6c63958eb60fe44cca6828d3b69da2" } ,
{ file = "sentencepiece-0.1.99-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:b7b1a9ae4d7c6f1f867e63370cca25cc17b6f4886729595b885ee07a58d3cec3" } ,
{ file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d0f644c9d4d35c096a538507b2163e6191512460035bf51358794a78515b74f7" } ,
{ file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:c8843d23a0f686d85e569bd6dcd0dd0e0cbc03731e63497ca6d5bacd18df8b85" } ,
{ file = "sentencepiece-0.1.99-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:33e6f690a1caebb4867a2e367afa1918ad35be257ecdb3455d2bbd787936f155" } ,
{ file = "sentencepiece-0.1.99-cp37-cp37m-win32.whl" , hash = "sha256:8a321866c2f85da7beac74a824b4ad6ddc2a4c9bccd9382529506d48f744a12c" } ,
{ file = "sentencepiece-0.1.99-cp37-cp37m-win_amd64.whl" , hash = "sha256:c42f753bcfb7661c122a15b20be7f684b61fc8592c89c870adf52382ea72262d" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:85b476406da69c70586f0bb682fcca4c9b40e5059814f2db92303ea4585c650c" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:cfbcfe13c69d3f87b7fcd5da168df7290a6d006329be71f90ba4f56bc77f8561" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:445b0ec381af1cd4eef95243e7180c63d9c384443c16c4c47a28196bd1cda937" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c6890ea0f2b4703f62d0bf27932e35808b1f679bdb05c7eeb3812b935ba02001" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:fb71af492b0eefbf9f2501bec97bcd043b6812ab000d119eaf4bd33f9e283d03" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:27b866b5bd3ddd54166bbcbf5c8d7dd2e0b397fac8537991c7f544220b1f67bc" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-win32.whl" , hash = "sha256:b133e8a499eac49c581c3c76e9bdd08c338cc1939e441fee6f92c0ccb5f1f8be" } ,
{ file = "sentencepiece-0.1.99-cp38-cp38-win_amd64.whl" , hash = "sha256:0eaf3591dd0690a87f44f4df129cf8d05d8a4029b5b6709b489b8e27f9a9bcff" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:38efeda9bbfb55052d482a009c6a37e52f42ebffcea9d3a98a61de7aee356a28" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:6c030b081dc1e1bcc9fadc314b19b740715d3d566ad73a482da20d7d46fd444c" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:84dbe53e02e4f8a2e45d2ac3e430d5c83182142658e25edd76539b7648928727" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:0b0f55d0a0ee1719b4b04221fe0c9f0c3461dc3dabd77a035fa2f4788eb3ef9a" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:18e800f206cd235dc27dc749299e05853a4e4332e8d3dfd81bf13d0e5b9007d9" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:2ae1c40cda8f9d5b0423cfa98542735c0235e7597d79caf318855cdf971b2280" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-win32.whl" , hash = "sha256:c84ce33af12ca222d14a1cdd37bd76a69401e32bc68fe61c67ef6b59402f4ab8" } ,
{ file = "sentencepiece-0.1.99-cp39-cp39-win_amd64.whl" , hash = "sha256:350e5c74d739973f1c9643edb80f7cc904dc948578bcb1d43c6f2b173e5d18dd" } ,
{ file = "sentencepiece-0.1.99.tar.gz" , hash = "sha256:189c48f5cb2949288f97ccdb97f0473098d9c3dcf5a3d99d4eabe719ec27297f" } ,
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "setuptools"
version = "67.8.0"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
optional = false
python-versions = ">=3.7"
files = [
{ file = "setuptools-67.8.0-py3-none-any.whl" , hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f" } ,
{ file = "setuptools-67.8.0.tar.gz" , hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102" } ,
]
[ package . extras ]
docs = [ "furo" , "jaraco.packaging (>=9)" , "jaraco.tidelift (>=1.4)" , "pygments-github-lexers (==0.0.5)" , "rst.linker (>=1.9)" , "sphinx (>=3.5)" , "sphinx-favicon" , "sphinx-hoverxref (<2)" , "sphinx-inline-tabs" , "sphinx-lint" , "sphinx-notfound-page (==0.8.3)" , "sphinx-reredirects" , "sphinxcontrib-towncrier" ]
testing = [ "build[virtualenv]" , "filelock (>=3.4.0)" , "flake8-2020" , "ini2toml[lite] (>=0.9)" , "jaraco.envs (>=2.2)" , "jaraco.path (>=3.2.0)" , "pip (>=19.1)" , "pip-run (>=8.8)" , "pytest (>=6)" , "pytest-black (>=0.3.7)" , "pytest-checkdocs (>=2.4)" , "pytest-cov" , "pytest-enabler (>=1.3)" , "pytest-mypy (>=0.9.1)" , "pytest-perf" , "pytest-ruff" , "pytest-timeout" , "pytest-xdist" , "tomli-w (>=1.0.0)" , "virtualenv (>=13.0.0)" , "wheel" ]
testing-integration = [ "build[virtualenv]" , "filelock (>=3.4.0)" , "jaraco.envs (>=2.2)" , "jaraco.path (>=3.2.0)" , "pytest" , "pytest-enabler" , "pytest-xdist" , "tomli" , "virtualenv (>=13.0.0)" , "wheel" ]
[ [ package ] ]
name = "six"
version = "1.16.0"
description = "Python 2 and 3 compatibility utilities"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
{ file = "six-1.16.0-py2.py3-none-any.whl" , hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" } ,
{ file = "six-1.16.0.tar.gz" , hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926" } ,
]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "smart-open"
2023-10-17 01:13:31 +00:00
version = "6.4.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Utils for streaming large files (S3, HDFS, GCS, Azure Blob Storage, gzip, bz2...)"
optional = true
python-versions = ">=3.6,<4.0"
files = [
2023-10-17 01:13:31 +00:00
{ file = "smart_open-6.4.0-py3-none-any.whl" , hash = "sha256:8d3ef7e6997e8e42dd55c74166ed21e6ac70664caa32dd940b26d54a8f6b4142" } ,
{ file = "smart_open-6.4.0.tar.gz" , hash = "sha256:be3c92c246fbe80ebce8fbacb180494a481a77fcdcb7c1aadb2ea5b9c2bee8b9" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . extras ]
all = [ "azure-common" , "azure-core" , "azure-storage-blob" , "boto3" , "google-cloud-storage (>=2.6.0)" , "paramiko" , "requests" ]
azure = [ "azure-common" , "azure-core" , "azure-storage-blob" ]
gcs = [ "google-cloud-storage (>=2.6.0)" ]
http = [ "requests" ]
s3 = [ "boto3" ]
ssh = [ "paramiko" ]
test = [ "azure-common" , "azure-core" , "azure-storage-blob" , "boto3" , "google-cloud-storage (>=2.6.0)" , "moto[server]" , "paramiko" , "pytest" , "pytest-rerunfailures" , "requests" , "responses" ]
webhdfs = [ "requests" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "sniffio"
version = "1.3.0"
description = "Sniff out which async library your code is running under"
optional = false
python-versions = ">=3.7"
files = [
{ file = "sniffio-1.3.0-py3-none-any.whl" , hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384" } ,
{ file = "sniffio-1.3.0.tar.gz" , hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101" } ,
]
[ [ package ] ]
name = "soupsieve"
2023-10-17 01:13:31 +00:00
version = "2.5"
2023-07-21 17:36:28 +00:00
description = "A modern CSS selector implementation for Beautiful Soup."
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "soupsieve-2.5-py3-none-any.whl" , hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7" } ,
{ file = "soupsieve-2.5.tar.gz" , hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690" } ,
2023-07-21 17:36:28 +00:00
]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "spacy"
2023-10-17 01:13:31 +00:00
version = "3.7.2"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Industrial-strength Natural Language Processing (NLP) in Python"
optional = true
2023-10-17 01:13:31 +00:00
python-versions = ">=3.7"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "spacy-3.7.2-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:b4e285366d36c85f784d606a2d966912a18f4d24d47330c1c6acbdd9f19ee373" } ,
{ file = "spacy-3.7.2-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:f132c05368781be5d3be3d706afce7e7a9a0c9edc0dbb7c616162c37bc386561" } ,
{ file = "spacy-3.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:2e3767b2cabbe337d62779ae4fdc4d57a39755c17dfc499de3ad2bae622caa43" } ,
{ file = "spacy-3.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7a748ade269bdbea9baaa49ec00882404e7e921163cdc14f5612320d0a957dfd" } ,
{ file = "spacy-3.7.2-cp310-cp310-win_amd64.whl" , hash = "sha256:66467128e494bfa4dc9c3996e4cbb26bac4741bca4cdd8dd83a6e71182148945" } ,
{ file = "spacy-3.7.2-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:5af30aea578e7414fb0eb4dbad0ff0fa0a7d8e833c3e733eceb2617534714c7d" } ,
{ file = "spacy-3.7.2-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:7293de33b1e9ede151555070ad0fee3bac98aefcaac9e615eeeb4296846bd479" } ,
{ file = "spacy-3.7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:26940681cf20c8831c558e2c3d345ff20b5bc3c5e6d41c66172d0c5136042f0b" } ,
{ file = "spacy-3.7.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:9a334667625153f7aaf188c20af7e82c886e41a88483a056accba5a7d51095c6" } ,
{ file = "spacy-3.7.2-cp311-cp311-win_amd64.whl" , hash = "sha256:43e6147d3583b62a2d3af0cd913ac025068196d587345751e198391ff0b8c1e9" } ,
{ file = "spacy-3.7.2-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:2558df8c11905a0f77a2a3639a12ef8a522d171bcd88eaec039bedf6c60d7e01" } ,
{ file = "spacy-3.7.2-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:df1b9c4bbadc89bad10dba226d52c113e231ea6ad35c8a916ab138b31f69fa24" } ,
{ file = "spacy-3.7.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:bbbe055d2170ac7505a9f580bbdcd2146d0701bdbd6cea2333e18b0db655b97a" } ,
{ file = "spacy-3.7.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:d35129b16ae2ca4212bf22a5c88b67b1e019e434fc48b69d3b95f80bc9e14e42" } ,
{ file = "spacy-3.7.2-cp312-cp312-win_amd64.whl" , hash = "sha256:a7419682aba99624cc4df7df66764b6ec62ff415f32c3682c1af2a37bd11a913" } ,
{ file = "spacy-3.7.2-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:b12ab9c4923ffd38da84baf09464982da44e8275d680fb3c5da2051d7dd7bd2d" } ,
{ file = "spacy-3.7.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:09c5c9db529dc1caa908813c58ba1643e929d2c811768596a2b64e2e01a882b1" } ,
{ file = "spacy-3.7.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:bcaad95e3e7d0ea8f381f3e2d9e80b7f346ecb6566de9bd55361736fa563fc22" } ,
{ file = "spacy-3.7.2-cp37-cp37m-win_amd64.whl" , hash = "sha256:5d9b12284871ca5daa7774604a964486957567a86f1af898da0260e94b815e0d" } ,
{ file = "spacy-3.7.2-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:2bd89770f61d5980e788ef382297322cceb7dcc4b848d68cb1da8af7d80d6eb6" } ,
{ file = "spacy-3.7.2-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:d42f9151a2f01b34227ed31c8db8b7c67889ebcc637eae390faec8093ea1fb12" } ,
{ file = "spacy-3.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c3d25d2f22ba1d2dd46d103e4a54826582de2b853b6f95dfb97b005563b38838" } ,
{ file = "spacy-3.7.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:730f23340dd157817d2da6df21f69966791b0bdbd6ea108845a65f3e1c0e981c" } ,
{ file = "spacy-3.7.2-cp38-cp38-win_amd64.whl" , hash = "sha256:9c2f3f04b4b894a6c42ee93cec2f2b158f246f344927e65d9d19b72c5a6493ea" } ,
{ file = "spacy-3.7.2-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:b22e0e8dac76740d55556fa13ebb9e1c829779ea0b7ec7a9e04f32efc66f74b9" } ,
{ file = "spacy-3.7.2-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:ad7f378350104ca1f9e81180485d8b094aad7acb9b4bce84f1387b905cf230a2" } ,
{ file = "spacy-3.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:9ccbffb7825c08c0586ef7384d0aa23196f9ac106b5c7b3c551907316930f94f" } ,
{ file = "spacy-3.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:111955d7f4786b952672e9c5cfd9f8b74d81e64b62d479f71efe9cfc2a027a1d" } ,
{ file = "spacy-3.7.2-cp39-cp39-win_amd64.whl" , hash = "sha256:e8a7291e7e1cfcb6041b26f96d0a66b603725c1beff4e0391c3d9226fae16e04" } ,
{ file = "spacy-3.7.2.tar.gz" , hash = "sha256:cedf4927bf0d3fec773a6ce48d5d2c91bdb02fed3c7d5ec07bdb873f1126f1a0" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
catalogue = ">=2.0.6,<2.1.0"
cymem = ">=2.0.2,<2.1.0"
jinja2 = "*"
langcodes = ">=3.2.0,<4.0.0"
murmurhash = ">=0.28.0,<1.1.0"
2023-10-17 01:13:31 +00:00
numpy = [
{ version = ">=1.15.0" , markers = "python_version < \"3.9\"" } ,
{ version = ">=1.19.0" , markers = "python_version >= \"3.9\"" } ,
]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
packaging = ">=20.0"
preshed = ">=3.0.2,<3.1.0"
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0"
requests = ">=2.13.0,<3.0.0"
setuptools = "*"
smart-open = ">=5.2.1,<7.0.0"
spacy-legacy = ">=3.0.11,<3.1.0"
spacy-loggers = ">=1.0.0,<2.0.0"
srsly = ">=2.4.3,<3.0.0"
2023-10-17 01:13:31 +00:00
thinc = ">=8.1.8,<8.3.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
tqdm = ">=4.38.0,<5.0.0"
typer = ">=0.3.0,<0.10.0"
wasabi = ">=0.9.1,<1.2.0"
2023-10-17 01:13:31 +00:00
weasel = ">=0.1.0,<0.4.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ package . extras ]
apple = [ "thinc-apple-ops (>=0.1.0.dev0,<1.0.0)" ]
cuda = [ "cupy (>=5.0.0b4,<13.0.0)" ]
cuda-autodetect = [ "cupy-wheel (>=11.0.0,<13.0.0)" ]
cuda100 = [ "cupy-cuda100 (>=5.0.0b4,<13.0.0)" ]
cuda101 = [ "cupy-cuda101 (>=5.0.0b4,<13.0.0)" ]
cuda102 = [ "cupy-cuda102 (>=5.0.0b4,<13.0.0)" ]
cuda110 = [ "cupy-cuda110 (>=5.0.0b4,<13.0.0)" ]
cuda111 = [ "cupy-cuda111 (>=5.0.0b4,<13.0.0)" ]
cuda112 = [ "cupy-cuda112 (>=5.0.0b4,<13.0.0)" ]
cuda113 = [ "cupy-cuda113 (>=5.0.0b4,<13.0.0)" ]
cuda114 = [ "cupy-cuda114 (>=5.0.0b4,<13.0.0)" ]
cuda115 = [ "cupy-cuda115 (>=5.0.0b4,<13.0.0)" ]
cuda116 = [ "cupy-cuda116 (>=5.0.0b4,<13.0.0)" ]
cuda117 = [ "cupy-cuda117 (>=5.0.0b4,<13.0.0)" ]
cuda11x = [ "cupy-cuda11x (>=11.0.0,<13.0.0)" ]
cuda12x = [ "cupy-cuda12x (>=11.5.0,<13.0.0)" ]
cuda80 = [ "cupy-cuda80 (>=5.0.0b4,<13.0.0)" ]
cuda90 = [ "cupy-cuda90 (>=5.0.0b4,<13.0.0)" ]
cuda91 = [ "cupy-cuda91 (>=5.0.0b4,<13.0.0)" ]
cuda92 = [ "cupy-cuda92 (>=5.0.0b4,<13.0.0)" ]
ja = [ "sudachidict-core (>=20211220)" , "sudachipy (>=0.5.2,!=0.6.1)" ]
ko = [ "natto-py (>=0.9.0)" ]
lookups = [ "spacy-lookups-data (>=1.0.3,<1.1.0)" ]
th = [ "pythainlp (>=2.0)" ]
2023-10-17 01:13:31 +00:00
transformers = [ "spacy-transformers (>=1.1.2,<1.4.0)" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "spacy-legacy"
version = "3.0.12"
description = "Legacy registered functions for spaCy backwards compatibility"
optional = true
python-versions = ">=3.6"
files = [
{ file = "spacy-legacy-3.0.12.tar.gz" , hash = "sha256:b37d6e0c9b6e1d7ca1cf5bc7152ab64a4c4671f59c85adaf7a3fcb870357a774" } ,
{ file = "spacy_legacy-3.0.12-py2.py3-none-any.whl" , hash = "sha256:476e3bd0d05f8c339ed60f40986c07387c0a71479245d6d0f4298dbd52cda55f" } ,
]
[ [ package ] ]
name = "spacy-loggers"
2023-10-17 01:13:31 +00:00
version = "1.0.5"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Logging utilities for SpaCy"
optional = true
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "spacy-loggers-1.0.5.tar.gz" , hash = "sha256:d60b0bdbf915a60e516cc2e653baeff946f0cfc461b452d11a4d5458c6fe5f24" } ,
{ file = "spacy_loggers-1.0.5-py3-none-any.whl" , hash = "sha256:196284c9c446cc0cdb944005384270d775fdeaf4f494d8e269466cfa497ef645" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "sqlalchemy"
2023-11-07 23:15:09 +00:00
version = "2.0.23"
2023-07-21 17:36:28 +00:00
description = "Database Abstraction Library"
optional = false
python-versions = ">=3.7"
files = [
2023-11-07 23:15:09 +00:00
{ file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:638c2c0b6b4661a4fd264f6fb804eccd392745c5887f9317feb64bb7cb03b3ea" } ,
{ file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:e3b5036aa326dc2df50cba3c958e29b291a80f604b1afa4c8ce73e78e1c9f01d" } ,
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
{ file = "SQLAlchemy-2.0.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:787af80107fb691934a01889ca8f82a44adedbf5ef3d6ad7d0f0b9ac557e0c34" } ,
2023-11-07 23:15:09 +00:00
{ file = "SQLAlchemy-2.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c14eba45983d2f48f7546bb32b47937ee2cafae353646295f0e99f35b14286ab" } ,
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
{ file = "SQLAlchemy-2.0.23-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:0666031df46b9badba9bed00092a1ffa3aa063a5e68fa244acd9f08070e936d3" } ,
2023-11-07 23:15:09 +00:00
{ file = "SQLAlchemy-2.0.23-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:89a01238fcb9a8af118eaad3ffcc5dedaacbd429dc6fdc43fe430d3a941ff965" } ,
{ file = "SQLAlchemy-2.0.23-cp310-cp310-win32.whl" , hash = "sha256:cabafc7837b6cec61c0e1e5c6d14ef250b675fa9c3060ed8a7e38653bd732ff8" } ,
{ file = "SQLAlchemy-2.0.23-cp310-cp310-win_amd64.whl" , hash = "sha256:87a3d6b53c39cd173990de2f5f4b83431d534a74f0e2f88bd16eabb5667e65c6" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:d5578e6863eeb998980c212a39106ea139bdc0b3f73291b96e27c929c90cd8e1" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:62d9e964870ea5ade4bc870ac4004c456efe75fb50404c03c5fd61f8bc669a72" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c80c38bd2ea35b97cbf7c21aeb129dcbebbf344ee01a7141016ab7b851464f8e" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:75eefe09e98043cff2fb8af9796e20747ae870c903dc61d41b0c2e55128f958d" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:bd45a5b6c68357578263d74daab6ff9439517f87da63442d244f9f23df56138d" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:a86cb7063e2c9fb8e774f77fbf8475516d270a3e989da55fa05d08089d77f8c4" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-win32.whl" , hash = "sha256:b41f5d65b54cdf4934ecede2f41b9c60c9f785620416e8e6c48349ab18643855" } ,
{ file = "SQLAlchemy-2.0.23-cp311-cp311-win_amd64.whl" , hash = "sha256:9ca922f305d67605668e93991aaf2c12239c78207bca3b891cd51a4515c72e22" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:d0f7fb0c7527c41fa6fcae2be537ac137f636a41b4c5a4c58914541e2f436b45" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:7c424983ab447dab126c39d3ce3be5bee95700783204a72549c3dceffe0fc8f4" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:f508ba8f89e0a5ecdfd3761f82dda2a3d7b678a626967608f4273e0dba8f07ac" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6463aa765cf02b9247e38b35853923edbf2f6fd1963df88706bc1d02410a5577" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:e599a51acf3cc4d31d1a0cf248d8f8d863b6386d2b6782c5074427ebb7803bda" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:fd54601ef9cc455a0c61e5245f690c8a3ad67ddb03d3b91c361d076def0b4c60" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-win32.whl" , hash = "sha256:42d0b0290a8fb0165ea2c2781ae66e95cca6e27a2fbe1016ff8db3112ac1e846" } ,
{ file = "SQLAlchemy-2.0.23-cp312-cp312-win_amd64.whl" , hash = "sha256:227135ef1e48165f37590b8bfc44ed7ff4c074bf04dc8d6f8e7f1c14a94aa6ca" } ,
{ file = "SQLAlchemy-2.0.23-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:14aebfe28b99f24f8a4c1346c48bc3d63705b1f919a24c27471136d2f219f02d" } ,
{ file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3e983fa42164577d073778d06d2cc5d020322425a509a08119bdcee70ad856bf" } ,
{ file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7e0dc9031baa46ad0dd5a269cb7a92a73284d1309228be1d5935dac8fb3cae24" } ,
{ file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:5f94aeb99f43729960638e7468d4688f6efccb837a858b34574e01143cf11f89" } ,
{ file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:63bfc3acc970776036f6d1d0e65faa7473be9f3135d37a463c5eba5efcdb24c8" } ,
{ file = "SQLAlchemy-2.0.23-cp37-cp37m-win32.whl" , hash = "sha256:f48ed89dd11c3c586f45e9eec1e437b355b3b6f6884ea4a4c3111a3358fd0c18" } ,
{ file = "SQLAlchemy-2.0.23-cp37-cp37m-win_amd64.whl" , hash = "sha256:1e018aba8363adb0599e745af245306cb8c46b9ad0a6fc0a86745b6ff7d940fc" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:64ac935a90bc479fee77f9463f298943b0e60005fe5de2aa654d9cdef46c54df" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:c4722f3bc3c1c2fcc3702dbe0016ba31148dd6efcd2a2fd33c1b4897c6a19693" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4af79c06825e2836de21439cb2a6ce22b2ca129bad74f359bddd173f39582bf5" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:683ef58ca8eea4747737a1c35c11372ffeb84578d3aab8f3e10b1d13d66f2bc4" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:d4041ad05b35f1f4da481f6b811b4af2f29e83af253bf37c3c4582b2c68934ab" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:aeb397de65a0a62f14c257f36a726945a7f7bb60253462e8602d9b97b5cbe204" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-win32.whl" , hash = "sha256:42ede90148b73fe4ab4a089f3126b2cfae8cfefc955c8174d697bb46210c8306" } ,
{ file = "SQLAlchemy-2.0.23-cp38-cp38-win_amd64.whl" , hash = "sha256:964971b52daab357d2c0875825e36584d58f536e920f2968df8d581054eada4b" } ,
{ file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:616fe7bcff0a05098f64b4478b78ec2dfa03225c23734d83d6c169eb41a93e55" } ,
{ file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:0e680527245895aba86afbd5bef6c316831c02aa988d1aad83c47ffe92655e74" } ,
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
{ file = "SQLAlchemy-2.0.23-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:9585b646ffb048c0250acc7dad92536591ffe35dba624bb8fd9b471e25212a35" } ,
2023-11-07 23:15:09 +00:00
{ file = "SQLAlchemy-2.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:4895a63e2c271ffc7a81ea424b94060f7b3b03b4ea0cd58ab5bb676ed02f4221" } ,
experimental[patch]: missing resolution strategy in anonymization (#16653)
- **Description:** Presidio-based anonymizers are not working because
`_remove_conflicts_and_get_text_manipulation_data` was being called
without a conflict resolution strategy. This PR fixes this issue. In
addition, it removes some mutable default arguments (antipattern).
To reproduce the issue, just run the very first cell of this
[notebook](https://python.langchain.com/docs/guides/privacy/2/) from
langchain's documentation.
<!-- Thank you for contributing to LangChain!
Please title your PR "<package>: <description>", where <package> is
whichever of langchain, community, core, experimental, etc. is being
modified.
Replace this entire comment with:
- **Description:** a description of the change,
- **Issue:** the issue # it fixes if applicable,
- **Dependencies:** any dependencies required for this change,
- **Twitter handle:** we announce bigger features on Twitter. If your PR
gets announced, and you'd like a mention, we'll gladly shout you out!
Please make sure your PR is passing linting and testing before
submitting. Run `make format`, `make lint` and `make test` from the root
of the package you've modified to check this locally.
See contribution guidelines for more information on how to write/run
tests, lint, etc: https://python.langchain.com/docs/contributing/
If you're adding a new integration, please include:
1. a test for the integration, preferably unit tests that do not rely on
network access,
2. an example notebook showing its use. It lives in
`docs/docs/integrations` directory.
If no one reviews your PR within a few days, please @-mention one of
@baskaryan, @eyurtsev, @hwchase17.
-->
2024-01-29 17:56:16 +00:00
{ file = "SQLAlchemy-2.0.23-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:cc1d21576f958c42d9aec68eba5c1a7d715e5fc07825a629015fe8e3b0657fb0" } ,
2023-11-07 23:15:09 +00:00
{ file = "SQLAlchemy-2.0.23-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:967c0b71156f793e6662dd839da54f884631755275ed71f1539c95bbada9aaab" } ,
{ file = "SQLAlchemy-2.0.23-cp39-cp39-win32.whl" , hash = "sha256:0a8c6aa506893e25a04233bc721c6b6cf844bafd7250535abb56cb6cc1368884" } ,
{ file = "SQLAlchemy-2.0.23-cp39-cp39-win_amd64.whl" , hash = "sha256:f3420d00d2cb42432c1d0e44540ae83185ccbbc67a6054dcc8ab5387add6620b" } ,
{ file = "SQLAlchemy-2.0.23-py3-none-any.whl" , hash = "sha256:31952bbc527d633b9479f5f81e8b9dfada00b91d6baba021a869095f1a97006d" } ,
{ file = "SQLAlchemy-2.0.23.tar.gz" , hash = "sha256:c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69" } ,
2023-08-22 18:09:35 +00:00
]
[ package . dependencies ]
2024-02-19 21:12:22 +00:00
greenlet = { version = "!=0.4.17" , markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\"" }
2023-07-21 17:36:28 +00:00
typing-extensions = ">=4.2.0"
[ package . extras ]
2023-08-22 18:09:35 +00:00
aiomysql = [ "aiomysql (>=0.2.0)" , "greenlet (!=0.4.17)" ]
2023-11-07 23:15:09 +00:00
aioodbc = [ "aioodbc" , "greenlet (!=0.4.17)" ]
2023-07-21 17:36:28 +00:00
aiosqlite = [ "aiosqlite" , "greenlet (!=0.4.17)" , "typing-extensions (!=3.10.0.1)" ]
asyncio = [ "greenlet (!=0.4.17)" ]
asyncmy = [ "asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)" , "greenlet (!=0.4.17)" ]
mariadb-connector = [ "mariadb (>=1.0.1,!=1.1.2,!=1.1.5)" ]
mssql = [ "pyodbc" ]
mssql-pymssql = [ "pymssql" ]
mssql-pyodbc = [ "pyodbc" ]
mypy = [ "mypy (>=0.910)" ]
mysql = [ "mysqlclient (>=1.4.0)" ]
mysql-connector = [ "mysql-connector-python" ]
2023-11-07 23:15:09 +00:00
oracle = [ "cx-oracle (>=8)" ]
2023-07-21 17:36:28 +00:00
oracle-oracledb = [ "oracledb (>=1.0.1)" ]
postgresql = [ "psycopg2 (>=2.7)" ]
postgresql-asyncpg = [ "asyncpg" , "greenlet (!=0.4.17)" ]
postgresql-pg8000 = [ "pg8000 (>=1.29.1)" ]
postgresql-psycopg = [ "psycopg (>=3.0.7)" ]
postgresql-psycopg2binary = [ "psycopg2-binary" ]
postgresql-psycopg2cffi = [ "psycopg2cffi" ]
postgresql-psycopgbinary = [ "psycopg[binary] (>=3.0.7)" ]
pymysql = [ "pymysql" ]
sqlcipher = [ "sqlcipher3-binary" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "srsly"
2023-10-17 01:13:31 +00:00
version = "2.4.8"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Modern high-performance serialization utilities for Python"
optional = true
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "srsly-2.4.8-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:17f3bcb418bb4cf443ed3d4dcb210e491bd9c1b7b0185e6ab10b6af3271e63b2" } ,
{ file = "srsly-2.4.8-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:0b070a58e21ab0e878fd949f932385abb4c53dd0acb6d3a7ee75d95d447bc609" } ,
{ file = "srsly-2.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:98286d20014ed2067ad02b0be1e17c7e522255b188346e79ff266af51a54eb33" } ,
{ file = "srsly-2.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:18685084e2e0cc47c25158cbbf3e44690e494ef77d6418c2aae0598c893f35b0" } ,
{ file = "srsly-2.4.8-cp310-cp310-win_amd64.whl" , hash = "sha256:980a179cbf4eb5bc56f7507e53f76720d031bcf0cef52cd53c815720eb2fc30c" } ,
{ file = "srsly-2.4.8-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:5472ed9f581e10c32e79424c996cf54c46c42237759f4224806a0cd4bb770993" } ,
{ file = "srsly-2.4.8-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:50f10afe9230072c5aad9f6636115ea99b32c102f4c61e8236d8642c73ec7a13" } ,
{ file = "srsly-2.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:c994a89ba247a4d4f63ef9fdefb93aa3e1f98740e4800d5351ebd56992ac75e3" } ,
{ file = "srsly-2.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:ace7ed4a0c20fa54d90032be32f9c656b6d75445168da78d14fe9080a0c208ad" } ,
{ file = "srsly-2.4.8-cp311-cp311-win_amd64.whl" , hash = "sha256:7a919236a090fb93081fbd1cec030f675910f3863825b34a9afbcae71f643127" } ,
{ file = "srsly-2.4.8-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:7583c03d114b4478b7a357a1915305163e9eac2dfe080da900555c975cca2a11" } ,
{ file = "srsly-2.4.8-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:94ccdd2f6db824c31266aaf93e0f31c1c43b8bc531cd2b3a1d924e3c26a4f294" } ,
{ file = "srsly-2.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:db72d2974f91aee652d606c7def98744ca6b899bd7dd3009fd75ebe0b5a51034" } ,
{ file = "srsly-2.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:6a60c905fd2c15e848ce1fc315fd34d8a9cc72c1dee022a0d8f4c62991131307" } ,
{ file = "srsly-2.4.8-cp312-cp312-win_amd64.whl" , hash = "sha256:e0b8d5722057000694edf105b8f492e7eb2f3aa6247a5f0c9170d1e0d074151c" } ,
{ file = "srsly-2.4.8-cp36-cp36m-macosx_10_9_x86_64.whl" , hash = "sha256:196b4261f9d6372d1d3d16d1216b90c7e370b4141471322777b7b3c39afd1210" } ,
{ file = "srsly-2.4.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:4750017e6d78590b02b12653e97edd25aefa4734281386cc27501d59b7481e4e" } ,
{ file = "srsly-2.4.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:aa034cd582ba9e4a120c8f19efa263fcad0f10fc481e73fb8c0d603085f941c4" } ,
{ file = "srsly-2.4.8-cp36-cp36m-win_amd64.whl" , hash = "sha256:5a78ab9e9d177ee8731e950feb48c57380036d462b49e3fb61a67ce529ff5f60" } ,
{ file = "srsly-2.4.8-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:087e36439af517e259843df93eb34bb9e2d2881c34fa0f541589bcfbc757be97" } ,
{ file = "srsly-2.4.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ad141d8a130cb085a0ed3a6638b643e2b591cb98a4591996780597a632acfe20" } ,
{ file = "srsly-2.4.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:24d05367b2571c0d08d00459636b951e3ca2a1e9216318c157331f09c33489d3" } ,
{ file = "srsly-2.4.8-cp37-cp37m-win_amd64.whl" , hash = "sha256:3fd661a1c4848deea2849b78f432a70c75d10968e902ca83c07c89c9b7050ab8" } ,
{ file = "srsly-2.4.8-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:ec37233fe39af97b00bf20dc2ceda04d39b9ea19ce0ee605e16ece9785e11f65" } ,
{ file = "srsly-2.4.8-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:d2fd4bc081f1d6a6063396b6d97b00d98e86d9d3a3ac2949dba574a84e148080" } ,
{ file = "srsly-2.4.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:7347cff1eb4ef3fc335d9d4acc89588051b2df43799e5d944696ef43da79c873" } ,
{ file = "srsly-2.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:5a9dc1da5cc94d77056b91ba38365c72ae08556b6345bef06257c7e9eccabafe" } ,
{ file = "srsly-2.4.8-cp38-cp38-win_amd64.whl" , hash = "sha256:dc0bf7b6f23c9ecb49ec0924dc645620276b41e160e9b283ed44ca004c060d79" } ,
{ file = "srsly-2.4.8-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:ff8df21d00d73c371bead542cefef365ee87ca3a5660de292444021ff84e3b8c" } ,
{ file = "srsly-2.4.8-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:0ac3e340e65a9fe265105705586aa56054dc3902789fcb9a8f860a218d6c0a00" } ,
{ file = "srsly-2.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:06d1733f4275eff4448e96521cc7dcd8fdabd68ba9b54ca012dcfa2690db2644" } ,
{ file = "srsly-2.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:be5b751ad88fdb58fb73871d456248c88204f213aaa3c9aab49b6a1802b3fa8d" } ,
{ file = "srsly-2.4.8-cp39-cp39-win_amd64.whl" , hash = "sha256:822a38b8cf112348f3accbc73274a94b7bf82515cb14a85ba586d126a5a72851" } ,
{ file = "srsly-2.4.8.tar.gz" , hash = "sha256:b24d95a65009c2447e0b49cda043ac53fecf4f09e358d87a57446458f91b8a91" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
catalogue = ">=2.0.3,<2.1.0"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "stack-data"
2023-10-17 01:13:31 +00:00
version = "0.6.3"
2023-07-21 17:36:28 +00:00
description = "Extract data from python stack frames and tracebacks for informative displays"
optional = false
python-versions = "*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "stack_data-0.6.3-py3-none-any.whl" , hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695" } ,
{ file = "stack_data-0.6.3.tar.gz" , hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9" } ,
2023-07-21 17:36:28 +00:00
]
[ package . dependencies ]
asttokens = ">=2.1.0"
executing = ">=1.2.0"
pure-eval = "*"
[ package . extras ]
tests = [ "cython" , "littleutils" , "pygments" , "pytest" , "typeguard" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "sympy"
version = "1.12"
description = "Computer algebra system (CAS) in Python"
optional = true
python-versions = ">=3.8"
files = [
{ file = "sympy-1.12-py3-none-any.whl" , hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5" } ,
{ file = "sympy-1.12.tar.gz" , hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8" } ,
]
[ package . dependencies ]
mpmath = ">=0.19"
2024-02-13 05:58:35 +00:00
[ [ package ] ]
name = "tabulate"
version = "0.9.0"
description = "Pretty-print tabular data"
optional = true
python-versions = ">=3.7"
files = [
{ file = "tabulate-0.9.0-py3-none-any.whl" , hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f" } ,
{ file = "tabulate-0.9.0.tar.gz" , hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c" } ,
]
[ package . extras ]
widechars = [ "wcwidth" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "tenacity"
2023-08-22 18:09:35 +00:00
version = "8.2.3"
2023-07-21 17:36:28 +00:00
description = "Retry code until it succeeds"
optional = false
2023-08-22 18:09:35 +00:00
python-versions = ">=3.7"
2023-07-21 17:36:28 +00:00
files = [
2023-08-22 18:09:35 +00:00
{ file = "tenacity-8.2.3-py3-none-any.whl" , hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c" } ,
{ file = "tenacity-8.2.3.tar.gz" , hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
doc = [ "reno" , "sphinx" , "tornado (>=4.5)" ]
[ [ package ] ]
name = "terminado"
version = "0.17.1"
description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library."
optional = false
python-versions = ">=3.7"
files = [
{ file = "terminado-0.17.1-py3-none-any.whl" , hash = "sha256:8650d44334eba354dd591129ca3124a6ba42c3d5b70df5051b6921d506fdaeae" } ,
{ file = "terminado-0.17.1.tar.gz" , hash = "sha256:6ccbbcd3a4f8a25a5ec04991f39a0b8db52dfcd487ea0e578d977e6752380333" } ,
]
[ package . dependencies ]
ptyprocess = { version = "*" , markers = "os_name != \"nt\"" }
pywinpty = { version = ">=1.1.0" , markers = "os_name == \"nt\"" }
tornado = ">=6.1.0"
[ package . extras ]
docs = [ "myst-parser" , "pydata-sphinx-theme" , "sphinx" ]
test = [ "pre-commit" , "pytest (>=7.0)" , "pytest-timeout" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "thinc"
2023-10-17 01:13:31 +00:00
version = "8.2.1"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "A refreshing functional take on deep learning, compatible with your favorite libraries"
optional = true
python-versions = ">=3.6"
files = [
2023-10-17 01:13:31 +00:00
{ file = "thinc-8.2.1-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:67948bbcf86c3ace8838ca4cdb72977b051d8ee024eeb631d94467be18b15271" } ,
{ file = "thinc-8.2.1-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:8e1a558b323f15f60bd79ba3cb95f78945e76748684db00052587270217b96a5" } ,
{ file = "thinc-8.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ca97679f14f3cd73be76375d6792ac2685c7eca50260cef1810415a2c75ac6c5" } ,
{ file = "thinc-8.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:228dabcb8667ff19b2576718e4201b203c3f78dfbed4fa79caab8eef6d5fed48" } ,
{ file = "thinc-8.2.1-cp310-cp310-win_amd64.whl" , hash = "sha256:b02dadc3e41dd5cfd515f0c60aa3e5c472e02c12613a1bb9d837ce5f49cf9d34" } ,
{ file = "thinc-8.2.1-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:0afbcd243d27c076b8c47aded8e5e0aff2ff683af6b95a39839fe3aea862cfd9" } ,
{ file = "thinc-8.2.1-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:4704354879abb052fbd2c658cd6df20d7bba40790ded0e81e994c879849b62f4" } ,
{ file = "thinc-8.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:8d6257369950002abe09d64b4f161d10d73af5df3764aea89f70cae018cca14b" } ,
{ file = "thinc-8.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:7a2ce2f93a06f8e56796fd2b9d237b6f6ef36ccd9dec66cb38d0092a3947c875" } ,
{ file = "thinc-8.2.1-cp311-cp311-win_amd64.whl" , hash = "sha256:5bbefd9939302ebed6d48f57b959be899b23a0c85f1afaf50c82e7b493e5de04" } ,
{ file = "thinc-8.2.1-cp312-cp312-macosx_10_9_x86_64.whl" , hash = "sha256:70fabf9e3d7f4da9804be9d29800dab7506cac12598735edb05ed1cec7b2ee50" } ,
{ file = "thinc-8.2.1-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:0fe6f36faa5a0a69d267d7196d821a9730b3bf1817941db2a83780a199599cd5" } ,
{ file = "thinc-8.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b8a1bc995cace52503c906b87ff0cf428b94435b8b70539c6e6ad29b526925c5" } ,
{ file = "thinc-8.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:be1f169f01451010822cde5052db3fee25a0793abebe8fbd48d02955a33d0692" } ,
{ file = "thinc-8.2.1-cp312-cp312-win_amd64.whl" , hash = "sha256:9cf766fac7e845e96e509ac9545ea1a60034a069aee3d75068b6e46da084c206" } ,
{ file = "thinc-8.2.1-cp36-cp36m-macosx_10_9_x86_64.whl" , hash = "sha256:0ad99b6d1f7c149137497c6ae9345304fd7465c0c290c00cedd504ff5ae5485d" } ,
{ file = "thinc-8.2.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:beda7380017df1fbdf8de1733851464886283786c3c9149e2ac7cef612eff6ed" } ,
{ file = "thinc-8.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:95e6ae6309f110440bcbd6a03b5b4b940d7c607afd2027a6b638336cc42a2171" } ,
{ file = "thinc-8.2.1-cp36-cp36m-win_amd64.whl" , hash = "sha256:aaad5532c3abd2fe69500426a102a3b53725a78eba5ba6867bed9e6b8de0bcba" } ,
{ file = "thinc-8.2.1-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:3c32c1e1e60b5e676f1f618915fbb20547b573998693704d0b4987d972e35a62" } ,
{ file = "thinc-8.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:6eae5a3415ff9be0fa21671a58166e82fe6c9ee832252779fd92c31c03692fb7" } ,
{ file = "thinc-8.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:79e66eed14c2e7b333d69b376f8a091efad366e172b11e39c04814b54969b399" } ,
{ file = "thinc-8.2.1-cp37-cp37m-win_amd64.whl" , hash = "sha256:8a1a2ef7061e23507f8172adb7978f7b7bc0bd4ccb266149de7065ee5331e1ea" } ,
{ file = "thinc-8.2.1-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:d0216e17be5ddcc1014af55d2e02388698fb64dbc9f32a4782df0a3860615057" } ,
{ file = "thinc-8.2.1-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:16e7c0988df852cbae40ac03f45e11e3c39300b05dff87267c6fc13108723985" } ,
{ file = "thinc-8.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:637fafb7d3b51f2aa611371761578fe9999d2675f4fc87eb09e736648d12be30" } ,
{ file = "thinc-8.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c27bab1026284fba355eda7d83ebc0612ace437fb50ddc9d390e71d732b67e20" } ,
{ file = "thinc-8.2.1-cp38-cp38-win_amd64.whl" , hash = "sha256:88dab842c68c8e9f0b75a7b4352b53eaa385db2a1de91e276219bfcfda27e47b" } ,
{ file = "thinc-8.2.1-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:5978a97b35a36adb133a83b9fc6cbb9f0c364f8db8525fa0ef5c4fc03f25b889" } ,
{ file = "thinc-8.2.1-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:e8181d86b1c8de8dae154ad02399a8d59beb62881c172926594a5f3d7dc0e625" } ,
{ file = "thinc-8.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:3ab83ade836933e34a82c61ff9fe0cb3ea9103165935ce9ea12102aff270dad9" } ,
{ file = "thinc-8.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:19387a23ef2ce2714572040c15f0896b6e0d3751e37ccc1d927c0447f8eac7a1" } ,
{ file = "thinc-8.2.1-cp39-cp39-win_amd64.whl" , hash = "sha256:229efc84666901730e5575d5ec3c852d02009478411b24c0640f45b42e87a21c" } ,
{ file = "thinc-8.2.1.tar.gz" , hash = "sha256:cd7fdb3d883a15e6906254e7fb0162f69878e9ccdd1f8519db6ffbfe46bf6f49" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
blis = ">=0.7.8,<0.8.0"
catalogue = ">=2.0.4,<2.1.0"
confection = ">=0.0.1,<1.0.0"
cymem = ">=2.0.2,<2.1.0"
murmurhash = ">=1.0.2,<1.1.0"
numpy = [
{ version = ">=1.15.0" , markers = "python_version < \"3.9\"" } ,
{ version = ">=1.19.0" , markers = "python_version >= \"3.9\"" } ,
]
packaging = ">=20.0"
preshed = ">=3.0.2,<3.1.0"
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0"
setuptools = "*"
srsly = ">=2.4.0,<3.0.0"
wasabi = ">=0.8.1,<1.2.0"
[ package . extras ]
cuda = [ "cupy (>=5.0.0b4)" ]
cuda-autodetect = [ "cupy-wheel (>=11.0.0)" ]
cuda100 = [ "cupy-cuda100 (>=5.0.0b4)" ]
cuda101 = [ "cupy-cuda101 (>=5.0.0b4)" ]
cuda102 = [ "cupy-cuda102 (>=5.0.0b4)" ]
cuda110 = [ "cupy-cuda110 (>=5.0.0b4)" ]
cuda111 = [ "cupy-cuda111 (>=5.0.0b4)" ]
cuda112 = [ "cupy-cuda112 (>=5.0.0b4)" ]
cuda113 = [ "cupy-cuda113 (>=5.0.0b4)" ]
cuda114 = [ "cupy-cuda114 (>=5.0.0b4)" ]
cuda115 = [ "cupy-cuda115 (>=5.0.0b4)" ]
cuda116 = [ "cupy-cuda116 (>=5.0.0b4)" ]
cuda117 = [ "cupy-cuda117 (>=5.0.0b4)" ]
cuda11x = [ "cupy-cuda11x (>=11.0.0)" ]
cuda80 = [ "cupy-cuda80 (>=5.0.0b4)" ]
cuda90 = [ "cupy-cuda90 (>=5.0.0b4)" ]
cuda91 = [ "cupy-cuda91 (>=5.0.0b4)" ]
cuda92 = [ "cupy-cuda92 (>=5.0.0b4)" ]
datasets = [ "ml-datasets (>=0.2.0,<0.3.0)" ]
mxnet = [ "mxnet (>=1.5.1,<1.6.0)" ]
tensorflow = [ "tensorflow (>=2.0.0,<2.6.0)" ]
torch = [ "torch (>=1.6.0)" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "threadpoolctl"
version = "3.2.0"
description = "threadpoolctl"
optional = true
python-versions = ">=3.8"
files = [
{ file = "threadpoolctl-3.2.0-py3-none-any.whl" , hash = "sha256:2b7818516e423bdaebb97c723f86a7c6b0a83d3f3b0970328d66f4d9104dc032" } ,
{ file = "threadpoolctl-3.2.0.tar.gz" , hash = "sha256:c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355" } ,
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "tinycss2"
version = "1.2.1"
description = "A tiny CSS parser"
optional = false
python-versions = ">=3.7"
files = [
{ file = "tinycss2-1.2.1-py3-none-any.whl" , hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847" } ,
{ file = "tinycss2-1.2.1.tar.gz" , hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627" } ,
]
[ package . dependencies ]
webencodings = ">=0.4"
[ package . extras ]
doc = [ "sphinx" , "sphinx_rtd_theme" ]
test = [ "flake8" , "isort" , "pytest" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "tldextract"
2023-11-07 23:15:09 +00:00
version = "5.1.0"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
description = "Accurately separates a URL's subdomain, domain, and public suffix, using the Public Suffix List (PSL). By default, this includes the public ICANN TLDs and their exceptions. You can optionally support the Public Suffix List's private domains as well."
optional = true
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "tldextract-5.1.0-py3-none-any.whl" , hash = "sha256:c8eecb15f556b43db6eebd21667640fb6fba9bc9539b48707432014913a78d13" } ,
{ file = "tldextract-5.1.0.tar.gz" , hash = "sha256:366acfb099c7eb5dc83545c391d73da6e3afe4eaec652417c3cf13b002a160e1" } ,
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
]
[ package . dependencies ]
filelock = ">=3.0.8"
idna = "*"
requests = ">=2.1.0"
requests-file = ">=1.4"
2023-11-07 23:15:09 +00:00
[ package . extras ]
testing = [ "black" , "mypy" , "pytest" , "pytest-gitignore" , "pytest-mock" , "responses" , "ruff" , "tox" , "types-filelock" , "types-requests" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "tokenizers"
2023-10-17 01:13:31 +00:00
version = "0.14.1"
2023-10-06 01:09:35 +00:00
description = ""
2023-09-11 16:20:19 +00:00
optional = true
2023-10-06 01:09:35 +00:00
python-versions = ">=3.7"
2023-09-11 16:20:19 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "tokenizers-0.14.1-cp310-cp310-macosx_10_7_x86_64.whl" , hash = "sha256:04ec1134a18ede355a05641cdc7700f17280e01f69f2f315769f02f7e295cf1e" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:638abedb39375f0ddce2de536fc9c976639b2d1b7202d715c2e7a25f0ebfd091" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:901635098565773a44f74068639d265f19deaaca47ea77b428fd9bee13a61d87" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:72e95184bf5b9a4c08153ed07c16c130ff174835c9a1e6ee2b311be758c8b3ef" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:ebefbc26ccff5e96ae7d40772172e7310174f9aa3683d2870a1882313ec3a4d5" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:d3a6330c9f1deda22873e8b4ac849cc06d3ff33d60b3217ac0bb397b541e1509" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:6cba7483ba45600346a35c466bde32327b108575022f73c35a0f7170b5a71ae2" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:60fec380778d75cbb492f14ca974f11f37b41d53c057b9c8ba213315b86e1f84" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:930c19b699dd7e1077eac98967adc2fe5f0b104bd96cc1f26778ab82b31ceb24" } ,
{ file = "tokenizers-0.14.1-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:a1e30a13376db5329570e09b14c8eb36c017909ed7e88591ca3aa81f3c7d6f32" } ,
{ file = "tokenizers-0.14.1-cp310-none-win32.whl" , hash = "sha256:370b5b86da9bddbe65fa08711f0e8ffdf8b0036558178d1a31dfcb44efcde72a" } ,
{ file = "tokenizers-0.14.1-cp310-none-win_amd64.whl" , hash = "sha256:c2c659f2106b6d154f118ad1b700e68148c46c59b720f04867b1fc5f26a85060" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-macosx_10_7_x86_64.whl" , hash = "sha256:00df4c5bf25c153b432b98689609b426ae701a44f3d8074dcb619f410bc2a870" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:fee553657dcdb7e73df8823c49e8611457ba46e9d7026b7e9c44820c08c327c3" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:a480bd902e327dfcaa52b7dd14fdc71e7aa45d73a3d6e41e028a75891d2823cf" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:e448b2be0430ab839cf7954715c39d6f34ff6cf2b49393f336283b7a59f485af" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:c11444984aecd342f0cf160c3320288edeb1763871fbb560ed466654b2a7016c" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:bfe164a1c72c6be3c5c26753c6c412f81412f4dae0d7d06371e0b396a9cc0fc9" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:72d9967fb1f927542cfb5347207fde01b29f25c9bb8cbc7ced280decfa015983" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:37cc955c84ec67c2d11183d372044399342b20a1fa447b7a33040f4889bba318" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:db96cf092d86d4cb543daa9148e299011e0a40770380bb78333b9fd700586fcb" } ,
{ file = "tokenizers-0.14.1-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:c84d3cb1349936c2b96ca6175b50f5a9518170bffd76464219ee0ea6022a64a7" } ,
{ file = "tokenizers-0.14.1-cp311-none-win32.whl" , hash = "sha256:8db3a6f3d430ac3dc3793c53fa8e5e665c23ba359484d365a191027ad8b65a30" } ,
{ file = "tokenizers-0.14.1-cp311-none-win_amd64.whl" , hash = "sha256:c65d76052561c60e17cb4fa289885ed00a9995d59e97019fac2138bd45142057" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-macosx_10_7_x86_64.whl" , hash = "sha256:c375161b588982be381c43eb7158c250f430793d0f708ce379a0f196164c6778" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-macosx_11_0_arm64.whl" , hash = "sha256:50f03d2330a153a9114c2429061137bd323736059f384de8348d7cb1ca1baa15" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:0c8ee283b249c3c3c201c41bc23adc3be2514ae4121eacdb5c5250a461eaa8c6" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:e9f27399b8d50c5d3f08f0aae961bcc66a1dead1cd0ae9401e4c2a43a623322a" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:89cbeec7e9d5d8773ec4779c64e3cbcbff53d234ca6ad7b1a3736588003bba48" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:08e55920b453c30b46d58accc68a38e8e7488d0c03babfdb29c55d3f39dd2052" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:91d32bd1056c0e83a0f90e4ffa213c25096b2d8b9f0e2d172a45f138c7d8c081" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:44f1748035c36c939848c935715bde41734d9249ab7b844ff9bfbe984be8952c" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_aarch64.whl" , hash = "sha256:1ff516d129f01bb7a4aa95bc6aae88e4d86dd63bfc2d57db9302c2624d1be7cb" } ,
{ file = "tokenizers-0.14.1-cp312-cp312-musllinux_1_1_x86_64.whl" , hash = "sha256:acfc8db61c6e919d932448cc7985b85e330c8d745528e12fce6e62d40d268bce" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-macosx_10_7_x86_64.whl" , hash = "sha256:ba336bc9107acbc1da2ad30967df7b2db93448ca66538ad86aa1fbb91116f631" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-macosx_11_0_arm64.whl" , hash = "sha256:f77371b5030e53f8bf92197640af437539e3bba1bc8342b97888c8e26567bfdc" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:d72d25c57a9c814240802d188ff0a808b701e2dd2bf1c64721c7088ceeeb1ed7" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:caf0df8657277e32671aa8a4d3cc05f2050ab19d9b49447f2265304168e9032c" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:cb3c6bc6e599e46a26ad559ad5dec260ffdf705663cc9b894033d64a69314e86" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:f8cf2fcdc2368df4317e05571e33810eeed24cd594acc9dfc9788b21dac6b3a8" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:f475d5eda41d2ed51ca775a07c80529a923dd759fcff7abf03ccdd83d9f7564e" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:cce4d1a97a7eb2253b5d3f29f4a478d8c37ba0303ea34024eb9e65506d4209f8" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:ff66577ae55114f7d0f6aa0d4d335f27cae96bf245962a745b718ec887bbe7eb" } ,
{ file = "tokenizers-0.14.1-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:a687099e085f5162e5b88b3402adb6c2b41046180c015c5075c9504440b6e971" } ,
{ file = "tokenizers-0.14.1-cp37-none-win32.whl" , hash = "sha256:49f5336b82e315a33bef1025d247ca08d95719715b29e33f0e9e8cf15ff1dfb6" } ,
{ file = "tokenizers-0.14.1-cp37-none-win_amd64.whl" , hash = "sha256:117c8da60d1bd95a6df2692926f36de7971baa1d89ff702fae47b6689a4465ad" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-macosx_10_7_x86_64.whl" , hash = "sha256:01d2bd5935642de22a6c6778bb2307f9949cd6eaeeb5c77f9b98f0060b69f0db" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:b05ec04132394c20bd6bcb692d557a8eb8ab1bac1646d28e49c67c00907d17c8" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:7d9025b185465d9d18679406f6f394850347d5ed2681efc203539d800f36f459" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:2539831838ab5393f78a893d7bbf27d5c36e43baf77e91dc9992922b2b97e09d" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:ec8f46d533092d8e20bc742c47918cbe24b8641dbfbbcb83177c5de3c9d4decb" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:8b019c4810903fdea3b230f358b9d27377c0f38454778b607676c9e1b57d14b7" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:e8984114fd83ed3913d89526c992395920930c9620a2feee61faf035f41d7b9a" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:11284b32f0036fe7ef4b8b00201dda79c00f3fcea173bc0e5c599e09c937ab0f" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:53614f44f36917282a583180e402105bc63d61d1aca067d51cb7f051eb489901" } ,
{ file = "tokenizers-0.14.1-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:e3b6082e9532309727273443c8943bb9558d52e36788b246aa278bda7c642116" } ,
{ file = "tokenizers-0.14.1-cp38-none-win32.whl" , hash = "sha256:7560fca3e17a6bc876d20cd825d7721c101fa2b1cd0bfa0abf9a2e781e49b37b" } ,
{ file = "tokenizers-0.14.1-cp38-none-win_amd64.whl" , hash = "sha256:c318a5acb429ca38f632577754235140bbb8c5a27faca1c51b43fbf575596e34" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-macosx_10_7_x86_64.whl" , hash = "sha256:b886e0f5c72aa4249c609c24b9610a9ca83fd963cbb5066b19302723ea505279" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:f522f28c88a0d5b2f9e895cf405dd594cd518e99d61905406aec74d30eb6383b" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:5bef76c4d9329913cef2fe79ce1f4dab98f77fa4887e5f0420ffc9386941de32" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:59c7df2103052b30b7c76d4fa8251326c9f82689578a912698a127dc1737f43e" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl" , hash = "sha256:232445e7b85255ccfe68dfd42185db8a3f3349b34ad7068404856c4a5f67c355" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:8e63781da85aa8948864970e529af10abc4084a990d30850c41bbdb5f83eee45" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:5760a831c0f3c6d3229b50ef3fafa4c164ec99d7e8c2237fe144e67a9d33b120" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c84b456ff8525ec3ff09762e32ccc27888d036dcd0ba2883e1db491e164dd725" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:463ee5f3afbfec29cbf5652752c9d1032bdad63daf48bb8cb9970064cc81d5f9" } ,
{ file = "tokenizers-0.14.1-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:ee6b63aecf929a7bcf885bdc8a8aec96c43bc4442f63fe8c6d48f24fc992b05b" } ,
{ file = "tokenizers-0.14.1-cp39-none-win32.whl" , hash = "sha256:aae42798ba1da3bc1572b2048fe42e61dd6bacced2b424cb0f5572c5432f79c2" } ,
{ file = "tokenizers-0.14.1-cp39-none-win_amd64.whl" , hash = "sha256:68c4699147dded6926a3d2c2f948d435d54d027f69909e0ef3c6587933723ed2" } ,
{ file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:5f9afdcf701a1aa3c41e0e748c152d2162434d61639a1e5d8523ecf60ae35aea" } ,
{ file = "tokenizers-0.14.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl" , hash = "sha256:6859d81243cd09854be9054aca3ecab14a2dee5b3c9f6d7ef12061d478ca0c57" } ,
{ file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:7975178f9478ccedcf613332d5d6f37b67c74ef4e2e47e0c965597506b921f04" } ,
{ file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:0ce2f0ff2e5f12ac5bebaa690606395725239265d7ffa35f35c243a379316297" } ,
{ file = "tokenizers-0.14.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:4c7cfc3d42e81cda802f93aa9e92caf79feaa1711426e28ce620560b8aaf5e4d" } ,
{ file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:67d3adff654dc7f7c7091dd259b3b847fe119c08d0bda61db91e2ea2b61c38c0" } ,
{ file = "tokenizers-0.14.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:956729b7dd599020e57133fb95b777e4f81ee069ff0a70e80f6eeac82658972f" } ,
{ file = "tokenizers-0.14.1-pp37-pypy37_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:fe2ea1177146a7ab345ab61e90a490eeea25d5f063e1cb9d4eb1425b169b64d7" } ,
{ file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:9930f31f603ecc6ea54d5c6dfa299f926ab3e921f72f94babcb02598c32b57c6" } ,
{ file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:d49567a2754e9991c05c2b5a7e6650b56e24365b7cab504558e58033dcf0edc4" } ,
{ file = "tokenizers-0.14.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:3678be5db330726f19c1949d8ae1b845a02eeb2a2e1d5a8bb8eaa82087ae25c1" } ,
{ file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:42b180ed1bec58ab9bdc65d406577e0c0fb7241b74b8c032846073c7743c9f86" } ,
{ file = "tokenizers-0.14.1-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:319e4367596fb0d52be645b3de1616faf0fadaf28507ce1c7595bebd9b4c402c" } ,
{ file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:2cda65b689aec63b7c76a77f43a08044fa90bbc6ad9849267cedfee9795913f3" } ,
{ file = "tokenizers-0.14.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl" , hash = "sha256:ca0bfc79b27d84fcb7fa09339b2ee39077896738d9a30ff99c0332376e985072" } ,
{ file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:a7093767e070269e22e2c5f845e46510304f124c32d2cd249633c0f27eb29d86" } ,
{ file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ad759ba39cd32c2c2247864d02c84ea5883b5f6cc6a4ee0c95602a3dde52268f" } ,
{ file = "tokenizers-0.14.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:26fee36a6d8f2bd9464f3566b95e3e3fb7fd7dad723f775c500aac8204ec98c6" } ,
{ file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:d091c62cb7abbd32e527a85c41f7c8eb4526a926251891fc4ecbe5f974142ffb" } ,
{ file = "tokenizers-0.14.1-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:ca304402ea66d58f99c05aa3d7a6052faea61e5a8313b94f6bc36fbf27960e2d" } ,
{ file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_10_7_x86_64.whl" , hash = "sha256:102f118fa9b720b93c3217c1e239ed7bc1ae1e8dbfe9b4983a4f2d7b4ce6f2ec" } ,
{ file = "tokenizers-0.14.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl" , hash = "sha256:df4f058e96e8b467b7742e5dba7564255cd482d3c1e6cf81f8cb683bb0433340" } ,
{ file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl" , hash = "sha256:040ee44efc1806900de72b13c1c3036154077d9cde189c9a7e7a50bbbdcbf39f" } ,
{ file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:7618b84118ae704f7fa23c4a190bd80fc605671841a4427d5ca14b9b8d9ec1a3" } ,
{ file = "tokenizers-0.14.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:2ecdfe9736c4a73343f629586016a137a10faed1a29c6dc699d8ab20c2d3cf64" } ,
{ file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl" , hash = "sha256:92c34de04fec7f4ff95f7667d4eb085c4e4db46c31ef44c3d35c38df128430da" } ,
{ file = "tokenizers-0.14.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl" , hash = "sha256:628b654ba555b2ba9111c0936d558b14bfc9d5f57b8c323b02fc846036b38b2f" } ,
{ file = "tokenizers-0.14.1.tar.gz" , hash = "sha256:ea3b3f8908a9a5b9d6fc632b5f012ece7240031c44c6d4764809f33736534166" } ,
2023-09-11 16:20:19 +00:00
]
2023-10-06 01:09:35 +00:00
[ package . dependencies ]
huggingface_hub = ">=0.16.4,<0.18"
2023-09-11 16:20:19 +00:00
[ package . extras ]
2023-10-06 01:09:35 +00:00
dev = [ "tokenizers[testing]" ]
docs = [ "setuptools_rust" , "sphinx" , "sphinx_rtd_theme" ]
2023-09-11 16:20:19 +00:00
testing = [ "black (==22.3)" , "datasets" , "numpy" , "pytest" , "requests" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "tomli"
version = "2.0.1"
description = "A lil' TOML parser"
optional = false
python-versions = ">=3.7"
files = [
{ file = "tomli-2.0.1-py3-none-any.whl" , hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc" } ,
{ file = "tomli-2.0.1.tar.gz" , hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" } ,
]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "torch"
2023-10-06 01:09:35 +00:00
version = "2.1.0"
2023-09-11 16:20:19 +00:00
description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration"
optional = true
python-versions = ">=3.8.0"
files = [
2023-10-06 01:09:35 +00:00
{ file = "torch-2.1.0-cp310-cp310-manylinux1_x86_64.whl" , hash = "sha256:bf57f8184b2c317ef81fb33dc233ce4d850cd98ef3f4a38be59c7c1572d175db" } ,
{ file = "torch-2.1.0-cp310-cp310-manylinux2014_aarch64.whl" , hash = "sha256:a04a0296d47f28960f51c18c5489a8c3472f624ec3b5bcc8e2096314df8c3342" } ,
{ file = "torch-2.1.0-cp310-cp310-win_amd64.whl" , hash = "sha256:0bd691efea319b14ef239ede16d8a45c246916456fa3ed4f217d8af679433cc6" } ,
{ file = "torch-2.1.0-cp310-none-macosx_10_9_x86_64.whl" , hash = "sha256:101c139152959cb20ab370fc192672c50093747906ee4ceace44d8dd703f29af" } ,
{ file = "torch-2.1.0-cp310-none-macosx_11_0_arm64.whl" , hash = "sha256:a6b7438a90a870e4cdeb15301519ae6c043c883fcd224d303c5b118082814767" } ,
{ file = "torch-2.1.0-cp311-cp311-manylinux1_x86_64.whl" , hash = "sha256:2224622407ca52611cbc5b628106fde22ed8e679031f5a99ce286629fc696128" } ,
{ file = "torch-2.1.0-cp311-cp311-manylinux2014_aarch64.whl" , hash = "sha256:8132efb782cd181cc2dcca5e58effbe4217cdb2581206ac71466d535bf778867" } ,
{ file = "torch-2.1.0-cp311-cp311-win_amd64.whl" , hash = "sha256:5c3bfa91ce25ba10116c224c59d5b64cdcce07161321d978bd5a1f15e1ebce72" } ,
{ file = "torch-2.1.0-cp311-none-macosx_10_9_x86_64.whl" , hash = "sha256:601b0a2a9d9233fb4b81f7d47dca9680d4f3a78ca3f781078b6ad1ced8a90523" } ,
{ file = "torch-2.1.0-cp311-none-macosx_11_0_arm64.whl" , hash = "sha256:3cd1dedff13884d890f18eea620184fb4cd8fd3c68ce3300498f427ae93aa962" } ,
{ file = "torch-2.1.0-cp38-cp38-manylinux1_x86_64.whl" , hash = "sha256:fb7bf0cc1a3db484eb5d713942a93172f3bac026fcb377a0cd107093d2eba777" } ,
{ file = "torch-2.1.0-cp38-cp38-manylinux2014_aarch64.whl" , hash = "sha256:761822761fffaa1c18a62c5deb13abaa780862577d3eadc428f1daa632536905" } ,
{ file = "torch-2.1.0-cp38-cp38-win_amd64.whl" , hash = "sha256:458a6d6d8f7d2ccc348ac4d62ea661b39a3592ad15be385bebd0a31ced7e00f4" } ,
{ file = "torch-2.1.0-cp38-none-macosx_10_9_x86_64.whl" , hash = "sha256:c8bf7eaf9514465e5d9101e05195183470a6215bb50295c61b52302a04edb690" } ,
{ file = "torch-2.1.0-cp38-none-macosx_11_0_arm64.whl" , hash = "sha256:05661c32ec14bc3a157193d0f19a7b19d8e61eb787b33353cad30202c295e83b" } ,
{ file = "torch-2.1.0-cp39-cp39-manylinux1_x86_64.whl" , hash = "sha256:556d8dd3e0c290ed9d4d7de598a213fb9f7c59135b4fee144364a8a887016a55" } ,
{ file = "torch-2.1.0-cp39-cp39-manylinux2014_aarch64.whl" , hash = "sha256:de7d63c6ecece118684415a3dbd4805af4a4c1ee1490cccf7405d8c240a481b4" } ,
{ file = "torch-2.1.0-cp39-cp39-win_amd64.whl" , hash = "sha256:2419cf49aaf3b2336c7aa7a54a1b949fa295b1ae36f77e2aecb3a74e3a947255" } ,
{ file = "torch-2.1.0-cp39-none-macosx_10_9_x86_64.whl" , hash = "sha256:6ad491e70dbe4288d17fdbfc7fbfa766d66cbe219bc4871c7a8096f4a37c98df" } ,
{ file = "torch-2.1.0-cp39-none-macosx_11_0_arm64.whl" , hash = "sha256:421739685eba5e0beba42cb649740b15d44b0d565c04e6ed667b41148734a75b" } ,
2023-09-11 16:20:19 +00:00
]
[ package . dependencies ]
filelock = "*"
2023-10-06 01:09:35 +00:00
fsspec = "*"
2023-09-11 16:20:19 +00:00
jinja2 = "*"
networkx = "*"
sympy = "*"
typing-extensions = "*"
[ package . extras ]
opt-einsum = [ "opt-einsum (>=3.3)" ]
[ [ package ] ]
name = "torchvision"
2023-10-06 01:09:35 +00:00
version = "0.16.0"
2023-09-11 16:20:19 +00:00
description = "image and video datasets and models for torch deep learning"
optional = true
python-versions = ">=3.8"
files = [
2023-10-06 01:09:35 +00:00
{ file = "torchvision-0.16.0-cp310-cp310-macosx_10_13_x86_64.whl" , hash = "sha256:16c300fdbbe91469f5e9feef8d24c6acabd8849db502a06160dd76ba68e897a0" } ,
{ file = "torchvision-0.16.0-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:ef5dec6c48b715353781b83749efcdea03835720a71b377684453ee117aab3c7" } ,
{ file = "torchvision-0.16.0-cp310-cp310-manylinux1_x86_64.whl" , hash = "sha256:9e3a2012e463f498de21f6598cc7a266b9a8c6fe15788472fdc419233ea6f3f2" } ,
{ file = "torchvision-0.16.0-cp310-cp310-manylinux2014_aarch64.whl" , hash = "sha256:e4327e082b703921ae52caeee4f7839f7e6c73cfc5eedea468ecb5c1487ecdbf" } ,
{ file = "torchvision-0.16.0-cp310-cp310-win_amd64.whl" , hash = "sha256:62f01513687cce3480df8928fcc6c09b4aa0433d05ac75e82877acc773f6a568" } ,
{ file = "torchvision-0.16.0-cp311-cp311-macosx_10_13_x86_64.whl" , hash = "sha256:31fdf289bdfb2976f65a14f79f6ddd1ee60113db34622674918e61521c2dc41f" } ,
{ file = "torchvision-0.16.0-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:2294a6514a31a6fda562288b28cf6db57877237f4b56ff693262f237a7ed4035" } ,
{ file = "torchvision-0.16.0-cp311-cp311-manylinux1_x86_64.whl" , hash = "sha256:6a24a1e83e4bc7a31b39ef05d2ca4cd2182e95ff10f525edffe1473f7ce16ca1" } ,
{ file = "torchvision-0.16.0-cp311-cp311-manylinux2014_aarch64.whl" , hash = "sha256:9ed5f21e5a56e466667c6f9f6f93dba2a75e29921108bd70043eaf8e9ba0a7cc" } ,
{ file = "torchvision-0.16.0-cp311-cp311-win_amd64.whl" , hash = "sha256:9ee3d4df7d4a84f883f8ad11fb6510549f40f68dd5469eae601d7e02fb4809b2" } ,
{ file = "torchvision-0.16.0-cp38-cp38-macosx_10_13_x86_64.whl" , hash = "sha256:0c6f36d00b9ce412e367ad6f42e9054cbc890cd9ddd0d200ed9b3b52dd9c225b" } ,
{ file = "torchvision-0.16.0-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:597f60cb03e6f758a00b36b38506f6f38b6c3f1fdfd3921bb9abd60b72d522fd" } ,
{ file = "torchvision-0.16.0-cp38-cp38-manylinux1_x86_64.whl" , hash = "sha256:eddd91da4603f1dbb340d9aca82344df64605a0897b17014ac8e0b54dd6e5716" } ,
{ file = "torchvision-0.16.0-cp38-cp38-manylinux2014_aarch64.whl" , hash = "sha256:79875f5247337723ec363762c2716bcfc13b78b3045e4e58847c696f03d9ed4d" } ,
{ file = "torchvision-0.16.0-cp38-cp38-win_amd64.whl" , hash = "sha256:550c9793637c5369fbcb4e4b6b0e6d53a4f6cc22389f0563ad60ab90e4f1c8ba" } ,
{ file = "torchvision-0.16.0-cp39-cp39-macosx_10_13_x86_64.whl" , hash = "sha256:de7c7302fa2f67a2a151e595a8e7dc3865a445d952e99d5c682ba78f312fedc3" } ,
{ file = "torchvision-0.16.0-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:f044cffd252fd293b6df46f38d7eeb2fd4fe931e0114c5263735e3b8c9c60a4f" } ,
{ file = "torchvision-0.16.0-cp39-cp39-manylinux1_x86_64.whl" , hash = "sha256:8cb501061f6654da494dd975acc1fa301c4b8aacf96bdbcf1553f51a53ebfd1f" } ,
{ file = "torchvision-0.16.0-cp39-cp39-manylinux2014_aarch64.whl" , hash = "sha256:5a47108ae6a8effdf09fe35fd0c4d5414e69ca8d2334e87339de497b7b64b0c9" } ,
{ file = "torchvision-0.16.0-cp39-cp39-win_amd64.whl" , hash = "sha256:9b8f06e6a2f80576007b88846f74b680a1ad3b59d2e22b075587b430180e9cfa" } ,
2023-09-11 16:20:19 +00:00
]
[ package . dependencies ]
numpy = "*"
2024-02-01 16:27:39 +00:00
pillow = ">=5.3.0,<8.3.dev0 || >=8.4.dev0"
2023-09-11 16:20:19 +00:00
requests = "*"
2023-10-06 01:09:35 +00:00
torch = "2.1.0"
2023-09-11 16:20:19 +00:00
[ package . extras ]
scipy = [ "scipy" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "tornado"
2023-08-22 18:09:35 +00:00
version = "6.3.3"
2023-07-21 17:36:28 +00:00
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
optional = false
python-versions = ">= 3.8"
files = [
2023-08-22 18:09:35 +00:00
{ file = "tornado-6.3.3-cp38-abi3-macosx_10_9_universal2.whl" , hash = "sha256:502fba735c84450974fec147340016ad928d29f1e91f49be168c0a4c18181e1d" } ,
{ file = "tornado-6.3.3-cp38-abi3-macosx_10_9_x86_64.whl" , hash = "sha256:805d507b1f588320c26f7f097108eb4023bbaa984d63176d1652e184ba24270a" } ,
{ file = "tornado-6.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:1bd19ca6c16882e4d37368e0152f99c099bad93e0950ce55e71daed74045908f" } ,
{ file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:7ac51f42808cca9b3613f51ffe2a965c8525cb1b00b7b2d56828b8045354f76a" } ,
{ file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:71a8db65160a3c55d61839b7302a9a400074c9c753040455494e2af74e2501f2" } ,
{ file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_aarch64.whl" , hash = "sha256:ceb917a50cd35882b57600709dd5421a418c29ddc852da8bcdab1f0db33406b0" } ,
{ file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_i686.whl" , hash = "sha256:7d01abc57ea0dbb51ddfed477dfe22719d376119844e33c661d873bf9c0e4a16" } ,
{ file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_x86_64.whl" , hash = "sha256:9dc4444c0defcd3929d5c1eb5706cbe1b116e762ff3e0deca8b715d14bf6ec17" } ,
{ file = "tornado-6.3.3-cp38-abi3-win32.whl" , hash = "sha256:65ceca9500383fbdf33a98c0087cb975b2ef3bfb874cb35b8de8740cf7f41bd3" } ,
{ file = "tornado-6.3.3-cp38-abi3-win_amd64.whl" , hash = "sha256:22d3c2fa10b5793da13c807e6fc38ff49a4f6e1e3868b0a6f4164768bb8e20f5" } ,
{ file = "tornado-6.3.3.tar.gz" , hash = "sha256:e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe" } ,
2023-07-21 17:36:28 +00:00
]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "tqdm"
version = "4.66.1"
description = "Fast, Extensible Progress Meter"
optional = true
python-versions = ">=3.7"
files = [
{ file = "tqdm-4.66.1-py3-none-any.whl" , hash = "sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386" } ,
{ file = "tqdm-4.66.1.tar.gz" , hash = "sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7" } ,
]
[ package . dependencies ]
colorama = { version = "*" , markers = "platform_system == \"Windows\"" }
[ package . extras ]
dev = [ "pytest (>=6)" , "pytest-cov" , "pytest-timeout" , "pytest-xdist" ]
notebook = [ "ipywidgets (>=6)" ]
slack = [ "slack-sdk" ]
telegram = [ "requests" ]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "traitlets"
2023-11-07 23:15:09 +00:00
version = "5.13.0"
2023-07-21 17:36:28 +00:00
description = "Traitlets Python configuration system"
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "traitlets-5.13.0-py3-none-any.whl" , hash = "sha256:baf991e61542da48fe8aef8b779a9ea0aa38d8a54166ee250d5af5ecf4486619" } ,
{ file = "traitlets-5.13.0.tar.gz" , hash = "sha256:9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
docs = [ "myst-parser" , "pydata-sphinx-theme" , "sphinx" ]
2023-11-07 23:15:09 +00:00
test = [ "argcomplete (>=3.0.3)" , "mypy (>=1.6.0)" , "pre-commit" , "pytest (>=7.0,<7.5)" , "pytest-mock" , "pytest-mypy-testing" ]
2023-07-21 17:36:28 +00:00
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "transformers"
2023-11-07 23:15:09 +00:00
version = "4.35.0"
2023-09-11 16:20:19 +00:00
description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow"
optional = true
python-versions = ">=3.8.0"
files = [
2023-11-07 23:15:09 +00:00
{ file = "transformers-4.35.0-py3-none-any.whl" , hash = "sha256:45aa9370d7d9ba1c43e6bfa04d7f8b61238497d4b646e573fd95e597fe4040ff" } ,
{ file = "transformers-4.35.0.tar.gz" , hash = "sha256:e4b41763f651282fc979348d3aa148244387ddc9165f4b18455798c770ae23b9" } ,
2023-09-11 16:20:19 +00:00
]
[ package . dependencies ]
filelock = "*"
2023-10-06 01:09:35 +00:00
huggingface-hub = ">=0.16.4,<1.0"
2023-09-11 16:20:19 +00:00
numpy = ">=1.17"
packaging = ">=20.0"
pyyaml = ">=5.1"
regex = "!=2019.12.17"
requests = "*"
safetensors = ">=0.3.1"
2023-10-06 01:09:35 +00:00
tokenizers = ">=0.14,<0.15"
2023-09-11 16:20:19 +00:00
tqdm = ">=4.27"
[ package . extras ]
accelerate = [ "accelerate (>=0.20.3)" ]
agents = [ "Pillow (<10.0.0)" , "accelerate (>=0.20.3)" , "datasets (!=2.5.0)" , "diffusers" , "opencv-python" , "sentencepiece (>=0.1.91,!=0.1.92)" , "torch (>=1.10,!=1.12.0)" ]
2023-10-06 01:09:35 +00:00
all = [ "Pillow (<10.0.0)" , "accelerate (>=0.20.3)" , "av (==9.2.0)" , "codecarbon (==1.2.0)" , "decord (==0.6.0)" , "flax (>=0.4.1,<=0.7.0)" , "jax (>=0.4.1,<=0.4.13)" , "jaxlib (>=0.4.1,<=0.4.13)" , "kenlm" , "keras-nlp (>=0.3.1)" , "librosa" , "onnxconverter-common" , "optax (>=0.0.8,<=0.1.4)" , "optuna" , "phonemizer" , "protobuf" , "pyctcdecode (>=0.4.0)" , "ray[tune]" , "sentencepiece (>=0.1.91,!=0.1.92)" , "sigopt" , "tensorflow (>=2.6,<2.15)" , "tensorflow-text (<2.15)" , "tf2onnx" , "timm" , "tokenizers (>=0.14,<0.15)" , "torch (>=1.10,!=1.12.0)" , "torchaudio" , "torchvision" ]
2023-09-11 16:20:19 +00:00
audio = [ "kenlm" , "librosa" , "phonemizer" , "pyctcdecode (>=0.4.0)" ]
codecarbon = [ "codecarbon (==1.2.0)" ]
deepspeed = [ "accelerate (>=0.20.3)" , "deepspeed (>=0.9.3)" ]
2023-11-07 23:15:09 +00:00
deepspeed-testing = [ "GitPython (<3.1.19)" , "accelerate (>=0.20.3)" , "beautifulsoup4" , "black (>=23.1,<24.0)" , "cookiecutter (==1.7.3)" , "datasets (!=2.5.0)" , "deepspeed (>=0.9.3)" , "dill (<0.3.5)" , "evaluate (>=0.2.0)" , "faiss-cpu" , "hf-doc-builder (>=0.3.0)" , "nltk" , "optuna" , "parameterized" , "protobuf" , "psutil" , "pytest (>=7.2.0)" , "pytest-timeout" , "pytest-xdist" , "rjieba" , "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)" , "sacrebleu (>=1.4.12,<2.0.0)" , "sacremoses" , "sentencepiece (>=0.1.91,!=0.1.92)" , "tensorboard" , "timeout-decorator" ]
dev = [ "GitPython (<3.1.19)" , "Pillow (<10.0.0)" , "accelerate (>=0.20.3)" , "av (==9.2.0)" , "beautifulsoup4" , "black (>=23.1,<24.0)" , "codecarbon (==1.2.0)" , "cookiecutter (==1.7.3)" , "datasets (!=2.5.0)" , "decord (==0.6.0)" , "dill (<0.3.5)" , "evaluate (>=0.2.0)" , "faiss-cpu" , "flax (>=0.4.1,<=0.7.0)" , "fugashi (>=1.0)" , "hf-doc-builder" , "hf-doc-builder (>=0.3.0)" , "ipadic (>=1.0.0,<2.0)" , "isort (>=5.5.4)" , "jax (>=0.4.1,<=0.4.13)" , "jaxlib (>=0.4.1,<=0.4.13)" , "kenlm" , "keras-nlp (>=0.3.1)" , "librosa" , "nltk" , "onnxconverter-common" , "optax (>=0.0.8,<=0.1.4)" , "optuna" , "parameterized" , "phonemizer" , "protobuf" , "psutil" , "pyctcdecode (>=0.4.0)" , "pytest (>=7.2.0)" , "pytest-timeout" , "pytest-xdist" , "ray[tune]" , "rhoknp (>=1.1.0,<1.3.1)" , "rjieba" , "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)" , "ruff (>=0.0.241,<=0.0.259)" , "sacrebleu (>=1.4.12,<2.0.0)" , "sacremoses" , "scikit-learn" , "sentencepiece (>=0.1.91,!=0.1.92)" , "sigopt" , "sudachidict-core (>=20220729)" , "sudachipy (>=0.6.6)" , "tensorboard" , "tensorflow (>=2.6,<2.15)" , "tensorflow-text (<2.15)" , "tf2onnx" , "timeout-decorator" , "timm" , "tokenizers (>=0.14,<0.15)" , "torch (>=1.10,!=1.12.0)" , "torchaudio" , "torchvision" , "unidic (>=1.0.2)" , "unidic-lite (>=1.0.7)" , "urllib3 (<2.0.0)" ]
dev-tensorflow = [ "GitPython (<3.1.19)" , "Pillow (<10.0.0)" , "beautifulsoup4" , "black (>=23.1,<24.0)" , "cookiecutter (==1.7.3)" , "datasets (!=2.5.0)" , "dill (<0.3.5)" , "evaluate (>=0.2.0)" , "faiss-cpu" , "hf-doc-builder" , "hf-doc-builder (>=0.3.0)" , "isort (>=5.5.4)" , "kenlm" , "keras-nlp (>=0.3.1)" , "librosa" , "nltk" , "onnxconverter-common" , "onnxruntime (>=1.4.0)" , "onnxruntime-tools (>=1.4.2)" , "parameterized" , "phonemizer" , "protobuf" , "psutil" , "pyctcdecode (>=0.4.0)" , "pytest (>=7.2.0)" , "pytest-timeout" , "pytest-xdist" , "rjieba" , "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)" , "ruff (>=0.0.241,<=0.0.259)" , "sacrebleu (>=1.4.12,<2.0.0)" , "sacremoses" , "scikit-learn" , "sentencepiece (>=0.1.91,!=0.1.92)" , "tensorboard" , "tensorflow (>=2.6,<2.15)" , "tensorflow-text (<2.15)" , "tf2onnx" , "timeout-decorator" , "tokenizers (>=0.14,<0.15)" , "urllib3 (<2.0.0)" ]
dev-torch = [ "GitPython (<3.1.19)" , "Pillow (<10.0.0)" , "accelerate (>=0.20.3)" , "beautifulsoup4" , "black (>=23.1,<24.0)" , "codecarbon (==1.2.0)" , "cookiecutter (==1.7.3)" , "datasets (!=2.5.0)" , "dill (<0.3.5)" , "evaluate (>=0.2.0)" , "faiss-cpu" , "fugashi (>=1.0)" , "hf-doc-builder" , "hf-doc-builder (>=0.3.0)" , "ipadic (>=1.0.0,<2.0)" , "isort (>=5.5.4)" , "kenlm" , "librosa" , "nltk" , "onnxruntime (>=1.4.0)" , "onnxruntime-tools (>=1.4.2)" , "optuna" , "parameterized" , "phonemizer" , "protobuf" , "psutil" , "pyctcdecode (>=0.4.0)" , "pytest (>=7.2.0)" , "pytest-timeout" , "pytest-xdist" , "ray[tune]" , "rhoknp (>=1.1.0,<1.3.1)" , "rjieba" , "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)" , "ruff (>=0.0.241,<=0.0.259)" , "sacrebleu (>=1.4.12,<2.0.0)" , "sacremoses" , "scikit-learn" , "sentencepiece (>=0.1.91,!=0.1.92)" , "sigopt" , "sudachidict-core (>=20220729)" , "sudachipy (>=0.6.6)" , "tensorboard" , "timeout-decorator" , "timm" , "tokenizers (>=0.14,<0.15)" , "torch (>=1.10,!=1.12.0)" , "torchaudio" , "torchvision" , "unidic (>=1.0.2)" , "unidic-lite (>=1.0.7)" , "urllib3 (<2.0.0)" ]
2023-10-06 01:09:35 +00:00
docs = [ "Pillow (<10.0.0)" , "accelerate (>=0.20.3)" , "av (==9.2.0)" , "codecarbon (==1.2.0)" , "decord (==0.6.0)" , "flax (>=0.4.1,<=0.7.0)" , "hf-doc-builder" , "jax (>=0.4.1,<=0.4.13)" , "jaxlib (>=0.4.1,<=0.4.13)" , "kenlm" , "keras-nlp (>=0.3.1)" , "librosa" , "onnxconverter-common" , "optax (>=0.0.8,<=0.1.4)" , "optuna" , "phonemizer" , "protobuf" , "pyctcdecode (>=0.4.0)" , "ray[tune]" , "sentencepiece (>=0.1.91,!=0.1.92)" , "sigopt" , "tensorflow (>=2.6,<2.15)" , "tensorflow-text (<2.15)" , "tf2onnx" , "timm" , "tokenizers (>=0.14,<0.15)" , "torch (>=1.10,!=1.12.0)" , "torchaudio" , "torchvision" ]
2023-09-11 16:20:19 +00:00
docs-specific = [ "hf-doc-builder" ]
flax = [ "flax (>=0.4.1,<=0.7.0)" , "jax (>=0.4.1,<=0.4.13)" , "jaxlib (>=0.4.1,<=0.4.13)" , "optax (>=0.0.8,<=0.1.4)" ]
flax-speech = [ "kenlm" , "librosa" , "phonemizer" , "pyctcdecode (>=0.4.0)" ]
ftfy = [ "ftfy" ]
integrations = [ "optuna" , "ray[tune]" , "sigopt" ]
ja = [ "fugashi (>=1.0)" , "ipadic (>=1.0.0,<2.0)" , "rhoknp (>=1.1.0,<1.3.1)" , "sudachidict-core (>=20220729)" , "sudachipy (>=0.6.6)" , "unidic (>=1.0.2)" , "unidic-lite (>=1.0.7)" ]
modelcreation = [ "cookiecutter (==1.7.3)" ]
natten = [ "natten (>=0.14.6)" ]
onnx = [ "onnxconverter-common" , "onnxruntime (>=1.4.0)" , "onnxruntime-tools (>=1.4.2)" , "tf2onnx" ]
onnxruntime = [ "onnxruntime (>=1.4.0)" , "onnxruntime-tools (>=1.4.2)" ]
optuna = [ "optuna" ]
quality = [ "GitPython (<3.1.19)" , "black (>=23.1,<24.0)" , "datasets (!=2.5.0)" , "hf-doc-builder (>=0.3.0)" , "isort (>=5.5.4)" , "ruff (>=0.0.241,<=0.0.259)" , "urllib3 (<2.0.0)" ]
ray = [ "ray[tune]" ]
retrieval = [ "datasets (!=2.5.0)" , "faiss-cpu" ]
sagemaker = [ "sagemaker (>=2.31.0)" ]
sentencepiece = [ "protobuf" , "sentencepiece (>=0.1.91,!=0.1.92)" ]
serving = [ "fastapi" , "pydantic (<2)" , "starlette" , "uvicorn" ]
sigopt = [ "sigopt" ]
sklearn = [ "scikit-learn" ]
speech = [ "kenlm" , "librosa" , "phonemizer" , "pyctcdecode (>=0.4.0)" , "torchaudio" ]
2023-11-07 23:15:09 +00:00
testing = [ "GitPython (<3.1.19)" , "beautifulsoup4" , "black (>=23.1,<24.0)" , "cookiecutter (==1.7.3)" , "datasets (!=2.5.0)" , "dill (<0.3.5)" , "evaluate (>=0.2.0)" , "faiss-cpu" , "hf-doc-builder (>=0.3.0)" , "nltk" , "parameterized" , "protobuf" , "psutil" , "pytest (>=7.2.0)" , "pytest-timeout" , "pytest-xdist" , "rjieba" , "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)" , "sacrebleu (>=1.4.12,<2.0.0)" , "sacremoses" , "tensorboard" , "timeout-decorator" ]
2023-09-11 16:20:19 +00:00
tf = [ "keras-nlp (>=0.3.1)" , "onnxconverter-common" , "tensorflow (>=2.6,<2.15)" , "tensorflow-text (<2.15)" , "tf2onnx" ]
tf-cpu = [ "keras-nlp (>=0.3.1)" , "onnxconverter-common" , "tensorflow-cpu (>=2.6,<2.15)" , "tensorflow-text (<2.15)" , "tf2onnx" ]
tf-speech = [ "kenlm" , "librosa" , "phonemizer" , "pyctcdecode (>=0.4.0)" ]
timm = [ "timm" ]
2023-10-06 01:09:35 +00:00
tokenizers = [ "tokenizers (>=0.14,<0.15)" ]
2023-09-11 16:20:19 +00:00
torch = [ "accelerate (>=0.20.3)" , "torch (>=1.10,!=1.12.0)" ]
torch-speech = [ "kenlm" , "librosa" , "phonemizer" , "pyctcdecode (>=0.4.0)" , "torchaudio" ]
torch-vision = [ "Pillow (<10.0.0)" , "torchvision" ]
2023-10-06 01:09:35 +00:00
torchhub = [ "filelock" , "huggingface-hub (>=0.16.4,<1.0)" , "importlib-metadata" , "numpy (>=1.17)" , "packaging (>=20.0)" , "protobuf" , "regex (!=2019.12.17)" , "requests" , "sentencepiece (>=0.1.91,!=0.1.92)" , "tokenizers (>=0.14,<0.15)" , "torch (>=1.10,!=1.12.0)" , "tqdm (>=4.27)" ]
2023-09-11 16:20:19 +00:00
video = [ "av (==9.2.0)" , "decord (==0.6.0)" ]
vision = [ "Pillow (<10.0.0)" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "typer"
version = "0.9.0"
description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
optional = true
python-versions = ">=3.6"
files = [
{ file = "typer-0.9.0-py3-none-any.whl" , hash = "sha256:5d96d986a21493606a358cae4461bd8cdf83cbf33a5aa950ae629ca3b51467ee" } ,
{ file = "typer-0.9.0.tar.gz" , hash = "sha256:50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2" } ,
]
[ package . dependencies ]
click = ">=7.1.1,<9.0.0"
typing-extensions = ">=3.7.4.3"
[ package . extras ]
all = [ "colorama (>=0.4.3,<0.5.0)" , "rich (>=10.11.0,<14.0.0)" , "shellingham (>=1.3.0,<2.0.0)" ]
dev = [ "autoflake (>=1.3.1,<2.0.0)" , "flake8 (>=3.8.3,<4.0.0)" , "pre-commit (>=2.17.0,<3.0.0)" ]
doc = [ "cairosvg (>=2.5.2,<3.0.0)" , "mdx-include (>=1.4.1,<2.0.0)" , "mkdocs (>=1.1.2,<2.0.0)" , "mkdocs-material (>=8.1.4,<9.0.0)" , "pillow (>=9.3.0,<10.0.0)" ]
test = [ "black (>=22.3.0,<23.0.0)" , "coverage (>=6.2,<7.0)" , "isort (>=5.0.6,<6.0.0)" , "mypy (==0.910)" , "pytest (>=4.4.0,<8.0.0)" , "pytest-cov (>=2.10.0,<5.0.0)" , "pytest-sugar (>=0.9.4,<0.10.0)" , "pytest-xdist (>=1.32.0,<4.0.0)" , "rich (>=10.11.0,<14.0.0)" , "shellingham (>=1.3.0,<2.0.0)" ]
2023-07-21 20:32:39 +00:00
[ [ package ] ]
2023-10-17 01:13:31 +00:00
name = "types-python-dateutil"
version = "2.8.19.14"
description = "Typing stubs for python-dateutil"
2023-07-21 20:32:39 +00:00
optional = false
python-versions = "*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "types-python-dateutil-2.8.19.14.tar.gz" , hash = "sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b" } ,
{ file = "types_python_dateutil-2.8.19.14-py3-none-any.whl" , hash = "sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9" } ,
2023-07-21 20:32:39 +00:00
]
2023-09-06 20:32:59 +00:00
[ [ package ] ]
2023-10-17 01:13:31 +00:00
name = "types-pyyaml"
version = "6.0.12.12"
description = "Typing stubs for PyYAML"
2023-09-06 20:32:59 +00:00
optional = false
python-versions = "*"
files = [
2023-10-17 01:13:31 +00:00
{ file = "types-PyYAML-6.0.12.12.tar.gz" , hash = "sha256:334373d392fde0fdf95af5c3f1661885fa10c52167b14593eb856289e1855062" } ,
{ file = "types_PyYAML-6.0.12.12-py3-none-any.whl" , hash = "sha256:c05bc6c158facb0676674b7f11fe3960db4f389718e19e62bd2b84d6205cfd24" } ,
2023-09-06 20:32:59 +00:00
]
[ [ package ] ]
2023-10-17 01:13:31 +00:00
name = "types-requests"
2023-11-07 23:15:09 +00:00
version = "2.31.0.10"
2023-10-17 01:13:31 +00:00
description = "Typing stubs for requests"
2023-09-06 20:32:59 +00:00
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.7"
2023-09-06 20:32:59 +00:00
files = [
2023-11-07 23:15:09 +00:00
{ file = "types-requests-2.31.0.10.tar.gz" , hash = "sha256:dc5852a76f1eaf60eafa81a2e50aefa3d1f015c34cf0cba130930866b1b22a92" } ,
{ file = "types_requests-2.31.0.10-py3-none-any.whl" , hash = "sha256:b32b9a86beffa876c0c3ac99a4cd3b8b51e973fb8e3bd4e0a6bb32c7efad80fc" } ,
2023-09-06 20:32:59 +00:00
]
2023-10-17 01:13:31 +00:00
[ package . dependencies ]
urllib3 = ">=2"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "typing-extensions"
2023-10-17 01:13:31 +00:00
version = "4.8.0"
description = "Backported and Experimental Type Hints for Python 3.8+"
2023-07-21 17:36:28 +00:00
optional = false
2023-10-17 01:13:31 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "typing_extensions-4.8.0-py3-none-any.whl" , hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0" } ,
{ file = "typing_extensions-4.8.0.tar.gz" , hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "typing-inspect"
version = "0.9.0"
description = "Runtime inspection utilities for typing module."
optional = false
python-versions = "*"
files = [
{ file = "typing_inspect-0.9.0-py3-none-any.whl" , hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f" } ,
{ file = "typing_inspect-0.9.0.tar.gz" , hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78" } ,
]
[ package . dependencies ]
mypy-extensions = ">=0.3.0"
typing-extensions = ">=3.7.4"
2024-02-13 05:58:35 +00:00
[ [ package ] ]
name = "tzdata"
version = "2024.1"
description = "Provider of IANA time zone data"
optional = true
python-versions = ">=2"
files = [
{ file = "tzdata-2024.1-py2.py3-none-any.whl" , hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252" } ,
{ file = "tzdata-2024.1.tar.gz" , hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd" } ,
]
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "uri-template"
version = "1.3.0"
description = "RFC 6570 URI Template Processor"
optional = false
python-versions = ">=3.7"
files = [
{ file = "uri-template-1.3.0.tar.gz" , hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7" } ,
{ file = "uri_template-1.3.0-py3-none-any.whl" , hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363" } ,
]
[ package . extras ]
dev = [ "flake8" , "flake8-annotations" , "flake8-bandit" , "flake8-bugbear" , "flake8-commas" , "flake8-comprehensions" , "flake8-continuation" , "flake8-datetimez" , "flake8-docstrings" , "flake8-import-order" , "flake8-literal" , "flake8-modern-annotations" , "flake8-noqa" , "flake8-pyproject" , "flake8-requirements" , "flake8-typechecking-import" , "flake8-use-fstring" , "mypy" , "pep8-naming" , "types-PyYAML" ]
[ [ package ] ]
name = "urllib3"
2023-11-07 23:15:09 +00:00
version = "2.0.7"
2023-07-21 17:36:28 +00:00
description = "HTTP library with thread-safe connection pooling, file post, and more."
optional = false
python-versions = ">=3.7"
files = [
2023-11-07 23:15:09 +00:00
{ file = "urllib3-2.0.7-py3-none-any.whl" , hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e" } ,
{ file = "urllib3-2.0.7.tar.gz" , hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
brotli = [ "brotli (>=1.0.9)" , "brotlicffi (>=0.8.0)" ]
secure = [ "certifi" , "cryptography (>=1.9)" , "idna (>=2.0.0)" , "pyopenssl (>=17.1.0)" , "urllib3-secure-extra" ]
socks = [ "pysocks (>=1.5.6,!=1.5.7,<2.0)" ]
zstd = [ "zstandard (>=0.18.0)" ]
2023-09-11 16:20:19 +00:00
[ [ package ] ]
name = "vowpal-wabbit-next"
version = "0.6.0"
description = "Experimental python bindings for VowpalWabbit"
optional = true
python-versions = ">=3.7"
files = [
{ file = "vowpal-wabbit-next-0.6.0.tar.gz" , hash = "sha256:f0381614d99fac6a0f52e995ee0bfc7b681054f397bea7ff08b8a523d5315a54" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp310-cp310-macosx_10_13_universal2.whl" , hash = "sha256:cfbb831cfe9eb81185aff7cdca437ae17c6d9aca8d74e26c326e3ef4ee8e81e7" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:9d31829778f9c600f5c121f614516ca1bc9ede5d1bc77b1eb3b59b32d9138db9" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp310-cp310-win_amd64.whl" , hash = "sha256:714347606ab302a2f72870b6ae6dce58de4bec1b489f4bd65d80a8e326e1db8a" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp311-cp311-macosx_10_13_universal2.whl" , hash = "sha256:3a8482d5c0b9357fdb36b62d659e6b74e93aeab165b910292572a98e91d7a014" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:1e4349099b938102f51fb6fedf035bc1deacb2971cd2a48641ca7d45186efda0" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp311-cp311-win_amd64.whl" , hash = "sha256:c8f58cdc49f270b1bed6f0fdd7520c8ba1b328de5cd8a2760c0ec70a630de92e" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c8b7052ce7212fd1cae8ffd966e240c814f3c1df08fd612437d48f0f23e7694c" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp37-cp37m-win_amd64.whl" , hash = "sha256:d24d9c380d0e9b41151337c7f9e2a33ec5bfd738fdee9f65c1a40e486234aca3" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp38-cp38-macosx_10_13_universal2.whl" , hash = "sha256:0d77a8c55249ec9a7f404939ecc6948db0527e522e8a7ae149ec7cd29b3ade04" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:baa2f52f1267fbc26c7757335f9c76a0f00b112971e04c85b8a9bc9e82300597" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp38-cp38-win_amd64.whl" , hash = "sha256:5d04f91200ecae73196d9f5601853d63afce8c1c8a0d310a608e8ddfa3b190cb" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp39-cp39-macosx_10_13_universal2.whl" , hash = "sha256:2df4a652729c0db34afd8fb4fc49b0090d6f061e2d49899e5f092fd4c3d23253" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:c289a260ab759f04903b441701cff66ea74d6c061d966caaba0c65ac12d05528" } ,
{ file = "vowpal_wabbit_next-0.6.0-cp39-cp39-win_amd64.whl" , hash = "sha256:8d022cab07274f227df159a81bccf034def7dd54ad70392ee98743ffa4953072" } ,
]
[ package . dependencies ]
numpy = "*"
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ [ package ] ]
name = "wasabi"
version = "1.1.2"
description = "A lightweight console printing and formatting toolkit"
optional = true
python-versions = ">=3.6"
files = [
{ file = "wasabi-1.1.2-py3-none-any.whl" , hash = "sha256:0a3f933c4bf0ed3f93071132c1b87549733256d6c8de6473c5f7ed2e171b5cf9" } ,
{ file = "wasabi-1.1.2.tar.gz" , hash = "sha256:1aaef3aceaa32edb9c91330d29d3936c0c39fdb965743549c173cb54b16c30b5" } ,
]
[ package . dependencies ]
colorama = { version = ">=0.4.6" , markers = "sys_platform == \"win32\" and python_version >= \"3.7\"" }
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "wcwidth"
2023-11-07 23:15:09 +00:00
version = "0.2.9"
2023-07-21 17:36:28 +00:00
description = "Measures the displayed width of unicode strings in a terminal"
optional = false
python-versions = "*"
files = [
2023-11-07 23:15:09 +00:00
{ file = "wcwidth-0.2.9-py2.py3-none-any.whl" , hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223" } ,
{ file = "wcwidth-0.2.9.tar.gz" , hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8" } ,
2023-07-21 17:36:28 +00:00
]
2023-10-17 01:13:31 +00:00
[ [ package ] ]
name = "weasel"
2023-11-07 23:15:09 +00:00
version = "0.3.4"
2023-10-17 01:13:31 +00:00
description = "Weasel: A small and easy workflow system"
optional = true
python-versions = ">=3.6"
files = [
2023-11-07 23:15:09 +00:00
{ file = "weasel-0.3.4-py3-none-any.whl" , hash = "sha256:ee48a944f051d007201c2ea1661d0c41035028c5d5a8bcb29a0b10f1100206ae" } ,
{ file = "weasel-0.3.4.tar.gz" , hash = "sha256:eb16f92dc9f1a3ffa89c165e3a9acd28018ebb656e0da4da02c0d7d8ae3f6178" } ,
2023-10-17 01:13:31 +00:00
]
[ package . dependencies ]
cloudpathlib = ">=0.7.0,<0.17.0"
confection = ">=0.0.4,<0.2.0"
packaging = ">=20.0"
pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<3.0.0"
requests = ">=2.13.0,<3.0.0"
smart-open = ">=5.2.1,<7.0.0"
srsly = ">=2.4.3,<3.0.0"
typer = ">=0.3.0,<0.10.0"
wasabi = ">=0.9.1,<1.2.0"
2023-07-21 17:36:28 +00:00
[ [ package ] ]
name = "webcolors"
version = "1.13"
description = "A library for working with the color formats defined by HTML and CSS."
optional = false
python-versions = ">=3.7"
files = [
{ file = "webcolors-1.13-py3-none-any.whl" , hash = "sha256:29bc7e8752c0a1bd4a1f03c14d6e6a72e93d82193738fa860cbff59d0fcc11bf" } ,
{ file = "webcolors-1.13.tar.gz" , hash = "sha256:c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a" } ,
]
[ package . extras ]
docs = [ "furo" , "sphinx" , "sphinx-copybutton" , "sphinx-inline-tabs" , "sphinx-notfound-page" , "sphinxext-opengraph" ]
tests = [ "pytest" , "pytest-cov" ]
[ [ package ] ]
name = "webencodings"
version = "0.5.1"
description = "Character encoding aliases for legacy web content"
optional = false
python-versions = "*"
files = [
{ file = "webencodings-0.5.1-py2.py3-none-any.whl" , hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78" } ,
{ file = "webencodings-0.5.1.tar.gz" , hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" } ,
]
[ [ package ] ]
name = "websocket-client"
2023-10-17 01:13:31 +00:00
version = "1.6.4"
2023-07-21 17:36:28 +00:00
description = "WebSocket client for Python with low level API options"
optional = false
2023-08-22 18:09:35 +00:00
python-versions = ">=3.8"
2023-07-21 17:36:28 +00:00
files = [
2023-10-17 01:13:31 +00:00
{ file = "websocket-client-1.6.4.tar.gz" , hash = "sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df" } ,
{ file = "websocket_client-1.6.4-py3-none-any.whl" , hash = "sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
2023-08-22 18:09:35 +00:00
docs = [ "Sphinx (>=6.0)" , "sphinx-rtd-theme (>=1.1.0)" ]
2023-07-21 17:36:28 +00:00
optional = [ "python-socks" , "wsaccel" ]
test = [ "websockets" ]
[ [ package ] ]
name = "widgetsnbextension"
2023-10-17 01:13:31 +00:00
version = "4.0.9"
2023-07-21 17:36:28 +00:00
description = "Jupyter interactive widgets for Jupyter Notebook"
optional = false
python-versions = ">=3.7"
files = [
2023-10-17 01:13:31 +00:00
{ file = "widgetsnbextension-4.0.9-py3-none-any.whl" , hash = "sha256:91452ca8445beb805792f206e560c1769284267a30ceb1cec9f5bcc887d15175" } ,
{ file = "widgetsnbextension-4.0.9.tar.gz" , hash = "sha256:3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385" } ,
2023-07-21 17:36:28 +00:00
]
[ [ package ] ]
name = "yarl"
version = "1.9.2"
description = "Yet another URL library"
optional = false
python-versions = ">=3.7"
files = [
{ file = "yarl-1.9.2-cp310-cp310-macosx_10_9_universal2.whl" , hash = "sha256:8c2ad583743d16ddbdf6bb14b5cd76bf43b0d0006e918809d5d4ddf7bde8dd82" } ,
{ file = "yarl-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl" , hash = "sha256:82aa6264b36c50acfb2424ad5ca537a2060ab6de158a5bd2a72a032cc75b9eb8" } ,
{ file = "yarl-1.9.2-cp310-cp310-macosx_11_0_arm64.whl" , hash = "sha256:c0c77533b5ed4bcc38e943178ccae29b9bcf48ffd1063f5821192f23a1bd27b9" } ,
{ file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ee4afac41415d52d53a9833ebae7e32b344be72835bbb589018c9e938045a560" } ,
{ file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:9bf345c3a4f5ba7f766430f97f9cc1320786f19584acc7086491f45524a551ac" } ,
{ file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:2a96c19c52ff442a808c105901d0bdfd2e28575b3d5f82e2f5fd67e20dc5f4ea" } ,
{ file = "yarl-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:891c0e3ec5ec881541f6c5113d8df0315ce5440e244a716b95f2525b7b9f3608" } ,
{ file = "yarl-1.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:c3a53ba34a636a256d767c086ceb111358876e1fb6b50dfc4d3f4951d40133d5" } ,
{ file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_aarch64.whl" , hash = "sha256:566185e8ebc0898b11f8026447eacd02e46226716229cea8db37496c8cdd26e0" } ,
{ file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_i686.whl" , hash = "sha256:2b0738fb871812722a0ac2154be1f049c6223b9f6f22eec352996b69775b36d4" } ,
{ file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl" , hash = "sha256:32f1d071b3f362c80f1a7d322bfd7b2d11e33d2adf395cc1dd4df36c9c243095" } ,
{ file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_s390x.whl" , hash = "sha256:e9fdc7ac0d42bc3ea78818557fab03af6181e076a2944f43c38684b4b6bed8e3" } ,
{ file = "yarl-1.9.2-cp310-cp310-musllinux_1_1_x86_64.whl" , hash = "sha256:56ff08ab5df8429901ebdc5d15941b59f6253393cb5da07b4170beefcf1b2528" } ,
{ file = "yarl-1.9.2-cp310-cp310-win32.whl" , hash = "sha256:8ea48e0a2f931064469bdabca50c2f578b565fc446f302a79ba6cc0ee7f384d3" } ,
{ file = "yarl-1.9.2-cp310-cp310-win_amd64.whl" , hash = "sha256:50f33040f3836e912ed16d212f6cc1efb3231a8a60526a407aeb66c1c1956dde" } ,
{ file = "yarl-1.9.2-cp311-cp311-macosx_10_9_universal2.whl" , hash = "sha256:646d663eb2232d7909e6601f1a9107e66f9791f290a1b3dc7057818fe44fc2b6" } ,
{ file = "yarl-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl" , hash = "sha256:aff634b15beff8902d1f918012fc2a42e0dbae6f469fce134c8a0dc51ca423bb" } ,
{ file = "yarl-1.9.2-cp311-cp311-macosx_11_0_arm64.whl" , hash = "sha256:a83503934c6273806aed765035716216cc9ab4e0364f7f066227e1aaea90b8d0" } ,
{ file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:b25322201585c69abc7b0e89e72790469f7dad90d26754717f3310bfe30331c2" } ,
{ file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:22a94666751778629f1ec4280b08eb11815783c63f52092a5953faf73be24191" } ,
{ file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:8ec53a0ea2a80c5cd1ab397925f94bff59222aa3cf9c6da938ce05c9ec20428d" } ,
{ file = "yarl-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:159d81f22d7a43e6eabc36d7194cb53f2f15f498dbbfa8edc8a3239350f59fe7" } ,
{ file = "yarl-1.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:832b7e711027c114d79dffb92576acd1bd2decc467dec60e1cac96912602d0e6" } ,
{ file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_aarch64.whl" , hash = "sha256:95d2ecefbcf4e744ea952d073c6922e72ee650ffc79028eb1e320e732898d7e8" } ,
{ file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_i686.whl" , hash = "sha256:d4e2c6d555e77b37288eaf45b8f60f0737c9efa3452c6c44626a5455aeb250b9" } ,
{ file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl" , hash = "sha256:783185c75c12a017cc345015ea359cc801c3b29a2966c2655cd12b233bf5a2be" } ,
{ file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_s390x.whl" , hash = "sha256:b8cc1863402472f16c600e3e93d542b7e7542a540f95c30afd472e8e549fc3f7" } ,
{ file = "yarl-1.9.2-cp311-cp311-musllinux_1_1_x86_64.whl" , hash = "sha256:822b30a0f22e588b32d3120f6d41e4ed021806418b4c9f0bc3048b8c8cb3f92a" } ,
{ file = "yarl-1.9.2-cp311-cp311-win32.whl" , hash = "sha256:a60347f234c2212a9f0361955007fcf4033a75bf600a33c88a0a8e91af77c0e8" } ,
{ file = "yarl-1.9.2-cp311-cp311-win_amd64.whl" , hash = "sha256:be6b3fdec5c62f2a67cb3f8c6dbf56bbf3f61c0f046f84645cd1ca73532ea051" } ,
{ file = "yarl-1.9.2-cp37-cp37m-macosx_10_9_x86_64.whl" , hash = "sha256:38a3928ae37558bc1b559f67410df446d1fbfa87318b124bf5032c31e3447b74" } ,
{ file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:ac9bb4c5ce3975aeac288cfcb5061ce60e0d14d92209e780c93954076c7c4367" } ,
{ file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:3da8a678ca8b96c8606bbb8bfacd99a12ad5dd288bc6f7979baddd62f71c63ef" } ,
{ file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:13414591ff516e04fcdee8dc051c13fd3db13b673c7a4cb1350e6b2ad9639ad3" } ,
{ file = "yarl-1.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:bf74d08542c3a9ea97bb8f343d4fcbd4d8f91bba5ec9d5d7f792dbe727f88938" } ,
{ file = "yarl-1.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:6e7221580dc1db478464cfeef9b03b95c5852cc22894e418562997df0d074ccc" } ,
{ file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl" , hash = "sha256:494053246b119b041960ddcd20fd76224149cfea8ed8777b687358727911dd33" } ,
{ file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_i686.whl" , hash = "sha256:52a25809fcbecfc63ac9ba0c0fb586f90837f5425edfd1ec9f3372b119585e45" } ,
{ file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl" , hash = "sha256:e65610c5792870d45d7b68c677681376fcf9cc1c289f23e8e8b39c1485384185" } ,
{ file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_s390x.whl" , hash = "sha256:1b1bba902cba32cdec51fca038fd53f8beee88b77efc373968d1ed021024cc04" } ,
{ file = "yarl-1.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl" , hash = "sha256:662e6016409828ee910f5d9602a2729a8a57d74b163c89a837de3fea050c7582" } ,
{ file = "yarl-1.9.2-cp37-cp37m-win32.whl" , hash = "sha256:f364d3480bffd3aa566e886587eaca7c8c04d74f6e8933f3f2c996b7f09bee1b" } ,
{ file = "yarl-1.9.2-cp37-cp37m-win_amd64.whl" , hash = "sha256:6a5883464143ab3ae9ba68daae8e7c5c95b969462bbe42e2464d60e7e2698368" } ,
{ file = "yarl-1.9.2-cp38-cp38-macosx_10_9_universal2.whl" , hash = "sha256:5610f80cf43b6202e2c33ba3ec2ee0a2884f8f423c8f4f62906731d876ef4fac" } ,
{ file = "yarl-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl" , hash = "sha256:b9a4e67ad7b646cd6f0938c7ebfd60e481b7410f574c560e455e938d2da8e0f4" } ,
{ file = "yarl-1.9.2-cp38-cp38-macosx_11_0_arm64.whl" , hash = "sha256:83fcc480d7549ccebe9415d96d9263e2d4226798c37ebd18c930fce43dfb9574" } ,
{ file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:5fcd436ea16fee7d4207c045b1e340020e58a2597301cfbcfdbe5abd2356c2fb" } ,
{ file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:84e0b1599334b1e1478db01b756e55937d4614f8654311eb26012091be109d59" } ,
{ file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:3458a24e4ea3fd8930e934c129b676c27452e4ebda80fbe47b56d8c6c7a63a9e" } ,
{ file = "yarl-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:838162460b3a08987546e881a2bfa573960bb559dfa739e7800ceeec92e64417" } ,
{ file = "yarl-1.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:f4e2d08f07a3d7d3e12549052eb5ad3eab1c349c53ac51c209a0e5991bbada78" } ,
{ file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_aarch64.whl" , hash = "sha256:de119f56f3c5f0e2fb4dee508531a32b069a5f2c6e827b272d1e0ff5ac040333" } ,
{ file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_i686.whl" , hash = "sha256:149ddea5abf329752ea5051b61bd6c1d979e13fbf122d3a1f9f0c8be6cb6f63c" } ,
{ file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl" , hash = "sha256:674ca19cbee4a82c9f54e0d1eee28116e63bc6fd1e96c43031d11cbab8b2afd5" } ,
{ file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_s390x.whl" , hash = "sha256:9b3152f2f5677b997ae6c804b73da05a39daa6a9e85a512e0e6823d81cdad7cc" } ,
{ file = "yarl-1.9.2-cp38-cp38-musllinux_1_1_x86_64.whl" , hash = "sha256:5415d5a4b080dc9612b1b63cba008db84e908b95848369aa1da3686ae27b6d2b" } ,
{ file = "yarl-1.9.2-cp38-cp38-win32.whl" , hash = "sha256:f7a3d8146575e08c29ed1cd287068e6d02f1c7bdff8970db96683b9591b86ee7" } ,
{ file = "yarl-1.9.2-cp38-cp38-win_amd64.whl" , hash = "sha256:63c48f6cef34e6319a74c727376e95626f84ea091f92c0250a98e53e62c77c72" } ,
{ file = "yarl-1.9.2-cp39-cp39-macosx_10_9_universal2.whl" , hash = "sha256:75df5ef94c3fdc393c6b19d80e6ef1ecc9ae2f4263c09cacb178d871c02a5ba9" } ,
{ file = "yarl-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl" , hash = "sha256:c027a6e96ef77d401d8d5a5c8d6bc478e8042f1e448272e8d9752cb0aff8b5c8" } ,
{ file = "yarl-1.9.2-cp39-cp39-macosx_11_0_arm64.whl" , hash = "sha256:f3b078dbe227f79be488ffcfc7a9edb3409d018e0952cf13f15fd6512847f3f7" } ,
{ file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" , hash = "sha256:59723a029760079b7d991a401386390c4be5bfec1e7dd83e25a6a0881859e716" } ,
{ file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl" , hash = "sha256:b03917871bf859a81ccb180c9a2e6c1e04d2f6a51d953e6a5cdd70c93d4e5a2a" } ,
{ file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl" , hash = "sha256:c1012fa63eb6c032f3ce5d2171c267992ae0c00b9e164efe4d73db818465fac3" } ,
{ file = "yarl-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl" , hash = "sha256:a74dcbfe780e62f4b5a062714576f16c2f3493a0394e555ab141bf0d746bb955" } ,
{ file = "yarl-1.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl" , hash = "sha256:8c56986609b057b4839968ba901944af91b8e92f1725d1a2d77cbac6972b9ed1" } ,
{ file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_aarch64.whl" , hash = "sha256:2c315df3293cd521033533d242d15eab26583360b58f7ee5d9565f15fee1bef4" } ,
{ file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_i686.whl" , hash = "sha256:b7232f8dfbd225d57340e441d8caf8652a6acd06b389ea2d3222b8bc89cbfca6" } ,
{ file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl" , hash = "sha256:53338749febd28935d55b41bf0bcc79d634881195a39f6b2f767870b72514caf" } ,
{ file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_s390x.whl" , hash = "sha256:066c163aec9d3d073dc9ffe5dd3ad05069bcb03fcaab8d221290ba99f9f69ee3" } ,
{ file = "yarl-1.9.2-cp39-cp39-musllinux_1_1_x86_64.whl" , hash = "sha256:8288d7cd28f8119b07dd49b7230d6b4562f9b61ee9a4ab02221060d21136be80" } ,
{ file = "yarl-1.9.2-cp39-cp39-win32.whl" , hash = "sha256:b124e2a6d223b65ba8768d5706d103280914d61f5cae3afbc50fc3dfcc016623" } ,
{ file = "yarl-1.9.2-cp39-cp39-win_amd64.whl" , hash = "sha256:61016e7d582bc46a5378ffdd02cd0314fb8ba52f40f9cf4d9a5e7dbef88dee18" } ,
{ file = "yarl-1.9.2.tar.gz" , hash = "sha256:04ab9d4b9f587c06d801c2abfe9317b77cdf996c65a90d5e84ecc45010823571" } ,
]
[ package . dependencies ]
idna = ">=2.0"
multidict = ">=4.0"
[ [ package ] ]
name = "zipp"
2023-10-17 01:13:31 +00:00
version = "3.17.0"
2023-07-21 17:36:28 +00:00
description = "Backport of pathlib-compatible object wrapper for zip files"
optional = false
python-versions = ">=3.8"
files = [
2023-10-17 01:13:31 +00:00
{ file = "zipp-3.17.0-py3-none-any.whl" , hash = "sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31" } ,
{ file = "zipp-3.17.0.tar.gz" , hash = "sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0" } ,
2023-07-21 17:36:28 +00:00
]
[ package . extras ]
2023-10-17 01:13:31 +00:00
docs = [ "furo" , "jaraco.packaging (>=9.3)" , "jaraco.tidelift (>=1.4)" , "rst.linker (>=1.9)" , "sphinx (<7.2.5)" , "sphinx (>=3.5)" , "sphinx-lint" ]
2023-07-21 17:36:28 +00:00
testing = [ "big-O" , "jaraco.functools" , "jaraco.itertools" , "more-itertools" , "pytest (>=6)" , "pytest-black (>=0.3.7)" , "pytest-checkdocs (>=2.4)" , "pytest-cov" , "pytest-enabler (>=2.2)" , "pytest-ignore-flaky" , "pytest-mypy (>=0.9.1)" , "pytest-ruff" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
[ extras ]
2024-02-13 05:58:35 +00:00
extended-testing = [ "faker" , "jinja2" , "pandas" , "presidio-analyzer" , "presidio-anonymizer" , "sentence-transformers" , "tabulate" , "vowpal-wabbit-next" ]
Add data anonymizer (#9863)
### Description
The feature for anonymizing data has been implemented. In order to
protect private data, such as when querying external APIs (OpenAI), it
is worth pseudonymizing sensitive data to maintain full privacy.
Anonynization consists of two steps:
1. **Identification:** Identify all data fields that contain personally
identifiable information (PII).
2. **Replacement**: Replace all PIIs with pseudo values or codes that do
not reveal any personal information about the individual but can be used
for reference. We're not using regular encryption, because the language
model won't be able to understand the meaning or context of the
encrypted data.
We use *Microsoft Presidio* together with *Faker* framework for
anonymization purposes because of the wide range of functionalities they
provide. The full implementation is available in `PresidioAnonymizer`.
### Future works
- **deanonymization** - add the ability to reverse anonymization. For
example, the workflow could look like this: `anonymize -> LLMChain ->
deanonymize`. By doing this, we will retain anonymity in requests to,
for example, OpenAI, and then be able restore the original data.
- **instance anonymization** - at this point, each occurrence of PII is
treated as a separate entity and separately anonymized. Therefore, two
occurrences of the name John Doe in the text will be changed to two
different names. It is therefore worth introducing support for full
instance detection, so that repeated occurrences are treated as a single
object.
### Twitter handle
@deepsense_ai / @MaksOpp
---------
Co-authored-by: MaksOpp <maks.operlejn@gmail.com>
Co-authored-by: Bagatur <baskaryan@gmail.com>
2023-08-30 17:39:44 +00:00
2023-07-21 17:36:28 +00:00
[ metadata ]
lock-version = "2.0"
python-versions = ">=3.8.1,<4.0"
2024-02-29 17:13:21 +00:00
content-hash = "bde47b4a6eed5f419e34857a3bcbf5efece9ed41d4f8e68ed37ef853e4208ab7"