
# DO NOT EDIT THIS FILE -- AUTOGENERATED BY PANTS
# Target: src/ai/backend/web:dist

from setuptools import setup

setup(**{
    'author': 'Lablup Inc. and contributors',
    'classifiers': [
        'Intended Audience :: Developers',
        'Operating System :: MacOS :: MacOS X',
        'Operating System :: POSIX :: Linux',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Environment :: No Input/Output (Daemon)',
        'Topic :: Scientific/Engineering',
        'Topic :: Software Development',
        'Development Status :: 5 - Production/Stable',
        'Programming Language :: Python :: 3.12',
        'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)',
    ],
    'description': 'Backend.AI WebUI Host',
    'entry_points': {
        'backendai_cli_v10': [
            'web = ai.backend.web.cli:main',
            'web.start-server = ai.backend.web.server:main',
        ],
    },
    'install_requires': (
        'Jinja2~=3.1.2',
        'PyJWT~=2.0',
        'aiohttp_cors~=0.7',
        'aiohttp~=3.9.1',
        'aiotools~=1.7.0',
        """backend.ai-cli==24.03.5
""",
        """backend.ai-client==24.03.5
""",
        """backend.ai-common==24.03.5
""",
        """backend.ai-plugin==24.03.5
""",
        'click~=8.1.7',
        'coloredlogs~=15.0',
        'pycryptodome>=3.14.1',
        'setproctitle~=1.3.2',
        'tomli~=2.0.1',
        'trafaret~=2.1',
        'types-Jinja2',
        'types-setuptools',
        'uvloop~=0.19.0; sys_platform != "Windows"',
        'yarl!=1.9.0,!=1.9.1,!=1.9.2,<2.0,>=1.8.2',
    ),
    'license': 'LGPLv3',
    'long_description': """# Backend.AI Web Server

[![GitHub version](https://badge.fury.io/gh/lablup%2Fbackend.ai-webserver.svg)](https://badge.fury.io/gh/lablup%2Fbackend.ai-webserver) [![PyPI version](https://badge.fury.io/py/backend.ai-webserver.svg)](https://badge.fury.io/py/backend.ai-webserver)

A webapp hosting daemon which serves our `webui` as a SPA and proxies API requests


## Installation

Prepare a Python virtualenv (Python 3.9 or higher) and a Redis server (6.2 or higher).

```console
$ git clone https://github.com/lablup/backend.ai-webserver webserver
$ cd webserver
$ pip install -U -e .
$ cp webserver.sample.conf webserver.conf
```

## Mode

If `service.mode` is set "webui" (the default), the webserver handles
PWA-style fallbacks (e.g., serving `index.html` when there are no matching
files for the requested URL path).
The PWA must exclude `/server` and `/func` URL prefixes from its own routing
to work with the webserver's web sessions and the API proxy.

If it is set "static", the webserver serves the static files as-is,
without any fallbacks or hooking, while preserving the `/server` and `/func`
prefixed URLs and their functionalities.

If you want to serve web UI in webserver with "webui" mode, prepare static web UI source by choosing one of the followings.

### Option 1: Build web UI from source

Build **[backend.ai-webui](https://github.com/lablup/backend.ai-webui)** and copy all files under `build/bundle`
into the `src/ai/backend/web/static` directory.

### Option 2: Use pre-built web UI

To download and deploy web UI from pre-built source, do the following:

```console
git submodule init
git submodule update
cd src/ai/backend/web/static
git checkout main  # or target branch
git fetch
git pull
```
### Setup configuration for webserver

You don't have to write `config.toml` for the web UI as this webserver auto-generates it on-the-fly.

Edit `webserver.conf` to match with your environment.


## Usage

To execute web server, run command below. (for debugging, append a `--debug` flag)


```console
$ python -m ai.backend.web.server
```
""",
    'long_description_content_type': 'text/markdown',
    'name': 'backend.ai-webserver',
    'namespace_packages': (
    ),
    'package_data': {
        'ai.backend.web': (
            'VERSION',
            'py.typed',
            'static/asset-manifest.json',
            'static/config.toml',
            'static/dist/components/active-mixin-J6dpTpJf.js',
            'static/dist/components/backend-ai-agent-summary-view-e5Fq1BoT.js',
            'static/dist/components/backend-ai-change-forgot-password-view-CH6tIY5M.js',
            'static/dist/components/backend-ai-credential-view-C_jAtLE8.js',
            'static/dist/components/backend-ai-data-view-C9NDh4bO.js',
            'static/dist/components/backend-ai-edu-applauncher-D6D4DziK.js',
            'static/dist/components/backend-ai-email-verification-view-Dliz1al-.js',
            'static/dist/components/backend-ai-environment-view-Glagiw3-.js',
            'static/dist/components/backend-ai-error-view-BZtmkWNC.js',
            'static/dist/components/backend-ai-import-view-Ciidukxy.js',
            'static/dist/components/backend-ai-list-status-D8Jm1azR.js',
            'static/dist/components/backend-ai-maintenance-view-BJ_r3Q1c.js',
            'static/dist/components/backend-ai-multi-select-J5hV-RVq.js',
            'static/dist/components/backend-ai-permission-denied-view-yhymwTP-.js',
            'static/dist/components/backend-ai-resource-group-list-GcZ9h46k.js',
            'static/dist/components/backend-ai-resource-monitor-IcRtGLgh.js',
            'static/dist/components/backend-ai-serving-view-K_F69xQT.js',
            'static/dist/components/backend-ai-session-launcher-DRI4wcXt.js',
            'static/dist/components/backend-ai-session-view-CAKCRP9F.js',
            'static/dist/components/backend-ai-session-view-next-DpE-euFB.js',
            'static/dist/components/backend-ai-settings-view-vTHYL-Hr.js',
            'static/dist/components/backend-ai-statistics-view-C-cgjU-s.js',
            'static/dist/components/backend-ai-storage-host-settings-view-Dy_i8Ge9.js',
            'static/dist/components/backend-ai-storage-proxy-list-qlUuW3w-.js',
            'static/dist/components/backend-ai-summary-view-CqPqOOJl.js',
            'static/dist/components/backend-ai-usersettings-general-list-CZk0H7re.js',
            'static/dist/components/backend-ai-webui-CHZ-bl4E.js',
            'static/dist/components/backend-ai-webui.js',
            'static/dist/components/dir-utils-Oo-ABbXC.js',
            'static/dist/components/lablup-activity-panel-BRVLvaCu.js',
            'static/dist/components/lablup-codemirror-BgUcazZm.js',
            'static/dist/components/lablup-grid-sort-filter-column-Dn_4FTfz.js',
            'static/dist/components/lablup-loading-spinner-CYlGP4w_.js',
            'static/dist/components/lablup-progress-bar-uZGTrT3Q.js',
            'static/dist/components/mwc-check-list-item-MD7Fe8pP.js',
            'static/dist/components/mwc-formfield-DTUjFp7y.js',
            'static/dist/components/mwc-switch-BjHJLnvp.js',
            'static/dist/components/mwc-tab-bar-DNic7EoY.js',
            'static/dist/components/state-AWntI4tg.js',
            'static/dist/components/vaadin-grid-BPP02Fg2.js',
            'static/dist/components/vaadin-grid-filter-column-uYx0Tpjv.js',
            'static/dist/components/vaadin-grid-selection-column-BumTARFS.js',
            'static/dist/components/vaadin-grid-sort-column-D98JUghL.js',
            'static/dist/components/vaadin-iconset-BMRF942c.js',
            'static/dist/components/vaadin-item-GWAqXjER.js',
            'static/dist/components/vaadin-item-mixin-5MukPCX9.js',
            'static/index.html',
            'static/manifest.json',
            'static/manifest/app.js',
            'static/manifest/backend-ai.icns',
            'static/manifest/backend-ai.ico',
            'static/manifest/backend-ai.iconset/icon_128x128@1x.png',
            'static/manifest/backend-ai.iconset/icon_128x128@2x.png',
            'static/manifest/backend-ai.iconset/icon_16x16@1x.png',
            'static/manifest/backend-ai.iconset/icon_16x16@2x.png',
            'static/manifest/backend-ai.iconset/icon_256x256@1x.png',
            'static/manifest/backend-ai.iconset/icon_256x256@2x.png',
            'static/manifest/backend-ai.iconset/icon_32x32@1x.png',
            'static/manifest/backend-ai.iconset/icon_32x32@2x.png',
            'static/manifest/backend-ai.iconset/icon_512x512@1x.png',
            'static/manifest/backend-ai.iconset/icon_512x512@2x.png',
            'static/manifest/backend.ai-brand-simple-bgdark.svg',
            'static/manifest/backend.ai-brand-simple.svg',
            'static/manifest/backend.ai-text-bgdark.svg',
            'static/manifest/backend.ai-text.svg',
            'static/manifest/favicon.ico',
            'static/resources/antdThemeConfig.schema.json',
            'static/resources/app_template.json',
            'static/resources/badge-dark.svg',
            'static/resources/badge.svg',
            'static/resources/custom.css',
            'static/resources/device_metadata.json',
            'static/resources/documents/privacy-policy.en.html',
            'static/resources/documents/privacy-policy.ko.html',
            'static/resources/documents/terms-of-service.en.html',
            'static/resources/documents/terms-of-service.ko.html',
            'static/resources/fonts/fa-brands-400.woff',
            'static/resources/fonts/fa-brands-400.woff2',
            'static/resources/fonts/fa-regular-400.woff',
            'static/resources/fonts/fa-regular-400.woff2',
            'static/resources/fonts/fa-solid-900.woff',
            'static/resources/fonts/fa-solid-900.woff2',
            'static/resources/fonts/font-awesome-all.min.css',
            'static/resources/fonts/font-awesome.css',
            'static/resources/fonts/fonts.css',
            'static/resources/fonts/material-icons-outlined.woff2',
            'static/resources/fonts/material-icons-round.woff2',
            'static/resources/fonts/material-icons-sharp.woff2',
            'static/resources/fonts/material-icons-two-tone.woff2',
            'static/resources/fonts/material-icons.woff2',
            'static/resources/fonts/roboto-v19-latin-100.woff',
            'static/resources/fonts/roboto-v19-latin-100.woff2',
            'static/resources/fonts/roboto-v19-latin-100italic.woff',
            'static/resources/fonts/roboto-v19-latin-100italic.woff2',
            'static/resources/fonts/roboto-v19-latin-300.woff',
            'static/resources/fonts/roboto-v19-latin-300.woff2',
            'static/resources/fonts/roboto-v19-latin-300italic.woff',
            'static/resources/fonts/roboto-v19-latin-300italic.woff2',
            'static/resources/fonts/roboto-v19-latin-900.woff',
            'static/resources/fonts/roboto-v19-latin-900.woff2',
            'static/resources/fonts/roboto-v19-latin-900italic.woff',
            'static/resources/fonts/roboto-v19-latin-900italic.woff2',
            'static/resources/fonts/roboto-v19-latin-italic.woff',
            'static/resources/fonts/roboto-v19-latin-italic.woff2',
            'static/resources/fonts/roboto-v19-latin-regular.woff',
            'static/resources/fonts/roboto-v19-latin-regular.woff2',
            'static/resources/fonts/ubuntu-mono-v15-bold.woff2',
            'static/resources/fonts/ubuntu-mono-v15-bolditalic.woff2',
            'static/resources/fonts/ubuntu-mono-v15-italic.woff2',
            'static/resources/fonts/ubuntu-mono-v15-regular.woff2',
            'static/resources/fonts/ubuntu-v14-latin-300.woff',
            'static/resources/fonts/ubuntu-v14-latin-300.woff2',
            'static/resources/fonts/ubuntu-v14-latin-300italic.woff',
            'static/resources/fonts/ubuntu-v14-latin-300italic.woff2',
            'static/resources/fonts/ubuntu-v14-latin-500.woff',
            'static/resources/fonts/ubuntu-v14-latin-500.woff2',
            'static/resources/fonts/ubuntu-v14-latin-500italic.woff',
            'static/resources/fonts/ubuntu-v14-latin-500italic.woff2',
            'static/resources/fonts/ubuntu-v14-latin-700.woff',
            'static/resources/fonts/ubuntu-v14-latin-700.woff2',
            'static/resources/fonts/ubuntu-v14-latin-700italic.woff',
            'static/resources/fonts/ubuntu-v14-latin-700italic.woff2',
            'static/resources/fonts/ubuntu-v14-latin-italic.woff',
            'static/resources/fonts/ubuntu-v14-latin-italic.woff2',
            'static/resources/fonts/ubuntu-v14-latin-regular.woff',
            'static/resources/fonts/ubuntu-v14-latin-regular.woff2',
            'static/resources/i18n/de.json',
            'static/resources/i18n/el.json',
            'static/resources/i18n/en.json',
            'static/resources/i18n/es.json',
            'static/resources/i18n/fi.json',
            'static/resources/i18n/fr.json',
            'static/resources/i18n/id.json',
            'static/resources/i18n/it.json',
            'static/resources/i18n/ja.json',
            'static/resources/i18n/ko.json',
            'static/resources/i18n/mn.json',
            'static/resources/i18n/ms.json',
            'static/resources/i18n/pl.json',
            'static/resources/i18n/pt-BR.json',
            'static/resources/i18n/pt.json',
            'static/resources/i18n/ru.json',
            'static/resources/i18n/tr.json',
            'static/resources/i18n/vi.json',
            'static/resources/i18n/zh-CN.json',
            'static/resources/i18n/zh-TW.json',
            'static/resources/icons/LICENSE.md',
            'static/resources/icons/apache-spark.svg',
            'static/resources/icons/aws.png',
            'static/resources/icons/azure.png',
            'static/resources/icons/c.svg',
            'static/resources/icons/caffe.png',
            'static/resources/icons/caffe2.svg',
            'static/resources/icons/ceph.png',
            'static/resources/icons/check-list.svg',
            'static/resources/icons/classification.svg',
            'static/resources/icons/cpp.svg',
            'static/resources/icons/default.png',
            'static/resources/icons/default_app.svg',
            'static/resources/icons/file_type_cuda.svg',
            'static/resources/icons/file_type_python.svg',
            'static/resources/icons/filebrowser.svg',
            'static/resources/icons/flux.png',
            'static/resources/icons/furiosa.svg',
            'static/resources/icons/gcc.png',
            'static/resources/icons/gcp.png',
            'static/resources/icons/gdrive.png',
            'static/resources/icons/h2o.png',
            'static/resources/icons/haskell.png',
            'static/resources/icons/javascript.png',
            'static/resources/icons/julia.png',
            'static/resources/icons/jupyter.png',
            'static/resources/icons/jupyterlab.png',
            'static/resources/icons/kitty.png',
            'static/resources/icons/lablup.png',
            'static/resources/icons/local.png',
            'static/resources/icons/lua.png',
            'static/resources/icons/matlab.png',
            'static/resources/icons/mlflow.png',
            'static/resources/icons/mxnet.svg',
            'static/resources/icons/nbp.png',
            'static/resources/icons/nni.png',
            'static/resources/icons/nni.svg',
            'static/resources/icons/nodejs.png',
            'static/resources/icons/novnc.svg',
            'static/resources/icons/npu_generic.svg',
            'static/resources/icons/nvidia.png',
            'static/resources/icons/octave.png',
            'static/resources/icons/openstack.png',
            'static/resources/icons/orbit.svg',
            'static/resources/icons/php.png',
            'static/resources/icons/purestorage.png',
            'static/resources/icons/python.png',
            'static/resources/icons/pytorch.svg',
            'static/resources/icons/r-lang.svg',
            'static/resources/icons/rebel.svg',
            'static/resources/icons/rocm.svg',
            'static/resources/icons/rust.svg',
            'static/resources/icons/sftp.png',
            'static/resources/icons/sftp2.png',
            'static/resources/icons/swift-tensorflow.png',
            'static/resources/icons/swift.svg',
            'static/resources/icons/tensorflow.png',
            'static/resources/icons/terminal.svg',
            'static/resources/icons/texlive.png',
            'static/resources/icons/tpu.svg',
            'static/resources/icons/ubuntu.svg',
            'static/resources/icons/vscode.svg',
            'static/resources/icons/xfce.png',
            'static/resources/icons/xrdp.svg',
            'static/resources/image_metadata.json',
            'static/resources/images/401_unauthorized_access.svg',
            'static/resources/images/404_not_found.svg',
            'static/resources/images/launcher-background.png',
            'static/resources/images/loading-background-large.jpg',
            'static/resources/images/loading-background.jpg',
            'static/resources/images/web-terminal-guide-1.png',
            'static/resources/images/web-terminal-guide-2.png',
            'static/resources/images/web-terminal-guide-3.png',
            'static/resources/images/web-terminal-guide-4.png',
            'static/resources/menu_icons/icon_create_a_key_pair.svg',
            'static/resources/menu_icons/icon_keypair_management.svg',
            'static/resources/menu_icons/icon_upload_files.svg',
            'static/resources/storage_metadata.json',
            'static/resources/templates/under_construction.html',
            'static/resources/theme.json',
            'static/resources/theme.schema.json',
            'static/resources/webui.css',
            'static/src/lib/bundles/webcomponents-ce.js',
            'static/src/lib/bundles/webcomponents-ce.js.map',
            'static/src/lib/bundles/webcomponents-pf_dom.js',
            'static/src/lib/bundles/webcomponents-pf_dom.js.map',
            'static/src/lib/bundles/webcomponents-pf_js.js',
            'static/src/lib/bundles/webcomponents-pf_js.js.map',
            'static/src/lib/bundles/webcomponents-sd-ce-pf.js',
            'static/src/lib/bundles/webcomponents-sd-ce-pf.js.map',
            'static/src/lib/bundles/webcomponents-sd-ce.js',
            'static/src/lib/bundles/webcomponents-sd-ce.js.map',
            'static/src/lib/bundles/webcomponents-sd.js',
            'static/src/lib/bundles/webcomponents-sd.js.map',
            'static/src/lib/web-animations-js/web-animations-next-lite.min.js',
            'static/src/lib/webcomponents-loader.js',
            'static/static/js/104.00115778.chunk.js',
            'static/static/js/104.00115778.chunk.js.map',
            'static/static/js/142.b7768865.chunk.js',
            'static/static/js/142.b7768865.chunk.js.map',
            'static/static/js/20.d654f5cd.chunk.js',
            'static/static/js/20.d654f5cd.chunk.js.map',
            'static/static/js/234.588b5851.chunk.js',
            'static/static/js/234.588b5851.chunk.js.map',
            'static/static/js/247.42e500f0.chunk.js',
            'static/static/js/247.42e500f0.chunk.js.map',
            'static/static/js/268.5c18b94b.chunk.js',
            'static/static/js/268.5c18b94b.chunk.js.map',
            'static/static/js/272.da5aa443.chunk.js',
            'static/static/js/272.da5aa443.chunk.js.map',
            'static/static/js/273.a8b3037f.chunk.js',
            'static/static/js/273.a8b3037f.chunk.js.map',
            'static/static/js/299.59016706.chunk.js',
            'static/static/js/299.59016706.chunk.js.map',
            'static/static/js/312.6dc43c32.chunk.js',
            'static/static/js/312.6dc43c32.chunk.js.map',
            'static/static/js/327.1dae0db0.chunk.js',
            'static/static/js/327.1dae0db0.chunk.js.LICENSE.txt',
            'static/static/js/327.1dae0db0.chunk.js.map',
            'static/static/js/336.4efefb3b.chunk.js',
            'static/static/js/336.4efefb3b.chunk.js.map',
            'static/static/js/345.8d5f7c3d.chunk.js',
            'static/static/js/345.8d5f7c3d.chunk.js.LICENSE.txt',
            'static/static/js/345.8d5f7c3d.chunk.js.map',
            'static/static/js/356.489cb721.chunk.js',
            'static/static/js/356.489cb721.chunk.js.map',
            'static/static/js/397.08e1d95c.chunk.js',
            'static/static/js/397.08e1d95c.chunk.js.map',
            'static/static/js/411.b5fd88d8.chunk.js',
            'static/static/js/411.b5fd88d8.chunk.js.map',
            'static/static/js/430.047714b4.chunk.js',
            'static/static/js/430.047714b4.chunk.js.map',
            'static/static/js/500.65ddb0eb.chunk.js',
            'static/static/js/500.65ddb0eb.chunk.js.map',
            'static/static/js/513.107e94d0.chunk.js',
            'static/static/js/513.107e94d0.chunk.js.map',
            'static/static/js/563.dd48640e.chunk.js',
            'static/static/js/563.dd48640e.chunk.js.map',
            'static/static/js/572.fd9ff8d2.chunk.js',
            'static/static/js/572.fd9ff8d2.chunk.js.map',
            'static/static/js/603.72f66204.chunk.js',
            'static/static/js/603.72f66204.chunk.js.map',
            'static/static/js/605.ea7c3f7b.chunk.js',
            'static/static/js/605.ea7c3f7b.chunk.js.map',
            'static/static/js/627.daf32963.chunk.js',
            'static/static/js/627.daf32963.chunk.js.map',
            'static/static/js/649.7fb4f271.chunk.js',
            'static/static/js/649.7fb4f271.chunk.js.map',
            'static/static/js/695.44f4343a.chunk.js',
            'static/static/js/695.44f4343a.chunk.js.map',
            'static/static/js/708.5f2f3f5d.chunk.js',
            'static/static/js/708.5f2f3f5d.chunk.js.map',
            'static/static/js/724.7d3cf458.chunk.js',
            'static/static/js/724.7d3cf458.chunk.js.map',
            'static/static/js/726.410c8164.chunk.js',
            'static/static/js/726.410c8164.chunk.js.map',
            'static/static/js/727.60d9fc7a.chunk.js',
            'static/static/js/727.60d9fc7a.chunk.js.map',
            'static/static/js/74.1b6c272a.chunk.js',
            'static/static/js/74.1b6c272a.chunk.js.map',
            'static/static/js/807.5614154e.chunk.js',
            'static/static/js/807.5614154e.chunk.js.LICENSE.txt',
            'static/static/js/807.5614154e.chunk.js.map',
            'static/static/js/809.4d6930fc.chunk.js',
            'static/static/js/809.4d6930fc.chunk.js.map',
            'static/static/js/862.0985772d.chunk.js',
            'static/static/js/862.0985772d.chunk.js.LICENSE.txt',
            'static/static/js/862.0985772d.chunk.js.map',
            'static/static/js/944.f2b4e709.chunk.js',
            'static/static/js/944.f2b4e709.chunk.js.map',
            'static/static/js/959.16c5f1d9.chunk.js',
            'static/static/js/959.16c5f1d9.chunk.js.map',
            'static/static/js/992.1d0abe4e.chunk.js',
            'static/static/js/992.1d0abe4e.chunk.js.map',
            'static/static/js/999.fb4725c2.chunk.js',
            'static/static/js/999.fb4725c2.chunk.js.map',
            'static/static/js/main.2e8565c6.js',
            'static/static/js/main.2e8565c6.js.LICENSE.txt',
            'static/static/js/main.2e8565c6.js.map',
            'static/static/media/getFetch.c4cca45e22bc1b2c7d0d.cjs',
            'static/sw.js',
            'static/sw.js.map',
            'static/version.json',
            'static/workbox-9a84fccb.js',
            'static/workbox-9a84fccb.js.map',
            'templates/config.toml.j2',
            'templates/config_ini.toml.j2',
        ),
    },
    'packages': (
        'ai.backend.web',
    ),
    'project_urls': {
        'Documentation': 'https://docs.backend.ai/',
        'Source': 'https://github.com/lablup/backend.ai',
    },
    'python_requires': '>=3.12,<3.13',
    'url': 'https://github.com/lablup/backend.ai',
    'version': """24.03.5
""",
    'zip_safe': False,
})
