Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

quickner

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

quickner - npm Package Compare versions

Comparing version
0.0.1a18
to
0.0.1a19
+328
-305
Cargo.lock

@@ -15,2 +15,59 @@ # This file is automatically @generated by Cargo.

[[package]]
name = "aho-corasick"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
"memchr",
]
[[package]]
name = "anstream"
version = "0.6.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540"
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"utf8parse",
]
[[package]]
name = "anstyle"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
[[package]]
name = "anstyle-parse"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
dependencies = [
"windows-sys",
]
[[package]]
name = "anstyle-wincon"
version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
dependencies = [
"anstyle",
"windows-sys",
]
[[package]]
name = "autocfg"

@@ -37,8 +94,2 @@ version = "1.1.0"

[[package]]
name = "cc"
version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
[[package]]
name = "cfg-if"

@@ -51,13 +102,20 @@ version = "1.0.0"

name = "clap"
version = "4.1.8"
version = "4.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d7ae14b20b94cb02149ed21a86c423859cbe18dc7ed69845cace50e52b40a5"
checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
dependencies = [
"bitflags",
"clap_builder",
"clap_derive",
]
[[package]]
name = "clap_builder"
version = "4.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
"is-terminal",
"once_cell",
"strsim",
"termcolor",
]

@@ -67,11 +125,10 @@

name = "clap_derive"
version = "4.1.8"
version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44bec8e5c9d09e439c4335b1af0abaab56dcf3b94999a936e1bb47b9134288f0"
checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
dependencies = [
"heck",
"proc-macro-error",
"proc-macro2",
"quote",
"syn",
"syn 2.0.50",
]

@@ -81,14 +138,17 @@

name = "clap_lex"
version = "0.3.2"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09"
dependencies = [
"os_str_bytes",
]
checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
[[package]]
name = "colorchoice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "console"
version = "0.15.5"
version = "0.15.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
dependencies = [

@@ -99,3 +159,3 @@ "encode_unicode",

"unicode-width",
"windows-sys 0.42.0",
"windows-sys",
]

@@ -105,5 +165,5 @@

name = "cpufeatures"
version = "0.2.5"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
dependencies = [

@@ -114,18 +174,7 @@ "libc",

[[package]]
name = "crossbeam-channel"
version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c"
dependencies = [
"cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.3"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
dependencies = [
"cfg-if",
"crossbeam-epoch",

@@ -137,11 +186,7 @@ "crossbeam-utils",

name = "crossbeam-epoch"
version = "0.9.14"
version = "0.9.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
dependencies = [
"autocfg",
"cfg-if",
"crossbeam-utils",
"memoffset",
"scopeguard",
]

@@ -151,8 +196,5 @@

name = "crossbeam-utils"
version = "0.8.15"
version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
dependencies = [
"cfg-if",
]
checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"

@@ -171,5 +213,5 @@ [[package]]

name = "csv"
version = "1.2.1"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b015497079b9a9d69c02ad25de6c0a6edef051ea6360a327d0bd05802ef64ad"
checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
dependencies = [

@@ -184,5 +226,5 @@ "csv-core",

name = "csv-core"
version = "0.1.10"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
dependencies = [

@@ -194,5 +236,5 @@ "memchr",

name = "digest"
version = "0.10.6"
version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [

@@ -205,5 +247,5 @@ "block-buffer",

name = "either"
version = "1.8.1"
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"

@@ -218,5 +260,5 @@ [[package]]

name = "env_logger"
version = "0.10.0"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580"
dependencies = [

@@ -231,27 +273,12 @@ "humantime",

[[package]]
name = "errno"
version = "0.2.8"
name = "equivalent"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1"
dependencies = [
"errno-dragonfly",
"libc",
"winapi",
]
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "generic-array"
version = "0.14.6"
version = "0.14.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
dependencies = [

@@ -264,5 +291,5 @@ "typenum",

name = "hashbrown"
version = "0.12.3"
version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"

@@ -277,16 +304,7 @@ [[package]]

name = "hermit-abi"
version = "0.2.6"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
dependencies = [
"libc",
]
checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd"
[[package]]
name = "hermit-abi"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
[[package]]
name = "humantime"

@@ -299,7 +317,7 @@ version = "2.1.0"

name = "indexmap"
version = "1.9.2"
version = "2.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177"
dependencies = [
"autocfg",
"equivalent",
"hashbrown",

@@ -310,7 +328,8 @@ ]

name = "indicatif"
version = "0.17.3"
version = "0.17.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cef509aa9bc73864d6756f0d34d35504af3cf0844373afe9b8669a5b8005a729"
checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3"
dependencies = [
"console",
"instant",
"number_prefix",

@@ -328,9 +347,8 @@ "portable-atomic",

[[package]]
name = "io-lifetimes"
version = "1.0.6"
name = "instant"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfa919a82ea574332e2de6e74b4c36e74d41982b335080fa59d4ef31be20fdf3"
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
dependencies = [
"libc",
"windows-sys 0.45.0",
"cfg-if",
]

@@ -340,10 +358,9 @@

name = "is-terminal"
version = "0.4.4"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857"
checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b"
dependencies = [
"hermit-abi 0.3.1",
"io-lifetimes",
"rustix",
"windows-sys 0.45.0",
"hermit-abi",
"libc",
"windows-sys",
]

@@ -353,5 +370,5 @@

name = "itoa"
version = "1.0.6"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"

@@ -366,17 +383,11 @@ [[package]]

name = "libc"
version = "0.2.140"
version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]]
name = "linux-raw-sys"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4"
[[package]]
name = "lock_api"
version = "0.4.9"
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
dependencies = [

@@ -389,15 +400,13 @@ "autocfg",

name = "log"
version = "0.4.17"
version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
dependencies = [
"cfg-if",
]
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "matrixmultiply"
version = "0.3.2"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84"
checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2"
dependencies = [
"autocfg",
"rawpointer",

@@ -408,5 +417,5 @@ ]

name = "memchr"
version = "2.5.0"
version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"

@@ -437,5 +446,5 @@ [[package]]

name = "num-complex"
version = "0.4.3"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
checksum = "23c6602fda94a57c990fe0df199a035d83576b496aa29f4e634a8ac6004e68a6"
dependencies = [

@@ -447,7 +456,6 @@ "num-traits",

name = "num-integer"
version = "0.1.45"
version = "0.1.46"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
dependencies = [
"autocfg",
"num-traits",

@@ -458,5 +466,5 @@ ]

name = "num-traits"
version = "0.2.15"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
dependencies = [

@@ -467,12 +475,2 @@ "autocfg",

[[package]]
name = "num_cpus"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
dependencies = [
"hermit-abi 0.2.6",
"libc",
]
[[package]]
name = "number_prefix"

@@ -500,13 +498,7 @@ version = "0.4.0"

name = "once_cell"
version = "1.17.1"
version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
name = "os_str_bytes"
version = "6.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
[[package]]
name = "parking_lot"

@@ -523,5 +515,5 @@ version = "0.12.1"

name = "parking_lot_core"
version = "0.9.7"
version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
dependencies = [

@@ -532,3 +524,3 @@ "cfg-if",

"smallvec",
"windows-sys 0.45.0",
"windows-targets 0.48.5",
]

@@ -538,35 +530,11 @@

name = "portable-atomic"
version = "0.3.19"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26f6a7b87c2e435a3241addceeeff740ff8b7e76b74c13bf9acb17fa454ea00b"
checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
[[package]]
name = "proc-macro-error"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
"proc-macro2",
"quote",
"syn",
"version_check",
]
[[package]]
name = "proc-macro-error-attr"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
"proc-macro2",
"quote",
"version_check",
]
[[package]]
name = "proc-macro2"
version = "1.0.51"
version = "1.0.78"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
dependencies = [

@@ -578,5 +546,5 @@ "unicode-ident",

name = "pyo3"
version = "0.18.1"
version = "0.18.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06a3d8e8a46ab2738109347433cb7b96dffda2e4a218b03ef27090238886b147"
checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
dependencies = [

@@ -596,5 +564,5 @@ "cfg-if",

name = "pyo3-build-config"
version = "0.18.1"
version = "0.18.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75439f995d07ddfad42b192dfcf3bc66a7ecfd8b4a1f5f6f046aa5c2c5d7677d"
checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
dependencies = [

@@ -607,5 +575,5 @@ "once_cell",

name = "pyo3-ffi"
version = "0.18.1"
version = "0.18.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "839526a5c07a17ff44823679b68add4a58004de00512a95b6c1c98a6dcac0ee5"
checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
dependencies = [

@@ -618,5 +586,5 @@ "libc",

name = "pyo3-macros"
version = "0.18.1"
version = "0.18.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd44cf207476c6a9760c4653559be4f206efafb924d3e4cbf2721475fc0d6cc5"
checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
dependencies = [

@@ -626,3 +594,3 @@ "proc-macro2",

"quote",
"syn",
"syn 1.0.109",
]

@@ -632,9 +600,9 @@

name = "pyo3-macros-backend"
version = "0.18.1"
version = "0.18.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc1f43d8e30460f36350d18631ccf85ded64c059829208fe680904c65bcd0a4c"
checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
dependencies = [
"proc-macro2",
"quote",
"syn",
"syn 1.0.109",
]

@@ -644,3 +612,3 @@

name = "quickner"
version = "0.0.1-alpha.18"
version = "0.0.1-alpha.19"
dependencies = [

@@ -655,5 +623,5 @@ "numpy",

name = "quickner-core"
version = "0.0.1-alpha.18"
version = "0.0.1-alpha.19"
dependencies = [
"aho-corasick",
"aho-corasick 0.7.20",
"clap",

@@ -673,5 +641,5 @@ "csv",

name = "quote"
version = "1.0.23"
version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [

@@ -689,5 +657,5 @@ "proc-macro2",

name = "rayon"
version = "1.7.0"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051"
dependencies = [

@@ -700,10 +668,8 @@ "either",

name = "rayon-core"
version = "1.11.0"
version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
dependencies = [
"crossbeam-channel",
"crossbeam-deque",
"crossbeam-utils",
"num_cpus",
]

@@ -713,5 +679,5 @@

name = "redox_syscall"
version = "0.2.16"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
dependencies = [

@@ -723,8 +689,9 @@ "bitflags",

name = "regex"
version = "1.7.1"
version = "1.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
dependencies = [
"aho-corasick",
"aho-corasick 1.1.2",
"memchr",
"regex-automata",
"regex-syntax",

@@ -734,6 +701,17 @@ ]

[[package]]
name = "regex-automata"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd"
dependencies = [
"aho-corasick 1.1.2",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.6.28"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"

@@ -747,32 +725,18 @@ [[package]]

[[package]]
name = "rustix"
version = "0.36.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc"
dependencies = [
"bitflags",
"errno",
"io-lifetimes",
"libc",
"linux-raw-sys",
"windows-sys 0.45.0",
]
[[package]]
name = "ryu"
version = "1.0.13"
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
[[package]]
name = "scopeguard"
version = "1.1.0"
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "serde"
version = "1.0.155"
version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71f2b4817415c6d4210bfe1c7bfcf4801b2d904cb4d0e1a8fdb651013c9e86b8"
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
dependencies = [

@@ -784,9 +748,9 @@ "serde_derive",

name = "serde_derive"
version = "1.0.155"
version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d071a94a3fac4aff69d023a7f411e33f40f3483f8c5190b1953822b6b76d7630"
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2",
"quote",
"syn",
"syn 2.0.50",
]

@@ -796,5 +760,5 @@

name = "serde_json"
version = "1.0.94"
version = "1.0.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
dependencies = [

@@ -808,5 +772,5 @@ "itoa",

name = "serde_spanned"
version = "0.6.1"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4"
checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
dependencies = [

@@ -818,5 +782,5 @@ "serde",

name = "sha2"
version = "0.10.6"
version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [

@@ -830,11 +794,11 @@ "cfg-if",

name = "smallvec"
version = "1.10.0"
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
[[package]]
name = "strsim"
version = "0.10.0"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"

@@ -853,12 +817,23 @@ [[package]]

[[package]]
name = "syn"
version = "2.0.50"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "target-lexicon"
version = "0.12.6"
version = "0.12.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5"
checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f"
[[package]]
name = "termcolor"
version = "1.2.0"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
dependencies = [

@@ -870,5 +845,5 @@ "winapi-util",

name = "toml"
version = "0.7.2"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7afcae9e3f0fe2c370fd4657108972cbb2fa9db1b9f84849cefd80741b01cb6"
checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257"
dependencies = [

@@ -883,5 +858,5 @@ "serde",

name = "toml_datetime"
version = "0.6.1"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622"
checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
dependencies = [

@@ -893,5 +868,5 @@ "serde",

name = "toml_edit"
version = "0.19.5"
version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7082a95d48029677a28f181e5f6422d0c8339ad8396a39d3f33d62a90c1f6c30"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [

@@ -907,17 +882,17 @@ "indexmap",

name = "typenum"
version = "1.16.0"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
[[package]]
name = "unicode-ident"
version = "1.0.8"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unicode-width"
version = "0.1.10"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"

@@ -931,2 +906,8 @@ [[package]]

[[package]]
name = "utf8parse"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "version_check"

@@ -955,5 +936,5 @@ version = "0.9.4"

name = "winapi-util"
version = "0.1.5"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
dependencies = [

@@ -971,22 +952,22 @@ "winapi",

name = "windows-sys"
version = "0.42.0"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
"windows-targets 0.52.3",
]
[[package]]
name = "windows-sys"
version = "0.45.0"
name = "windows-targets"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows-targets",
"windows_aarch64_gnullvm 0.48.5",
"windows_aarch64_msvc 0.48.5",
"windows_i686_gnu 0.48.5",
"windows_i686_msvc 0.48.5",
"windows_x86_64_gnu 0.48.5",
"windows_x86_64_gnullvm 0.48.5",
"windows_x86_64_msvc 0.48.5",
]

@@ -996,13 +977,13 @@

name = "windows-targets"
version = "0.42.1"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7"
checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
"windows_aarch64_gnullvm 0.52.3",
"windows_aarch64_msvc 0.52.3",
"windows_i686_gnu 0.52.3",
"windows_i686_msvc 0.52.3",
"windows_x86_64_gnu 0.52.3",
"windows_x86_64_gnullvm 0.52.3",
"windows_x86_64_msvc 0.52.3",
]

@@ -1012,49 +993,91 @@

name = "windows_aarch64_gnullvm"
version = "0.42.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
[[package]]
name = "windows_aarch64_msvc"
version = "0.42.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
[[package]]
name = "windows_i686_gnu"
version = "0.42.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
[[package]]
name = "windows_i686_msvc"
version = "0.42.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
[[package]]
name = "windows_x86_64_gnu"
version = "0.42.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.42.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
[[package]]
name = "windows_x86_64_msvc"
version = "0.42.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
[[package]]
name = "winnow"
version = "0.3.5"
version = "0.5.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee7b2c67f962bf5042bfd8b6a916178df33a26eec343ae064cb8e069f638fa6f"
checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876"
dependencies = [
"memchr",
]
[package]
name = "quickner"
version = "0.0.1-alpha.18"
version = "0.0.1-alpha.19"
edition = "2021"

@@ -5,0 +5,0 @@ authors = ["Omar MHAIMDAT"]

@@ -1,3 +0,3 @@

name,label
Walmart,ORG
Twitter,ORG
Exxon Mobil,ORG

@@ -1000,3 +1000,2 @@ Chevron,ORG

Selective Insurance Group,ORG
Gartner,ORG
E*Trade Financial,ORG
Gartner,ORG
[package]
name = "quickner-core"
version = "0.0.1-alpha.18"
version = "0.0.1-alpha.19"
edition = "2021"

@@ -5,0 +5,0 @@ authors = ["Omar MHAIMDAT"]

@@ -77,7 +77,3 @@ use std::sync::Arc;

let aho_corasick = Arc::new(AhoCorasick::new(patterns));
let label = Quickner::find_index_using_aho_corasick(
self.text.clone(),
aho_corasick.clone(),
entities,
);
let label = Quickner::find_index_using_aho_corasick(&self.text, &aho_corasick, &entities);
match label {

@@ -96,4 +92,4 @@ Some(label) => self.label.extend(label),

for (start, end, label) in &self.label {
if !labels.contains(&(*start, *end, label.clone())) {
labels.push((*start, *end, label.clone()));
if !labels.contains(&(*start, *end, label.to_string())) {
labels.push((*start, *end, label.to_string()));
}

@@ -100,0 +96,0 @@ }

@@ -39,3 +39,3 @@ // quickner

/// Panics if the format is not supported
pub fn save(&self, annotations: Vec<Document>, path: &str) -> Result<String, std::io::Error> {
pub fn save(&self, annotations: &Vec<Document>, path: &str) -> Result<String, std::io::Error> {
match self {

@@ -58,3 +58,3 @@ Format::Spacy => Format::spacy(annotations, path),

fn spacy(documents: Vec<Document>, path: &str) -> Result<String, std::io::Error> {
fn spacy(documents: &Vec<Document>, path: &str) -> Result<String, std::io::Error> {
// Save as such [["text", {"entity": [[0, 4, "ORG"], [5, 10, "ORG"]]}]]

@@ -70,5 +70,5 @@

(
annotation.text,
(*annotation.text).to_string(),
SpacyEntity {
entity: annotation.label,
entity: (*annotation.label).to_vec(),
},

@@ -83,3 +83,3 @@ )

fn jsonl(documents: Vec<Document>, path: &str) -> Result<String, std::io::Error> {
fn jsonl(documents: &Vec<Document>, path: &str) -> Result<String, std::io::Error> {
// Save as such {"text": "text", "label": [[0, 4, "ORG"], [5, 10, "ORG"]]}

@@ -96,3 +96,3 @@ let path = Format::remove_extension_from_path(path);

fn csv(documents: Vec<Document>, path: &str) -> Result<String, std::io::Error> {
fn csv(documents: &Vec<Document>, path: &str) -> Result<String, std::io::Error> {
// Save as such "text", "label"

@@ -109,3 +109,3 @@ let path = Format::remove_extension_from_path(path);

fn brat(documents: Vec<Document>, path: &str) -> Result<String, std::io::Error> {
fn brat(documents: &Vec<Document>, path: &str) -> Result<String, std::io::Error> {
// Save .ann and .txt files

@@ -116,6 +116,6 @@ let path = Format::remove_extension_from_path(path);

for document in documents {
let text = document.text;
let text = &document.text;
file_txt.write_all(text.as_bytes())?;
file_txt.write_all(b"\n")?;
for (id, (start, end, label)) in document.label.into_iter().enumerate() {
for (id, (start, end, label)) in (*document.label).to_vec().into_iter().enumerate() {
let entity = text[start..end].to_string();

@@ -130,3 +130,3 @@ let line = format!("T{id}\t{label}\t{start}\t{end}\t{entity}");

fn conll(documents: Vec<Document>, path: &str) -> Result<String, std::io::Error> {
fn conll(documents: &Vec<Document>, path: &str) -> Result<String, std::io::Error> {
// for reference: https://simpletransformers.ai/docs/ner-data-formats/

@@ -138,3 +138,3 @@ let path = Format::remove_extension_from_path(path);

.map(|annotation| {
let text = annotation.text;
let text = &annotation.text;
// Split text into words

@@ -145,3 +145,3 @@ let words: Vec<&str> = text.split_whitespace().collect();

// For each entity, find the word that contains it and assign the label to it
for (start, end, label) in annotation.label {
for (start, end, label) in (*annotation.label).to_vec() {
let entity = text[start..end].to_string();

@@ -148,0 +148,0 @@ // Find the index of the word that contains the entity

@@ -119,7 +119,7 @@ use crate::{

pub(crate) fn find_index_using_aho_corasick(
text: String,
aho_corasick: Arc<AhoCorasick>,
entites: Vec<Entity>,
text: &str,
aho_corasick: &Arc<AhoCorasick>,
entites: &Vec<Entity>,
) -> Option<Vec<(usize, usize, String)>> {
if !is_valid_utf8(text.as_str()) {
if !is_valid_utf8(text) {
warn!("Skipping invalid utf8 text: \"{}\"", text);

@@ -138,15 +138,41 @@ return None;

let target_len = name.len();
let mut chars = text.chars();
if start == 0 {
if start == 0
&& (text.chars().nth(end).unwrap_or('N').is_whitespace()
|| (text.chars().nth(end).unwrap_or('N').is_ascii_punctuation()))
{
annotations.push((start, end, label));
continue;
}
if chars.nth(start - 1).unwrap_or_else(|| 'N').is_whitespace() {
// if text == "python was created by guido van rossum" {
// println!("Start: {}, End: {}, text_len: {}, End + 1: {}", start, end, text.len(), text.chars().nth(end + 1).unwrap_or('N'));
// }
// println!("Start: {}, End: {}, text_len: {}", start, end, char_len);
if start > 0
&& text
.chars()
.nth(start - 1)
.unwrap_or_else(|| 'N')
.is_whitespace()
&& (text.chars().nth(end).unwrap_or_else(|| 'N').is_whitespace()
|| text
.chars()
.nth(end)
.unwrap_or_else(|| 'N')
.is_ascii_punctuation())
{
annotations.push((start, end, label));
continue;
}
if chars
.nth(start - 1)
.unwrap_or_else(|| 'N')
.is_ascii_punctuation()
if start > 0
&& text
.chars()
.nth(start - 1)
.unwrap_or_else(|| 'N')
.is_ascii_punctuation()
&& (text.chars().nth(end).unwrap_or_else(|| 'N').is_whitespace()
|| text
.chars()
.nth(end)
.unwrap_or_else(|| 'N')
.is_ascii_punctuation())
{

@@ -160,10 +186,36 @@ annotations.push((start, end, label));

}
if chars.nth(start + target_len).unwrap_or('N').is_whitespace() {
if (text
.chars()
.nth(start - 1)
.unwrap_or_else(|| 'N')
.is_ascii_punctuation()
|| text
.chars()
.nth(start - 1)
.unwrap_or_else(|| 'N')
.is_whitespace())
&& text
.chars()
.nth(start + target_len)
.unwrap_or('N')
.is_whitespace()
{
annotations.push((start, end, label));
continue;
}
if chars
.nth(start + target_len)
.unwrap_or('N')
if (text
.chars()
.nth(start - 1)
.unwrap_or_else(|| 'N')
.is_ascii_punctuation()
|| text
.chars()
.nth(start - 1)
.unwrap_or_else(|| 'N')
.is_whitespace())
&& text
.chars()
.nth(start + target_len)
.unwrap_or('N')
.is_ascii_punctuation()
&& text.chars().nth(start + target_len).unwrap() != '.'

@@ -212,14 +264,14 @@ && (start > 0 && text.chars().nth(start - 1).unwrap() != '.')

.collect::<Vec<&str>>();
// Check if apple is in the patterns
// if patterns.contains(&"apple") {
// println!("Apple found in patterns");
// }
let aho_corasick = Arc::new(AhoCorasick::new(patterns));
self.documents.par_iter_mut().for_each(|document| {
let mut t = document.text.clone();
let t: &mut String = &mut document.text;
if !self.config.texts.filters.case_sensitive {
t = t.to_lowercase();
}
*t = t.to_lowercase();
};
// ahocorasick implementation
let index = Quickner::find_index_using_aho_corasick(
t,
aho_corasick.clone(),
self.entities.clone(),
);
let index = Quickner::find_index_using_aho_corasick(&t, &aho_corasick, &self.entities);
let mut index = match index {

@@ -290,5 +342,5 @@ Some(index) => index,

}
self.documents.push(document.clone());
self.documents.push(document.to_owned());
self.documents_hash
.insert(document.id.clone(), document.clone());
.insert(document.id.to_owned(), document.to_owned());
self.add_to_entity_index(&document);

@@ -300,5 +352,5 @@ self.add_to_label_index(&document);

let document = Document::from_string(text.to_string());
self.documents.push(document.clone());
self.documents.push(document.to_owned());
self.documents_hash
.insert(document.id.clone(), document.clone());
.insert(document.id.to_owned(), document.to_owned());
self.add_to_entity_index(&document);

@@ -380,3 +432,3 @@ self.add_to_label_index(&document);

.par_iter()
.map(|text| Document::new(text.text.clone(), vec![]))
.map(|text| Document::new((*text.text).to_string(), vec![]))
.collect();

@@ -408,3 +460,3 @@ }

name: entity.name.to_lowercase(),
label: entity.label.clone(),
label: entity.label.to_string(),
})

@@ -432,3 +484,3 @@ .collect();

.format
.save(self.documents.clone(), &config.annotations.output.path);
.save(&self.documents, &config.annotations.output.path);
match save {

@@ -562,3 +614,3 @@ Ok(_) => info!(

let text = Text {
text: annotation.clone().text,
text: (*annotation.text).to_string(),
};

@@ -568,3 +620,3 @@ texts.push(text);

for label in &annotation.label {
let indices = char_to_byte(annotation.text.clone(), label.0, label.1);
let indices = char_to_byte((*annotation.text).to_string(), label.0, label.1);
let name = annotation.text[indices.0..indices.1].to_string();

@@ -622,3 +674,3 @@ let entity = Entity {

let text = Text {
text: doc.0.clone(),
text: (*doc.0).to_string(),
};

@@ -659,5 +711,5 @@ texts.push(text);

for label in &document.label {
entity.push((label.0, label.1, label.2.clone()));
entity.push((label.0, label.1, (*label.2).to_string()));
}
spacy.push((document.text.clone(), SpacyEntity { entity }));
spacy.push(((*document.text).to_string(), SpacyEntity { entity }));
}

@@ -684,4 +736,4 @@ let chunks = match chunks {

for label in &document.label {
let entry = index.entry(label.2.clone()).or_insert(Vec::new());
entry.push(document.id.clone());
let entry = index.entry((*label.2).to_string()).or_insert(Vec::new());
entry.push((*document.id).to_string());
}

@@ -697,6 +749,6 @@ }

// Translate the indices to byte indices
let indices = char_to_byte(document.text.clone(), label.0, label.1);
let indices = char_to_byte((*document.text).to_string(), label.0, label.1);
let name = document.text[indices.0..indices.1].to_string();
let entry = index.entry(name.to_lowercase()).or_insert(Vec::new());
entry.push(document.id.clone());
entry.push((*document.id).to_string());
}

@@ -711,5 +763,5 @@ }

.documents_label_index
.entry(label.2.clone())
.entry((*label.2).to_string())
.or_insert(Vec::new());
entry.push(document.id.clone());
entry.push((*document.id).to_string());
}

@@ -720,3 +772,3 @@ }

for label in &document.label {
let indices = char_to_byte(document.text.clone(), label.0, label.1);
let indices = char_to_byte((*document.text).to_string(), label.0, label.1);
let name = document.text[indices.0..indices.1].to_string();

@@ -727,3 +779,3 @@ let entry = self

.or_insert(Vec::new());
entry.push(document.id.clone());
entry.push((*document.id).to_string());
}

@@ -736,3 +788,3 @@ }

.documents_label_index
.entry(label.2.clone())
.entry((*label.2).to_string())
.or_insert(Vec::new());

@@ -739,0 +791,0 @@ entry.retain(|x| x != &document.id);

Metadata-Version: 2.1
Name: quickner
Version: 0.0.1a18
Version: 0.0.1a19
Classifier: Programming Language :: Rust

@@ -5,0 +5,0 @@ Classifier: Programming Language :: Python :: Implementation :: CPython

from ast import Dict
from typing import Iterator, Optional, List, Tuple, NewType
from typing import Iterator, Optional, List, Tuple, NewType, overload
from enum import Enum

@@ -7,3 +7,2 @@

def from_jsonl(path: str) -> Quickner:

@@ -69,4 +68,5 @@ """

"""
label: Label
id : int
id: int
text: str

@@ -76,3 +76,2 @@

def __repr__(self) -> str: ...
@staticmethod

@@ -93,3 +92,11 @@ def from_string(text: str) -> Document: ...

def pretty(self) -> str:
"""
Pretty print the document.
Returns:
str: Pretty print of the document.
"""
...
class Input:

@@ -103,2 +110,3 @@ """

"""
path: str

@@ -123,2 +131,3 @@ filter: bool

"""
alphanumeric: bool

@@ -142,2 +151,3 @@ case_sensitive: bool

"""
input: Input

@@ -153,2 +163,3 @@ filters: Filters

"""
path: str

@@ -160,2 +171,3 @@

"""
CONLL = "conll"

@@ -176,2 +188,3 @@ JSON = "json"

"""
output: Output

@@ -187,2 +200,3 @@ format: Format

"""
path: str

@@ -199,2 +213,3 @@

"""
input: Input

@@ -212,2 +227,3 @@ excludes: Excludes

"""
level: str

@@ -225,2 +241,3 @@

"""
texts: Texts

@@ -241,3 +258,3 @@ annotations: AnnotationsConfig

config (Config): Configuration object.
Attributes:

@@ -252,2 +269,3 @@ documents (List[Document]): List of documents.

"""
config_file: str

@@ -258,13 +276,20 @@ config: Config

@overload
def __init__(self) -> None: ...
@overload
def __init__(self, documents: List[Document]) -> None: ...
@overload
def __init__(self, entities: List[Entity]) -> None: ...
@overload
def __init__(self, documents: List[Document], entities: List[Entity]) -> None: ...
def __init__(self, documents: List[Document], entities: List[Entity], config: Config) -> None: ...
@overload
def __init__(
self, documents: List[Document], entities: List[Entity], config: Config
) -> None: ...
@overload
def __init__(self, documents: List[Document], config: Config) -> None: ...
def process(self, save: Optional[bool] = False) -> None: ...
def save_annotations(self, path: Optional[str] = None, format: Optional[Format] = Format.JSONL) -> None: ...
def save_annotations(
self, path: Optional[str] = None, format: Optional[Format] = Format.JSONL
) -> None: ...
def to_jsonl(self, path: Optional[str] = None) -> None:

@@ -292,3 +317,3 @@ """

...
def to_spacy(self, path: Optional[str] = None) -> None:

@@ -306,3 +331,5 @@ """

def spacy(self, chunks: Optional[int] = None) -> Iterator[List[Dict["entity", List[Tuple[int, int, str]]]]]:
def spacy(
self, chunks: Optional[int] = None
) -> Iterator[List[Dict["Entity", List[Tuple[int, int, str]]]]]:
"""

@@ -342,3 +369,3 @@ Generate Spacy documents.

...
def find_documents_by_label(self, label: str) -> List[Document]:

@@ -355,3 +382,3 @@ """

...
def find_documents_by_entity(self, name: str) -> List[Document]:

@@ -371,3 +398,3 @@ """

def numpy(self) -> NDArray:
def numpy(self) -> NDArray: # noqa: F821
"""

@@ -374,0 +401,0 @@ Convert the list of documents to a Numpy array.

@@ -150,7 +150,16 @@ use crate::{

for (start_label, end_label, label) in sorted_label {
let color = color_map.get(&label).unwrap();
pretty.push_str(&self.text[start..start_label]);
pretty.push_str(&colorize(&self.text[start_label..end_label], *color));
pretty.push_str(&format!("[{label}]"));
start = end_label;
let color = color_map.get(&label);
if let Some(color) = color {
// Handle case of this string: 'ne comprend absolument rien � twitter '
// because of the � character
if start_label > self.text.len() || end_label > self.text.len() {
return Err(pyo3::exceptions::PyValueError::new_err(
"start_label is greater than the length of the text",
));
}
pretty.push_str(&self.text[start..start_label]);
pretty.push_str(&colorize(&self.text[start_label..end_label], *color));
pretty.push_str(&format!("[{label}]"));
start = end_label;
}
}

@@ -157,0 +166,0 @@ pretty.push_str(&self.text[start..]);

@@ -116,3 +116,3 @@ use std::collections::HashMap;

pub fn documents(&mut self, documents: Vec<PyDocument>) {
self.documents = documents.clone();
self.documents = (*documents).to_vec();
self.quickner.documents = documents.into_iter().collect();

@@ -126,3 +126,3 @@ self.quickner.documents_hash = Quickner::document_hash(&self.quickner.documents);

pub fn entities(&mut self, entities: Vec<PyEntity>) {
self.entities = entities.clone();
self.entities = (*entities).to_vec();
self.quickner.entities = entities.into_iter().collect();

@@ -222,3 +222,3 @@ }

};
let save_annotations = format.save(self.quickner.documents.clone(), &path);
let save_annotations = format.save(&self.quickner.documents, &path);
match save_annotations {

@@ -261,6 +261,6 @@ Ok(_) => Ok(save_annotations.unwrap()),

.iter()
.map(|annotation| Document::new(annotation.text.clone(), annotation.label.clone()))
.map(|annotation| Document::new((*annotation.text).to_string(), (*annotation.label).to_vec()))
.collect();
quickner::Format::Jsonl
.save(documents, path.as_str())
.save(&documents, path.as_str())
.unwrap();

@@ -278,6 +278,6 @@ }

.iter()
.map(|annotation| Document::new(annotation.text.clone(), annotation.label.clone()))
.map(|annotation| Document::new((*annotation.text).to_string(), (*annotation.label).to_vec()))
.collect();
quickner::Format::Csv
.save(documents, path.as_str())
.save(&documents, path.as_str())
.unwrap();

@@ -295,6 +295,6 @@ }

.iter()
.map(|annotation| Document::new(annotation.text.clone(), annotation.label.clone()))
.map(|annotation| Document::new((*annotation.text).to_string(), (*annotation.label).to_vec()))
.collect();
quickner::Format::Spacy
.save(documents, path.as_str())
.save(&documents, path.as_str())
.unwrap();

@@ -313,3 +313,3 @@ }

let documents = {
let documents = documents_ids
let documents: Vec<_> = documents_ids
.iter()

@@ -323,2 +323,12 @@ .map(|id| {

};
// Remove duplicates
let documents = documents
.into_iter()
.fold(Vec::new(), |mut acc, document| {
if !acc.contains(&document) {
acc.push(document);
}
acc
});
println!("{:?}", documents);
documents

@@ -339,3 +349,3 @@ }

let documents = {
let documents = documents_ids
let documents: Vec<_> = documents_ids
.iter()

@@ -349,2 +359,11 @@ .map(|id| {

};
// Remove duplicates
let documents: Vec<_> = documents
.into_iter()
.fold(Vec::new(), |mut acc, document| {
if !acc.contains(&document) {
acc.push(document);
}
acc
});
documents

@@ -351,0 +370,0 @@ }

@@ -29,3 +29,3 @@ import time

quick.to_jsonl("data/output.jsonl")
print(quick.find_documents_by_entity("Apple"))
# docs = quick.find_documents_by_entity("twitter")
print(f"Time elapsed: {end - start} seconds")

@@ -32,0 +32,0 @@

@@ -59,3 +59,3 @@ import unittest

labels_count = sum(len(document.label) for document in quick.documents)
self.assertEqual(labels_count, 11)
self.assertEqual(labels_count, 12)
self._test_correct(quick.documents)

@@ -71,3 +71,3 @@

labels_count = sum(len(document.label) for document in quick.documents)
self.assertEqual(labels_count, 11)
self.assertEqual(labels_count, 12)
self._test_correct(quick.documents)

@@ -121,4 +121,4 @@

entities = [Entity(*(entity)) for entity in self.entities]
documents = [Document(text) for text in self.texts]
quick = Quickner(documents=documents, entities=entities)
all_documents = [Document(text) for text in self.texts]
quick = Quickner(documents=all_documents, entities=entities)
quick.process()

@@ -125,0 +125,0 @@ documents = quick.find_documents_by_entity("Rust")

#!/bin/bash
set -e
echo "::group::Install Rust"
which rustup > /dev/null || curl --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable
export PATH="$HOME/.cargo/bin:$PATH"
rustup override set stable
rustup component add llvm-tools-preview || true
echo "::endgroup::"
export PATH="$PATH:/opt/python/cp37-cp37m/bin:/opt/python/cp38-cp38/bin:/opt/python/cp39-cp39/bin:/opt/python/cp310-cp310/bin:/opt/python/cp311-cp311/bin"
echo "::group::Install maturin"
curl -L https://github.com/PyO3/maturin/releases/download/v0.14.15/maturin-x86_64-unknown-linux-musl.tar.gz | tar -xz -C /usr/local/bin
maturin --version || true
which patchelf > /dev/null || python3 -m pip install patchelf
python3 -m pip install cffi || true
echo "::endgroup::"
maturin build --release --sdist -o dist --find-interpreter