Skip to main content

Search String

GitHub Workflow Status (branch) PyPI - Version PyPI - Python Version

Installation

You can install search-string from PyPI:

$ pip install search-string-overvaagning

The package is supported on CPython 3.10 to 3.15, including the free-threaded builds (3.14t, 3.15t). Since version 0.6.0 the matching engine is written in Rust and exposed to Python with PyO3. Pre-built wheels are published for Linux (x86_64, aarch64) and macOS (x86_64, arm64). Installing from the source distribution requires a Rust toolchain.

Development

You need uv and a Rust toolchain. All Python tools (ruff, pyright, pytest, prek) are pinned in uv.lock, and CI uses the same versions.

$ uv sync                     # create .venv, install the tools and build the extension
$ uv run pytest               # Python tests, incl. differential tests against v0.5.3
$ uv run pyright              # type checking
$ cargo test                  # Rust unit tests
$ uv run prek install         # run ruff, pyright, cargo fmt and more on every commit

After changing Rust code, run uv sync --reinstall-package search-string-overvaagning (or uv run maturin develop --release) to rebuild the extension.

About

This package implements the search string object that is used across km24.dk for different types of surveillance.

It is used for searching a text. For something to be deemed a match, the text must match the first_str and if the second_str is not empty, the text must also match the second_str. If the not_str is not empty, the text must not match the not_str. A logical AND is used between the three conditions. The three strings can each be a collection of strings separated by semicolons wherein a match is deemed by logical OR. You can use '~' to make a word boundary. Finally, you can use !global at the end of a string to signal that that part should check globally.

Quick examples:

>>> ss = SearchString('example;hello', 'text', 'elephant', data=None)
>>> ss.match('This is an example text')
True
>>> ss.match('This text says hello')
True
>>> ss.match('This is just an example')
False

Usage

Creating Search Strings

Start by importing the SearchString class:

>>> from search_string import SearchString

Construct a new search string by supplying the first_str, second_str, not_str and any data that can be useful to refer back to later, such as an ID:

>>> ss = SearchString('first', '', '', data=2)

Optionally, you can also supply a third_str that works in the same was as first_str and not_str but has to be supplied as a keyword argument:

>>> ss = SearchString('first', '', '', data=2, third_str='third')

Matching text

If you just need to find out whether a given search string matches a text, you can use the method .match on a SearchString instance.

Often, what you want to do, is to match a collection of search strings across a list of text, e.g. sentences. You can do that the following way:

>>> from search_string import SearchString
>>> search_strings = [
...    SearchString('kan', '', 'ritzau', data=1),
...    SearchString('kan', '', 'ritzau!global', data=2)
... ]
>>> sentences = [
...    'Du kan skrive din tekst her.',
...    'Den kan bestå af flere sætninger.',
...    'Dig og Ritzau kan bestemme hvordan det skal være.',
...    'Nogle kan være lange, andre kan være korte.'
... ]
>>> res = SearchString.find_all(sentences, search_strings)
>>> res
[SearchString(kan, -, ritzau, data=1)]

For each of the matched search strings (in the above example, only one), you can extract the data and the matched text as follows:

>>> res[0].data
1
>>> res[0].matched_text
'Du kan skrive din tekst her. Den kan bestå af flere sætninger. (...) Nogle kan være lange, andre kan være korte.'
>>> res[0].matched_text_highligthed
'Du <b>kan</b> skrive din tekst her. Den <b>kan</b> bestå af flere sætninger. (...) Nogle <b>kan</b> være lange, andre <b>kan</b> være korte.'

Creating search strings that match everything

If you construct a completely empty search string, it will match everything (even the empty string), but the matched text will always be the empty string. This is to allow for "catch-all" search strings:

>>> ss = SearchString('', '', '', data=1)
>>> ss.match('')
True
>>> ss.match('Some random text')
True
>>> ss.matched_text
''

SearchStringCollection - Matching when you have many search strings

If you have a problem where you repeatedly will be matching new texts against the same collection of search strings, it is highly advised to use the SearchStringCollection which behind the scenes uses an Aho-Corasick automaton for efficient search when many search strings are present. There is some initial cost in building the automaton. Thus, it is recommended that you initialize the collection once and then continue to use it.

The most important method on SearchStringCollection is find_all, which takes a sentence (str) or list of sentences (list[str]) and returns the matched search strings, very similar to the familiar SearchString.find_all.

>>> from search_string import SearchString, SearchStringCollection
>>> search_strings = [
...    SearchString('kan', '', 'ritzau', data=1),
...    SearchString('kan', '', 'ritzau!global', data=2)
... ]
>>> sentences = ...  # Same as before
>>> ss_collection = SearchStringCollection(search_strings)
>>> res = ss_collection.find_all()
>>> res
[SearchString(kan, -, ritzau, data=1)]

Importantly, SearchStringCollection relies on the data variable being set on the collection of search strings. If it is set to None or multiple search strings have the same value, a ValueError is raised.

Performance

The Rust engine compiles all parts of all search strings in a SearchStringCollection into a single Aho-Corasick automaton, so a text is scanned once regardless of how many search strings there are. The automaton is a hybrid built for this workload: the shallow states, where a scan spends nearly all of its time, are stored as fully resolved DFA rows (one table lookup per byte, no failure transitions), while the long tail of deep states stays sparse so that the whole automaton fits in cache. Since each lookup depends on the previous one, the engine steps four independent parts of the input (chunks of a long text, or different sentences) through the automaton in the same loop, which lets the CPU overlap the lookups. Patterns are the lowercased alternatives with their ~ removed, and a candidate reported by the automaton is verified against the word boundaries the ~ asked for, with the same check that single search strings use, so a collection returns exactly what SearchString.match would. Single SearchString objects match their alternatives as plain substrings of the lowercased text with SIMD multi-substring search, checking word boundaries (~) explicitly; the Rust regex crate is only used to highlight text outside Latin-1. Large inputs are scanned without holding the GIL.

Benchmark against the previous mypyc-compiled version (0.5.3), on a synthetic corpus of 10,000 search strings, 1,000 articles (~3 KB each) and a ~300 KB document (about 100 pages). Apple M5 Pro, CPython 3.14t. Reproduce with python benchmarks/build_mypyc_baseline.py && python benchmarks/bench.py. The benchmark checks that the Rust collection returns what SearchString.find_all returns on a sample of the articles, and that both versions' single-SearchString methods return identical results (collection results can differ from 0.5.3 since 0.6.2, see below).

Scenario mypyc 0.5.3 Rust 0.6.1 Speedup
create 10k SearchString objects 2.0 ms 1.1 ms 2x
build collection (10k search strings) 66.6 ms 15.5 ms 4x
collection.find_all: 1k articles (list of sentences) 5.81 s 24.1 ms 241x
collection.find_all: 1k articles (one str each) 401.2 ms 20.3 ms 20x
collection.find_all: 100-page doc (one str) 37.6 ms 1.4 ms 27x
collection.find_all: 100-page doc (list of sentences) 158.5 ms 2.2 ms 72x
collection.find_all_sliding_window: 100-page doc 1.37 s 26.6 ms 51x
SearchString.find_all: 500 SS x 200 articles 9.92 s 33.6 ms 296x
SearchString.match: 1 SS x ~1.7k sentences 4.9 ms 177 µs 28x
SearchString.highlight: ~1.7k sentences 7.0 ms 726 µs 10x

Compared to 0.6.0 (the first Rust version, same machine), the collection scenarios are 1.6-2.7x faster, SearchString.find_all 3.7x, match 2.7x and highlight 2.1x; creating search strings is bound by the Python call overhead and unchanged.

Memory (RSS increase) mypyc 0.5.3 Rust 0.6.1
search string objects (10k) 2.7 MB 2.8 MB
collection index (10k) 76.5 MB 40.1 MB
after searching 100-page doc 3.1 MB 1.6 MB

The collection memory is the peak while building it; once built, a collection of 10,000 search strings retains about 19 MB for its automata (vs. 73 MB in 0.5.3 and 9 MB in 0.6.0, which traded that memory for speed).

Thread safety

SearchString and SearchStringCollection can be shared between threads, also on free-threaded Python: concurrent searches, attribute changes and building collections never crash, deadlock or corrupt state, and a collection releases the GIL while scanning large inputs, so threads can search in parallel.

However, find_all, find_one, find_all_sliding_window and SearchString.match store the matched text on the SearchString objects themselves (matched_sentences, matched_text, ...). If two threads search with the same search strings at the same time, one thread can read the matched text of the other thread's search. The returned list of search strings is always correct.

For multi-threaded code, use SearchStringCollection.find_all_with_text (or find_all_sliding_window_with_text). It returns SearchStringMatch objects that carry the matched text themselves and leaves the search strings untouched, so one collection can be shared by all threads. It is as fast as find_all:

>>> results = ss_collection.find_all_with_text(sentences)
>>> [(m.data, m.matched_text) for m in results]
[(1, 'Du kan skrive din tekst her. Den kan bestå af flere sætninger. (...) Nogle kan være lange, andre kan være korte.')]
>>> results[0].search_string
SearchString('kan', '', 'ritzau', data=1)
>>> results[0].matched_text_highlighted
'Du <b>kan</b> skrive din tekst her. Den <b>kan</b> bestå af flere sætninger. (...) Nogle <b>kan</b> være lange, andre <b>kan</b> være korte.'

Searching many texts in parallel

To search a batch of texts, find_all_many returns one list of SearchStringMatch results per text (each text is a str or a list of sentences). With max_threads it searches the texts in parallel inside the extension, without holding the GIL, so it is faster even on regular Python and from a single Python thread. The default max_threads=1 is as fast as calling find_all_with_text in a loop; max_threads=None uses one thread per CPU core. Small batches automatically use fewer threads, so opting in never makes a call slower.

>>> results = ss_collection.find_all_many(list_of_articles, max_threads=None)
>>> for article, matches in zip(list_of_articles, results):
...     print([m.data for m in matches])

With 10,000 search strings (Apple M5 Pro, CPython 3.14t):

Batch Loop of find_all_with_text max_threads=8 max_threads=None (18 cores)
2,000 articles (lists of sentences) 47.7 ms 8.1 ms (5.9x) 4.8 ms (10x)
2,000 articles (one str each) 33.6 ms 5.3 ms (6.4x) 3.0 ms (11x)
16 x 100-page documents 35.8 ms 7.1 ms (5.0x) 4.3 ms (8x)

Changes in 0.6.2 (collection word boundaries)

No interface changes. One bug fix in SearchStringCollection, present since the first trie-based collection (0.5.x) and also in 0.6.0 and 0.6.1:

  • ~ was a wildcard for one character from a fixed list of word-break characters (space, punctuation, ...) instead of a zero-width word boundary as in SearchString.match. The collection now parses parts with the same code as SearchString and checks boundaries with the same \b definition (Python's \w), so for every search string and text a collection returns exactly what SearchString.match / SearchString.find_all returns. The visible differences, all now resolved in favour of SearchString.match:
    • ~ inside a part: lars ~lokke now matches "Lars Løkke Rasmussen" in a collection (it did not before), and lars~lokke no longer does (there is no word boundary between s and l).
    • ~ next to a non-word character outside the old list: ~arla~ now matches "#arla", "arla&co" and "arla–mejeri" (en dash) in a collection, as it always did with SearchString.match.
    • Spaces around ; are part of the alternative (a ; b matches a and b), a space before !global stays in the literal (x !global is still global but matches x with the trailing space, not x), a part consisting only of ~ is empty, and sentences are no longer padded with newlines, so an alternative ending in \n does not match at the end of a sentence.
  • The differential tests now compare SearchStringCollection against SearchString.find_all (the reference semantics) instead of against the old trie implementation.
  • Speed and memory are unchanged or slightly better: without the wildcard, the automaton works on the exact lowercased bytes, so punctuation no longer produces candidates that a check has to reject (collection scans are 10-30% faster on the benchmark corpus, and the collection index for 10,000 search strings takes about 35 MB instead of 40 MB to build).

Changes in 0.6.1 (faster engine)

No interface changes. The engine was reworked for speed (see Performance): a custom Aho-Corasick automaton with resolved rows for the shallow states and interleaved scanning, and substring search instead of regular expressions for single search strings. Two things to be aware of:

  • Single SearchString matching now runs on the lowercased text (str.lower(), as substring-only parts always did) instead of a case-insensitive regular expression. The results are identical for normal text; only Unicode case-folding corner cases can differ (e.g. ſ no longer matches s). Highlighting of text outside Latin-1 still uses the regex crate.
  • A collection keeps more memory for its automata (about 19 MB for 10,000 search strings, vs. 9 MB before), in exchange for faster searching. The budget for the dense part is a constant (DENSE_BUDGET) in src/collection.rs.

Changes in 0.6.0 (Rust rewrite)

The Python interface is unchanged except for the following:

  • SearchStringCollection no longer takes a trie argument, and the trie attribute and the Trie class are gone. The collection is still picklable (it is rebuilt from its search strings when unpickled).
  • Two bugs in SearchStringCollection were fixed, so that it now agrees with SearchString.match:
    • Search strings with uppercase letters (including !GLOBAL) never matched in a collection; patterns are now lowercased like the text.
    • A !global part that matched both globally and in a sentence was counted twice, which made e.g. SearchString('x!global', '', '') match the sentences without x.
  • SearchStringCollection.find_all returns the matches in collection order (followed by catch-all search strings) instead of an arbitrary order.
  • New: SearchStringCollection.find_all_with_text and find_all_sliding_window_with_text, which return the matched text in SearchStringMatch result objects instead of storing it on the search strings (see Thread safety).
  • New: SearchStringCollection.find_all_many searches a batch of texts, optionally on several threads (see Searching many texts in parallel).
  • matched_sentences returns a new list on each access: assign to it instead of mutating it in place.
  • first_str_raw, second_str_raw, third_str_raw and not_str_raw are read-only.
  • Pickled search strings now also keep match_extract_max_sentences.
  • Private helpers of the old implementation were removed (except _escape_pattern, _raw_parts and _get_inner).
  • Regular expressions are evaluated by the Rust regex crate instead of Python's re. They behave the same for normal text, but Unicode corner cases of ~ (word boundary) and case-insensitivity can differ (e.g. combining marks or ß).
  • There is no pure-Python fallback any more.
  • Python 3.9 is no longer supported.

Metadata

Release files for search-string-overvaagning 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for search-string-overvaagning 0.6.2
File Size Uploaded Provenance Actions
search_string_overvaagning-0.6.2.tar.gz 95.7 kB Without provenance Details for search_string_overvaagning-0.6.2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for search-string-overvaagning 0.6.2
File Actions
search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp315-cp315t-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp315-cp315t-macosx_10_12_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp315-cp315t-macosx_10_12_x86_64.whl
search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp315-cp315-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp315-cp315-macosx_10_12_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp315-cp315-macosx_10_12_x86_64.whl
search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl
search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp314-cp314-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp314-cp314-macosx_10_12_x86_64.whl
search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl
search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl
search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl
search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details for search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
search_string_overvaagning-0.6.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for search_string_overvaagning-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
search_string_overvaagning-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details for search_string_overvaagning-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl

Total release size: 27.6 MB

Release files / search_string_overvaagning-0.6.2.tar.gz

Download URL search_string_overvaagning-0.6.2.tar.gz
Size 95.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ad56e27f04d67e9d15d290262388fdef3342fb18346e2ff3d8e5967ba98d393b
BLAKE2b-256 checksum
How to use checksums
1ba0887814fd6985dffbd589917fe859f9480df6470e44305e64e4dd3808cea8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 916.4 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a4c76b4219a03d1ce84ba10d2840e4f91f4f7c0e23357071ed4a31788dad13fe
BLAKE2b-256 checksum
How to use checksums
0ebdc506a4ae3a52f1923f24ac2b3bf20db09733e15e73e041c36bf53832b5ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 884.2 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5e0150f381683e09fe7542edd0f137f2417e54817fe294fc5ecf09f71db240bf
BLAKE2b-256 checksum
How to use checksums
e5923e2f2342cafe666a05ac5265ba16812d8d303a2fa8e67c3e99534c04305e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315t-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315t-macosx_11_0_arm64.whl
Size 781.7 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0fe5c73dc97537d2ed2afebee4bc085adb13f6804661b336cc8850f8f1144eda
BLAKE2b-256 checksum
How to use checksums
067b60d842395b300fd45b376f3c25cebd7c2617c51b9f88222b0b56b2be81ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315t-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315t-macosx_10_12_x86_64.whl
Size 845.8 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
50a10523aa352e4b6f97b2c5077a4f504756219dcbc85874a110df585ded9607
BLAKE2b-256 checksum
How to use checksums
fdf862960fb4f1fce0d9d9a420c084576acb2dc5a5e3851758809fee13577dfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 919.3 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6c93e7417f9a8918a68fbea8bd8945482b921ac6e320f7603d672f6783487271
BLAKE2b-256 checksum
How to use checksums
e23430ef2cd55d9e06d682bfff1dff295cf81b504fafbead0d6f3e71f48bff21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 888.7 kB
Tags CPython 3.15 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7efd73774c91587ffcf90cc694c8072ab835f43013eef4620ef3b8615651f8dd
BLAKE2b-256 checksum
How to use checksums
fe020414c3abc3e5cb76682c9826eaee5765a44adf56b37dce91ccca218867d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315-macosx_11_0_arm64.whl
Size 786.1 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d48f7bb2b70a7ab68051687c4611c019c6c170dbe3ed9b6d2757741c64157660
BLAKE2b-256 checksum
How to use checksums
8515144bc8b1a24776a5e01dbbdb0460aeef77e851d2a643eb77bc08bfb67dd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp315-cp315-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp315-cp315-macosx_10_12_x86_64.whl
Size 848.6 kB
Tags CPython 3.15 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d8fb8c4cc63177d9bc20d0505b2a427a4fc8a29f75b9090d179bdf904de3c4e0
BLAKE2b-256 checksum
How to use checksums
c98a5b52e9c2c73937a8417b2cbf9104c31668d4c3f87e68d67283233294db37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 916.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
94d17b9b46f53d5e83806c5bbe0875c635ebb48af2e4d144ff6f89119fb0bb40
BLAKE2b-256 checksum
How to use checksums
50f1187500a659b6842e3c63be9c34bc40e16f48d2fbf82fb566390deeda42cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 884.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
216ecf9beab7a07924ec39caf2a7a488046cfd26740ec86d34978f2855751eeb
BLAKE2b-256 checksum
How to use checksums
7a4ee5c574905f3981aae3ef1be093bcf13c8d3409adddc1753a68ffc6a4e658
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl
Size 781.8 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8f9bbc908c9f8d46df93612f7c4456486c0aa9634ef7f80f8aa5491905cc7270
BLAKE2b-256 checksum
How to use checksums
24f3260c409f2f33e2e01da3dfb612c420dbd0cc4a88bcf350f214d6ababb164
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl
Size 845.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5bee1400773c7d1bf29ee8f10636ce6de74438da106c832460574602a30607a7
BLAKE2b-256 checksum
How to use checksums
f739ed64adc96714b3364f125a0c5cecbf8407ecadcc6b94eecbf0c62d67783e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 919.5 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7b266720212ef5058503d403dddcc386ab78f910e16d753eeaad47b8cfaeec48
BLAKE2b-256 checksum
How to use checksums
18c8ea748305e56543a898126e8213ff5975bf250937ee44218aa369c64f21f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 889.0 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
74efafac788277e9ad79923c7a8228e0fb19943576856f3275fceec902e5902a
BLAKE2b-256 checksum
How to use checksums
cfc58a7d3d7c3b8b8a7d5dbecbf60a26dc89407ff64ce207719afaa44bcf7dd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314-macosx_11_0_arm64.whl
Size 786.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
acb84bb31653b3c00863c336f92462ba34f5e66434bc6521775142132108d9a7
BLAKE2b-256 checksum
How to use checksums
77339599bfefe2fcda32c9a488c41429c1d0ebb958c4d3c2b4aefc9e2b631801
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp314-cp314-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp314-cp314-macosx_10_12_x86_64.whl
Size 848.7 kB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
9ef836480a9ebdc98be6464bbb133c74624c75903925d2024bce18ba02d6850a
BLAKE2b-256 checksum
How to use checksums
85826e34e6b4eef9236f39b22f08037c0d5a4e9b990b8c37c51cb78bd189461e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 918.9 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cc17c42d2ce973b0ef6e77bb551a0b9c1653814dfc04c6798195b8c14767b9a2
BLAKE2b-256 checksum
How to use checksums
f117fa94bdb750ff2f8e0a0b79cfb7201ec9854bdfb192d98363f4672bae1c31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 888.6 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
14fed656a9dfefd17cbd37d798221b71b6848caadf5d69f226b6a1c9e7b03f84
BLAKE2b-256 checksum
How to use checksums
cf52145bf426fa9519e8249fd36a94a072202e420539cd76ca8743c029050ea6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp313-cp313-macosx_11_0_arm64.whl
Size 786.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c0b5916da21f91d07ba80b2dd89bd33b42a93020bc4926eaeb00ef834a716fa7
BLAKE2b-256 checksum
How to use checksums
157351ce42c53d3fd26993b138f737469543cc94094680cc423488ba17377263
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp313-cp313-macosx_10_12_x86_64.whl
Size 848.7 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5778951729dfd5fb18b8dc52943f559209c5a0ebe4c8b03a6f2bc0fff3060d5b
BLAKE2b-256 checksum
How to use checksums
585ea3b30f702682dc65ed8138663570ec1488fa7ae3df0073312689b48d4937
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 918.6 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
16f4d2fe0c01837e4363f6dba62d41f1806f741f2aef8aabaa53f417266cc367
BLAKE2b-256 checksum
How to use checksums
646f2dbb3cb339c66d5200443c1395c055d30ba48abf422856b016c76af16888
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 888.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4a9327c1c9d494cfa0e722567a90be1fac37679c73505f4f12212a10d75dff7c
BLAKE2b-256 checksum
How to use checksums
3eb14403ed0c36a9d9ac49322ba4a8c48ebef5f74e45414fc66048bbffc87bdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp312-cp312-macosx_11_0_arm64.whl
Size 786.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
af1abc1831c76b5c3f0c892fa878e03f684f010032be12db502429e2c8d8db55
BLAKE2b-256 checksum
How to use checksums
87a48db8238ad811a548375e14e26876bc5714e8b58d585c94cb02181963ed94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp312-cp312-macosx_10_12_x86_64.whl
Size 848.8 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
ddb47eb68c49c6ada497d441f380e20c593a6f07fd429ebb96fb12b550b487ef
BLAKE2b-256 checksum
How to use checksums
944d77807bea910e6d3b19fe04458d4667a09561f2fa4407561ecda0a91251bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 916.1 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8812555a5f52cfce21116536cf066b0c2d658a36eb8c5a49fb6a2029ac61fd8e
BLAKE2b-256 checksum
How to use checksums
e131c719c1a96ec2fa239cae18aa06524f27cc777c2a207c27c8b57c69fd5fe4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 885.9 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c17699c6a0cac1bcffaff87919ce9900a01684c43ba51ff5533eaf1ed79b986c
BLAKE2b-256 checksum
How to use checksums
acfd263ba193609e33ca4692fea305e7291d06a0fc0518b0e1a2225e9bd275af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp311-cp311-macosx_11_0_arm64.whl
Size 790.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
df6951b444b9e9fda8535c589383c1b432ef4a88c3b161a602c5be357b7ba770
BLAKE2b-256 checksum
How to use checksums
714f0100cdbe2178adc3dccd47cf814871f8a532097d170ab34e96469d0aed94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp311-cp311-macosx_10_12_x86_64.whl
Size 848.1 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
81b4ee295c81f4708077c5c3dc07cb16e588bebad18ee173bf818c4c834ee74c
BLAKE2b-256 checksum
How to use checksums
3bfb60f0672d561c06d30d8753788558895cc50fafd837c29c8e7f7926519d47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 916.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d61dcc51df267e7f37389a98d12786d0b13afca2eab9d84b81e13eb7f5d6fad8
BLAKE2b-256 checksum
How to use checksums
a2c107c8f99a69ea92637ed7440c225c671b7bc8006056f37ca1fab9c2bc1c41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL search_string_overvaagning-0.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 886.0 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
09bf04a871a402be009274c703e4bd545c982731348f8964beeb63cd9da09f7e
BLAKE2b-256 checksum
How to use checksums
02603e3c4b31db0d37422777197801d74d34e17b105aba43a29c8687e8eb0308
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL search_string_overvaagning-0.6.2-cp310-cp310-macosx_11_0_arm64.whl
Size 790.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a52f956f1ed9f6fc2ce82a3e74aa24c5d7aec80c932fe841f592700b1113ffab
BLAKE2b-256 checksum
How to use checksums
9995e4637d0e11cbab924f4f4cdc5781dab70e0d0b05544583bfc8a17b6fa736
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / search_string_overvaagning-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl

Download URL search_string_overvaagning-0.6.2-cp310-cp310-macosx_10_12_x86_64.whl
Size 848.1 kB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
7ae141eac6eed180f180e06ad99e2e2de0213ac8cb6068308f8038b003f6899d
BLAKE2b-256 checksum
How to use checksums
ef253f54324a8e7799b8708bee5122ecce24ff706bba064e6dfd2421ae76fe6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for search-string-overvaagning 0.6.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page