Metadata-Version: 1.2
Name: sorna
Version: 0.9.0
Summary: Sorna meta-package
Home-page: https://github.com/lablup/sorna
Author: Lablup Inc.
Author-email: joongi@lablup.com
License: LGPLv3
Description: Lablup Sorna
        ============
        
        Sorna ("Software on Remote Networking Appliances") is a distributed
        back-end computation service with highly abstracted API. Unlike AWS
        Lambda, it provides a preset of kernel images representing various
        programming environments and allows users to execute their code snippets
        without a cumbersome packaging process. All sub-projects are licensed
        under LGPLv3+.
        
        Server-side Components
        ----------------------
        
        Sorna Manager / API Gateway
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        It routes external API requests from front-end services to agent
        instances by checking the instance registry.
        
        -  Package namespace: ``sorna.manager``
        -  https://github.com/lablup/sorna-manager
        
        Sorna Agent
        ~~~~~~~~~~~
        
        It manages individual EC2 instances and launches/destroyes 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: ``sorna.agent``
        -  https://github.com/lablup/sorna-agent
        
        Sorna REPL
        ~~~~~~~~~~
        
        A set of small ZMQ-based REPL daemons in various programming languages
        and configurations. It also includes a sandbox implemented using
        ptrace-based sytem call filtering written in Go.
        
        -  https://github.com/lablup/sorna-repl
        -  Each daemon is a separate program, usually named
           "run.{lang-specific-extension}".
        
        Sorna Common
        ~~~~~~~~~~~~
        
        A collection of utility modules commonly shared throughout Sorna
        projects, such as logging and messaging protocols.
        
        -  Package namespaces: ``sorna.proto``, ``sorna``
        -  https://github.com/lablup/sorna-common
        
        Client-side Components
        ----------------------
        
        Sorna Client
        ~~~~~~~~~~~~
        
        A client library to access the Sorna API servers with ease.
        
        -  Package namespaces: ``sorna.client``
        -  https://github.com/lablup/sorna-client
        
        Sorna Jupyter Kernel
        ~~~~~~~~~~~~~~~~~~~~
        
        Jupyter kernel integration of the Sorna Cloud API.
        
        -  Package namespaces: ``sorna.integration``
        -  https://github.com/lablup/sorna-jupyter-kernel
        
        Sorna Media
        ~~~~~~~~~~~
        
        The front-end support libraries to handle multi-media outputs (e.g., SVG
        plots, animated vector graphics)
        
        -  The Python package (``sorna``) 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/sorna-media
        
        Installation
        ------------
        
        The Sorna project uses latest features in Python 3.5+ and docker. We
        highly recommend to use `pyenv <https://github.com/yyuu/pyenv>`__ to use
        an isolated setup with custom Python versions that might not be
        supported by your
        
        First, install Docker on your system. We have tested Sorna on
        Linux/Ubuntu and macOS ("Docker for Mac").
        
        For a single PC setup, just run ``pip install sorna``. It will
        automatically install all above sub-projects as well as their
        dependencies.
        
        Development
        -----------
        
        git flow
        ~~~~~~~~
        
        The sorna repositories use `git
        flow <http://danielkummer.github.io/git-flow-cheatsheet/index.html>`__
        to streamline branching during development and deployment. We use the
        default configuration (master -> preparation for release, develop ->
        main development, feature/ -> features, etc.) as-is.
        
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
