robotlab icon indicating copy to clipboard operation
robotlab copied to clipboard

Experiments in building installers for JupyterLab, Robot Framework and Friends

Results 8 robotlab issues
Sort by recently updated
recently updated
newest added

RobotLab 2021: JupyterLab 3, Robot Framework 4

[{"_id":"66b4adac953b3046730133cb","body":"started on starters: https:\/\/github.com\/deathbeds\/jupyterlab-starters\/pull\/39","issue_id":1670993283896,"origin_id":592988998,"user_origin_id":45380,"create_time":1583006810,"update_time":1583006810,"id":1723116972819,"updated_at":"2024-08-08T11:36:12.819000Z","created_at":"2024-08-08T11:36:12.819000Z"},{"_id":"66b4adac953b3046730133cc","body":"I\u2019ll probably try to fix RF 3.2b2 compat on Tuesday. It allows robotkernel to work fully on public API.\r\n\r\nUpdate: Fell into rabbit holes. Continuing later.","issue_id":1670993283896,"origin_id":592993415,"user_origin_id":160447,"create_time":1583009546,"update_time":1583261979,"id":1723116972825,"updated_at":"2024-08-08T11:36:12.825000Z","created_at":"2024-08-08T11:36:12.825000Z"},{"_id":"66b4adac953b3046730133cd","body":":tada: RF 3.2! Guess it's time to take a proper look at actually doing a new release. \r\n\r\nI see robotkernel 1.4.0 is already out (congrats!), but some things we may want to address first:\r\n\r\n- [ ] ~~#65~~\r\n- [ ] #68\r\n- [ ] https:\/\/github.com\/robots-from-jupyter\/robotkernel\/issues\/47\r\n- [ ] https:\/\/github.com\/robots-from-jupyter\/robotframework-jupyterlibrary\/issues\/20\r\n- [x] https:\/\/github.com\/conda-forge\/staged-recipes\/pull\/11394\r\n","issue_id":1670993283896,"origin_id":620313344,"user_origin_id":45380,"create_time":1588035358,"update_time":1588119463,"id":1723116972829,"updated_at":"2024-08-08T11:36:12.829000Z","created_at":"2024-08-08T11:36:12.829000Z"},{"_id":"66b4adac953b3046730133ce","body":"#65 could be skipped for this.","issue_id":1670993283896,"origin_id":620353526,"user_origin_id":160447,"create_time":1588043701,"update_time":1588043701,"id":1723116972834,"updated_at":"2024-08-08T11:36:12.834000Z","created_at":"2024-08-08T11:36:12.834000Z"},{"_id":"66b4adac953b3046730133cf","body":"Btw, what is the state of JupyterLab LSP?","issue_id":1670993283896,"origin_id":620370002,"user_origin_id":160447,"create_time":1588047198,"update_time":1588047198,"id":1723116972838,"updated_at":"2024-08-08T11:36:12.837000Z","created_at":"2024-08-08T11:36:12.837000Z"},{"_id":"66b4adac953b3046730133d0","body":"jlsp is working pretty well, and supports lab 2.x: there's some clutch work going on to support dynamic configuration by the client, which certain language servers pretty much require for some of their cooler features. i haven't checked in on rflsp in a while...","issue_id":1670993283896,"origin_id":620374371,"user_origin_id":45380,"create_time":1588048310,"update_time":1588048310,"id":1723116972842,"updated_at":"2024-08-08T11:36:12.842000Z","created_at":"2024-08-08T11:36:12.842000Z"},{"_id":"66b4adac953b3046730133d1","body":"ha, and 3.2 broke our pipeline on jlsp. funny.","issue_id":1670993283896,"origin_id":620923769,"user_origin_id":45380,"create_time":1588120232,"update_time":1588120232,"id":1723116972847,"updated_at":"2024-08-08T11:36:12.846000Z","created_at":"2024-08-08T11:36:12.846000Z"},{"_id":"66b4adac953b3046730133d2","body":"Here's a little thing that puts together both jupyterlab-lsp and jupyterlab-debugger:\r\n\r\nhttps:\/\/github.com\/blink1073\/jupyter-ide-demo\r\n\r\nIt would be super rad, of course, to be able to add breakpoint debugging to robotkernel, but the plumbing under the current debugger is based on https:\/\/github.com\/jupyter-xeus\/xeus-python, not ipykernel :crying_cat_face: so would be a non-trivial amount of work.","issue_id":1670993283896,"origin_id":621506344,"user_origin_id":45380,"create_time":1588200213,"update_time":1588200213,"id":1723116972850,"updated_at":"2024-08-08T11:36:12.850000Z","created_at":"2024-08-08T11:36:12.850000Z"},{"_id":"66b4adac953b3046730133d3","body":"Cool!\n\nI have assumed that break point debugging would require turning kernel async and implementing custom robot runner \ud83e\udd14\nOn 30. Apr 2020, 1.43 +0300, Nicholas Bollweg <[email protected]>, wrote:\n> Here's a little thing that puts together both jupyterlab-lsp and jupyterlab-debugger:\n> https:\/\/github.com\/blink1073\/jupyter-ide-demo\n> It would be super rad, of course, to be able to add breakpoint debugging to robotkernel, but the plumbing under the current debugger is based on https:\/\/github.com\/jupyter-xeus\/xeus-python, not ipykernel \ud83d\ude3f so would be a non-trivial amount of work.\n> \u2014\n> You are receiving this because you commented.\n> Reply to this email directly, view it on GitHub, or unsubscribe.\n","issue_id":1670993283896,"origin_id":621613221,"user_origin_id":160447,"create_time":1588222794,"update_time":1588222794,"id":1723116972855,"updated_at":"2024-08-08T11:36:12.854000Z","created_at":"2024-08-08T11:36:12.854000Z"},{"_id":"66b4adac953b3046730133d4","body":"Hey hey! Long time no talk!\r\n\r\nSome updates:\r\n[xeus-robot](https:\/\/github.com\/jupyter-xeus\/xeus-robot) has been released, and supports the debug adapter protocol, and works with the jupyterlab debugger! I :heart: irobotframework and robotkernel, but seems we should probably consider a build that includes this new kernel (and robotkernel).\r\n\r\nJupyterLab 3 (in RC) has been (partially) internationalized, and most importantly to me, doesn't need end-user nodejs to add extensions. I'm currently trying to smooth things out with the weirdness that is codemirror's extend-by-import approach with Lab 3 by just shipping the simple mode addon, and hopefully it makes the cut. Once that's through, i think maybe we make a new `jupyterlab_robotmode` repo and start tinkering there (#47).\r\n\r\nThese sound like some _very_ interesting things coming together!","issue_id":1670993283896,"origin_id":704911995,"user_origin_id":45380,"create_time":1602074900,"update_time":1602074900,"id":1723116972859,"updated_at":"2024-08-08T11:36:12.858000Z","created_at":"2024-08-08T11:36:12.858000Z"},{"_id":"66b4adac953b3046730133d5","body":"So great to hear from you!\r\n\r\nAll these changes have proven that RobotLab as a stablish and out of the box working release was a great thing.\r\n\r\nSounds like a lot of work ahead. I hope to get more close to robot stuff again later this year. The next RoboCon will be online event in January, but probably still too early for me to fix everything. Another big change is that RobotFramework community has now a playwright based alternative (robotframework-browser) for Selenium for browser testing and I have not been able to look into that yet. Also Whit me has some replacement for Windows testing \/ automation so all my \u201cmagic\u201d needs rewelriting in the future \ud83d\ude48\r\n\r\nI\u2019ve also been following RoboCorp development. As I expected, they had to heavily fork the kernel to match their goals. But it also looks like their product is so tied to their platform that there remains room for RobotLab.","issue_id":1670993283896,"origin_id":705343840,"user_origin_id":160447,"create_time":1602135914,"update_time":1602135914,"id":1723116972862,"updated_at":"2024-08-08T11:36:12.861000Z","created_at":"2024-08-08T11:36:12.861000Z"},{"_id":"66b4adac953b3046730133d6","body":"> Sounds like a lot of work ahead. \r\n\r\nYeah, it never ends! Nearest term, are you good with me starting a third repo for the syntax stuff for lab 3, targeting a pypi release? This would also let me warm robotframework-jupyterlibrary back up before trying to do the whole enchilada on this repo.\r\n\r\nOver here, we've already done pretty well to start reducing the complexity of doing these releases by upstreaming things, and Lab 3 will bring that down even further, as we won't have to rebuild lab with the custom extensions. I've been experimenting with some different approaches (`doit`, `conda-lock`) to make some of these steps more reproducible... it still ain't `nix`, but what is? :rofl: \r\n\r\n> playwright based alternative\r\n\r\nha, and I keep trying to get nodejs _out_ of my projects!\r\n\r\n> so all my \u201cmagic\u201d needs rewelriting in the future \r\n\r\nthese are pretty much the coolest things ever, though. good luck trying to make it work with everything!\r\n\r\n> there remains room for RobotLab.\r\n\r\nabsolutely! even if we aren't putting out releases all the time, this work has been instrumental in demonstrating some key overall system concepts. It remains one of my favorite testing examples. ","issue_id":1670993283896,"origin_id":705549537,"user_origin_id":45380,"create_time":1602161851,"update_time":1602161851,"id":1723116972864,"updated_at":"2024-08-08T11:36:12.864000Z","created_at":"2024-08-08T11:36:12.864000Z"},{"_id":"66b4adac953b3046730133d7","body":"@bollwyvl Yes, it is completely ok to create a new repo for the syntax stuff. The current package inside robotkernel is already almost 1:1 copy of ipythonrobotframework's version.","issue_id":1670993283896,"origin_id":706048467,"user_origin_id":160447,"create_time":1602232337,"update_time":1602232337,"id":1723116972868,"updated_at":"2024-08-08T11:36:12.868000Z","created_at":"2024-08-08T11:36:12.868000Z"},{"_id":"66b4adac953b3046730133d8","body":"I am curious, how did JupyterLab solve the re-compilation after every extension issue? A link to somewhere is enough :-)","issue_id":1670993283896,"origin_id":706049205,"user_origin_id":160447,"create_time":1602232441,"update_time":1602232476,"id":1723116972870,"updated_at":"2024-08-08T11:36:12.870000Z","created_at":"2024-08-08T11:36:12.870000Z"},{"_id":"66b4adac953b3046730133d9","body":"It took a change to webpack core. Here's the magic sauce:\n\nhttps:\/\/webpack.js.org\/concepts\/module-federation\/\n\nAnd where the bulk of the work happened:\n\nhttps:\/\/github.com\/jupyterlab\/jupyterlab\/pull\/8385\n\nBasically, an extension needs a devDependency on @jupyterlab\/builder, the\ndev runs \"labextension build\" to generate an opaque remoteEntry.js file\npointing at all of the bundles it might need, and then makes sure those all\nthose files end up in data_files for a pip package.\n\nAt runtime, it grabs all of the remoteEntry files, served from a composite\nstatic_path like how nbextensions work, and as each dependency is loaded,\nit does a real semver solve... So it's still possible to get duplicates or\nunpredictable behavior... as we've seen, codemirror can still create some\nissues, as it relies on import side-effects. but for the most part will\nJust Work.\n","issue_id":1670993283896,"origin_id":706142394,"user_origin_id":45380,"create_time":1602245207,"update_time":1602245207,"id":1723116972875,"updated_at":"2024-08-08T11:36:12.874000Z","created_at":"2024-08-08T11:36:12.874000Z"},{"_id":"66b4adac953b3046730133da","body":":scream: I already forgot that we have this pull open.\r\n\r\nMaybe \"one more\" release with legacy robotkernel. Until we are confident with xeus-robot.\r\n\r\nRobotKernel binder is still working with JupyterLab 2 and RF 4: https:\/\/github.com\/robots-from-jupyter\/robotkernel\/blob\/master\/binder\/environment.yml Maybe upgrade that to JupyterLab 3 at first?\r\n\r\nI see no reason, why we couldn't use the latest versions of the previously bundled packages, unless their latest versions have conflicting dependencies.\r\n\r\nWith one exception: We could use robotmode from the marketplace. It saw no problems with it https:\/\/gitlab.com\/atsoukka\/robot-rpa-playground\/-\/blob\/master\/robotlab\/Dockerfile#L13\r\n\r\nI see that jupyterlab-starters is now JupyterLab 3.x compatible. Are there any backwards incompatibilities or should we expect everything to just work?\r\n\r\n(And no QWeb. RESTinstance was too much hurdle with its version pinnings, but those are probably no gone and it is more downstream friendly.)","issue_id":1670993283896,"origin_id":827605733,"user_origin_id":160447,"create_time":1619530023,"update_time":1619530137,"id":1723116972878,"updated_at":"2024-08-08T11:36:12.878000Z","created_at":"2024-08-08T11:36:12.878000Z"},{"_id":"66b4adac953b3046730133db","body":"> Maybe \"one more\" release with legacy robotkernel. Until we are confident with xeus-robot.\r\n\r\nI'd say we try shipping it... having the debugger is _almost_ worth the price of admission, as we have discussed elsewhere.\r\n\r\n> use the latest versions of the previously bundled packages\r\n\r\nyes. that's pretty much the idea, but at least we have some forensic info... and the old installers! Updated the matrix for key ones... like, I don't think we go to py 3.9 yet... unless we want to do an (untestable) MacOS M1 build (grumble grumble proprietary grumble grumble).\r\n\r\n> jupyterlab-starters is now JupyterLab 3.x compatible\r\n\r\nYep, i've even tested it against the one you built, and have pointed it out as a _superb_ open source example of using the state-machine-y side of things in a notebook. Heck, I should add it to the docs! And indeed, we can even fire off `jupyterlab-tours` _from_ starters, as it exposes a Lumino command.\r\n\r\n> RESTinstance\r\n\r\nYeah, restinstance is on conda-forge, too!","issue_id":1670993283896,"origin_id":827629197,"user_origin_id":45380,"create_time":1619531975,"update_time":1619531975,"id":1723116972880,"updated_at":"2024-08-08T11:36:12.880000Z","created_at":"2024-08-08T11:36:12.880000Z"},{"_id":"66b4adac953b3046730133dc","body":"@bollwyvl Would you think that both xeus-robot and robotkernel could be available or do they conflict with both reserving robot-mimetype?\r\n\r\nOr a release with robotkernel and THEN a \"beta\" release with xeus :)","issue_id":1670993283896,"origin_id":827631699,"user_origin_id":160447,"create_time":1619532172,"update_time":1619532172,"id":1723116972883,"updated_at":"2024-08-08T11:36:12.883000Z","created_at":"2024-08-08T11:36:12.883000Z"},{"_id":"66b4adac953b3046730133dd","body":"They both work fine, together, you just have to choose when you pick a kernel. I _believe_ robotkernel ends up winning in an undefined situation.","issue_id":1670993283896,"origin_id":827637033,"user_origin_id":45380,"create_time":1619532604,"update_time":1619532604,"id":1723116972888,"updated_at":"2024-08-08T11:36:12.887000Z","created_at":"2024-08-08T11:36:12.887000Z"},{"_id":"66b4adac953b3046730133de","body":"Would be blocked by `robotframework-lsp`, but might start this up this weekend...","issue_id":1670993283896,"origin_id":830418738,"user_origin_id":45380,"create_time":1619819242,"update_time":1619819242,"id":1723116972892,"updated_at":"2024-08-08T11:36:12.892000Z","created_at":"2024-08-08T11:36:12.892000Z"},{"_id":"66b4adac953b3046730133df","body":"I have still mixed feelings about having confusing two different robot kernels, but maybe that encourages me to contribute xeus-robot or migrate robotkernel on top of xeus-robot so that we can have all the nice things.\r\n\r\nAre jupyterlab-starters and -tour overlapping? Should I plan to migrate from starters to tour?\r\n\r\nRobocop is definitely something that should be better integrated at some point. I have no idea about all the feature in current JupyterLab, but I guess that it would be possible to have robocop warnings pinned on related rows.","issue_id":1670993283896,"origin_id":830646385,"user_origin_id":160447,"create_time":1619881356,"update_time":1619881356,"id":1723116972896,"updated_at":"2024-08-08T11:36:12.895000Z","created_at":"2024-08-08T11:36:12.895000Z"},{"_id":"66b4adac953b3046730133e0","body":"Well, we're all set up to do multiple variants... On COAR, the windows\nbuild has A+B+C while osx-CPU has A+B+D+E while Linux-gpu has A+B+E+F+G. So\nwe can ship \"all you need to do the starter,\" with as few buttons on the\nscreen as possible, as well as \"all the things\". Heck, maybe JupyterLab\nClassic is the default UI.\n\nStarters is still the way, in my experience, to package and ship versioned,\ntested, templated content. But since one can start a tour with a Lab\ncommand, we might be able to pull back some of the starter notebook\/schema\ncomplexity, and use tour to replace some narrative instructions\/screenshots\nwith THIS BUTTON IS GLOWING, YOU KNOW YOU WANT TO CLICK IT. luckily we know\nsome things about the Lab DOM \ud83d\ude02.\n","issue_id":1670993283896,"origin_id":830664203,"user_origin_id":45380,"create_time":1619889331,"update_time":1619889331,"id":1723116972898,"updated_at":"2024-08-08T11:36:12.898000Z","created_at":"2024-08-08T11:36:12.898000Z"},{"_id":"66b4adac953b3046730133e1","body":"Sorry, no progress this weekend, but I did ship my newest GTCOARLab (al 8gb of it across 4 distributions) late on friday, so feeling pretty good about the prospects... but now maybe next weekend. :blush: ","issue_id":1670993283896,"origin_id":831198925,"user_origin_id":45380,"create_time":1620041114,"update_time":1620041114,"id":1723116972902,"updated_at":"2024-08-08T11:36:12.901000Z","created_at":"2024-08-08T11:36:12.901000Z"},{"_id":"66b4adac953b3046730133e2","body":"robotframework-lsp 0.15 just shipped, so we're ready to go... when there's time!","issue_id":1670993283896,"origin_id":833093315,"user_origin_id":45380,"create_time":1620254104,"update_time":1620254104,"id":1723116972905,"updated_at":"2024-08-08T11:36:12.905000Z","created_at":"2024-08-08T11:36:12.905000Z"}] comment

Let's get the band back together! There have been so many nice things published recently that it's worth warming this back up. Some ideas (**please** feel free to add more):...

Help Wanted: RobotLab results to Jenkins

[{"_id":"66b4adb22b74ee433d0a3c2c","body":"When executing notebooks from JupyterLab user interface, logs are always only embedded in notebook.\r\n\r\nBut at command line there should be a command `nbrobot`, which wraps Robot Frameworks `robot` command with support for executing Robot Framework test suites from Jupyter notebook .ipynb-files.\r\n\r\nAlternatively, RobotLab comes with JupyText-extension for JupyterLab, which supports saving notebooks simultaneously also as .robot-files, which are supported by the usual `robot`-command. https:\/\/jupytext.readthedocs.io\/en\/latest\/paired-notebooks.html","issue_id":1670993283902,"origin_id":720973398,"user_origin_id":160447,"create_time":1604392015,"update_time":1604392015,"id":1723116978591,"updated_at":"2024-08-08T11:36:18.591000Z","created_at":"2024-08-08T11:36:18.591000Z"}] comment

Hi Is this doable? Does RobotLab produce same kind of result files as vanilla Robot Framework? Where can I find the test result logs? Thanks

Migrate to python 3.8?

[{"_id":"66b4adc92b74ee433d0a3c3f","body":"Of course, for a mere double the CI cost, we could ship 3.6 and 3.8.","issue_id":1670993283906,"origin_id":620323637,"user_origin_id":45380,"create_time":1588037469,"update_time":1588037469,"id":1723117001250,"updated_at":"2024-08-08T11:36:41.250000Z","created_at":"2024-08-08T11:36:41.250000Z"},{"_id":"66b4adc92b74ee433d0a3c40","body":"IMO, no reason to support two Python versions with RobotLab.","issue_id":1670993283906,"origin_id":620353050,"user_origin_id":160447,"create_time":1588043610,"update_time":1588043610,"id":1723117001253,"updated_at":"2024-08-08T11:36:41.252000Z","created_at":"2024-08-08T11:36:41.252000Z"},{"_id":"66b4adc92b74ee433d0a3c41","body":"I have python code written on 3.8 and all my modules are installed for my 3.8 python. Now, when I try to use RobotLab I have to modify my code and reinstall all modules for 3.6 - a significant downgrade.\r\nI don't see any reason to support an old version of Python - just upgrade to the latest. If it breaks something, let it break sooner rather than later (fail fast).","issue_id":1670993283906,"origin_id":666187460,"user_origin_id":13330784,"create_time":1596094060,"update_time":1596094060,"id":1723117001264,"updated_at":"2024-08-08T11:36:41.263000Z","created_at":"2024-08-08T11:36:41.263000Z"},{"_id":"66b4adc92b74ee433d0a3c42","body":"I assume the next release will be Python 3.8 whenever we have time to put it together. It\u2019s mainly about manually testing that all bundled add-on versions (and Firefox) work well together.\r\n\r\nThat said, all packages should work fine with Python 3.8, so it should be possible to manually install everything with Python 3.8 miniconda.","issue_id":1670993283906,"origin_id":666342925,"user_origin_id":160447,"create_time":1596113218,"update_time":1596113218,"id":1723117001269,"updated_at":"2024-08-08T11:36:41.268000Z","created_at":"2024-08-08T11:36:41.268000Z"},{"_id":"66b4adc92b74ee433d0a3c43","body":"Thanks for the feedback!\n\nYour use case might be more advanced than that we were\/are mostly trying to\ndo in this repo, which is support time-limited workshops. We don't have any\nworkshops planned right now, so we're not burning to get a new release out.\n\nWill take your concerns into account on the next build.\n","issue_id":1670993283906,"origin_id":666345252,"user_origin_id":45380,"create_time":1596113517,"update_time":1596113517,"id":1723117001271,"updated_at":"2024-08-08T11:36:41.271000Z","created_at":"2024-08-08T11:36:41.271000Z"}] comment

I have no particular driver for this change, as 3.6 doesn't EOL for a good long time now, but the performance improvements might be worth it.

Proxy settings

[{"_id":"66b4adaffb651ff1940bd331","body":"It's never been an issue, so I'm pretty sure we've never tested it. I have\ntested installing, starting it without any network at all, so I'm pretty\nconfident it doesn't _need_ the network to do anything (except calling out\nduring tests for demonstration to e.g. google.com)\n\nWhich parts of services the installer provides do you expect to be proxied\nbut aren't even if your system proxy is set?\n\n- conda\n- pypi\n- npm\n- Firefox\n- your system under test\n\n\nOn Tue, Apr 7, 2020, 00:02 Emmanuel Alap <[email protected]> wrote:\n\n> Is there an option to set proxy for systems behind a company firewall?\n>\n> \u2014\n> You are receiving this because you are subscribed to this thread.\n> Reply to this email directly, view it on GitHub\n> <https:\/\/github.com\/robots-from-jupyter\/robotlab\/issues\/67>, or\n> unsubscribe\n> <https:\/\/github.com\/notifications\/unsubscribe-auth\/AAALCREKX7M3H2L6QJOWHP3RLKQVRANCNFSM4MCZD7BA>\n> .\n>\n","issue_id":1670993283910,"origin_id":610380506,"user_origin_id":45380,"create_time":1586265416,"update_time":1586265416,"id":1723116975291,"updated_at":"2024-08-08T11:36:15.291000Z","created_at":"2024-08-08T11:36:15.291000Z"}] comment

Is there an option to set proxy for systems behind a company firewall?

Investigate image library

[{"_id":"66b4adaf2b74ee433d0a3c2b","body":"https:\/\/anaconda.org\/conda-forge\/tesseract\/files?version=4.1.1\r\n\r\nIt's another 0.3GB on linux\/osx, but who's counting?","issue_id":1670993283915,"origin_id":575122516,"user_origin_id":45380,"create_time":1579176380,"update_time":1579176380,"id":1723116975364,"updated_at":"2024-08-08T11:36:15.364000Z","created_at":"2024-08-08T11:36:15.364000Z"}] comment

https://pypi.org/project/robotframework-imagelibrary/ Requires OpenCV and Tesseract OCR both which may be hard to install elsewhere.

More thinking on logo

[{"_id":"66b4adccfb651ff1940bd343","body":"Maybe if we got permission to use Robot Framework logo instead of R in that bottle.\r\n\r\nJust \"R\" has more popular meaning in Jupyter context.","issue_id":1670993283919,"origin_id":454424762,"user_origin_id":160447,"create_time":1547564853,"update_time":1547564853,"id":1723117004141,"updated_at":"2024-08-08T11:36:44.141000Z","created_at":"2024-08-08T11:36:44.141000Z"},{"_id":"66b4adccfb651ff1940bd344","body":"Yeah, it's all very hairy trying to mix logos .. but didn't get anything\nelse if merit done while traveling!\n\nThe RF logo has some siding guidelines that might make it hard to combine\nwith anything anyway. Anyhow, like I said, not worth worrying about!\n\nOn Tue, Jan 15, 2019, 17:07 Asko Soukka <[email protected]> wrote:\n\n> Maybe if we got permission to use Robot Framework logo instead of R in\n> that bottle.\n>\n> Just \"R\" has more popular meaning in Jupyter context.\n>\n> \u2014\n> You are receiving this because you authored the thread.\n> Reply to this email directly, view it on GitHub\n> <https:\/\/github.com\/robots-from-jupyter\/robotlab\/issues\/23#issuecomment-454424762>,\n> or mute the thread\n> <https:\/\/github.com\/notifications\/unsubscribe-auth\/AACxRIXbNzakyzc8gzUkSrKcHx0MqoRfks5vDe62gaJpZM4aA3rY>\n> .\n>\n","issue_id":1670993283919,"origin_id":454456100,"user_origin_id":45380,"create_time":1547569705,"update_time":1547569705,"id":1723117004143,"updated_at":"2024-08-08T11:36:44.143000Z","created_at":"2024-08-08T11:36:44.143000Z"},{"_id":"66b4adccfb651ff1940bd345","body":"How about something like an item from periodic table? That could be pretty close with the current one.","issue_id":1670993283919,"origin_id":563927984,"user_origin_id":160447,"create_time":1575967377,"update_time":1575967377,"id":1723117004146,"updated_at":"2024-08-08T11:36:44.146000Z","created_at":"2024-08-08T11:36:44.146000Z"},{"_id":"66b4adccfb651ff1940bd346","body":"Good idea!\n\nRubinium, radon... But due to how whitespace works, just the \ud83e\udd16 face would\nbe good.\n\nOn Tue, Dec 10, 2019, 03:42 Asko Soukka <[email protected]> wrote:\n\n> How about something like an item from periodic table? That could be pretty\n> close with the current one.\n>\n> \u2014\n> You are receiving this because you authored the thread.\n> Reply to this email directly, view it on GitHub\n> <https:\/\/github.com\/robots-from-jupyter\/robotlab\/issues\/23?email_source=notifications&email_token=AAALCRGDFHOQ3JROL5ISTITQX5JBFA5CNFSM4GQDPLMKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGONXMA#issuecomment-563927984>,\n> or unsubscribe\n> <https:\/\/github.com\/notifications\/unsubscribe-auth\/AAALCRASAJIMF2EXON2NP2LQX5JBFANCNFSM4GQDPLMA>\n> .\n>\n","issue_id":1670993283919,"origin_id":563999829,"user_origin_id":45380,"create_time":1575978922,"update_time":1575978922,"id":1723117004149,"updated_at":"2024-08-08T11:36:44.148000Z","created_at":"2024-08-08T11:36:44.148000Z"}] comment

Not super high value for the workshop, but how does this hit you? ![lab_new svg](https://user-images.githubusercontent.com/45380/51180875-9fb3cd80-1897-11e9-9649-6aa0ae450ee5.png)

🧲 help wanted

Consider multiple size-based releases 🔬🔍🔭📡

[{"_id":"66b4adc5fb651ff1940bd333","body":"My workshop for the next robot conference was accepted, which confirms that I will be attending the sprints there. Apparently there is still no installer available for Robot Framework, so I've been thinking, if I should try to fork this project and try this \"multiple size-based releases\" for that. For plain robot it would make sense to have minimal version with just robot framework, but also a version for getting started with selenium testing (the real reason for the installer).","issue_id":1670993283923,"origin_id":536383125,"user_origin_id":160447,"create_time":1569812983,"update_time":1569812983,"id":1723116997801,"updated_at":"2024-08-08T11:36:37.800000Z","created_at":"2024-08-08T11:36:37.800000Z"},{"_id":"66b4adc5fb651ff1940bd334","body":"> workshop for the next robot conference was accepted\r\n\r\nHooray!\r\n\r\n> fork this project \r\n\r\nYou know I'm glad to help, and a fork is just more repos to watch: I don't see any reason why we wouldn't start it here, and why we wouldn't want synchronized, automated releases of the whole shooting match. If somebody wants to then fork _that_, at some point, that's great.\r\n\r\nWe can even stop doing the kinda gross templating, and just manage the yaml generation more simply in python directly, if we start feeling confident. The CI build would take longer, but i think there's value in managing a single pipeline for all the stuff together.\r\n\r\n> minimal version with just robot framework\r\n\r\nyup, as a CI thing, that would be great. `MiniRobotConda`. Even if it doesn't ship `conda` (which it probably should, if only for activation and administration chores) it can't get much smaller than about 70mb, but that's not so bad!\r\n\r\n> version for getting started with selenium testing \r\n\r\nso even there i would imagine two flavors: \r\n- `WebRobotConda` (just rf, rfsl, sl and maybe rfstl, if that plays out, and geckodriver)\r\n- `FireWebRobotConda` (as above, but also firefox)\r\n\r\ni'm _really_ liking having firefox in our installer, and if we can do our little part to help more people test on firefox, i'm all for it. The only gotcha is on Linux, you do _still_ have to have `gtk3` installed, even when running `--headless`, but i'll still take it.\r\n\r\nUnless we ship _all_ the chromedrivers, we can't really ship _any_ chromedrivers, but we could ship webdrivermanager, and indeed ship all of them pre-cached.","issue_id":1670993283923,"origin_id":536388273,"user_origin_id":45380,"create_time":1569814877,"update_time":1569814877,"id":1723116997803,"updated_at":"2024-08-08T11:36:37.803000Z","created_at":"2024-08-08T11:36:37.803000Z"},{"_id":"66b4adc5fb651ff1940bd335","body":"Thanks. I can agree with your reasoning. I also prefer Firefox being bundled because now things just work. It also makes sense that whatever version or browser you use for surfing in the web should not interfere with learning Selenium testing. Finally, promoting Firefox would not hurt the diversity in browser ecosystem...\r\n\r\nThat said I cannot really focus on this before November, but will then.\r\n\r\n","issue_id":1670993283923,"origin_id":536390805,"user_origin_id":160447,"create_time":1569815855,"update_time":1569815855,"id":1723116997813,"updated_at":"2024-08-08T11:36:37.812000Z","created_at":"2024-08-08T11:36:37.812000Z"},{"_id":"66b4adc5fb651ff1940bd336","body":"> That said I cannot really focus on this before November, but will then.\r\n\r\nI hear you, my friend. Who knows, maybe i'll be able to throw some stuff at it. What is your priority for getting something out? Maybe hack on the summary of this issue to make it clear. I guess I would lean towards the smallest functioning robot environment, just so we have a size\/complexity baseline, but if the web one is more _useful_ we could start there.","issue_id":1670993283923,"origin_id":536392311,"user_origin_id":45380,"create_time":1569816428,"update_time":1569816428,"id":1723116997816,"updated_at":"2024-08-08T11:36:37.815000Z","created_at":"2024-08-08T11:36:37.815000Z"},{"_id":"66b4adc5fb651ff1940bd337","body":"I\u2019d vote for the baseline. We already know that we can make a GB sized installer with everything :)\r\n\r\nAfter the baseline, another baseline with SL, gecko and Firefox, and then documented approach to fork and extend those baselines.\r\n\r\nFinally, at the conf it makes sense to discuss what libraries should be bundled with the default starter (for learning and getting started purposes):","issue_id":1670993283923,"origin_id":536396063,"user_origin_id":160447,"create_time":1569817738,"update_time":1569817738,"id":1723116997819,"updated_at":"2024-08-08T11:36:37.818000Z","created_at":"2024-08-08T11:36:37.818000Z"},{"_id":"66b4adc5fb651ff1940bd338","body":"i did a little playing with this last night:\r\n\r\n```\r\n609M Sep 30 23:58 RobotLab-2019.9.1-Linux-x86_64.sh\r\n 84M Oct 1 00:05 MiniRobot-2019.9.1-Linux-x86_64.sh\r\n161M Oct 1 00:35 ExoRobot-2019.9.1-Linux-x86_64.sh\r\n\r\n```\r\n`Mini` is rf + conda. not shipping conda only saves about 2mb.\r\n`Exo` is `Mini`, plus every optional dependency i could find in the rf codebase. The heavy hitter is definitely `wx`, which screenshots uses. Might as well throw in RIDE at that point...","issue_id":1670993283923,"origin_id":537267289,"user_origin_id":45380,"create_time":1569971018,"update_time":1569971018,"id":1723116997829,"updated_at":"2024-08-08T11:36:37.828000Z","created_at":"2024-08-08T11:36:37.828000Z"},{"_id":"66b4adc5fb651ff1940bd339","body":"Very cool! Which screenshots feature relies on wx? Does dialogs library work? The point for a installer is to give environment that just works, so from that point of view 200M is not much nowadays.\r\n\r\nAnd now that you mentioned RIDE... does it already support Python 3? Sure many would like it to be included and it\u2019s been hard to install on many systems because of wx. (Although that probably was because for long it required very old version of that.)","issue_id":1670993283923,"origin_id":537320728,"user_origin_id":160447,"create_time":1569987271,"update_time":1569987271,"id":1723116997833,"updated_at":"2024-08-08T11:36:37.833000Z","created_at":"2024-08-08T11:36:37.833000Z"},{"_id":"66b4adc5fb651ff1940bd33a","body":"<details>\r\n<summary>here's the full package list of `Exo` (on linux)<\/summary>\r\n<pre>\r\n\r\n asn1crypto-0.24.0-py36_1003.tar.bz2\r\n atk-2.32.0-haf93ef1_0.tar.bz2\r\n ca-certificates-2019.9.11-hecc5488_0.tar.bz2\r\n cairo-1.16.0-hfb77d84_1002.tar.bz2\r\n certifi-2019.9.11-py36_0.tar.bz2\r\n cffi-1.12.3-py36h8022711_0.tar.bz2\r\n chardet-3.0.4-py36_1003.tar.bz2\r\n conda-4.7.12-py36_0.tar.bz2\r\n conda-package-handling-1.6.0-py36h516909a_0.tar.bz2\r\n cryptography-2.7-py36h72c5cf5_0.tar.bz2\r\n docutils-0.15.2-py36_0.tar.bz2\r\n expat-2.2.5-he1b5a44_1003.tar.bz2\r\n fontconfig-2.13.1-h86ecdb6_1001.tar.bz2\r\n freetype-2.10.0-he983fc9_1.tar.bz2\r\n fribidi-1.0.5-h516909a_1002.tar.bz2\r\n gdk-pixbuf-2.36.12-h7a26e22_1003.tar.bz2\r\n gettext-0.19.8.1-hc5be6a0_1002.tar.bz2\r\n glib-2.58.3-h6f030ca_1002.tar.bz2\r\n gobject-introspection-1.58.2-py36h5503ade_1002.tar.bz2\r\n graphite2-1.3.13-hf484d3e_1000.tar.bz2\r\n gst-plugins-base-1.14.5-h0935bb2_0.tar.bz2\r\n gstreamer-1.14.5-h36ae1b5_0.tar.bz2\r\n gtk2-2.24.32-h586f36d_1.tar.bz2\r\n harfbuzz-2.4.0-h9f30f68_3.tar.bz2\r\n icu-64.2-he1b5a44_1.tar.bz2\r\n idna-2.8-py36_1000.tar.bz2\r\n jpeg-9c-h14c3975_1001.tar.bz2\r\n libffi-3.2.1-he1b5a44_1006.tar.bz2\r\n libgcc-ng-9.1.0-hdf63c60_0.tar.bz2\r\n libglu-9.0.0-hf484d3e_1000.tar.bz2\r\n libiconv-1.15-h516909a_1005.tar.bz2\r\n libpng-1.6.37-hed695b0_0.tar.bz2\r\n libstdcxx-ng-9.1.0-hdf63c60_0.tar.bz2\r\n libtiff-4.0.10-h57b8799_1003.tar.bz2\r\n libuuid-2.32.1-h14c3975_1000.tar.bz2\r\n libxcb-1.13-h14c3975_1002.tar.bz2\r\n libxml2-2.9.9-hee79883_5.tar.bz2\r\n libxslt-1.1.33-h31b3aaa_0.tar.bz2\r\n lxml-4.4.1-py36h7ec2d77_0.tar.bz2\r\n lz4-c-1.8.3-he1b5a44_1001.tar.bz2\r\n ncurses-6.1-hf484d3e_1002.tar.bz2\r\n openssl-1.1.1c-h516909a_0.tar.bz2\r\n pango-1.42.4-ha030887_1.tar.bz2\r\n pathlib2-2.3.5-py36_0.tar.bz2\r\n pcre-8.41-hf484d3e_1003.tar.bz2\r\n pip-19.2.3-py36_0.tar.bz2\r\n pixman-0.38.0-h516909a_1003.tar.bz2\r\n pthread-stubs-0.4-h14c3975_1001.tar.bz2\r\n pycosat-0.6.3-py36h14c3975_1001.tar.bz2\r\n pycparser-2.19-py36_1.tar.bz2\r\n pyopenssl-19.0.0-py36_0.tar.bz2\r\n pypubsub-4.0.3-py_0.tar.bz2\r\n pysocks-1.7.1-py36_0.tar.bz2\r\n pyte-0.8.0-py_0.tar.bz2\r\n python-3.6.7-h357f687_1005.tar.bz2\r\n pyyaml-5.1.2-py36h516909a_0.tar.bz2\r\n readline-8.0-hf8c457e_0.tar.bz2\r\n requests-2.22.0-py36_1.tar.bz2\r\n robotframework-3.1.2-py_0.tar.bz2\r\n ruamel_yaml-0.15.71-py36h14c3975_1000.tar.bz2\r\n setuptools-41.2.0-py36_0.tar.bz2\r\n six-1.12.0-py36_1000.tar.bz2\r\n sqlite-3.29.0-hcee41ef_1.tar.bz2\r\n tk-8.6.9-hed695b0_1003.tar.bz2\r\n tqdm-4.36.1-py_0.tar.bz2\r\n urllib3-1.25.6-py36_0.tar.bz2\r\n wcwidth-0.1.7-py_1.tar.bz2\r\n wheel-0.33.6-py36_0.tar.bz2\r\n wxpython-4.0.6-py36h8f66242_1.tar.bz2\r\n xorg-kbproto-1.0.7-h14c3975_1002.tar.bz2\r\n xorg-libice-1.0.10-h516909a_0.tar.bz2\r\n xorg-libsm-1.2.3-h84519dc_1000.tar.bz2\r\n xorg-libx11-1.6.8-h516909a_0.tar.bz2\r\n xorg-libxau-1.0.9-h14c3975_0.tar.bz2\r\n xorg-libxdmcp-1.1.3-h516909a_0.tar.bz2\r\n xorg-libxext-1.3.4-h516909a_0.tar.bz2\r\n xorg-libxrender-0.9.10-h516909a_1002.tar.bz2\r\n xorg-renderproto-0.11.1-h14c3975_1002.tar.bz2\r\n xorg-xextproto-7.3.0-h14c3975_1002.tar.bz2\r\n xorg-xproto-7.0.31-h14c3975_1007.tar.bz2\r\n xz-5.2.4-h14c3975_1001.tar.bz2\r\n yaml-0.1.7-h14c3975_1001.tar.bz2\r\n zlib-1.2.11-h516909a_1006.tar.bz2\r\n zstd-1.4.0-h3b9ef0a_0.tar.bz2\r\n<\/pre>\r\n<\/details>\r\n\r\n> Which screenshots feature relies on wx?\r\n\r\nLooks like [`wx`, `gtk` or `pillow`](https:\/\/github.com\/robotframework\/robotframework\/blob\/4d2f893075b6fbb85e6345207c50126ecc9b647d\/src\/robot\/libraries\/Screenshot.py#L31) would work. I don't think `gtk` is supported on windows, but `pillow` is handy, anyhow... \r\n\r\n> Does dialogs library work? \r\n\r\nif all it takes is [`tk`](https:\/\/github.com\/robotframework\/robotframework\/blob\/4d2f893075b6fbb85e6345207c50126ecc9b647d\/src\/robot\/libraries\/dialogs_py.py#L20)! haven't tested.\r\n\r\n> RIDE... does it already support Python 3?\r\n\r\nlooks like they [test with 3.6](https:\/\/github.com\/robotframework\/RIDE\/blob\/master\/.travis.yml#L22). and don't pin `wx`. I haven't tried packaging it in a while... couldn't get hidpi to work correctly..","issue_id":1670993283923,"origin_id":537327464,"user_origin_id":45380,"create_time":1569989768,"update_time":1569989768,"id":1723116997836,"updated_at":"2024-08-08T11:36:37.836000Z","created_at":"2024-08-08T11:36:37.836000Z"},{"_id":"66b4adc5fb651ff1940bd33b","body":"No I didn't put selenium in one of the new ones, but I do think shipping\nFirefox\/geckodriver with it is probably the right thing to do, if it should\nJust Work after downloading (e.g in CI). Do you think wx\/ride are worth the\nsize hit for the web excursion? Or just also add it to Exo? You _wouldn't_\nactually use wx in CI.\n\nAlso what about SSHLibrary? It's first party, solid as hell, relatively\nlight, super useful, and makes it easy to test iot stuff, as well as vms d\ncloud stuff... But you kinda have to know what you're doing because\npasswords. Put in Exo?\n\nWhiteRobot? I've still not made it work on win10, and don't like how it's\npackages. But sounds so good!\n\nSikuliRobot: I always consider it the Last Argument of Kings of test\nexecution. Hard to maintain, but can probably do the thing. Packaging Java\nstuff is no problem, though jython probably is or will be soon, if you\nexpect to be able to run anything else after 89 days!\n\nThe whole *Robot branding thing is a bit silly, of course, and wouldn't\nhelp people. If we were doing this for real, we'd probably need a\nchoose-your-own-adventure page \"what are you testing?\" \"What operating\nsystem are you testing on?\" That kind of thing. Have a \"just show me the\nrobots\" escape hatch, and let people pick the one they want from a table of\nkey packages. Do the classic up-sell and point them towards RobotLab\nbecause it has more check marks :)\n\nI definitely want to belay the Hub one, for now. I've made a totally\nself-contained jupyterhub work with ansible\/systems spawner (haven't tried\na k8s version yet). in certain kinds of training (schools), the\nparticipants may only have an older Chromebook, and wouldn't be able to\ninstall random software. Also building for ARM is still a touch outside of\nour capabilities. Anyhow: set up a NUC, run the installer, throw in your\ncourse content, turn on WiFi, and you're good to go in seconds per\nparticipant rather than tens-of-minutes.\n\nOn Thu, Oct 3, 2019, 00:22 Asko Soukka <[email protected]> wrote:\n\n> Am I correct that ExoRobot does not yet include Selenium testing\n> dependencies? I recall robot users have a long hoped for an installer with\n> Selenium dependencies. But adding Firefox with geckodriver into mix would\n> probably make ExoRobot fat? So, should there be \"SeleniumRobot\"?\n>\n> \u2014\n> You are receiving this because you authored the thread.\n> Reply to this email directly, view it on GitHub\n> <https:\/\/github.com\/robots-from-jupyter\/robotlab\/issues\/42?email_source=notifications&email_token=AAALCRCIQ3CBAGLUSQZUKOTQMVXQZA5CNFSM4IYDQJ6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAG5ZWI#issuecomment-537779417>,\n> or mute the thread\n> <https:\/\/github.com\/notifications\/unsubscribe-auth\/AAALCRC53EF77KHDIGYLF4TQMVXQZANCNFSM4IYDQJ6A>\n> .\n>\n","issue_id":1670993283923,"origin_id":537947033,"user_origin_id":45380,"create_time":1570109501,"update_time":1570109501,"id":1723116997840,"updated_at":"2024-08-08T11:36:37.839000Z","created_at":"2024-08-08T11:36:37.839000Z"},{"_id":"66b4adc5fb651ff1940bd33c","body":"Ok Let's not guess too far ahead :) I could see two separate installer\ntracks: one for RobotLab and the other one for more conservative Robot\nFramework users.\n\nQuoting Nicholas Bollweg (2019-09-18 23:42:00)\n> MicrobotLab \u00f0\u00ac\n> * for CI environments\n\nBut \"how micro\" this could be, because \"Lab\"-branding would probably make\nthis need nbconvert and nbrobot (the latter from robotkernel) to be able\nto execute notebooks. (I do actually use nbrobot in production RPA\nalready.) No wx required here.\n\n> RobotLabLite \u00f0\n\nI'm not quite convinced that this is really needed. This could be used\nas a base to build custom environment, but why not just install\nminiconda then?\n\n> RobotLab \u00f0\n> * as it is now!\n> + even shipping Firefox is great!\n\nI agree everything on this. Big is good here. It's so good that the\ndownload is worth waiting for.\n\n> RobotHub \u00f0\u00a1\n> * ship a whole [3]littlest jupyter hub\n\nThis is interesting. I have never set up JupyterHub myself yet, but this\nwould have very interesting educational and enterprise use cases :)\n\nThen the more conservative Robot Framework track. Robot Framework is\ncompletely missing standalone installers and your work seems to be the\nbest there is so far. It feels a bit weird to design and build it here,\nbut I understood that it would be better than forking this into another\nrepository to follow.\n\nMiniRobot as it is. It's good to have something minimal with at least\npip to install some libraries when you know what to do.\n\nExoRobot was interesting. Like \"MiniRobot\" was just a proof-of-concept\nand \"ExoRobot\" was the actually practical base to build an environment.\nI feel this makes more sense thatn \"RobotLabLite\", but I'm not sure if\nride really belongs to here (even when it comes with wx).\n\nWebRobot (terrible name). Comparable to RobotLab. Should come at least\nwith Ride, SeleniumLibrary, geckodriver and Firefox. But maybe also with\nSSHLibrary, RESTinstance and SeleniumTestability. Really hard to draw\nline where to end here...\n\nShould I ask the other workshops at the next Robocon if they would like\nto have your installer experience?\n","issue_id":1670993283923,"origin_id":538048041,"user_origin_id":160447,"create_time":1570124199,"update_time":1570124199,"id":1723116997850,"updated_at":"2024-08-08T11:36:37.849000Z","created_at":"2024-08-08T11:36:37.849000Z"},{"_id":"66b4adc5fb651ff1940bd33d","body":"A lot to chew on there!\n\nI can rework some of the existing ones with your guidance above.... Adding\nthe web one is a no-brainer, we already have everything.\n\nMaybe we need a further piece of the name on the non-lab ones, e.g\nWebRobotBox or something, as \"*robot\" is super overloaded, and we don't\nneed to get into any trouble.\n\nThe only bounding condition on us _shipping_ more installers is\n_supporting_ them, to my mind. What we would not want is upstreams getting\ncomplaints from users when things don't work, if the installers are not a\nsuggested install mechanism.\n\nThe workshop case is _ideal_, though, as the instructor is on the hook to\nprovide support, and can't disappear. You should certainly offer it.\n\nOn Thu, Oct 3, 2019, 13:36 Asko Soukka <[email protected]> wrote:\n\n> Ok Let's not guess too far ahead :) I could see two separate installer\n> tracks: one for RobotLab and the other one for more conservative Robot\n> Framework users.\n>\n> Quoting Nicholas Bollweg (2019-09-18 23:42:00)\n> > MicrobotLab \u00f0\u00ac\n> > * for CI environments\n>\n> But \"how micro\" this could be, because \"Lab\"-branding would probably make\n> this need nbconvert and nbrobot (the latter from robotkernel) to be able\n> to execute notebooks. (I do actually use nbrobot in production RPA\n> already.) No wx required here.\n>\n> > RobotLabLite \u00f0\n>\n> I'm not quite convinced that this is really needed. This could be used\n> as a base to build custom environment, but why not just install\n> miniconda then?\n>\n> > RobotLab \u00f0\n> > * as it is now!\n> > + even shipping Firefox is great!\n>\n> I agree everything on this. Big is good here. It's so good that the\n> download is worth waiting for.\n>\n> > RobotHub \u00f0\u00a1\n> > * ship a whole [3]littlest jupyter hub\n>\n> This is interesting. I have never set up JupyterHub myself yet, but this\n> would have very interesting educational and enterprise use cases :)\n>\n> Then the more conservative Robot Framework track. Robot Framework is\n> completely missing standalone installers and your work seems to be the\n> best there is so far. It feels a bit weird to design and build it here,\n> but I understood that it would be better than forking this into another\n> repository to follow.\n>\n> MiniRobot as it is. It's good to have something minimal with at least\n> pip to install some libraries when you know what to do.\n>\n> ExoRobot was interesting. Like \"MiniRobot\" was just a proof-of-concept\n> and \"ExoRobot\" was the actually practical base to build an environment.\n> I feel this makes more sense thatn \"RobotLabLite\", but I'm not sure if\n> ride really belongs to here (even when it comes with wx).\n>\n> WebRobot (terrible name). Comparable to RobotLab. Should come at least\n> with Ride, SeleniumLibrary, geckodriver and Firefox. But maybe also with\n> SSHLibrary, RESTinstance and SeleniumTestability. Really hard to draw\n> line where to end here...\n>\n> Should I ask the other workshops at the next Robocon if they would like\n> to have your installer experience?\n>\n> \u2014\n> You are receiving this because you authored the thread.\n> Reply to this email directly, view it on GitHub\n> <https:\/\/github.com\/robots-from-jupyter\/robotlab\/issues\/42?email_source=notifications&email_token=AAALCRDICGDT7ZE7NF53HK3QMYUSRA5CNFSM4IYDQJ6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAI7MKI#issuecomment-538048041>,\n> or mute the thread\n> <https:\/\/github.com\/notifications\/unsubscribe-auth\/AAALCRDJHTFILBLS42GYN33QMYUSRANCNFSM4IYDQJ6A>\n> .\n>\n","issue_id":1670993283923,"origin_id":538099360,"user_origin_id":45380,"create_time":1570132010,"update_time":1570132010,"id":1723116997852,"updated_at":"2024-08-08T11:36:37.852000Z","created_at":"2024-08-08T11:36:37.852000Z"},{"_id":"66b4adc5fb651ff1940bd33e","body":"@bollwyvl To avoid misunderstandings, don\u2019t waste your time to rework anything yet. As you said, all the pieces are already there and probably even I could put them together if I really need to. Let\u2019s continue to focus on what this should mean for the \u201cLab\u201d and only return to the generic installers when there is real need (and a possibly a maintainer).\r\n\r\nDisclaimer about the CI-version: I don\u2019t have personal use for it, because we have Nix on our CI machines :\/","issue_id":1670993283923,"origin_id":538105155,"user_origin_id":160447,"create_time":1570132913,"update_time":1570132913,"id":1723116997855,"updated_at":"2024-08-08T11:36:37.854000Z","created_at":"2024-08-08T11:36:37.854000Z"},{"_id":"66b4adc5fb651ff1940bd33f","body":"Great, focus on lab good. I like the nbrobot-forward idea. Re: nix: indeed,\nonce nix supports one click installers on windows, I'll happily use it to\ntrain people on things other than nix. :P\n\nBack on topic: I guess to the marketing-as-design point, if we sketch up\nwhat we'd like a blog post\/landing page to contain, that would help resolve\nsome of the ambiguity... Will take a crack at it. Documentation need still\nremains the same, but maybe there's a story in there... The (somewhat\nneglected) irobotframework docs built with nbsphinx might be a good\nprototype.\n","issue_id":1670993283923,"origin_id":538538645,"user_origin_id":45380,"create_time":1570218859,"update_time":1570218859,"id":1723116997863,"updated_at":"2024-08-08T11:36:37.863000Z","created_at":"2024-08-08T11:36:37.863000Z"},{"_id":"66b4adc5fb651ff1940bd340","body":"Sry, have been deep in the language server stuff. I'll try to get back to this after a bit of a holiday this weekend: basically, I intend to keep everything in #52, but not actually _build_ any of the general purpose stuff, land that, and then have a look at some of the other concepts we're developing here. Maybe do some design sketches on the road :)\r\n\r\nBack on the LSP stuff: it's taken some really nasty stuff down in python\/r\/node land, and am only now getting to where I can help out with the browser testing. Been stealing a lot from this repo :P The end game there is to get all of that into JupyterLab itself, but there are a lot of nuts and bolts to figure out before then. \r\n\r\nWhen that's good to go (on pip and npm) some time next month, I think we'll want the UI things it already offers (jump to definition, highlight references, etc) for `.robot`, `.robot.ipynb`, `output.xml` and more possible stuff down the pipe (outline view, tidy). Shipping the existing robot language server implementation in node is no problem for robotlab, but there are things it can't do that kernels can, e.g. you have to libdoc your 3rd party stuff ahead of time. We can at least check it out! It should just be: \r\n- install the node thing (conda package it, i suppose... the vscode ecosystem has its own challenges)\r\n- add a small `entry_point` wrapper in python (or do some `jupyter_notebook_config.d` stuff)\r\n- profit\r\n\r\nI can also imagine a future where kernels become implicit language servers and clients: with what we ended up with, it's a many-to-many relationship between documents and language servers, everything goes through the notebook server, what's a few more? Heck, there are even nix language servers (though can't tell which of the rust, go, or haskell implementations will win). Additionally, to that end, here's a cool thread about a guix kernel: https:\/\/groups.google.com\/forum\/#!topic\/jupyter\/jUfLBPSlbXY","issue_id":1670993283923,"origin_id":540890392,"user_origin_id":45380,"create_time":1570766014,"update_time":1570766014,"id":1723116997871,"updated_at":"2024-08-08T11:36:37.870000Z","created_at":"2024-08-08T11:36:37.870000Z"},{"_id":"66b4adc5fb651ff1940bd341","body":"And 'cuz I know you love looking at [robot reports](https:\/\/artprodcus3.artifacts.visualstudio.com\/Acd6bb588-d080-4f5b-849b-8aa18425ad25\/6365f9fc-9658-46c2-a9ee-31aab74bb5bb\/_apis\/artifact\/cGlwZWxpbmVhcnRpZmFjdDovL25pY2tib2xsd2VnL3Byb2plY3RJZC82MzY1ZjlmYy05NjU4LTQ2YzItYTllZS0zMWFhYjc0YmI1YmIvYnVpbGRJZC8zOTQvYXJ0aWZhY3ROYW1lL0FsbCtSb2JvdCtPdXRwdXQrMzk00\/content?format=zip)...\r\n","issue_id":1670993283923,"origin_id":541067634,"user_origin_id":45380,"create_time":1570800999,"update_time":1570800999,"id":1723116997876,"updated_at":"2024-08-08T11:36:37.875000Z","created_at":"2024-08-08T11:36:37.875000Z"},{"_id":"66b4adc5fb651ff1940bd342","body":"> Whoops, meant to post this here, not [there](https:\/\/github.com\/robots-from-jupyter\/robotlab\/pull\/52#issuecomment-542962732):\r\n\r\nI did do some drawing: nothing super solid to show for it. There's not much you can do with a feature table, and there's certainly bounded complexity to how much you can stuff in there. There are a few hierarchies that came to mind, but i think one of the more logical ones was...\r\n\r\n - get: download buttons labelled with file size (maybe make it sticky as you scroll)\r\n - setup: estimate of install time (it's pretty real on windows) and space on disk\r\n - learn: what docs you'll get to help you (`man`\/libdoc\/inspector\/lsp\/...)\r\n - system-under-test: what you can test (py\/cli\/web\/wx\/white\/vms)\r\n - use: what UIs you can use to build stuff (tty\/ipython\/lab\/ride)\r\n - automate: how you can use it in a pipeline (azure ain't easy, travis is dying... maybe actions once out of beta?)\r\n - analyze: how to use many test reports for trends (html\/xml\/pandas\/tcms)\r\n - upgrade: how you will be able to get new stuff (pip\/jlpm\/conda)\r\n - remove: `rm -rf` vs `click-and-uninstall`\r\n\r\nA funny thing that came to mind, sort of related to the Hub concept, is a \"Pro\" spin (think a second, full day workshop), which includes the things you would need to extract, build, test, and package new robot libraries (or extensions to kernel) as part\/in support of a team. On the backend, you'd have your tooling like `git`, while on the front-end, I'd stuff in [jupyterlab-git](https:\/\/github.com\/jupyterlab\/jupyterlab-git). Ship `pytest`, `robotframework-statuschecker`, `robotframework-lint`, `black`, etc. Ship `conda-build`, and maybe even `constructor` (since we can't ship nix :stuck_out_tongue_winking_eye: ). Anyhow :pizza: for thought. \r\n","issue_id":1670993283923,"origin_id":542981417,"user_origin_id":45380,"create_time":1571282657,"update_time":1571282657,"id":1723116997886,"updated_at":"2024-08-08T11:36:37.886000Z","created_at":"2024-08-08T11:36:37.886000Z"}] comment

RobotLab is [big](https://github.com/robots-from-jupyter/robotlab/pull/41#issuecomment-532849980) and likely to get bigger as more cool features need more (exotic) dependencies. We could just as easily spin a couple different intstallers a la Miniconda/Anaconda in...

🚧 build

try turning off ignore_duplicate_files

[{"_id":"66b4add92b74ee433d0a3c48","body":"@datakurre been trying to help get `jupyterlab-lsp` tightened up: i haven't added https:\/\/github.com\/tomi\/vscode-rf-language-server to the PR but I think it will be worth investigating once released. \r\n\r\n_If_ the server bits were published on npm, we'd probably just have to add something like:\r\n```py\r\nclass RobotFrameworkLanguageServer(NodeModuleSpec):\r\n node_module = key = \"rf-intellisense\r\n script = [\"lib\", \"server.js\"]\r\n languages = [\"robot\", \"resource\"]\r\n```\r\nand an `entry_point`, though it will be interesting to see what develops on https:\/\/github.com\/rasjani\/robotframework-rflsp (you know i :heart: python)","issue_id":1670993283926,"origin_id":536384301,"user_origin_id":45380,"create_time":1569813328,"update_time":1569813328,"id":1723117017015,"updated_at":"2024-08-08T11:36:57.015000Z","created_at":"2024-08-08T11:36:57.015000Z"},{"_id":"66b4add92b74ee433d0a3c49","body":"`Error: File 'Library\/bin\/api-ms-win-core-file-l1-2-0.dll' found in multiple packages: vs2015_runtime-15.5.2-3.tar.bz2, firefox-68.0.2-0.tar.bz2`\r\n\r\nIs vs2015_runtime there for WhiteLibrary?","issue_id":1670993283926,"origin_id":536386650,"user_origin_id":160447,"create_time":1569814190,"update_time":1569814237,"id":1723117017017,"updated_at":"2024-08-08T11:36:57.017000Z","created_at":"2024-08-08T11:36:57.017000Z"},{"_id":"66b4add92b74ee433d0a3c4a","body":"Yeah, the upstream PR only resulted in a patch upgrade (from `0` to `<hash>_1`). Because it's `anaconda`-primary, it's pulling that, and the new version has a runtime dependency on the `conda-forge` `vs2015_runtime`.\r\n\r\nBut, because channel priority, we're still pulling `vs2015_runtime` from anaconda, which cascades down the tree. I'm trying the `conda-forge`-first build locally, and just pushed. :crossed_fingers:\r\n\r\nIf it doesn't work, we might be able to do some more exact surgery on the `construct.yaml.in` to force it.","issue_id":1670993283926,"origin_id":536388990,"user_origin_id":45380,"create_time":1569815153,"update_time":1569815153,"id":1723117017020,"updated_at":"2024-08-08T11:36:57.019000Z","created_at":"2024-08-08T11:36:57.019000Z"},{"_id":"66b4add92b74ee433d0a3c4b","body":"Ha, looks like it hasn't shown up on the `repodata.json` yet. That happens. Will do some more looking tomorrow.","issue_id":1670993283926,"origin_id":536394037,"user_origin_id":45380,"create_time":1569817039,"update_time":1569817039,"id":1723117017022,"updated_at":"2024-08-08T11:36:57.021000Z","created_at":"2024-08-08T11:36:57.021000Z"},{"_id":"66b4add92b74ee433d0a3c4c","body":"> Is vs2015_runtime there for WhiteLibrary?\r\n\r\n`vs2015_runtime` is for _everything_ that is compiled with the microsoft compiler: for example, `python`, `nodejs`, etc. It's in basically every windows conda environment, so it's bad business if it gets clobbered. For our installer, it _works_ because we test it, but if someone tried to `conda install some-new-package-uilt-with-a-new-vs`, it would create many problems. Once https:\/\/conda-forge.org\/status is no longer showing `degraded`, we'll be right as rain, I'm hoping.","issue_id":1670993283926,"origin_id":536629568,"user_origin_id":45380,"create_time":1569859137,"update_time":1569859137,"id":1723117017024,"updated_at":"2024-08-08T11:36:57.023000Z","created_at":"2024-08-08T11:36:57.023000Z"},{"_id":"66b4add92b74ee433d0a3c4d","body":"from gitter:\r\n> CDN is back up. Packages should become available in the next 10-20 min. Haven't found the root cause of the issue yet, investigating","issue_id":1670993283926,"origin_id":536662678,"user_origin_id":45380,"create_time":1569864161,"update_time":1569864161,"id":1723117017026,"updated_at":"2024-08-08T11:36:57.025000Z","created_at":"2024-08-08T11:36:57.025000Z"},{"_id":"66b4add92b74ee433d0a3c4e","body":"looks legit: going to try rekicking...\r\n\r\n```\r\n$> CONDA_SUBDIR=win-64 conda create -n foo --dry-run -c conda-forge \"firefox=68.0.2\" python\r\nCollecting package metadata (current_repodata.json): done\r\nSolving environment: done\r\n\r\n## Package Plan ##\r\n\r\n environment location: \/home\/weg\/miniconda3\/envs\/foo\r\n\r\n added \/ updated specs:\r\n - firefox=68.0.2\r\n - python\r\n\r\n\r\nThe following packages will be downloaded:\r\n\r\n package | build\r\n ---------------------------|-----------------\r\n ca-certificates-2019.9.11 | hecc5488_0 181 KB conda-forge\r\n certifi-2019.9.11 | py37_0 155 KB\r\n firefox-68.0.2 | h6538335_1 60.4 MB conda-forge\r\n openssl-1.1.1c | hfa6e2cd_0 4.7 MB conda-forge\r\n pip-19.2.3 | py37_0 1.9 MB conda-forge\r\n python-3.7.3 | h510b542_1 17.7 MB conda-forge\r\n setuptools-41.2.0 | py37_0 652 KB conda-forge\r\n sqlite-3.29.0 | hfa6e2cd_1 1.1 MB conda-forge\r\n vc-14.1 | h0510ff6_4 6 KB\r\n vs2015_runtime-14.16.27012 | hf0eaf9b_0 1.1 MB\r\n wheel-0.33.6 | py37_0 52 KB conda-forge\r\n wincertstore-0.2 | py37_1002 13 KB conda-forge\r\n ------------------------------------------------------------\r\n Total: 88.0 MB\r\n\r\nThe following NEW packages will be INSTALLED:\r\n\r\n ca-certificates conda-forge\/win-64::ca-certificates-2019.9.11-hecc5488_0\r\n certifi pkgs\/main\/win-64::certifi-2019.9.11-py37_0\r\n firefox conda-forge\/win-64::firefox-68.0.2-h6538335_1\r\n openssl conda-forge\/win-64::openssl-1.1.1c-hfa6e2cd_0\r\n pip conda-forge\/win-64::pip-19.2.3-py37_0\r\n python conda-forge\/win-64::python-3.7.3-h510b542_1\r\n setuptools conda-forge\/win-64::setuptools-41.2.0-py37_0\r\n sqlite conda-forge\/win-64::sqlite-3.29.0-hfa6e2cd_1\r\n vc pkgs\/main\/win-64::vc-14.1-h0510ff6_4\r\n vs2015_runtime pkgs\/main\/win-64::vs2015_runtime-14.16.27012-hf0eaf9b_0\r\n wheel conda-forge\/win-64::wheel-0.33.6-py37_0\r\n wincertstore conda-forge\/win-64::wincertstore-0.2-py37_1002\r\n\r\n```","issue_id":1670993283926,"origin_id":536664165,"user_origin_id":45380,"create_time":1569864391,"update_time":1569864391,"id":1723117017028,"updated_at":"2024-08-08T11:36:57.028000Z","created_at":"2024-08-08T11:36:57.028000Z"},{"_id":"66b4add92b74ee433d0a3c4f","body":"ha, now it's sharing paths with `qt`. \r\n\r\n```\r\nError: File 'Library\/bin\/libEGL.dll' found in multiple packages: qt-5.12.5-h7ef1ec2_0.tar.bz2, firefox-68.0.2-h6538335_1.tar.bz2\r\n```\r\n\r\nto be fair, the `qt` is a relatively hot-and-fresh build of one of the hardest things to package (~6hr build). working on some minimal local reproducing...","issue_id":1670993283926,"origin_id":536687155,"user_origin_id":45380,"create_time":1569867639,"update_time":1569867639,"id":1723117017033,"updated_at":"2024-08-08T11:36:57.032000Z","created_at":"2024-08-08T11:36:57.032000Z"},{"_id":"66b4add92b74ee433d0a3c50","body":"https:\/\/github.com\/conda-forge\/firefox-feedstock\/issues\/2","issue_id":1670993283926,"origin_id":536713922,"user_origin_id":45380,"create_time":1569871495,"update_time":1569871495,"id":1723117017035,"updated_at":"2024-08-08T11:36:57.034000Z","created_at":"2024-08-08T11:36:57.034000Z"}] comment

Firefox was fixed in conda-forge, which is, i believe, the only reason we had `ignore_duplicate_files` in there. It's useful for making sure we don't have clobbery packages, but is _usually_...