[GH-ISSUE #62] [QUESTION] Can Whoogle be deployed with ______? #41

Open
opened 2026-02-25 20:34:46 +03:00 by kerem · 12 comments
Owner

Originally created by @benbusby on GitHub (May 18, 2020).
Original GitHub issue: https://github.com/benbusby/whoogle-search/issues/62

Probably. Here are some currently requested deployment options. Support for these is TBD.

  • Vercel/Zeit
  • YunoHost App
  • Netlify

If you have another request, or want to contribute a quick guide on how to deploy to one of these, please comment here.

Originally created by @benbusby on GitHub (May 18, 2020). Original GitHub issue: https://github.com/benbusby/whoogle-search/issues/62 Probably. Here are some currently requested deployment options. Support for these is TBD. - [ ] Vercel/Zeit - [ ] YunoHost App - [ ] Netlify If you have another request, or want to contribute a quick guide on how to deploy to one of these, please comment here.
Author
Owner

@spikecodes commented on GitHub (Aug 10, 2020):

Just submitted a PR for deployment to Repl.it! #114

<!-- gh-comment-id:671527858 --> @spikecodes commented on GitHub (Aug 10, 2020): Just submitted a PR for deployment to Repl.it! #114
Author
Owner

@naveenjohnsonv commented on GitHub (Oct 29, 2020):

Is repl.it working properly? Even after the pinging solutions provided it still closes after a day.

<!-- gh-comment-id:718348568 --> @naveenjohnsonv commented on GitHub (Oct 29, 2020): Is repl.it working properly? Even after the pinging solutions provided it still closes after a day.
Author
Owner

@guneydoganer commented on GitHub (Apr 14, 2021):

While outdated, this article does provide information on how to deploy to Yunohost:
https://yunohost.org/en/packaging_apps

<!-- gh-comment-id:819838318 --> @guneydoganer commented on GitHub (Apr 14, 2021): While outdated, this article does provide information on how to deploy to Yunohost: https://yunohost.org/en/packaging_apps
Author
Owner

@azeemOshaan commented on GitHub (Jul 13, 2021):

This is an excellent app, many thanks! I am looking for a way to deploy this repo on Netlify. Please add my request. Thanks

<!-- gh-comment-id:879365584 --> @azeemOshaan commented on GitHub (Jul 13, 2021): This is an excellent app, many thanks! I am looking for a way to deploy this repo on Netlify. Please add my request. Thanks
Author
Owner

@Albonycal commented on GitHub (Oct 7, 2021):

can this be deployed using cloudflare pages?

<!-- gh-comment-id:937443255 --> @Albonycal commented on GitHub (Oct 7, 2021): can this be deployed using cloudflare pages?
Author
Owner

@alefvanoon commented on GitHub (Oct 7, 2021):

can this be deployed using cloudflare pages?

Nope!
Definitely no.

<!-- gh-comment-id:937541479 --> @alefvanoon commented on GitHub (Oct 7, 2021): > can this be deployed using cloudflare pages? Nope! Definitely no.
Author
Owner

@Albonycal commented on GitHub (Oct 7, 2021):

I thought so :D

On Thu, Oct 7, 2021 at 1:19 PM alefvanoon @.***> wrote:

can this be deployed using cloudflare pages?

Nope!
Definitely no.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/benbusby/whoogle-search/issues/62#issuecomment-937541479,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP7TNJ5VUR3VOVS5F2JNCMTUFVGIHANCNFSM4NEHHDQA
.

<!-- gh-comment-id:937607113 --> @Albonycal commented on GitHub (Oct 7, 2021): I thought so :D On Thu, Oct 7, 2021 at 1:19 PM alefvanoon ***@***.***> wrote: > can this be deployed using cloudflare pages? > > Nope! > Definitely no. > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <https://github.com/benbusby/whoogle-search/issues/62#issuecomment-937541479>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AP7TNJ5VUR3VOVS5F2JNCMTUFVGIHANCNFSM4NEHHDQA> > . >
Author
Owner

@lenicyl commented on GitHub (Feb 18, 2022):

I tested deploying with Railway and it works for me.
Im not sure how good it is tho :)

<!-- gh-comment-id:1044213934 --> @lenicyl commented on GitHub (Feb 18, 2022): I tested deploying with [Railway](railway.app) and it works for me. Im not sure how good it is tho :)
Author
Owner

@sainnhe commented on GitHub (Nov 12, 2022):

Here is a list of free PaaSs: https://free-for.dev/#/?id=paas

<!-- gh-comment-id:1312375673 --> @sainnhe commented on GitHub (Nov 12, 2022): Here is a list of free PaaSs: https://free-for.dev/#/?id=paas
Author
Owner

@Vinfall commented on GitHub (Aug 9, 2023):

Successfully deployed on a VPS but failed to deploy on Vercel. Not quite familiar with Flask and almost every guide about deploying Flask on Vercel has an index.py file, which I don't know how to write for whoogle.

Current Setup

  • Framework selected: Other (no Flask option)
  • Build Command: killall -q python3 > /dev/null 2>&1; pip install -r requirements.txt (from whoogle-search/misc/replit.py, running the app without whom would throw an error OSError: [Errno 98] Address already in use)
  • Output directory: app
  • Install Command: killall -q python3 > /dev/null 2>&1; pip install -r requirements.txt (same as build command, not sure which one is necessary)
  • Development Command: python3 -um app
  • Python version: by default Vercel uses 3.9, did not change that
  • Whoogle version: 18fc14d

vercel.json (I'm sure it's missing a lot of things, but don't know how to add them):

{
    "version": 2,
    "rewrites": [
        { "source": "/(.*)", "destination": "/app" },
        { "source": "/static/(.*)", "destination": "/app/static" }
    ]
}

build log:

[08:51:30.353] Running build in San Francisco, USA (West) – sfo1
[08:51:30.418] Retrieving list of deployment files...
[08:51:30.911] Downloading 152 deployment files...
[08:51:31.778] Restored build cache
[08:51:31.823] Running "vercel build"
[08:51:32.476] Vercel CLI 31.2.3
[08:51:33.165] Running "install" command: `killall -q python3 > /dev/null 2>&1; pip install -r requirements.txt`...
[08:51:33.672] Ignoring cryptography: markers 'platform_machine == "armv7l"' don't match your environment
[08:51:33.673] Ignoring pyOpenSSL: markers 'platform_machine == "armv7l"' don't match your environment
[08:51:33.728] Collecting attrs==22.2.0 (from -r requirements.txt (line 1))
[08:51:33.749]   Downloading attrs-22.2.0-py3-none-any.whl (60 kB)
[08:51:33.759]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.0/60.0 kB 9.0 MB/s eta 0:00:00
[08:51:33.793] Collecting beautifulsoup4==4.11.2 (from -r requirements.txt (line 2))
[08:51:33.810]   Downloading beautifulsoup4-4.11.2-py3-none-any.whl (129 kB)
[08:51:33.821]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 129.4/129.4 kB 16.5 MB/s eta 0:00:00
[08:51:33.882] Collecting brotli==1.0.9 (from -r requirements.txt (line 3))
[08:51:33.889]   Downloading Brotli-1.0.9-cp39-cp39-manylinux1_x86_64.whl (357 kB)
[08:51:33.901]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 357.2/357.2 kB 38.6 MB/s eta 0:00:00
[08:51:33.927] Collecting cachelib==0.10.2 (from -r requirements.txt (line 4))
[08:51:33.932]   Downloading cachelib-0.10.2-py3-none-any.whl (18 kB)
[08:51:33.975] Collecting certifi==2023.7.22 (from -r requirements.txt (line 5))
[08:51:33.976]   Obtaining dependency information for certifi==2023.7.22 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata
[08:51:33.981]   Downloading certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB)
[08:51:34.250] Collecting cffi==1.15.1 (from -r requirements.txt (line 6))
[08:51:34.257]   Downloading cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (441 kB)
[08:51:34.272]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 441.2/441.2 kB 39.7 MB/s eta 0:00:00
[08:51:34.297] Collecting chardet==5.1.0 (from -r requirements.txt (line 7))
[08:51:34.302]   Downloading chardet-5.1.0-py3-none-any.whl (199 kB)
[08:51:34.314]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.1/199.1 kB 23.6 MB/s eta 0:00:00
[08:51:34.367] Collecting click==8.1.3 (from -r requirements.txt (line 8))
[08:51:34.368]   Downloading click-8.1.3-py3-none-any.whl (96 kB)
[08:51:34.375]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 kB 16.9 MB/s eta 0:00:00
[08:51:34.778] Collecting cryptography==41.0.3 (from -r requirements.txt (line 10))
[08:51:34.779]   Obtaining dependency information for cryptography==41.0.3 from https://files.pythonhosted.org/packages/21/74/a7ebb5bcf733b1626e4778941e505792d7f655e799ff3bdbd9a176516ee2/cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
[08:51:34.785]   Downloading cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB)
[08:51:34.827] Collecting cssutils==2.6.0 (from -r requirements.txt (line 11))
[08:51:34.833]   Downloading cssutils-2.6.0-py3-none-any.whl (399 kB)
[08:51:34.846]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 399.7/399.7 kB 39.5 MB/s eta 0:00:00
[08:51:34.881] Collecting defusedxml==0.7.1 (from -r requirements.txt (line 12))
[08:51:34.886]   Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
[08:51:34.928] Collecting Flask==2.3.2 (from -r requirements.txt (line 13))
[08:51:34.933]   Downloading Flask-2.3.2-py3-none-any.whl (96 kB)
[08:51:34.941]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9/96.9 kB 16.9 MB/s eta 0:00:00
[08:51:34.968] Collecting idna==3.4 (from -r requirements.txt (line 14))
[08:51:34.974]   Downloading idna-3.4-py3-none-any.whl (61 kB)
[08:51:34.982]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 11.8 MB/s eta 0:00:00
[08:51:35.005] Collecting itsdangerous==2.1.2 (from -r requirements.txt (line 15))
[08:51:35.009]   Downloading itsdangerous-2.1.2-py3-none-any.whl (15 kB)
[08:51:35.047] Collecting Jinja2==3.1.2 (from -r requirements.txt (line 16))
[08:51:35.052]   Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
[08:51:35.061]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 22.1 MB/s eta 0:00:00
[08:51:35.159] Collecting MarkupSafe==2.1.2 (from -r requirements.txt (line 17))
[08:51:35.164]   Downloading MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
[08:51:35.205] Collecting more-itertools==9.0.0 (from -r requirements.txt (line 18))
[08:51:35.209]   Downloading more_itertools-9.0.0-py3-none-any.whl (52 kB)
[08:51:35.217]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.8/52.8 kB 10.1 MB/s eta 0:00:00
[08:51:35.258] Collecting packaging==23.0 (from -r requirements.txt (line 19))
[08:51:35.263]   Downloading packaging-23.0-py3-none-any.whl (42 kB)
[08:51:35.270]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.7/42.7 kB 7.7 MB/s eta 0:00:00
[08:51:35.301] Collecting pluggy==1.0.0 (from -r requirements.txt (line 20))
[08:51:35.305]   Downloading pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
[08:51:35.334] Collecting pycodestyle==2.10.0 (from -r requirements.txt (line 21))
[08:51:35.339]   Downloading pycodestyle-2.10.0-py2.py3-none-any.whl (41 kB)
[08:51:35.347]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.3/41.3 kB 7.3 MB/s eta 0:00:00
[08:51:35.367] Collecting pycparser==2.21 (from -r requirements.txt (line 22))
[08:51:35.372]   Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
[08:51:35.381]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 19.8 MB/s eta 0:00:00
[08:51:35.415] Collecting pyOpenSSL==23.2.0 (from -r requirements.txt (line 24))
[08:51:35.416]   Obtaining dependency information for pyOpenSSL==23.2.0 from https://files.pythonhosted.org/packages/f0/e2/f8b4f1c67933a4907e52228241f4bd52169f3196b70af04403b29c63238a/pyOpenSSL-23.2.0-py3-none-any.whl.metadata
[08:51:35.421]   Downloading pyOpenSSL-23.2.0-py3-none-any.whl.metadata (10 kB)
[08:51:35.492] Collecting pyparsing==3.0.9 (from -r requirements.txt (line 25))
[08:51:35.497]   Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
[08:51:35.508]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 13.9 MB/s eta 0:00:00
[08:51:35.531] Collecting PySocks==1.7.1 (from -r requirements.txt (line 26))
[08:51:35.537]   Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)
[08:51:35.648] Collecting pytest==7.2.1 (from -r requirements.txt (line 27))
[08:51:35.654]   Downloading pytest-7.2.1-py3-none-any.whl (317 kB)
[08:51:35.667]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 317.1/317.1 kB 34.6 MB/s eta 0:00:00
[08:51:35.699] Collecting python-dateutil==2.8.2 (from -r requirements.txt (line 28))
[08:51:35.704]   Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
[08:51:35.716]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 30.2 MB/s eta 0:00:00
[08:51:35.785] Collecting requests==2.31.0 (from -r requirements.txt (line 29))
[08:51:35.787]   Obtaining dependency information for requests==2.31.0 from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata
[08:51:35.792]   Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB)
[08:51:35.834] Collecting soupsieve==2.4 (from -r requirements.txt (line 30))
[08:51:35.839]   Downloading soupsieve-2.4-py3-none-any.whl (37 kB)
[08:51:35.865] Collecting stem==1.8.1 (from -r requirements.txt (line 31))
[08:51:35.871]   Downloading stem-1.8.1.tar.gz (2.9 MB)
[08:51:35.921]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 62.0 MB/s eta 0:00:00
[08:51:36.207]   Installing build dependencies: started
[08:51:38.000]   Installing build dependencies: finished with status 'done'
[08:51:38.002]   Getting requirements to build wheel: started
[08:51:38.262]   Getting requirements to build wheel: finished with status 'done'
[08:51:38.267]   Preparing metadata (pyproject.toml): started
[08:51:38.524]   Preparing metadata (pyproject.toml): finished with status 'done'
[08:51:38.596] Collecting urllib3==1.26.14 (from -r requirements.txt (line 32))
[08:51:38.603]   Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB)
[08:51:38.615]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 16.9 MB/s eta 0:00:00
[08:51:38.648] Collecting waitress==2.1.2 (from -r requirements.txt (line 33))
[08:51:38.653]   Downloading waitress-2.1.2-py3-none-any.whl (57 kB)
[08:51:38.661]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.7/57.7 kB 9.5 MB/s eta 0:00:00
[08:51:38.683] Collecting wcwidth==0.2.6 (from -r requirements.txt (line 34))
[08:51:38.687]   Downloading wcwidth-0.2.6-py2.py3-none-any.whl (29 kB)
[08:51:38.768] Collecting Werkzeug==2.3.3 (from -r requirements.txt (line 35))
[08:51:38.774]   Downloading Werkzeug-2.3.3-py3-none-any.whl (242 kB)
[08:51:38.784]      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 242.3/242.3 kB 32.2 MB/s eta 0:00:00
[08:51:38.819] Collecting python-dotenv==0.21.1 (from -r requirements.txt (line 36))
[08:51:38.824]   Downloading python_dotenv-0.21.1-py3-none-any.whl (19 kB)
[08:51:38.994] Collecting blinker>=1.6.2 (from Flask==2.3.2->-r requirements.txt (line 13))
[08:51:38.998]   Downloading blinker-1.6.2-py3-none-any.whl (13 kB)
[08:51:39.097] Collecting importlib-metadata>=3.6.0 (from Flask==2.3.2->-r requirements.txt (line 13))
[08:51:39.098]   Obtaining dependency information for importlib-metadata>=3.6.0 from https://files.pythonhosted.org/packages/cc/37/db7ba97e676af155f5fcb1a35466f446eadc9104e25b83366e8088c9c926/importlib_metadata-6.8.0-py3-none-any.whl.metadata
[08:51:39.103]   Downloading importlib_metadata-6.8.0-py3-none-any.whl.metadata (5.1 kB)
[08:51:39.254] Collecting iniconfig (from pytest==7.2.1->-r requirements.txt (line 27))
[08:51:39.260]   Downloading iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
[08:51:39.293] Collecting exceptiongroup>=1.0.0rc8 (from pytest==7.2.1->-r requirements.txt (line 27))
[08:51:39.294]   Obtaining dependency information for exceptiongroup>=1.0.0rc8 from https://files.pythonhosted.org/packages/fe/17/f43b7c9ccf399d72038042ee72785c305f6c6fdc6231942f8ab99d995742/exceptiongroup-1.1.2-py3-none-any.whl.metadata
[08:51:39.299]   Downloading exceptiongroup-1.1.2-py3-none-any.whl.metadata (6.1 kB)
[08:51:39.331] Collecting tomli>=1.0.0 (from pytest==7.2.1->-r requirements.txt (line 27))
[08:51:39.341]   Downloading tomli-2.0.1-py3-none-any.whl (12 kB)
[08:51:39.381] Collecting six>=1.5 (from python-dateutil==2.8.2->-r requirements.txt (line 28))
[08:51:39.385]   Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
[08:51:39.538] Collecting charset-normalizer<4,>=2 (from requests==2.31.0->-r requirements.txt (line 29))
[08:51:39.539]   Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/f9/0d/514be8597d7a96243e5467a37d337b9399cec117a513fcf9328405d911c0/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
[08:51:39.543]   Downloading charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
[08:51:39.782] Collecting zipp>=0.5 (from importlib-metadata>=3.6.0->Flask==2.3.2->-r requirements.txt (line 13))
[08:51:39.782]   Obtaining dependency information for zipp>=0.5 from https://files.pythonhosted.org/packages/8c/08/d3006317aefe25ea79d3b76c9650afabaf6d63d1c8443b236e7405447503/zipp-3.16.2-py3-none-any.whl.metadata
[08:51:39.789]   Downloading zipp-3.16.2-py3-none-any.whl.metadata (3.7 kB)
[08:51:39.878] Downloading certifi-2023.7.22-py3-none-any.whl (158 kB)
[08:51:39.888]    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 21.6 MB/s eta 0:00:00
[08:51:39.894] Downloading cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB)
[08:51:39.959]    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 70.4 MB/s eta 0:00:00
[08:51:39.964] Downloading pyOpenSSL-23.2.0-py3-none-any.whl (59 kB)
[08:51:39.972]    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.0/59.0 kB 10.6 MB/s eta 0:00:00
[08:51:39.977] Downloading requests-2.31.0-py3-none-any.whl (62 kB)
[08:51:39.984]    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 12.9 MB/s eta 0:00:00
[08:51:39.989] Downloading charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (202 kB)
[08:51:39.999]    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 202.1/202.1 kB 28.7 MB/s eta 0:00:00
[08:51:40.003] Downloading exceptiongroup-1.1.2-py3-none-any.whl (14 kB)
[08:51:40.012] Downloading importlib_metadata-6.8.0-py3-none-any.whl (22 kB)
[08:51:40.021] Downloading zipp-3.16.2-py3-none-any.whl (7.2 kB)
[08:51:40.054] Building wheels for collected packages: stem
[08:51:40.055]   Building wheel for stem (pyproject.toml): started
[08:51:40.476]   Building wheel for stem (pyproject.toml): finished with status 'done'
[08:51:40.479]   Created wheel for stem: filename=stem-1.8.1-py3-none-any.whl size=436307 sha256=2b699150d6af1e028948d983c587d2ec7a40b905e3a43f2d88e1a4eb3498213f
[08:51:40.479]   Stored in directory: /vercel/.cache/pip/wheels/a4/5c/2a/48333f3c3ae32f4dccb93cfc9c16507bdcc150ac194b6f90e4
[08:51:40.483] Successfully built stem
[08:51:40.772] Installing collected packages: wcwidth, stem, brotli, zipp, waitress, urllib3, tomli, soupsieve, six, python-dotenv, PySocks, pyparsing, pycparser, pycodestyle, pluggy, packaging, more-itertools, MarkupSafe, itsdangerous, iniconfig, idna, exceptiongroup, defusedxml, cssutils, click, charset-normalizer, chardet, certifi, cachelib, blinker, attrs, Werkzeug, requests, python-dateutil, pytest, Jinja2, importlib-metadata, cffi, beautifulsoup4, Flask, cryptography, pyOpenSSL
[08:51:43.963] Successfully installed Flask-2.3.2 Jinja2-3.1.2 MarkupSafe-2.1.2 PySocks-1.7.1 Werkzeug-2.3.3 attrs-22.2.0 beautifulsoup4-4.11.2 blinker-1.6.2 brotli-1.0.9 cachelib-0.10.2 certifi-2023.7.22 cffi-1.15.1 chardet-5.1.0 charset-normalizer-3.2.0 click-8.1.3 cryptography-41.0.3 cssutils-2.6.0 defusedxml-0.7.1 exceptiongroup-1.1.2 idna-3.4 importlib-metadata-6.8.0 iniconfig-2.0.0 itsdangerous-2.1.2 more-itertools-9.0.0 packaging-23.0 pluggy-1.0.0 pyOpenSSL-23.2.0 pycodestyle-2.10.0 pycparser-2.21 pyparsing-3.0.9 pytest-7.2.1 python-dateutil-2.8.2 python-dotenv-0.21.1 requests-2.31.0 six-1.16.0 soupsieve-2.4 stem-1.8.1 tomli-2.0.1 urllib3-1.26.14 waitress-2.1.2 wcwidth-0.2.6 zipp-3.16.2
[08:51:43.963] WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[08:51:44.669] Ignoring cryptography: markers 'platform_machine == "armv7l"' don't match your environment
[08:51:44.669] Ignoring pyOpenSSL: markers 'platform_machine == "armv7l"' don't match your environment
[08:51:44.670] Requirement already satisfied: attrs==22.2.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 1)) (22.2.0)
[08:51:44.672] Requirement already satisfied: beautifulsoup4==4.11.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 2)) (4.11.2)
[08:51:44.673] Requirement already satisfied: brotli==1.0.9 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 3)) (1.0.9)
[08:51:44.674] Requirement already satisfied: cachelib==0.10.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 4)) (0.10.2)
[08:51:44.675] Requirement already satisfied: certifi==2023.7.22 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (2023.7.22)
[08:51:44.676] Requirement already satisfied: cffi==1.15.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (1.15.1)
[08:51:44.678] Requirement already satisfied: chardet==5.1.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (5.1.0)
[08:51:44.679] Requirement already satisfied: click==8.1.3 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 8)) (8.1.3)
[08:51:44.680] Requirement already satisfied: cryptography==41.0.3 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 10)) (41.0.3)
[08:51:44.681] Requirement already satisfied: cssutils==2.6.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 11)) (2.6.0)
[08:51:44.682] Requirement already satisfied: defusedxml==0.7.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 12)) (0.7.1)
[08:51:44.683] Requirement already satisfied: Flask==2.3.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 13)) (2.3.2)
[08:51:44.684] Requirement already satisfied: idna==3.4 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 14)) (3.4)
[08:51:44.685] Requirement already satisfied: itsdangerous==2.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 15)) (2.1.2)
[08:51:44.686] Requirement already satisfied: Jinja2==3.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 16)) (3.1.2)
[08:51:44.687] Requirement already satisfied: MarkupSafe==2.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 17)) (2.1.2)
[08:51:44.688] Requirement already satisfied: more-itertools==9.0.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 18)) (9.0.0)
[08:51:44.690] Requirement already satisfied: packaging==23.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 19)) (23.0)
[08:51:44.691] Requirement already satisfied: pluggy==1.0.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 20)) (1.0.0)
[08:51:44.692] Requirement already satisfied: pycodestyle==2.10.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 21)) (2.10.0)
[08:51:44.693] Requirement already satisfied: pycparser==2.21 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 22)) (2.21)
[08:51:44.694] Requirement already satisfied: pyOpenSSL==23.2.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 24)) (23.2.0)
[08:51:44.695] Requirement already satisfied: pyparsing==3.0.9 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 25)) (3.0.9)
[08:51:44.696] Requirement already satisfied: PySocks==1.7.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 26)) (1.7.1)
[08:51:44.697] Requirement already satisfied: pytest==7.2.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 27)) (7.2.1)
[08:51:44.698] Requirement already satisfied: python-dateutil==2.8.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 28)) (2.8.2)
[08:51:44.699] Requirement already satisfied: requests==2.31.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 29)) (2.31.0)
[08:51:44.701] Requirement already satisfied: soupsieve==2.4 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 30)) (2.4)
[08:51:44.702] Requirement already satisfied: stem==1.8.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 31)) (1.8.1)
[08:51:44.703] Requirement already satisfied: urllib3==1.26.14 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 32)) (1.26.14)
[08:51:44.704] Requirement already satisfied: waitress==2.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 33)) (2.1.2)
[08:51:44.706] Requirement already satisfied: wcwidth==0.2.6 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 34)) (0.2.6)
[08:51:44.707] Requirement already satisfied: Werkzeug==2.3.3 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 35)) (2.3.3)
[08:51:44.708] Requirement already satisfied: python-dotenv==0.21.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 36)) (0.21.1)
[08:51:44.821] Requirement already satisfied: blinker>=1.6.2 in /usr/local/lib/python3.9/site-packages (from Flask==2.3.2->-r requirements.txt (line 13)) (1.6.2)
[08:51:44.823] Requirement already satisfied: importlib-metadata>=3.6.0 in /usr/local/lib/python3.9/site-packages (from Flask==2.3.2->-r requirements.txt (line 13)) (6.8.0)
[08:51:44.892] Requirement already satisfied: iniconfig in /usr/local/lib/python3.9/site-packages (from pytest==7.2.1->-r requirements.txt (line 27)) (2.0.0)
[08:51:44.894] Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /usr/local/lib/python3.9/site-packages (from pytest==7.2.1->-r requirements.txt (line 27)) (1.1.2)
[08:51:44.897] Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.9/site-packages (from pytest==7.2.1->-r requirements.txt (line 27)) (2.0.1)
[08:51:44.903] Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/site-packages (from python-dateutil==2.8.2->-r requirements.txt (line 28)) (1.16.0)
[08:51:44.915] Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.9/site-packages (from requests==2.31.0->-r requirements.txt (line 29)) (3.2.0)
[08:51:45.033] Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.9/site-packages (from importlib-metadata>=3.6.0->Flask==2.3.2->-r requirements.txt (line 13)) (3.16.2)
[08:51:45.122] WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[08:51:45.252] Build Completed in /vercel/output [12s]
[08:51:45.407] Deploying outputs...
[08:51:47.579] Deployment completed
[08:51:48.756] Uploading build cache [29.00 B]...
[08:51:48.951] Build cache uploaded: 193.998ms

Deployment only outputs some static assets, visiting the assigned domain shows Vercel's 404 error:

__init__.py
__main__.py
filter.py
models/__init__.py
models/config.py
models/endpoint.py
models/g_classes.py
request.py
routes.py
static/bangs/bangs.json
static/config/99mypref.conf
static/config/whoogle.key
static/css/dark-theme.css
static/css/error.css
static/css/header.css
static/css/input.css
static/css/light-theme.css
static/css/logo.css
static/css/main.css
static/css/search.css
static/css/variables.css
static/img/favicon.ico
static/img/favicon/android-icon-144x144.png
static/img/favicon/android-icon-192x192.png
static/img/favicon/android-icon-36x36.png
static/img/favicon/android-icon-48x48.png
static/img/favicon/android-icon-72x72.png
static/img/favicon/android-icon-96x96.png
static/img/favicon/apple-icon-114x114.png
static/img/favicon/apple-icon-120x120.png
static/img/favicon/apple-icon-144x144.png
static/img/favicon/apple-icon-152x152.png
static/img/favicon/apple-icon-180x180.png
static/img/favicon/apple-icon-57x57.png
static/img/favicon/apple-icon-60x60.png
static/img/favicon/apple-icon-72x72.png
static/img/favicon/apple-icon-76x76.png
static/img/favicon/apple-icon-precomposed.png
static/img/favicon/apple-icon.png
static/img/favicon/browserconfig.xml
static/img/favicon/favicon-16x16.png
static/img/favicon/favicon-32x32.png
static/img/favicon/favicon-96x96.png
static/img/favicon/favicon.ico
static/img/favicon/manifest.json
static/img/favicon/ms-icon-144x144.png
static/img/favicon/ms-icon-150x150.png
static/img/favicon/ms-icon-310x310.png
static/img/favicon/ms-icon-70x70.png
static/img/logo.png
static/img/whoogle.svg
static/js/autocomplete.js
static/js/controller.js
static/js/currency.js
static/js/header.js
static/js/keyboard.js
static/js/utils.js
static/settings/countries.json
static/settings/header_tabs.json
static/settings/languages.json
static/settings/themes.json
static/settings/time_periods.json
static/settings/translations.json
static/widgets/calculator.html
templates/display.html
templates/error.html
templates/footer.html
templates/header.html
templates/imageresults.html
templates/index.html
templates/logo.html
templates/opensearch.xml
templates/search.html
utils/__init__.py
utils/bangs.py
utils/misc.py
utils/results.py
utils/search.py
utils/session.py
utils/widgets.py
version.py

If anyone is interested in debugging this, be sure to purge data cache (and take care of your quota) before redeployment when you change those commands via browser, or Vercel would reuse cached data and not build at all.

<!-- gh-comment-id:1670960089 --> @Vinfall commented on GitHub (Aug 9, 2023): Successfully deployed on a VPS but failed to deploy on Vercel. Not quite familiar with Flask and almost every guide about deploying Flask on Vercel has an `index.py` file, which I don't know how to write for whoogle. ### Current Setup - Framework selected: `Other` (no `Flask` option) - Build Command: `killall -q python3 > /dev/null 2>&1; pip install -r requirements.txt` (from [whoogle-search/misc/replit.py](https://github.com/benbusby/whoogle-search/blob/main/misc/replit.py), running the app without whom would throw an error `OSError: [Errno 98] Address already in use`) - Output directory: `app` - Install Command: `killall -q python3 > /dev/null 2>&1; pip install -r requirements.txt` (same as build command, not sure which one is necessary) - Development Command: `python3 -um app` - Python version: by default Vercel uses 3.9, did not change that - Whoogle version: 18fc14d `vercel.json` (I'm sure it's missing a lot of things, but don't know how to add them): ```json { "version": 2, "rewrites": [ { "source": "/(.*)", "destination": "/app" }, { "source": "/static/(.*)", "destination": "/app/static" } ] } ``` build log: <details> [//]: <> ```sh [08:51:30.353] Running build in San Francisco, USA (West) – sfo1 [08:51:30.418] Retrieving list of deployment files... [08:51:30.911] Downloading 152 deployment files... [08:51:31.778] Restored build cache [08:51:31.823] Running "vercel build" [08:51:32.476] Vercel CLI 31.2.3 [08:51:33.165] Running "install" command: `killall -q python3 > /dev/null 2>&1; pip install -r requirements.txt`... [08:51:33.672] Ignoring cryptography: markers 'platform_machine == "armv7l"' don't match your environment [08:51:33.673] Ignoring pyOpenSSL: markers 'platform_machine == "armv7l"' don't match your environment [08:51:33.728] Collecting attrs==22.2.0 (from -r requirements.txt (line 1)) [08:51:33.749] Downloading attrs-22.2.0-py3-none-any.whl (60 kB) [08:51:33.759] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.0/60.0 kB 9.0 MB/s eta 0:00:00 [08:51:33.793] Collecting beautifulsoup4==4.11.2 (from -r requirements.txt (line 2)) [08:51:33.810] Downloading beautifulsoup4-4.11.2-py3-none-any.whl (129 kB) [08:51:33.821] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 129.4/129.4 kB 16.5 MB/s eta 0:00:00 [08:51:33.882] Collecting brotli==1.0.9 (from -r requirements.txt (line 3)) [08:51:33.889] Downloading Brotli-1.0.9-cp39-cp39-manylinux1_x86_64.whl (357 kB) [08:51:33.901] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 357.2/357.2 kB 38.6 MB/s eta 0:00:00 [08:51:33.927] Collecting cachelib==0.10.2 (from -r requirements.txt (line 4)) [08:51:33.932] Downloading cachelib-0.10.2-py3-none-any.whl (18 kB) [08:51:33.975] Collecting certifi==2023.7.22 (from -r requirements.txt (line 5)) [08:51:33.976] Obtaining dependency information for certifi==2023.7.22 from https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl.metadata [08:51:33.981] Downloading certifi-2023.7.22-py3-none-any.whl.metadata (2.2 kB) [08:51:34.250] Collecting cffi==1.15.1 (from -r requirements.txt (line 6)) [08:51:34.257] Downloading cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (441 kB) [08:51:34.272] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 441.2/441.2 kB 39.7 MB/s eta 0:00:00 [08:51:34.297] Collecting chardet==5.1.0 (from -r requirements.txt (line 7)) [08:51:34.302] Downloading chardet-5.1.0-py3-none-any.whl (199 kB) [08:51:34.314] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.1/199.1 kB 23.6 MB/s eta 0:00:00 [08:51:34.367] Collecting click==8.1.3 (from -r requirements.txt (line 8)) [08:51:34.368] Downloading click-8.1.3-py3-none-any.whl (96 kB) [08:51:34.375] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 kB 16.9 MB/s eta 0:00:00 [08:51:34.778] Collecting cryptography==41.0.3 (from -r requirements.txt (line 10)) [08:51:34.779] Obtaining dependency information for cryptography==41.0.3 from https://files.pythonhosted.org/packages/21/74/a7ebb5bcf733b1626e4778941e505792d7f655e799ff3bdbd9a176516ee2/cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata [08:51:34.785] Downloading cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB) [08:51:34.827] Collecting cssutils==2.6.0 (from -r requirements.txt (line 11)) [08:51:34.833] Downloading cssutils-2.6.0-py3-none-any.whl (399 kB) [08:51:34.846] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 399.7/399.7 kB 39.5 MB/s eta 0:00:00 [08:51:34.881] Collecting defusedxml==0.7.1 (from -r requirements.txt (line 12)) [08:51:34.886] Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB) [08:51:34.928] Collecting Flask==2.3.2 (from -r requirements.txt (line 13)) [08:51:34.933] Downloading Flask-2.3.2-py3-none-any.whl (96 kB) [08:51:34.941] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9/96.9 kB 16.9 MB/s eta 0:00:00 [08:51:34.968] Collecting idna==3.4 (from -r requirements.txt (line 14)) [08:51:34.974] Downloading idna-3.4-py3-none-any.whl (61 kB) [08:51:34.982] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 11.8 MB/s eta 0:00:00 [08:51:35.005] Collecting itsdangerous==2.1.2 (from -r requirements.txt (line 15)) [08:51:35.009] Downloading itsdangerous-2.1.2-py3-none-any.whl (15 kB) [08:51:35.047] Collecting Jinja2==3.1.2 (from -r requirements.txt (line 16)) [08:51:35.052] Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB) [08:51:35.061] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 22.1 MB/s eta 0:00:00 [08:51:35.159] Collecting MarkupSafe==2.1.2 (from -r requirements.txt (line 17)) [08:51:35.164] Downloading MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) [08:51:35.205] Collecting more-itertools==9.0.0 (from -r requirements.txt (line 18)) [08:51:35.209] Downloading more_itertools-9.0.0-py3-none-any.whl (52 kB) [08:51:35.217] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.8/52.8 kB 10.1 MB/s eta 0:00:00 [08:51:35.258] Collecting packaging==23.0 (from -r requirements.txt (line 19)) [08:51:35.263] Downloading packaging-23.0-py3-none-any.whl (42 kB) [08:51:35.270] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.7/42.7 kB 7.7 MB/s eta 0:00:00 [08:51:35.301] Collecting pluggy==1.0.0 (from -r requirements.txt (line 20)) [08:51:35.305] Downloading pluggy-1.0.0-py2.py3-none-any.whl (13 kB) [08:51:35.334] Collecting pycodestyle==2.10.0 (from -r requirements.txt (line 21)) [08:51:35.339] Downloading pycodestyle-2.10.0-py2.py3-none-any.whl (41 kB) [08:51:35.347] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.3/41.3 kB 7.3 MB/s eta 0:00:00 [08:51:35.367] Collecting pycparser==2.21 (from -r requirements.txt (line 22)) [08:51:35.372] Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB) [08:51:35.381] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 19.8 MB/s eta 0:00:00 [08:51:35.415] Collecting pyOpenSSL==23.2.0 (from -r requirements.txt (line 24)) [08:51:35.416] Obtaining dependency information for pyOpenSSL==23.2.0 from https://files.pythonhosted.org/packages/f0/e2/f8b4f1c67933a4907e52228241f4bd52169f3196b70af04403b29c63238a/pyOpenSSL-23.2.0-py3-none-any.whl.metadata [08:51:35.421] Downloading pyOpenSSL-23.2.0-py3-none-any.whl.metadata (10 kB) [08:51:35.492] Collecting pyparsing==3.0.9 (from -r requirements.txt (line 25)) [08:51:35.497] Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB) [08:51:35.508] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 13.9 MB/s eta 0:00:00 [08:51:35.531] Collecting PySocks==1.7.1 (from -r requirements.txt (line 26)) [08:51:35.537] Downloading PySocks-1.7.1-py3-none-any.whl (16 kB) [08:51:35.648] Collecting pytest==7.2.1 (from -r requirements.txt (line 27)) [08:51:35.654] Downloading pytest-7.2.1-py3-none-any.whl (317 kB) [08:51:35.667] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 317.1/317.1 kB 34.6 MB/s eta 0:00:00 [08:51:35.699] Collecting python-dateutil==2.8.2 (from -r requirements.txt (line 28)) [08:51:35.704] Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) [08:51:35.716] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 30.2 MB/s eta 0:00:00 [08:51:35.785] Collecting requests==2.31.0 (from -r requirements.txt (line 29)) [08:51:35.787] Obtaining dependency information for requests==2.31.0 from https://files.pythonhosted.org/packages/70/8e/0e2d847013cb52cd35b38c009bb167a1a26b2ce6cd6965bf26b47bc0bf44/requests-2.31.0-py3-none-any.whl.metadata [08:51:35.792] Downloading requests-2.31.0-py3-none-any.whl.metadata (4.6 kB) [08:51:35.834] Collecting soupsieve==2.4 (from -r requirements.txt (line 30)) [08:51:35.839] Downloading soupsieve-2.4-py3-none-any.whl (37 kB) [08:51:35.865] Collecting stem==1.8.1 (from -r requirements.txt (line 31)) [08:51:35.871] Downloading stem-1.8.1.tar.gz (2.9 MB) [08:51:35.921] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 62.0 MB/s eta 0:00:00 [08:51:36.207] Installing build dependencies: started [08:51:38.000] Installing build dependencies: finished with status 'done' [08:51:38.002] Getting requirements to build wheel: started [08:51:38.262] Getting requirements to build wheel: finished with status 'done' [08:51:38.267] Preparing metadata (pyproject.toml): started [08:51:38.524] Preparing metadata (pyproject.toml): finished with status 'done' [08:51:38.596] Collecting urllib3==1.26.14 (from -r requirements.txt (line 32)) [08:51:38.603] Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB) [08:51:38.615] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 16.9 MB/s eta 0:00:00 [08:51:38.648] Collecting waitress==2.1.2 (from -r requirements.txt (line 33)) [08:51:38.653] Downloading waitress-2.1.2-py3-none-any.whl (57 kB) [08:51:38.661] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.7/57.7 kB 9.5 MB/s eta 0:00:00 [08:51:38.683] Collecting wcwidth==0.2.6 (from -r requirements.txt (line 34)) [08:51:38.687] Downloading wcwidth-0.2.6-py2.py3-none-any.whl (29 kB) [08:51:38.768] Collecting Werkzeug==2.3.3 (from -r requirements.txt (line 35)) [08:51:38.774] Downloading Werkzeug-2.3.3-py3-none-any.whl (242 kB) [08:51:38.784] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 242.3/242.3 kB 32.2 MB/s eta 0:00:00 [08:51:38.819] Collecting python-dotenv==0.21.1 (from -r requirements.txt (line 36)) [08:51:38.824] Downloading python_dotenv-0.21.1-py3-none-any.whl (19 kB) [08:51:38.994] Collecting blinker>=1.6.2 (from Flask==2.3.2->-r requirements.txt (line 13)) [08:51:38.998] Downloading blinker-1.6.2-py3-none-any.whl (13 kB) [08:51:39.097] Collecting importlib-metadata>=3.6.0 (from Flask==2.3.2->-r requirements.txt (line 13)) [08:51:39.098] Obtaining dependency information for importlib-metadata>=3.6.0 from https://files.pythonhosted.org/packages/cc/37/db7ba97e676af155f5fcb1a35466f446eadc9104e25b83366e8088c9c926/importlib_metadata-6.8.0-py3-none-any.whl.metadata [08:51:39.103] Downloading importlib_metadata-6.8.0-py3-none-any.whl.metadata (5.1 kB) [08:51:39.254] Collecting iniconfig (from pytest==7.2.1->-r requirements.txt (line 27)) [08:51:39.260] Downloading iniconfig-2.0.0-py3-none-any.whl (5.9 kB) [08:51:39.293] Collecting exceptiongroup>=1.0.0rc8 (from pytest==7.2.1->-r requirements.txt (line 27)) [08:51:39.294] Obtaining dependency information for exceptiongroup>=1.0.0rc8 from https://files.pythonhosted.org/packages/fe/17/f43b7c9ccf399d72038042ee72785c305f6c6fdc6231942f8ab99d995742/exceptiongroup-1.1.2-py3-none-any.whl.metadata [08:51:39.299] Downloading exceptiongroup-1.1.2-py3-none-any.whl.metadata (6.1 kB) [08:51:39.331] Collecting tomli>=1.0.0 (from pytest==7.2.1->-r requirements.txt (line 27)) [08:51:39.341] Downloading tomli-2.0.1-py3-none-any.whl (12 kB) [08:51:39.381] Collecting six>=1.5 (from python-dateutil==2.8.2->-r requirements.txt (line 28)) [08:51:39.385] Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) [08:51:39.538] Collecting charset-normalizer<4,>=2 (from requests==2.31.0->-r requirements.txt (line 29)) [08:51:39.539] Obtaining dependency information for charset-normalizer<4,>=2 from https://files.pythonhosted.org/packages/f9/0d/514be8597d7a96243e5467a37d337b9399cec117a513fcf9328405d911c0/charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata [08:51:39.543] Downloading charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB) [08:51:39.782] Collecting zipp>=0.5 (from importlib-metadata>=3.6.0->Flask==2.3.2->-r requirements.txt (line 13)) [08:51:39.782] Obtaining dependency information for zipp>=0.5 from https://files.pythonhosted.org/packages/8c/08/d3006317aefe25ea79d3b76c9650afabaf6d63d1c8443b236e7405447503/zipp-3.16.2-py3-none-any.whl.metadata [08:51:39.789] Downloading zipp-3.16.2-py3-none-any.whl.metadata (3.7 kB) [08:51:39.878] Downloading certifi-2023.7.22-py3-none-any.whl (158 kB) [08:51:39.888] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 21.6 MB/s eta 0:00:00 [08:51:39.894] Downloading cryptography-41.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB) [08:51:39.959] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 70.4 MB/s eta 0:00:00 [08:51:39.964] Downloading pyOpenSSL-23.2.0-py3-none-any.whl (59 kB) [08:51:39.972] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.0/59.0 kB 10.6 MB/s eta 0:00:00 [08:51:39.977] Downloading requests-2.31.0-py3-none-any.whl (62 kB) [08:51:39.984] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.6/62.6 kB 12.9 MB/s eta 0:00:00 [08:51:39.989] Downloading charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (202 kB) [08:51:39.999] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 202.1/202.1 kB 28.7 MB/s eta 0:00:00 [08:51:40.003] Downloading exceptiongroup-1.1.2-py3-none-any.whl (14 kB) [08:51:40.012] Downloading importlib_metadata-6.8.0-py3-none-any.whl (22 kB) [08:51:40.021] Downloading zipp-3.16.2-py3-none-any.whl (7.2 kB) [08:51:40.054] Building wheels for collected packages: stem [08:51:40.055] Building wheel for stem (pyproject.toml): started [08:51:40.476] Building wheel for stem (pyproject.toml): finished with status 'done' [08:51:40.479] Created wheel for stem: filename=stem-1.8.1-py3-none-any.whl size=436307 sha256=2b699150d6af1e028948d983c587d2ec7a40b905e3a43f2d88e1a4eb3498213f [08:51:40.479] Stored in directory: /vercel/.cache/pip/wheels/a4/5c/2a/48333f3c3ae32f4dccb93cfc9c16507bdcc150ac194b6f90e4 [08:51:40.483] Successfully built stem [08:51:40.772] Installing collected packages: wcwidth, stem, brotli, zipp, waitress, urllib3, tomli, soupsieve, six, python-dotenv, PySocks, pyparsing, pycparser, pycodestyle, pluggy, packaging, more-itertools, MarkupSafe, itsdangerous, iniconfig, idna, exceptiongroup, defusedxml, cssutils, click, charset-normalizer, chardet, certifi, cachelib, blinker, attrs, Werkzeug, requests, python-dateutil, pytest, Jinja2, importlib-metadata, cffi, beautifulsoup4, Flask, cryptography, pyOpenSSL [08:51:43.963] Successfully installed Flask-2.3.2 Jinja2-3.1.2 MarkupSafe-2.1.2 PySocks-1.7.1 Werkzeug-2.3.3 attrs-22.2.0 beautifulsoup4-4.11.2 blinker-1.6.2 brotli-1.0.9 cachelib-0.10.2 certifi-2023.7.22 cffi-1.15.1 chardet-5.1.0 charset-normalizer-3.2.0 click-8.1.3 cryptography-41.0.3 cssutils-2.6.0 defusedxml-0.7.1 exceptiongroup-1.1.2 idna-3.4 importlib-metadata-6.8.0 iniconfig-2.0.0 itsdangerous-2.1.2 more-itertools-9.0.0 packaging-23.0 pluggy-1.0.0 pyOpenSSL-23.2.0 pycodestyle-2.10.0 pycparser-2.21 pyparsing-3.0.9 pytest-7.2.1 python-dateutil-2.8.2 python-dotenv-0.21.1 requests-2.31.0 six-1.16.0 soupsieve-2.4 stem-1.8.1 tomli-2.0.1 urllib3-1.26.14 waitress-2.1.2 wcwidth-0.2.6 zipp-3.16.2 [08:51:43.963] WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [08:51:44.669] Ignoring cryptography: markers 'platform_machine == "armv7l"' don't match your environment [08:51:44.669] Ignoring pyOpenSSL: markers 'platform_machine == "armv7l"' don't match your environment [08:51:44.670] Requirement already satisfied: attrs==22.2.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 1)) (22.2.0) [08:51:44.672] Requirement already satisfied: beautifulsoup4==4.11.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 2)) (4.11.2) [08:51:44.673] Requirement already satisfied: brotli==1.0.9 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 3)) (1.0.9) [08:51:44.674] Requirement already satisfied: cachelib==0.10.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 4)) (0.10.2) [08:51:44.675] Requirement already satisfied: certifi==2023.7.22 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (2023.7.22) [08:51:44.676] Requirement already satisfied: cffi==1.15.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (1.15.1) [08:51:44.678] Requirement already satisfied: chardet==5.1.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (5.1.0) [08:51:44.679] Requirement already satisfied: click==8.1.3 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 8)) (8.1.3) [08:51:44.680] Requirement already satisfied: cryptography==41.0.3 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 10)) (41.0.3) [08:51:44.681] Requirement already satisfied: cssutils==2.6.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 11)) (2.6.0) [08:51:44.682] Requirement already satisfied: defusedxml==0.7.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 12)) (0.7.1) [08:51:44.683] Requirement already satisfied: Flask==2.3.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 13)) (2.3.2) [08:51:44.684] Requirement already satisfied: idna==3.4 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 14)) (3.4) [08:51:44.685] Requirement already satisfied: itsdangerous==2.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 15)) (2.1.2) [08:51:44.686] Requirement already satisfied: Jinja2==3.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 16)) (3.1.2) [08:51:44.687] Requirement already satisfied: MarkupSafe==2.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 17)) (2.1.2) [08:51:44.688] Requirement already satisfied: more-itertools==9.0.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 18)) (9.0.0) [08:51:44.690] Requirement already satisfied: packaging==23.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 19)) (23.0) [08:51:44.691] Requirement already satisfied: pluggy==1.0.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 20)) (1.0.0) [08:51:44.692] Requirement already satisfied: pycodestyle==2.10.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 21)) (2.10.0) [08:51:44.693] Requirement already satisfied: pycparser==2.21 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 22)) (2.21) [08:51:44.694] Requirement already satisfied: pyOpenSSL==23.2.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 24)) (23.2.0) [08:51:44.695] Requirement already satisfied: pyparsing==3.0.9 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 25)) (3.0.9) [08:51:44.696] Requirement already satisfied: PySocks==1.7.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 26)) (1.7.1) [08:51:44.697] Requirement already satisfied: pytest==7.2.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 27)) (7.2.1) [08:51:44.698] Requirement already satisfied: python-dateutil==2.8.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 28)) (2.8.2) [08:51:44.699] Requirement already satisfied: requests==2.31.0 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 29)) (2.31.0) [08:51:44.701] Requirement already satisfied: soupsieve==2.4 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 30)) (2.4) [08:51:44.702] Requirement already satisfied: stem==1.8.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 31)) (1.8.1) [08:51:44.703] Requirement already satisfied: urllib3==1.26.14 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 32)) (1.26.14) [08:51:44.704] Requirement already satisfied: waitress==2.1.2 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 33)) (2.1.2) [08:51:44.706] Requirement already satisfied: wcwidth==0.2.6 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 34)) (0.2.6) [08:51:44.707] Requirement already satisfied: Werkzeug==2.3.3 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 35)) (2.3.3) [08:51:44.708] Requirement already satisfied: python-dotenv==0.21.1 in /usr/local/lib/python3.9/site-packages (from -r requirements.txt (line 36)) (0.21.1) [08:51:44.821] Requirement already satisfied: blinker>=1.6.2 in /usr/local/lib/python3.9/site-packages (from Flask==2.3.2->-r requirements.txt (line 13)) (1.6.2) [08:51:44.823] Requirement already satisfied: importlib-metadata>=3.6.0 in /usr/local/lib/python3.9/site-packages (from Flask==2.3.2->-r requirements.txt (line 13)) (6.8.0) [08:51:44.892] Requirement already satisfied: iniconfig in /usr/local/lib/python3.9/site-packages (from pytest==7.2.1->-r requirements.txt (line 27)) (2.0.0) [08:51:44.894] Requirement already satisfied: exceptiongroup>=1.0.0rc8 in /usr/local/lib/python3.9/site-packages (from pytest==7.2.1->-r requirements.txt (line 27)) (1.1.2) [08:51:44.897] Requirement already satisfied: tomli>=1.0.0 in /usr/local/lib/python3.9/site-packages (from pytest==7.2.1->-r requirements.txt (line 27)) (2.0.1) [08:51:44.903] Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/site-packages (from python-dateutil==2.8.2->-r requirements.txt (line 28)) (1.16.0) [08:51:44.915] Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.9/site-packages (from requests==2.31.0->-r requirements.txt (line 29)) (3.2.0) [08:51:45.033] Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.9/site-packages (from importlib-metadata>=3.6.0->Flask==2.3.2->-r requirements.txt (line 13)) (3.16.2) [08:51:45.122] WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv [08:51:45.252] Build Completed in /vercel/output [12s] [08:51:45.407] Deploying outputs... [08:51:47.579] Deployment completed [08:51:48.756] Uploading build cache [29.00 B]... [08:51:48.951] Build cache uploaded: 193.998ms ``` [//]: <> </details> Deployment only outputs some static assets, visiting the assigned domain shows Vercel's 404 error: <details> [//]: <> ``` __init__.py __main__.py filter.py models/__init__.py models/config.py models/endpoint.py models/g_classes.py request.py routes.py static/bangs/bangs.json static/config/99mypref.conf static/config/whoogle.key static/css/dark-theme.css static/css/error.css static/css/header.css static/css/input.css static/css/light-theme.css static/css/logo.css static/css/main.css static/css/search.css static/css/variables.css static/img/favicon.ico static/img/favicon/android-icon-144x144.png static/img/favicon/android-icon-192x192.png static/img/favicon/android-icon-36x36.png static/img/favicon/android-icon-48x48.png static/img/favicon/android-icon-72x72.png static/img/favicon/android-icon-96x96.png static/img/favicon/apple-icon-114x114.png static/img/favicon/apple-icon-120x120.png static/img/favicon/apple-icon-144x144.png static/img/favicon/apple-icon-152x152.png static/img/favicon/apple-icon-180x180.png static/img/favicon/apple-icon-57x57.png static/img/favicon/apple-icon-60x60.png static/img/favicon/apple-icon-72x72.png static/img/favicon/apple-icon-76x76.png static/img/favicon/apple-icon-precomposed.png static/img/favicon/apple-icon.png static/img/favicon/browserconfig.xml static/img/favicon/favicon-16x16.png static/img/favicon/favicon-32x32.png static/img/favicon/favicon-96x96.png static/img/favicon/favicon.ico static/img/favicon/manifest.json static/img/favicon/ms-icon-144x144.png static/img/favicon/ms-icon-150x150.png static/img/favicon/ms-icon-310x310.png static/img/favicon/ms-icon-70x70.png static/img/logo.png static/img/whoogle.svg static/js/autocomplete.js static/js/controller.js static/js/currency.js static/js/header.js static/js/keyboard.js static/js/utils.js static/settings/countries.json static/settings/header_tabs.json static/settings/languages.json static/settings/themes.json static/settings/time_periods.json static/settings/translations.json static/widgets/calculator.html templates/display.html templates/error.html templates/footer.html templates/header.html templates/imageresults.html templates/index.html templates/logo.html templates/opensearch.xml templates/search.html utils/__init__.py utils/bangs.py utils/misc.py utils/results.py utils/search.py utils/session.py utils/widgets.py version.py ``` [//]: <> </details> If anyone is interested in debugging this, be sure to purge data cache (and take care of your quota) before redeployment when you change those commands via browser, or Vercel would reuse cached data and not build at all.
Author
Owner

@Vinfall commented on GitHub (Jan 14, 2024):

Can you tell me how to deploy to vercel?

Sadly, no. I think you need to write a Flask wrapper between Whoogle & Verel to make it work, which I'm not capable of last time I checked it. I notice that there are commits since v0.8.4, so YMMV.

<!-- gh-comment-id:1890950775 --> @Vinfall commented on GitHub (Jan 14, 2024): > Can you tell me how to deploy to vercel? Sadly, no. I think you need to write a Flask wrapper between Whoogle & Verel to make it work, which I'm not capable of last time I checked it. I notice that there are commits since v0.8.4, so YMMV.
Author
Owner

@carlosfhr commented on GitHub (Apr 10, 2024):

Can it be deployed with cloudflare workers?

<!-- gh-comment-id:2047848438 --> @carlosfhr commented on GitHub (Apr 10, 2024): Can it be deployed with cloudflare workers?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/whoogle-search#41
No description provided.