]> Untitled Git - axy/ft/rag.git/commitdiff
Cleanup
authorAxy <gilliardmarthey.axel@gmail.com>
Wed, 26 Aug 2026 16:47:06 +0000 (18:47 +0200)
committerAxy <gilliardmarthey.axel@gmail.com>
Wed, 26 Aug 2026 16:47:06 +0000 (18:47 +0200)
pyproject.toml
src/rag/__init__.py
src/rag/retrieval.py
src/rag/stopwords.py
stopwords-en.txt [deleted file]
uv.lock

index 13621571562d2ebc22ccab5cf3b23576ca725fca..943bcc067065887c230e56aeb3e58e1000c3b584 100644 (file)
@@ -18,6 +18,7 @@ dev = [
     "flake8>=7.3.0",
     "mypy>=2.3.1",
     "ruff>=0.16.4",
+    "types-tqdm>=4.70.0.20260805",
 ]
 
 [project.scripts]
index fe805a684af826221959284b7952c2e71022f6cb..f07f984cc325ce80e8c55713072e359dca466bbe 100644 (file)
@@ -4,8 +4,8 @@ from sys import stderr
 
 import fire
 import pydantic
-from tqdm import tqdm
 from pydantic_core import ValidationError
+from tqdm import tqdm
 
 from rag.chunking import FileType, chunk_file
 from rag.models import (
@@ -93,7 +93,7 @@ class RAG:
             logging.getLogger(__name__).error(f"Failed to open index {e}")
             exit(1)
 
-    def _search(self, query: str, k: int, index) -> list[MinimalSource]:
+    def _search(self, query: str, k: int, index: str) -> list[MinimalSource]:
         bm25 = self._bm25(index)
         return bm25.best_k(query, k)
 
index 8e4dee36a18842d60756c37c078966290e90cc17..b7b1932131eb946f1af2b888de5fdb897c06ba23 100644 (file)
@@ -107,7 +107,7 @@ class BM25[T]:
     def scores(self, querry: str) -> dict[T, float]:
         # Old slow impl:
         # return {k: self.score(querry, k) for k in self.corpus}
-        res = {}
+        res: dict[T, float] = {}
         for word in words_normalize(querry):
             for k, v in self.word_scores(word).items():
                 res[k] = res.get(k, 0.0) + v
index 8102339905fa1619065b8ca6ff12961726409318..4005961d4915bf3848f59abc6fdf00254720f284 100644 (file)
-stopwords = """
-able
-about
-above
-abroad
-according
-accordingly
-across
-actually
-adj
-after
-afterwards
-again
-against
-ago
-ahead
-ain't
-all
-allow
-allows
-almost
-alone
-along
-alongside
-already
-also
-although
-always
-am
-amid
-amidst
-among
-amongst
-an
-and
-another
-any
-anybody
-anyhow
-anyone
-anything
-anyway
-anyways
-anywhere
-apart
-appear
-appreciate
-appropriate
-are
-aren't
-around
-as
-a's
-aside
-ask
-asking
-associated
-at
-available
-away
-awfully
-back
-backward
-backwards
-be
-became
-because
-become
-becomes
-becoming
-been
-before
-beforehand
-begin
-behind
-being
-believe
-below
-beside
-besides
-best
-better
-between
-beyond
-both
-brief
-but
-by
-came
-can
-cannot
-cant
-can't
-caption
-cause
-causes
-certain
-certainly
-changes
-clearly
-c'mon
-co
-co.
-com
-come
-comes
-concerning
-consequently
-consider
-considering
-contain
-containing
-contains
-corresponding
-could
-couldn't
-course
-c's
-currently
-dare
-daren't
-definitely
-described
-despite
-did
-didn't
-different
-directly
-do
-does
-doesn't
-doing
-done
-don't
-down
-downwards
-during
-each
-edu
-eg
-eight
-eighty
-either
-else
-elsewhere
-end
-ending
-enough
-entirely
-especially
-et
-etc
-even
-ever
-evermore
-every
-everybody
-everyone
-everything
-everywhere
-ex
-exactly
-example
-except
-fairly
-far
-farther
-few
-fewer
-fifth
-first
-five
-followed
-following
-follows
-for
-forever
-former
-formerly
-forth
-forward
-found
-four
-from
-further
-furthermore
-get
-gets
-getting
-given
-gives
-go
-goes
-going
-gone
-got
-gotten
-greetings
-had
-hadn't
-half
-happens
-hardly
-has
-hasn't
-have
-haven't
-having
-he
-he'd
-he'll
-hello
-help
-hence
-her
-here
-hereafter
-hereby
-herein
-here's
-hereupon
-hers
-herself
-he's
-hi
-him
-himself
-his
-hither
-hopefully
-how
-howbeit
-however
-hundred
-i'd
-ie
-if
-ignored
-i'll
-i'm
-immediate
-in
-inasmuch
-inc
-inc.
-indeed
-indicate
-indicated
-indicates
-inner
-inside
-insofar
-instead
-into
-inward
-is
-isn't
-it
-it'd
-it'll
-its
-it's
-itself
-i've
-just
-k
-keep
-keeps
-kept
-know
-known
-knows
-last
-lately
-later
-latter
-latterly
-least
-less
-lest
-let
-let's
-like
-liked
-likely
-likewise
-little
-look
-looking
-looks
-low
-lower
-ltd
-made
-mainly
-make
-makes
-many
-may
-maybe
-mayn't
-me
-mean
-meantime
-meanwhile
-merely
-might
-mightn't
-mine
-minus
-miss
-more
-moreover
-most
-mostly
-mr
-mrs
-much
-must
-mustn't
-my
-myself
-name
-namely
-nd
-near
-nearly
-necessary
-need
-needn't
-needs
-neither
-never
-neverf
-neverless
-nevertheless
-new
-next
-nine
-ninety
-no
-nobody
-non
-none
-nonetheless
-noone
-no-one
-nor
-normally
-not
-nothing
-notwithstanding
-novel
-now
-nowhere
-obviously
-of
-off
-often
-oh
-ok
-okay
-old
-on
-once
-one
-ones
-one's
-only
-onto
-opposite
-or
-other
-others
-otherwise
-ought
-oughtn't
-our
-ours
-ourselves
-out
-outside
-over
-overall
-own
-particular
-particularly
-past
-per
-perhaps
-placed
-please
-plus
-possible
-presumably
-probably
-provided
-provides
-que
-quite
-qv
-rather
-rd
-re
-really
-reasonably
-recent
-recently
-regarding
-regardless
-regards
-relatively
-respectively
-right
-round
-said
-same
-saw
-say
-saying
-says
-second
-secondly
-see
-seeing
-seem
-seemed
-seeming
-seems
-seen
-self
-selves
-sensible
-sent
-serious
-seriously
-seven
-several
-shall
-shan't
-she
-she'd
-she'll
-she's
-should
-shouldn't
-since
-six
-so
-some
-somebody
-someday
-somehow
-someone
-something
-sometime
-sometimes
-somewhat
-somewhere
-soon
-sorry
-specified
-specify
-specifying
-still
-sub
-such
-sup
-sure
-take
-taken
-taking
-tell
-tends
-th
-than
-thank
-thanks
-thanx
-that
-that'll
-thats
-that's
-that've
-the
-their
-theirs
-them
-themselves
-then
-thence
-there
-thereafter
-thereby
-there'd
-therefore
-therein
-there'll
-there're
-theres
-there's
-thereupon
-there've
-these
-they
-they'd
-they'll
-they're
-they've
-thing
-things
-think
-third
-thirty
-this
-thorough
-thoroughly
-those
-though
-three
-through
-throughout
-thru
-thus
-till
-to
-together
-too
-took
-toward
-towards
-tried
-tries
-truly
-try
-trying
-t's
-twice
-two
-un
-under
-underneath
-undoing
-unfortunately
-unless
-unlike
-unlikely
-until
-unto
-up
-upon
-upwards
-us
-use
-used
-useful
-uses
-using
-usually
-v
-value
-various
-versus
-very
-via
-viz
-vs
-want
-wants
-was
-wasn't
-way
-we
-we'd
-welcome
-well
-we'll
-went
-were
-we're
-weren't
-we've
-what
-whatever
-what'll
-what's
-what've
-when
-whence
-whenever
-where
-whereafter
-whereas
-whereby
-wherein
-where's
-whereupon
-wherever
-whether
-which
-whichever
-while
-whilst
-whither
-who
-who'd
-whoever
-whole
-who'll
-whom
-whomever
-who's
-whose
-why
-will
-willing
-wish
-with
-within
-without
-wonder
-won't
-would
-wouldn't
-yes
-yet
-you
-you'd
-you'll
-your
-you're
-yours
-yourself
-yourselves
-you've
-zero
-a
-how's
-i
-when's
-why's
-b
-c
-d
-e
-f
-g
-h
-j
-l
-m
-n
-o
-p
-q
-r
-s
-t
-u
-uucp
-w
-x
-y
-z
-I
-www
-amount
-bill
-bottom
-call
-computer
-con
-couldnt
-cry
-de
-describe
-detail
-due
-eleven
-empty
-fifteen
-fifty
-fill
-find
-fire
-forty
-front
-full
-give
-hasnt
-herse
-himse
-interest
-itse”
-mill
-move
-myse”
-part
-put
-show
-side
-sincere
-sixty
-system
-ten
-thick
-thin
-top
-twelve
-twenty
-abst
-accordance
-act
-added
-adopted
-affected
-affecting
-affects
-ah
-announce
-anymore
-apparently
-approximately
-aren
-arent
-arise
-auth
-beginning
-beginnings
-begins
-biol
-briefly
-ca
-date
-ed
-effect
-et-al
-ff
-fix
-gave
-giving
-heres
-hes
-hid
-home
-id
-im
-immediately
-importance
-important
-index
-information
-invention
-itd
-keys
-kg
-km
-largely
-lets
-line
-'ll
-means
-mg
-million
-ml
-mug
-na
-nay
-necessarily
-nos
-noted
-obtain
-obtained
-omitted
-ord
-owing
-page
-pages
-poorly
-possibly
-potentially
-pp
-predominantly
-present
-previously
-primarily
-promptly
-proud
-quickly
-ran
-readily
-ref
-refs
-related
-research
-resulted
-resulting
-results
-run
-sec
-section
-shed
-shes
-showed
-shown
-showns
-shows
-significant
-significantly
-similar
-similarly
-slightly
-somethan
-specifically
-state
-states
-stop
-strongly
-substantially
-successfully
-sufficiently
-suggest
-thered
-thereof
-therere
-thereto
-theyd
-theyre
-thou
-thoughh
-thousand
-throug
-til
-tip
-ts
-ups
-usefully
-usefulness
-'ve
-vol
-vols
-wed
-whats
-wheres
-whim
-whod
-whos
-widely
-words
-world
-youd
-youre
-"""
+stopwords = """ able about above abroad according accordingly across actually
+adj after afterwards again against ago ahead ain't all allow allows almost
+alone along alongside already also although always am amid amidst among amongst
+an and another any anybody anyhow anyone anything anyway anyways anywhere apart
+appear appreciate appropriate are aren't around as a's aside ask asking
+associated at available away awfully back backward backwards be became because
+become becomes becoming been before beforehand begin behind being believe below
+beside besides best better between beyond both brief but by came can cannot
+cant can't caption cause causes certain certainly changes clearly c'mon co co.
+com come comes concerning consequently consider considering contain containing
+contains corresponding could couldn't course c's currently dare daren't
+definitely described despite did didn't different directly do does doesn't
+doing done don't down downwards during each edu eg eight eighty either else
+elsewhere end ending enough entirely especially et etc even ever evermore every
+everybody everyone everything everywhere ex exactly example except fairly far
+farther few fewer fifth first five followed following follows for forever
+former formerly forth forward found four from further furthermore get gets
+getting given gives go goes going gone got gotten greetings had hadn't half
+happens hardly has hasn't have haven't having he he'd he'll hello help hence
+her here hereafter hereby herein here's hereupon hers herself he's hi him
+himself his hither hopefully how howbeit however hundred i'd ie if ignored
+i'll i'm immediate in inasmuch inc inc. indeed indicate indicated indicates
+inner inside insofar instead into inward is isn't it it'd it'll its it's itself
+i've just k keep keeps kept know known knows last lately later latter latterly
+least less lest let let's like liked likely likewise little look looking looks
+low lower ltd made mainly make makes many may maybe mayn't me mean meantime
+meanwhile merely might mightn't mine minus miss more moreover most mostly mr
+mrs much must mustn't my myself name namely nd near nearly necessary need
+needn't needs neither never neverf neverless nevertheless new next nine ninety
+no nobody non none nonetheless noone no-one nor normally not nothing
+notwithstanding novel now nowhere obviously of off often oh ok okay old on
+once one ones one's only onto opposite or other others otherwise ought
+oughtn't our ours ourselves out outside over overall own particular
+particularly past per perhaps placed please plus possible presumably probably
+provided provides que quite qv rather rd re really reasonably recent recently
+regarding regardless regards relatively respectively right round said same saw
+say saying says second secondly see seeing seem seemed seeming seems seen self
+selves sensible sent serious seriously seven several shall shan't she she'd
+she'll she's should shouldn't since six so some somebody someday somehow
+someone something sometime sometimes somewhat somewhere soon sorry specified
+specify specifying still sub such sup sure take taken taking tell tends th than
+thank thanks thanx that that'll thats that's that've the their theirs them
+themselves then thence there thereafter thereby there'd therefore therein
+there'll there're theres there's thereupon there've these they they'd they'll
+they're they've thing things think third thirty this thorough thoroughly those
+though three through throughout thru thus till to together too took toward
+towards tried tries truly try trying t's twice two un under underneath undoing
+unfortunately unless unlike unlikely until unto up upon upwards us use used
+useful uses using usually v value various versus very via viz vs want wants was
+wasn't way we we'd welcome well we'll went were we're weren't we've what
+whatever what'll what's what've when whence whenever where whereafter whereas
+whereby wherein where's whereupon wherever whether which whichever while whilst
+whither who who'd whoever whole who'll whom whomever who's whose why will
+willing wish with within without wonder won't would wouldn't yes yet you you'd
+you'll your you're yours yourself yourselves you've zero a how's i when's why's
+b c d e f g h j l m n o p q r s t u uucp w x y z I www amount bill bottom call
+computer con couldnt cry de describe detail due eleven empty fifteen fifty fill
+find fire forty front full give hasnt herse himse interest itse” mill move
+myse” part put show side sincere sixty system ten thick thin top twelve twenty
+abst accordance act added adopted affected affecting affects ah announce
+anymore apparently approximately aren arent arise auth beginning beginnings
+begins biol briefly ca date ed effect et-al ff fix gave giving heres hes hid
+home id im immediately importance important index information invention itd
+keys kg km largely lets line 'll means mg million ml mug na nay necessarily nos
+noted obtain obtained omitted ord owing page pages poorly possibly potentially
+pp predominantly present previously primarily promptly proud quickly ran
+readily ref refs related research resulted resulting results run sec section
+shed shes showed shown showns shows significant significantly similar similarly
+slightly somethan specifically state states stop strongly substantially
+successfully sufficiently suggest thered thereof therere thereto theyd theyre
+thou thoughh thousand throug til tip ts ups usefully usefulness 've vol vols
+wed whats wheres whim whod whos widely words world youd youre"""
diff --git a/stopwords-en.txt b/stopwords-en.txt
deleted file mode 100644 (file)
index f9d6929..0000000
+++ /dev/null
@@ -1,851 +0,0 @@
-able\r
-about\r
-above\r
-abroad\r
-according\r
-accordingly\r
-across\r
-actually\r
-adj\r
-after\r
-afterwards\r
-again\r
-against\r
-ago\r
-ahead\r
-ain't\r
-all\r
-allow\r
-allows\r
-almost\r
-alone\r
-along\r
-alongside\r
-already\r
-also\r
-although\r
-always\r
-am\r
-amid\r
-amidst\r
-among\r
-amongst\r
-an\r
-and\r
-another\r
-any\r
-anybody\r
-anyhow\r
-anyone\r
-anything\r
-anyway\r
-anyways\r
-anywhere\r
-apart\r
-appear\r
-appreciate\r
-appropriate\r
-are\r
-aren't\r
-around\r
-as\r
-a's\r
-aside\r
-ask\r
-asking\r
-associated\r
-at\r
-available\r
-away\r
-awfully\r
-back\r
-backward\r
-backwards\r
-be\r
-became\r
-because\r
-become\r
-becomes\r
-becoming\r
-been\r
-before\r
-beforehand\r
-begin\r
-behind\r
-being\r
-believe\r
-below\r
-beside\r
-besides\r
-best\r
-better\r
-between\r
-beyond\r
-both\r
-brief\r
-but\r
-by\r
-came\r
-can\r
-cannot\r
-cant\r
-can't\r
-caption\r
-cause\r
-causes\r
-certain\r
-certainly\r
-changes\r
-clearly\r
-c'mon\r
-co\r
-co.\r
-com\r
-come\r
-comes\r
-concerning\r
-consequently\r
-consider\r
-considering\r
-contain\r
-containing\r
-contains\r
-corresponding\r
-could\r
-couldn't\r
-course\r
-c's\r
-currently\r
-dare\r
-daren't\r
-definitely\r
-described\r
-despite\r
-did\r
-didn't\r
-different\r
-directly\r
-do\r
-does\r
-doesn't\r
-doing\r
-done\r
-don't\r
-down\r
-downwards\r
-during\r
-each\r
-edu\r
-eg\r
-eight\r
-eighty\r
-either\r
-else\r
-elsewhere\r
-end\r
-ending\r
-enough\r
-entirely\r
-especially\r
-et\r
-etc\r
-even\r
-ever\r
-evermore\r
-every\r
-everybody\r
-everyone\r
-everything\r
-everywhere\r
-ex\r
-exactly\r
-example\r
-except\r
-fairly\r
-far\r
-farther\r
-few\r
-fewer\r
-fifth\r
-first\r
-five\r
-followed\r
-following\r
-follows\r
-for\r
-forever\r
-former\r
-formerly\r
-forth\r
-forward\r
-found\r
-four\r
-from\r
-further\r
-furthermore\r
-get\r
-gets\r
-getting\r
-given\r
-gives\r
-go\r
-goes\r
-going\r
-gone\r
-got\r
-gotten\r
-greetings\r
-had\r
-hadn't\r
-half\r
-happens\r
-hardly\r
-has\r
-hasn't\r
-have\r
-haven't\r
-having\r
-he\r
-he'd\r
-he'll\r
-hello\r
-help\r
-hence\r
-her\r
-here\r
-hereafter\r
-hereby\r
-herein\r
-here's\r
-hereupon\r
-hers\r
-herself\r
-he's\r
-hi\r
-him\r
-himself\r
-his\r
-hither\r
-hopefully\r
-how\r
-howbeit\r
-however\r
-hundred\r
-i'd\r
-ie\r
-if\r
-ignored\r
-i'll\r
-i'm\r
-immediate\r
-in\r
-inasmuch\r
-inc\r
-inc.\r
-indeed\r
-indicate\r
-indicated\r
-indicates\r
-inner\r
-inside\r
-insofar\r
-instead\r
-into\r
-inward\r
-is\r
-isn't\r
-it\r
-it'd\r
-it'll\r
-its\r
-it's\r
-itself\r
-i've\r
-just\r
-k\r
-keep\r
-keeps\r
-kept\r
-know\r
-known\r
-knows\r
-last\r
-lately\r
-later\r
-latter\r
-latterly\r
-least\r
-less\r
-lest\r
-let\r
-let's\r
-like\r
-liked\r
-likely\r
-likewise\r
-little\r
-look\r
-looking\r
-looks\r
-low\r
-lower\r
-ltd\r
-made\r
-mainly\r
-make\r
-makes\r
-many\r
-may\r
-maybe\r
-mayn't\r
-me\r
-mean\r
-meantime\r
-meanwhile\r
-merely\r
-might\r
-mightn't\r
-mine\r
-minus\r
-miss\r
-more\r
-moreover\r
-most\r
-mostly\r
-mr\r
-mrs\r
-much\r
-must\r
-mustn't\r
-my\r
-myself\r
-name\r
-namely\r
-nd\r
-near\r
-nearly\r
-necessary\r
-need\r
-needn't\r
-needs\r
-neither\r
-never\r
-neverf\r
-neverless\r
-nevertheless\r
-new\r
-next\r
-nine\r
-ninety\r
-no\r
-nobody\r
-non\r
-none\r
-nonetheless\r
-noone\r
-no-one\r
-nor\r
-normally\r
-not\r
-nothing\r
-notwithstanding\r
-novel\r
-now\r
-nowhere\r
-obviously\r
-of\r
-off\r
-often\r
-oh\r
-ok\r
-okay\r
-old\r
-on\r
-once\r
-one\r
-ones\r
-one's\r
-only\r
-onto\r
-opposite\r
-or\r
-other\r
-others\r
-otherwise\r
-ought\r
-oughtn't\r
-our\r
-ours\r
-ourselves\r
-out\r
-outside\r
-over\r
-overall\r
-own\r
-particular\r
-particularly\r
-past\r
-per\r
-perhaps\r
-placed\r
-please\r
-plus\r
-possible\r
-presumably\r
-probably\r
-provided\r
-provides\r
-que\r
-quite\r
-qv\r
-rather\r
-rd\r
-re\r
-really\r
-reasonably\r
-recent\r
-recently\r
-regarding\r
-regardless\r
-regards\r
-relatively\r
-respectively\r
-right\r
-round\r
-said\r
-same\r
-saw\r
-say\r
-saying\r
-says\r
-second\r
-secondly\r
-see\r
-seeing\r
-seem\r
-seemed\r
-seeming\r
-seems\r
-seen\r
-self\r
-selves\r
-sensible\r
-sent\r
-serious\r
-seriously\r
-seven\r
-several\r
-shall\r
-shan't\r
-she\r
-she'd\r
-she'll\r
-she's\r
-should\r
-shouldn't\r
-since\r
-six\r
-so\r
-some\r
-somebody\r
-someday\r
-somehow\r
-someone\r
-something\r
-sometime\r
-sometimes\r
-somewhat\r
-somewhere\r
-soon\r
-sorry\r
-specified\r
-specify\r
-specifying\r
-still\r
-sub\r
-such\r
-sup\r
-sure\r
-take\r
-taken\r
-taking\r
-tell\r
-tends\r
-th\r
-than\r
-thank\r
-thanks\r
-thanx\r
-that\r
-that'll\r
-thats\r
-that's\r
-that've\r
-the\r
-their\r
-theirs\r
-them\r
-themselves\r
-then\r
-thence\r
-there\r
-thereafter\r
-thereby\r
-there'd\r
-therefore\r
-therein\r
-there'll\r
-there're\r
-theres\r
-there's\r
-thereupon\r
-there've\r
-these\r
-they\r
-they'd\r
-they'll\r
-they're\r
-they've\r
-thing\r
-things\r
-think\r
-third\r
-thirty\r
-this\r
-thorough\r
-thoroughly\r
-those\r
-though\r
-three\r
-through\r
-throughout\r
-thru\r
-thus\r
-till\r
-to\r
-together\r
-too\r
-took\r
-toward\r
-towards\r
-tried\r
-tries\r
-truly\r
-try\r
-trying\r
-t's\r
-twice\r
-two\r
-un\r
-under\r
-underneath\r
-undoing\r
-unfortunately\r
-unless\r
-unlike\r
-unlikely\r
-until\r
-unto\r
-up\r
-upon\r
-upwards\r
-us\r
-use\r
-used\r
-useful\r
-uses\r
-using\r
-usually\r
-v\r
-value\r
-various\r
-versus\r
-very\r
-via\r
-viz\r
-vs\r
-want\r
-wants\r
-was\r
-wasn't\r
-way\r
-we\r
-we'd\r
-welcome\r
-well\r
-we'll\r
-went\r
-were\r
-we're\r
-weren't\r
-we've\r
-what\r
-whatever\r
-what'll\r
-what's\r
-what've\r
-when\r
-whence\r
-whenever\r
-where\r
-whereafter\r
-whereas\r
-whereby\r
-wherein\r
-where's\r
-whereupon\r
-wherever\r
-whether\r
-which\r
-whichever\r
-while\r
-whilst\r
-whither\r
-who\r
-who'd\r
-whoever\r
-whole\r
-who'll\r
-whom\r
-whomever\r
-who's\r
-whose\r
-why\r
-will\r
-willing\r
-wish\r
-with\r
-within\r
-without\r
-wonder\r
-won't\r
-would\r
-wouldn't\r
-yes\r
-yet\r
-you\r
-you'd\r
-you'll\r
-your\r
-you're\r
-yours\r
-yourself\r
-yourselves\r
-you've\r
-zero\r
-a\r
-how's\r
-i\r
-when's\r
-why's\r
-b\r
-c\r
-d\r
-e\r
-f\r
-g\r
-h\r
-j\r
-l\r
-m\r
-n\r
-o\r
-p\r
-q\r
-r\r
-s\r
-t\r
-u\r
-uucp\r
-w\r
-x\r
-y\r
-z\r
-I\r
-www\r
-amount\r
-bill\r
-bottom\r
-call\r
-computer\r
-con\r
-couldnt\r
-cry\r
-de\r
-describe\r
-detail\r
-due\r
-eleven\r
-empty\r
-fifteen\r
-fifty\r
-fill\r
-find\r
-fire\r
-forty\r
-front\r
-full\r
-give\r
-hasnt\r
-herse\r
-himse\r
-interest\r
-itse”\r
-mill\r
-move\r
-myse”\r
-part\r
-put\r
-show\r
-side\r
-sincere\r
-sixty\r
-system\r
-ten\r
-thick\r
-thin\r
-top\r
-twelve\r
-twenty\r
-abst\r
-accordance\r
-act\r
-added\r
-adopted\r
-affected\r
-affecting\r
-affects\r
-ah\r
-announce\r
-anymore\r
-apparently\r
-approximately\r
-aren\r
-arent\r
-arise\r
-auth\r
-beginning\r
-beginnings\r
-begins\r
-biol\r
-briefly\r
-ca\r
-date\r
-ed\r
-effect\r
-et-al\r
-ff\r
-fix\r
-gave\r
-giving\r
-heres\r
-hes\r
-hid\r
-home\r
-id\r
-im\r
-immediately\r
-importance\r
-important\r
-index\r
-information\r
-invention\r
-itd\r
-keys\r
-kg\r
-km\r
-largely\r
-lets\r
-line\r
-'ll\r
-means\r
-mg\r
-million\r
-ml\r
-mug\r
-na\r
-nay\r
-necessarily\r
-nos\r
-noted\r
-obtain\r
-obtained\r
-omitted\r
-ord\r
-owing\r
-page\r
-pages\r
-poorly\r
-possibly\r
-potentially\r
-pp\r
-predominantly\r
-present\r
-previously\r
-primarily\r
-promptly\r
-proud\r
-quickly\r
-ran\r
-readily\r
-ref\r
-refs\r
-related\r
-research\r
-resulted\r
-resulting\r
-results\r
-run\r
-sec\r
-section\r
-shed\r
-shes\r
-showed\r
-shown\r
-showns\r
-shows\r
-significant\r
-significantly\r
-similar\r
-similarly\r
-slightly\r
-somethan\r
-specifically\r
-state\r
-states\r
-stop\r
-strongly\r
-substantially\r
-successfully\r
-sufficiently\r
-suggest\r
-thered\r
-thereof\r
-therere\r
-thereto\r
-theyd\r
-theyre\r
-thou\r
-thoughh\r
-thousand\r
-throug\r
-til\r
-tip\r
-ts\r
-ups\r
-usefully\r
-usefulness\r
-'ve\r
-vol\r
-vols\r
-wed\r
-whats\r
-wheres\r
-whim\r
-whod\r
-whos\r
-widely\r
-words\r
-world\r
-youd\r
-youre
\ No newline at end of file
diff --git a/uv.lock b/uv.lock
index 9b79cb5673a5d96fbbe36e97ee54668871b2e5cf..4d6ce6b3b30c12692003f3ff117093fca528ea51 100644 (file)
--- a/uv.lock
+++ b/uv.lock
@@ -726,6 +726,7 @@ dev = [
     { name = "flake8" },
     { name = "mypy" },
     { name = "ruff" },
+    { name = "types-tqdm" },
 ]
 
 [package.metadata]
@@ -742,6 +743,7 @@ dev = [
     { name = "flake8", specifier = ">=7.3.0" },
     { name = "mypy", specifier = ">=2.3.1" },
     { name = "ruff", specifier = ">=0.16.4" },
+    { name = "types-tqdm", specifier = ">=4.70.0.20260805" },
 ]
 
 [[package]]
@@ -1057,6 +1059,15 @@ wheels = [
     { url = "https://files.pythonhosted.org/packages/43/89/9518bc0c3929bee36b3a4a8e3daddd6e03f92f9961c66d4983b837160543/typer-0.27.1-py3-none-any.whl", hash = "sha256:53150287edd11baeb4e4722c8e394fcdf8181c0ae89485cba8d25c778d5edd56", size = 122874, upload-time = "2026-08-03T14:41:04.391Z" },
 ]
 
+[[package]]
+name = "types-tqdm"
+version = "4.70.0.20260805"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ce/41/284465d9bb5e657a1a4b17a4addf8800bbfad3d2e903f5a1a4d5bd10dd53/types_tqdm-4.70.0.20260805.tar.gz", hash = "sha256:569efd0fd8b2a460e6e6548634ec253c1362ed8907f8b0daacf0a07eab204a26", size = 19115, upload-time = "2026-08-05T04:52:04.435Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/97/92/acbd53e79df923bca3881192558a3bc73a47b8b7bd6c94b3649ae45e8094/types_tqdm-4.70.0.20260805-py3-none-any.whl", hash = "sha256:c83113470a46caee2d045428554714f3c314be94eb4ed4030aaa8a8ab21b830c", size = 25135, upload-time = "2026-08-05T04:52:03.166Z" },
+]
+
 [[package]]
 name = "typing-extensions"
 version = "4.16.0"