Got it! Thanks for clarifying.

Would it make sense to use the same solution that we will use for having a
single-language REPL to have a single-language CLI? My only concern with
killing the CLI is that you remove an essential feature for DevOps.

- Lucas

On Fri, Oct 19, 2018 at 1:52 PM Rafael Novello <rafa.reis.nove...@gmail.com>
wrote:

> Lucas,
>
> The idea is that REPL will substitute the actual CLI. It's because with the
> actual concept (using language specific CLI) we will need to re-implement
> the same features many times and probably each CLI will have a different
> behavior because some language specific restrictions and/or limitations.
>
> With this new concept, all users will have the same experience interacting
> with Marvin REPL and they will use the bests tools to develop their engines
> (Jupyter Notebook and/or Lab with different languages support or even
> Apache Zeppelin). All the interact will occur through REPL and docker
> protocol.
>
> Alan, Yes! As Lucas said, the concept is the same but we can use docker to
> do the same job.
>
> Best!
>
> Em sex, 19 de out de 2018 às 00:39, Lucas Bonatto Miguel <
> lucasb...@apache.org> escreveu:
>
> > Thanks for the clarifications Rafael, so from what I understood, Marvin's
> > developers would not use the REPL to explore data and test models, i.e.
> > develop the engine. Is the idea to build something more like an
> interactive
> > CLI? I think an interactive CLI would be useful for the developer
> > experience, however, it's important to keep the unattended (current) CLI
> in
> > place for scenarios where users want to automate Marvin tasks.
> >
> > Alan, I believe the idea is still the same as you started, but using
> > docker SDK now.
> >
> > - Lucas
> >
> > On Thu, Oct 18, 2018 at 1:29 PM Rafael Novello <
> > rafa.reis.nove...@gmail.com>
> > wrote:
> >
> > > Hi Lucas!
> > >
> > > First of all +1 for REPL POCs to Apache!
> > >
> > > Let me help with some comments:
> > >
> > > 1 - We have tested NodeJS, Scala and Python and the easiest one was
> > Python.
> > > We have found a small project [1] that have all features we desired for
> > > REPL:
> > > - Autocomplete
> > > - Python commands disabled (the user have only the commands we
> provide).
> > > The other languages REPL options don't have this feature.
> > > - Easy to show output
> > > - Etc
> > > So, I think the language chosen will not be important here because the
> > user
> > > will only interact with the commands that we create.
> > >
> > > 2 - The "engine-generate" command will download a docker image that we
> > > create for that language and start a container with the basic project
> > > structure for that language.
> > >
> > > 3 - The REPL client will use the "docker protocol" to run command,
> > > start/stop services and etc inside the container and it will receive
> the
> > > log stream to show. No, the REPL will no pass code snippets for docker
> > > container (I think it will not be necessary)
> > >
> > > 4 - Yep! Like I said on the first item.
> > >
> > > [1] - https://github.com/italorossi/ishell
> > >
> > > Let me know if there is any other question!
> > > Best!
> > > Rafael J. R. Novello
> > >
> > > Skype: rafael.novello
> > > Blog: http://rafanovello.blogspot.com.br/
> > >
> > >
> > > Em qui, 18 de out de 2018 às 17:00, Lucas Bonatto Miguel <
> > > lucasb...@apache.org> escreveu:
> > >
> > > > + 1 for migrating the REPL repo to Apache
> > > >
> > > > I have a few questions about the previous explanation:
> > > >  1) The REPL itself, it would be an application in which language?
> > > Remember
> > > > that the main idea is to allow the user to program on his preferred
> > > > language in the REPL.
> > > >  2) Should the engine-generate command also generate a docker image
> > with
> > > > the user's application?
> > > >  3) What type of communication would happen between the REPL and the
> > > engine
> > > > via Docker SDK? Would the REPL pass snippets of code to be executed
> by
> > > the
> > > > docker container?
> > > >  4) Have you considered code completion in the REPL?
> > > >
> > > >
> > > > On Thu, Oct 18, 2018 at 7:53 AM Zhang Yifei <yifei.z.l...@gmail.com>
> > > > wrote:
> > > >
> > > > > Ok guys,
> > > > >
> > > > > The basic idea is to provide only one Toolbox for multiple
> languages.
> > > > > We are looking for possibility to build a single Marvin Repl,
> > > > > instead of severals toolboxes with differentes interfaces or
> > commands.
> > > > >
> > > > > In this case, the engine-generate command will download and start a
> > > > Docker
> > > > > container with basic engine structure corresponding the choosed
> > > language.
> > > > > this means we don't need to build Toolboxes of differents
> languages,
> > we
> > > > > just
> > > > > build the engine template of all languages that we want to support
> > and
> > > > > provide it
> > > > > as Docker containers
> > > > >
> > > > > We have started researches around our basic requirements like:
> > > > > - Repl interface
> > > > > - System communication
> > > > > - Connection security
> > > > > - Tool popularity
> > > > > - Update complexity
> > > > > - Languages support
> > > > > - ......
> > > > >
> > > > > And we did some POC with code here:
> > > > > https://github.com/marvin-ai/marvin-repl
> > > > >
> > > > > There is POC testing gRPC using Scala and Python,
> > > > > Repl inteface and Docker SDK with NodeJS,
> > > > > Repl interface and Docker SDK with Python.
> > > > >
> > > > > At this moment we prefer the Repl interface + Docker SDK way,
> because
> > > > good
> > > > > part of the requirements
> > > > > will be guaranteed by Docker.
> > > > >
> > > > > With this informations, what do you think? Should we submit all
> this
> > > POCs
> > > > > to Apache Repo?
> > > > > Please feel free to opine.
> > > > >
> > > > >
> > > > > Thats all, thanks!!!
> > > > >
> > > > >
> > > > > Em ter, 16 de out de 2018 às 18:55, Daniel Takabayashi <
> > > > > daniel.takabaya...@gmail.com> escreveu:
> > > > >
> > > > > > Zhang,
> > > > > >
> > > > > > I think the best approach is give us a better explanation about
> > this
> > > > new
> > > > > > feature and how this can help us to archive the desired feature
> > > > (support
> > > > > > multiple languages). Than if the majority agree than I can do the
> > > > merge,
> > > > > > just like I did before, but in another branch.
> > > > > >
> > > > > > Let me know if makes sense, ok?
> > > > > >
> > > > > > Taka
> > > > > >
> > > > > > Em ter, 16 de out de 2018 às 14:00, Luciano Resende <
> > > > > luckbr1...@gmail.com>
> > > > > > escreveu:
> > > > > >
> > > > > > > So, what is the POC, is it a refactoring of the existing repo?
> Or
> > > is
> > > > > > > it a new rewrite of the repo?
> > > > > > >
> > > > > > > Just asking as it might make sense to make it a branch then
> > > actually
> > > > a
> > > > > > > thing in parallel, as this will have an effect for releases,
> etc.
> > > but
> > > > > > > you guys know more here than I do.
> > > > > > >
> > > > > > > Also, it's probably good to have a write up of the main
> direction
> > > of
> > > > > > > the design that can help people get familiar with the new
> > approach.
> > > > > > > On Tue, Oct 16, 2018 at 11:12 AM Zhang Yifei <
> > > yifei.z.l...@gmail.com
> > > > >
> > > > > > > wrote:
> > > > > > > >
> > > > > > > > Hey guys,
> > > > > > > >
> > > > > > > > We have reorganized the Poc repo, and want to merge it to our
> > > > Apache
> > > > > > > repo.
> > > > > > > > Just making sure here before we do the merge, because im not
> > sure
> > > > if
> > > > > > > doing
> > > > > > > > this will perserve the Git commit history.
> > > > > > > > What we are planning to do is:
> > > > > > > >
> > > > > > > > git filter-branch --subdirectory-filter <git
> origin_repository
> > > > > > directory>
> > > > > > > > -- --all
> > > > > > > > mkdir POCs/
> > > > > > > > git mv * POCs/
> > > > > > > > git commit -m "colleted the data to move"
> > > > > > > >
> > > > > > > > git clone <git destination_repository_url> cd <git
> > > > > > > > destination_repository_directory> git remote add
> > > > > > origin_repository_branch
> > > > > > > > <git origin_repository directory> git pull
> > > origin_repository_branch
> > > > > > > master
> > > > > > > > --allow-unrelated-histories git remote rm
> > > origin_repository_branch
> > > > > > > >
> > > > > > > >
> > > > > > > > Thanks in advance !
> > > > > > > >
> > > > > > > >
> --------------------------------------------------------------
> > > > > > > > Zhang Yifei
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Luciano Resende
> > > > > > > http://twitter.com/lresende1975
> > > > > > > http://lresende.blogspot.com/
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > --------------------------------------------------------------
> > > > > Zhang Yifei
> > > > >
> > > >
> > >
> >
>

Reply via email to