Hi Taka, I can't see the image! Maybe the Apache email list don't support attachments.
Best! Rafael J. R. Novello Skype: rafael.novello Blog: http://rafanovello.blogspot.com.br/ Em qua, 24 de out de 2018 às 21:14, Daniel Takabayashi < daniel.takabaya...@gmail.com> escreveu: > Hi all, > > To try to give a little more details about this "new concept" that we want > to bring to the marvin toolbox, I did this simple architecture draw. > > [image: marvin-architecture-views (5).png] > > The general idea here is try to transform the toolbox something > disconnected with the "language", something more agnostic. Also in this new > architecture we could use remote resource to process engines and make easy > the support for new languages. > > This "new toolbox" will be the only thing that a Marvin user must to > install and also we could start to support multiples O.S (once the REPL is > a dummy application that only interprets and by pass commands). > > Regards, > Taka > > Em qua, 24 de out de 2018 às 09:52, Rafael Novello < > rafa.reis.nove...@gmail.com> escreveu: > >> Alan, >> >> Yes! We are using the Docker SDK and it's possible to use the API to >> automate, but it's a little bit harder than automate CLI calls. >> >> Atenciosamente, >> Rafael J. R. Novello >> >> Skype: rafael.novello >> Blog: http://rafanovello.blogspot.com.br/ >> >> >> Em qua, 24 de out de 2018 às 12:02, Alan Silva <ju...@apache.org> >> escreveu: >> >> > Hi, >> > >> > One question here, I understand that we start to use with this PoC the >> > Docker SDK API, right? >> > >> > Why not use the API to expose some endpoints to permit this kind of >> > automation by devops? >> > >> > I think it is possible and it solves the CLI problem, right? >> > >> > >> > On Tue, Oct 23, 2018 at 1:05 PM Rafael Novello < >> > rafa.reis.nove...@gmail.com> >> > wrote: >> > >> > > Lucas, >> > > >> > > Sorry, I didn't understood your question bellow. >> > > >> > > "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?" >> > > >> > > For DevOps purposes, maybe this new toolbox concept is not ideal. I >> think >> > > we can keep the CLI inside the docker container but it will not easy >> to >> > > automate >> > > jobs by this way. >> > > >> > > How to deal with this issue? Voting? >> > > Atenciosamente, >> > > Rafael J. R. Novello >> > > >> > > Skype: rafael.novello >> > > Blog: http://rafanovello.blogspot.com.br/ >> > > >> > > >> > > Em sex, 19 de out de 2018 às 19:00, Lucas Bonatto Miguel < >> > > lucasb...@apache.org> escreveu: >> > > >> > > > 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 >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >