Metadata-Version: 1.2
Name: backend.ai
Version: 1.2.0
Summary: Lablup Backend.AI Meta-package
Home-page: https://github.com/lablup/backend.ai
Author: Lablup Inc.
Author-email: devops@lablup.com
License: LGPLv3
Description-Content-Type: UNKNOWN
Description: Backend.AI
        ==========
        
        Backend.AI is a streamlined backend API server that hosts heterogeneous
        programming languages and popular AI frameworks.
        It manages the underlying computing resources for multi-tenant computation
        sessions where such sessions are spawned and executed instantly on demand.
        
        By installing this meta-package, you get the client with command-line interface
        by default and optionally you may add the manager and agent using pip extra
        tags.
        
        .. code-block:: console
        
           $ pip install backend.ai
           (installs the common and client libs which includes CLI)
           $ pip install backend.ai[manager]
           (installs the common and client libs with the manager/gateway daemon)
           $ pip install backend.ai[agent]
           (installs the common and client libs with the agent daemon)
        
        
        Server-side Components
        ----------------------
        
        If you want to run a Backend.AI cluster on your own, you need to install and
        configure the following server-side components.
        All server-side components are licensed under LGPLv3 to promote non-proprietary open
        innovation in the open-source community.
        
        There is no obligation to open your service/system codes if you just run the
        server-side components as-is (e.g., just run as daemons or import the components
        without modification in your codes).
        Please contact us (contact-at-lablup-com) for commercial consulting and more
        licensing details/options about individual use-cases.
        
        For details about server installation and configuration, please visit `our
        wiki <https://github.com/lablup/backend.ai/wiki>`_.
        
        Manager with API Gateway
        ~~~~~~~~~~~~~~~~~~~~~~~~
        
        It routes external API requests from front-end services to individual agents.
        It also monitors and scales the cluster of multiple agents (a few tens to hundreds).
        
        * Package namespace: ``ai.backend.gateway`` and ``ai.backend.manager``
        * https://github.com/lablup/backend.ai-manager
        
        Agent
        ~~~~~
        
        It manages individual server instances and launches/destroys Docker containers where REPL daemons (kernels) run.
        Each agent on a new EC2 instance self-registers itself to the instance registry via heartbeats.
        
        * Package namespace: ``ai.backend.agent``
        * https://github.com/lablup/backend.ai-agent
        
        Kernels
        ~~~~~~~
        
        A set of small ZeroMQ-based REPL daemons in various programming languages and configurations.
        
        * https://github.com/lablup/backend.ai-kernel-runner
           * Package namespace: ``ai.backend.kernel``
           * A common interface for the agent to deal with various language runtimes
        * https://github.com/lablup/backend.ai-kernels
           * Runtime-specific recipes to build the Docker images (Dockerfile)
        
        Jail
        ~~~~
        
        A programmable sandbox implemented using ptrace-based sytem call filtering written in Go.
        
        * https://github.com/lablup/backend.ai-jail
        
        Hook
        ~~~~
        
        A set of libc overrides for resource control and web-based interactive stdin (paired with agents).
        
        * https://github.com/lablup/backend.ai-hook
        
        Commons
        ~~~~~~~
        
        A collection of utility modules commonly shared throughout Backend.AI projects.
        
        * Package namespaces: ``ai.backend.common``
        * https://github.com/lablup/backend.ai-common
        
        
        Client-side Components
        ----------------------
        
        Client SDK Libraries
        ~~~~~~~~~~~~~~~~~~~~
        
        We offer client SDKs in popular programming languages.
        These SDKs are freely available with MIT License to ease integration with both
        commercial and non-commercial software products and services.
        
        * Python (provides the command-line interface)
           * ``pip install backend.ai-client``
           * https://github.com/lablup/backend.ai-client-py
        * Java
           * Currently only available via GitHub releases
           * https://github.com/lablup/backend.ai-client-java
        * Javascript
           * ``npm install backend.ai-client``
           * https://github.com/lablup/backend.ai-client-js
        * PHP (under preparation)
           * ``composer require lablup/backend.ai-client``
           * https://github.com/lablup/backend.ai-client-php
        
        Media
        ~~~~~
        
        The front-end support libraries to handle multi-media outputs (e.g., SVG plots, animated vector graphics)
        
        * The Python package (``lablup``) is installed *inside* kernel containers.
        * To interpret and display media generated by the Python package, you need to load the Javascript part in the front-end.
        * https://github.com/lablup/backend.ai-media
        
        
        Integrations with IDEs and Editors
        ----------------------------------
        
        * Jupyter Kernel: data scientists' favorite tool
           * Package namespaces: ``backend.ai-integration``
           * https://github.com/lablup/backend.ai-integration-jupyter
        * Visual Studio Code Extension
           * Search 'live code runner' among VSCode extensions.
           * https://github.com/lablup/vscode-live-code-runner
        * Atom Editor plugin
           * Search 'live code runner' among Atom plugins.
           * https://github.com/lablup/atom-live-code-runner
        * IntelliJ / PyCharm plugin
           * Coming soon!
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Requires-Python: >=3.6
