beat.cmdline issueshttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues2020-11-16T14:34:22Zhttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/79Remove database sharing explicit option2020-11-16T14:34:22ZSamuel GAISTRemove database sharing explicit optionFollowing the discussion on beat/beat.web!410, the database raw data sharing implementation was change and its definition moved to the database declaration.
beat/beat.core!132 implements that.
Therefore remove the explicit database sha...Following the discussion on beat/beat.web!410, the database raw data sharing implementation was change and its definition moved to the database declaration.
beat/beat.core!132 implements that.
Therefore remove the explicit database sharing option here as it is not used anymore.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/78Database index generated files belongs to docker daemon user2020-11-10T16:47:14ZSamuel GAISTDatabase index generated files belongs to docker daemon userWhich makes them belonging to root currently which is wrong.
It should be the user which currently runs the indexing or a specific UID.Which makes them belonging to root currently which is wrong.
It should be the user which currently runs the indexing or a specific UID.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/77CXX algorithm cannot be correctly downloaded2020-11-10T16:42:45ZSamuel GAISTCXX algorithm cannot be correctly downloadedThe way the URL is built is wrong, it hardcodes the current use as the author which is not necessarily true.The way the URL is built is wrong, it hardcodes the current use as the author which is not necessarily true.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/76Implement support for database sharing2020-11-12T15:02:19ZSamuel GAISTImplement support for database sharingSee beat/beat.core#103See beat/beat.core#103Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/73Cannot push a C++ algorithm2020-07-23T12:24:14ZAmir MOHAMMADICannot push a C++ algorithmLooks like when pushing a C++ algorithm, the code fails with:
```
lib/python3.7/site-packages/click/core.py(829)__call__()
828 """Alias for :meth:`main`."""
--> 829 return self.main(*args, **kwargs)
830
lib/...Looks like when pushing a C++ algorithm, the code fails with:
```
lib/python3.7/site-packages/click/core.py(829)__call__()
828 """Alias for :meth:`main`."""
--> 829 return self.main(*args, **kwargs)
830
lib/python3.7/site-packages/click/core.py(782)main()
781 with self.make_context(prog_name, args, **extra) as ctx:
--> 782 rv = self.invoke(ctx)
783 if not standalone_mode:
lib/python3.7/site-packages/click/core.py(1259)invoke()
1258 with sub_ctx:
-> 1259 return _process_result(sub_ctx.command.invoke(sub_ctx))
1260
lib/python3.7/site-packages/click/core.py(1259)invoke()
1258 with sub_ctx:
-> 1259 return _process_result(sub_ctx.command.invoke(sub_ctx))
1260
lib/python3.7/site-packages/beat/cmdline/click_helper.py(121)invoke()
119
120 ctx.meta["asset_info"] = self.asset_info
--> 121 return super().invoke(ctx)
lib/python3.7/site-packages/click/core.py(1066)invoke()
1065 if self.callback is not None:
-> 1066 return ctx.invoke(self.callback, **ctx.params)
1067
lib/python3.7/site-packages/click/core.py(610)invoke()
609 with ctx:
--> 610 return callback(*args, **kwargs)
611
lib/python3.7/site-packages/click/decorators.py(21)new_func()
20 def new_func(*args, **kwargs):
---> 21 return f(get_current_context(), *args, **kwargs)
22
lib/python3.7/site-packages/beat/cmdline/decorators.py(94)_decorator()
93 def _decorator(*args, **kwargs):
---> 94 value = view_func(*args, **kwargs)
95 if value not in [None, 0]:
lib/python3.7/site-packages/beat/cmdline/commands.py(321)push_impl()
320 dry_run=dry_run,
--> 321 indentation=0,
322 )
lib/python3.7/site-packages/beat/cmdline/common.py(1486)push()
1485 try:
-> 1486 webapi.post(url, data=message)
1487 except RuntimeError as e:
> lib/python3.7/site-packages/beat/cmdline/webapi.py(104)post()
103 url = self.__build_url(path)
--> 104 answer = requests.post(url, json=data, headers=self._make_headers())
105
lib/python3.7/site-packages/requests/api.py(119)post()
118
--> 119 return request('post', url, data=data, json=json, **kwargs)
120
lib/python3.7/site-packages/requests/api.py(61)request()
60 with sessions.Session() as session:
---> 61 return session.request(method=method, url=url, **kwargs)
62
lib/python3.7/site-packages/requests/sessions.py(516)request()
515 )
--> 516 prep = self.prepare_request(req)
517
lib/python3.7/site-packages/requests/sessions.py(459)prepare_request()
458 cookies=merged_cookies,
--> 459 hooks=merge_hooks(request.hooks, self.hooks),
460 )
lib/python3.7/site-packages/requests/models.py(317)prepare()
316 self.prepare_cookies(cookies)
--> 317 self.prepare_body(data, files, json)
318 self.prepare_auth(auth, url)
lib/python3.7/site-packages/requests/models.py(467)prepare_body()
466 content_type = 'application/json'
--> 467 body = complexjson.dumps(json)
468 if not isinstance(body, bytes):
lib/python3.7/site-packages/simplejson/__init__.py(395)dumps()
394 ):
--> 395 return _default_encoder.encode(obj)
396 if cls is None:
lib/python3.7/site-packages/simplejson/encoder.py(296)encode()
295 # equivalent to the PySequence_Fast that ''.join() would do.
--> 296 chunks = self.iterencode(o, _one_shot=True)
297 if not isinstance(chunks, (list, tuple)):
lib/python3.7/site-packages/simplejson/encoder.py(378)iterencode()
377 try:
--> 378 return _iterencode(o, 0)
379 finally:
```
I will not attach the binary the `.so` file (can be found in https://filesender.switch.ch/filesender/?vid=59e1dbc9-04e4-67c8-2bb1-00007d77b3bb but you don't need that)
Steps to reproduce:
* create an algorithm with this .json file [1.json](/uploads/d625814e021f43f4543060e5b3045b55/1.json)
* generate a random binary file for this alg and save it as `1.so` for example this: [1.so](/uploads/d7507a1afdff15ed1c07c1b6de9403d7/1.so)
* push it to the online platformSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/71Make the experiment plotting less rigid2020-06-04T13:35:57ZSamuel GAISTMake the experiment plotting less rigidWith the old code and the part kept after the refactoring, the output format for the plotting the result of an experiment is locked to `image/png` if nothing is provided in the default plotter parameters.
This does not allow for people ...With the old code and the part kept after the refactoring, the output format for the plotting the result of an experiment is locked to `image/png` if nothing is provided in the default plotter parameters.
This does not allow for people to work on custom plotter that might output something else or use a different output type if nothing is provided as default parameter.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/70Cannot specify plotterparmeters when calling `beat exp plot`2020-07-28T14:57:58ZAmir MOHAMMADICannot specify plotterparmeters when calling `beat exp plot`I was thinking that we can fix this by providing the plotterparams using click optiona and also loading from rc.I was thinking that we can fix this by providing the plotterparams using click optiona and also loading from rc.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/67Version information missing on push2020-04-14T14:43:26ZSamuel GAISTVersion information missing on pushWhen creating a new version of an algorithm or a fork, the version information is not pushed with the data.
It is currently not used by beat/beat.web> but this is about to change because the current way new version creation is handled i...When creating a new version of an algorithm or a fork, the version information is not pushed with the data.
It is currently not used by beat/beat.web> but this is about to change because the current way new version creation is handled is suboptimal. If for some reasons a new version is created manually rather than through "beat <asset_type> version`, the missing history version will trigger the creation of a new "version 1" asset or at least an attempt to do that.
See beat/beat.web#547Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/66Experiment monitor command is broken2020-03-18T12:07:14ZSamuel GAISTExperiment monitor command is brokenThe experiment monitor command does not work anymore following the cleanup of the webapi module.
The get is still handled old style.The experiment monitor command does not work anymore following the cleanup of the webapi module.
The get is still handled old style.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/65Improve dependency check tests2020-03-16T17:16:29ZFlavio TARSETTIImprove dependency check testsTests are missing.
Related to https://gitlab.idiap.ch/beat/beat.cmdline/merge_requests/86Tests are missing.
Related to https://gitlab.idiap.ch/beat/beat.cmdline/merge_requests/86Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/64Do not make the environment listing failed if platform is unavailable2020-01-29T13:16:11ZSamuel GAISTDo not make the environment listing failed if platform is unavailableAs implemented, the environment listing should not fail for local docker environment but it is currently not the case for listing the remote environment.
Both should behave the same. Therefore, if any error happens when contacting the p...As implemented, the environment listing should not fail for local docker environment but it is currently not the case for listing the remote environment.
Both should behave the same. Therefore, if any error happens when contacting the platform, it should be logged and the command continue showing an empty set of environment coming from there.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/63LICENSE file location in conda recipe is wrong2019-11-14T15:59:01ZAndré AnjosLICENSE file location in conda recipe is wrongIt should read `LICENSE` instead of `../LICENSE`.
The same should be propagated to all relevant packages.
See: bob/bob.devtools#44It should read `LICENSE` instead of `../LICENSE`.
The same should be propagated to all relevant packages.
See: bob/bob.devtools#44Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/62Add support for remote experiments execution handling2019-09-16T17:30:12ZSamuel GAISTAdd support for remote experiments execution handlingCurrently, beat/beat.cmdline> only offers to run experiment locally.
This issue tracks the implementation of the commands needed to start, cancel and monitor a remote experiment.
The current monitoring implementation in beat/beat.web> ...Currently, beat/beat.cmdline> only offers to run experiment locally.
This issue tracks the implementation of the commands needed to start, cancel and monitor a remote experiment.
The current monitoring implementation in beat/beat.web> is based on a 5 second timer which, on timeout, will fetch the running experiment and, based on the content returned, update the information panel and toolchain representation.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/61Make Plotterparameter properly supported2019-05-08T08:54:29ZSamuel GAISTMake Plotterparameter properly supportedPlotterparameter also has a storage supporting it.
Update beat.cmdline to properly support it.Plotterparameter also has a storage supporting it.
Update beat.cmdline to properly support it.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/58Add BEAT classifier to setup.py2019-04-11T08:58:40ZSamuel GAISTAdd BEAT classifier to setup.pyThe classifier has been added to Pypi so it now can be used.
See beat/beat.backend.python#19The classifier has been added to Pypi so it now can be used.
See beat/beat.backend.python#19https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/57Not compatible with newest bob-devel version2019-03-09T09:20:51ZJaden DIEFENBAUGHNot compatible with newest bob-devel versionSee beat.editor#202 for how I found this & a hack to fix it
Using the default conda environment creation config, `beat.cmdline` can't be installed to the same environment as `bob-devel=2019.2.11`. This also pops up when trying to create...See beat.editor#202 for how I found this & a hack to fix it
Using the default conda environment creation config, `beat.cmdline` can't be installed to the same environment as `bob-devel=2019.2.11`. This also pops up when trying to create an environment for `beat.web` using `conda env create -f dev.yml`:
```
Collecting package metadata: done
Solving environment: failed
UnsatisfiableError: The following specifications were found to be in conflict:
- beat.cmdline
- bob-devel=2019.02.11
Use "conda search <package> --info" to see the dependencies for each package.
```
This marks the third place this issue has shown up, and so I'm opening an issue in this package. I'll mark it as `critical` because this is an issue in the CI as well.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/55beat --version does not work at latest release2019-01-21T14:07:25ZAndré Anjosbeat --version does not work at latest releaseWhat I get:
```sh
$ beat --version
Usage: ....
Error: Missing Command.
$
```What I get:
```sh
$ beat --version
Usage: ....
Error: Missing Command.
$
```Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/54Linux builds are failing with new docker-py 3.6.02018-12-15T07:15:00ZAndré AnjosLinux builds are failing with new docker-py 3.6.0@samuel.gaist: could you have a look at this today?
Job [#153447](https://gitlab.idiap.ch/beat/beat.cmdline/-/jobs/153447) failed for 2580eac2427657fd6b7cf395b03b4a06bdcd3745:
N.B.: there is an issue with the current "Schedules" featur...@samuel.gaist: could you have a look at this today?
Job [#153447](https://gitlab.idiap.ch/beat/beat.cmdline/-/jobs/153447) failed for 2580eac2427657fd6b7cf395b03b4a06bdcd3745:
N.B.: there is an issue with the current "Schedules" feature of gitlab (https://secure.idiap.ch/bugzilla5/show_bug.cgi?id=15791)
TBC: I just re-ran the nightlies manually to see if the builds would get stuck in the same position: https://gitlab.idiap.ch/beat/beat.nightlies/pipelines/25464Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.cmdline/-/issues/52About Walkthrough section in the documentation.2018-12-06T09:50:13ZZohreh MOSTAANIAbout Walkthrough section in the documentation.I do not understand what is the purpose of the section Walkthrough in the documentation of beat.cmdline. Is it for developing the beat platform locally? Is it only for running the platform locally? Or is it for developing the beat.cmdlin...I do not understand what is the purpose of the section Walkthrough in the documentation of beat.cmdline. Is it for developing the beat platform locally? Is it only for running the platform locally? Or is it for developing the beat.cmdline itself? In the first line of this documentation it is written:
This page gives an overview on setting up an environment to develop BEAT **experiments** locally.https://gitlab.idiap.ch/beat/beat.cmdline/-/issues/50Pushing experiments to the platform is very tricky without informative warnin...2019-10-23T18:29:10ZZohreh MOSTAANIPushing experiments to the platform is very tricky without informative warnings or errors!The assumption is that you can pull an experiment from the platform, edit the necessary blocks (which means debugging the blocks without going through the pain of making new versions or forks for each block) and then push back to the pla...The assumption is that you can pull an experiment from the platform, edit the necessary blocks (which means debugging the blocks without going through the pain of making new versions or forks for each block) and then push back to the platform.
The issue is that in each experiment the user can use toolchains, or algorithms, etc that are public from other users and when they are pulled they are organized in folders with similar usernames in the user's local prefix folder.
With current setup if users want to edit some algorithm they **should** first copy them to their own name space.
If you do not make new algorithms under your own name space two scenarios may happen:
- You just edited the file from original user (not a good idea). `beat push` command in this situation does not push anything since it already exists on the platform.
- you made new version form the same algorithm which goes under the category of the original user. `beat push` command will create a new algorithm with the same name under your username with version number one without any warnings and it shows on the command line that the algorithm under the original username has been created.
The problem is since there is no error or warnings in such situations and nothing mentioned in the documentation it is tricky to find out where the problem comes from. It might be very confusing for the normal user to interact with beat.