bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing

[all]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
flask>=3.1.2
flask-sqlalchemy>=3.1.1
flask-wtf>=1.2.2
jinja2>=3.1.6
markupsafe>=3.0.3
Pillow>=3.3.0
filetype>=1.2.0
puremagic~=1.30

[base]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing

[dev]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing

[dev_all]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
Pillow>=3.3.0
flask>=3.1.2
flask-sqlalchemy>=3.1.1
flask-wtf>=1.2.2
jinja2>=3.1.6
markupsafe>=3.0.3
filetype>=1.2.0
puremagic~=1.30

[dev_base]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing

[dev_filetype]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
filetype>=1.2.0
puremagic~=1.30

[dev_flask]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
flask>=3.1.2
flask-sqlalchemy>=3.1.1
flask-wtf>=1.2.2
jinja2>=3.1.6
markupsafe>=3.0.3

[dev_full]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
Pillow>=3.3.0
flask>=3.1.2
flask-sqlalchemy>=3.1.1
flask-wtf>=1.2.2
jinja2>=3.1.6
markupsafe>=3.0.3
filetype>=1.2.0
puremagic~=1.30

[dev_image]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
Pillow>=3.3.0

[filetype]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
filetype>=1.2.0
puremagic~=1.30

[flask]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
flask>=3.1.2
flask-sqlalchemy>=3.1.1
flask-wtf>=1.2.2
jinja2>=3.1.6
markupsafe>=3.0.3

[image]
bs4>=0.0.2
chardet>=5.2.0
charset-normalizer>=3.4.4
requests>=2.32.5
tqdm<=5.0.0,>=4.67.1
bcrypt==5.0.0
screeninfo>=0.8.1
clipboard>=0.0.4
psutil
python-dotenv>=1.2.0
python-gettext~=5.0
pathlike-typing
Pillow>=3.3.0
