
# 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.13',
        '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__:main',
            'web.start-server = ai.backend.web.server:main',
        ],
    },
    'install_requires': (
        'Jinja2~=3.1.6',
        'aiohttp_cors~=0.8.1',
        'aiohttp~=3.11.16',
        'aiotools~=1.9.0',
        """backend.ai-cli==25.12.1
""",
        """backend.ai-client==25.12.1
""",
        """backend.ai-common==25.12.1
""",
        """backend.ai-logging==25.12.1
""",
        """backend.ai-plugin==25.12.1
""",
        'click~=8.1.7',
        'coloredlogs~=15.0',
        'pycryptodome>=3.20.0',
        'pydantic[email]~=2.11.3',
        'setproctitle~=1.3.5',
        'tomli~=2.0.1',
        'types-Jinja2',
        'uvloop~=0.21; sys_platform != "Windows"',
    ),
    '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
cd src/ai/backend/web
curl --fail -sL https://github.com/lablup/backend.ai-webui/releases/download/v$TARGET_VERSION/backend.ai-webui-bundle-$TARGET_VERSION.zip > /tmp/bai-webui.zip
rm -rf static
mkdir static
cd static
unzip /tmp/bai-webui.zip
```
### 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',
            'templates/config.toml.j2',
            'templates/config_ini.toml.j2',
        ),
    },
    'packages': (
        'ai.backend.web',
        'ai.backend.web.cli',
        'ai.backend.web.config',
    ),
    'project_urls': {
        'Documentation': 'https://docs.backend.ai/',
        'Source': 'https://github.com/lablup/backend.ai',
    },
    'python_requires': '>=3.13,<3.14',
    'url': 'https://github.com/lablup/backend.ai',
    'version': """25.12.1
""",
    'zip_safe': False,
})
