Skip to content

Commit 9c29299

Browse files
authored
Initial ideas dump into README.md
1 parent 18251bb commit 9c29299

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,40 @@
11
# reproshell
22
Shell (bash only ATM) configuration to facilitate reproducible research
3+
4+
# Perspective features
5+
6+
Although some features are inspired by prototype implementation to be used within singularity container environments, they are applicable for any, even direct invocation.
7+
8+
- **Deployment**
9+
- [ ] could be used as a standalone configuration
10+
- [ ] could be "pluggable", i.e. the shell configuration to use within containers and remote sessions while "interfacing back" various session artifacts (e.g., history)
11+
- **Features**, most of which should be configurable from outside (for "pluggable" mode of operation)
12+
- [ ] **infinite shell history** (unless explicitly requested to be session only, e.g. within container run)
13+
- [ ] **VCS support** (to show when under some VCS and in what branch/state it is)
14+
- **avoidance of session/execution side-effects**
15+
- [ ] isolated `/tmp`
16+
- [ ] (optionally) isolated `$HOME`? so no side-effects from `~/.local` installations etc
17+
- [ ] (optionally) sanitized environment variables
18+
- **informative and pretty (to >80% of users) prompt**
19+
- PS1 should should
20+
- [ ] show being under some container/conda/virtualenv environment
21+
- [ ] show full current path
22+
- [ ] show user (in particular when root)
23+
- [ ] (may be) # of commands in the history
24+
- additional "pluggable" indicators, such as
25+
- [ ] being in a session traced by reprozip or reproman.
26+
- [ ] being outside of a set of "tracked" directories (e.g., within `datalad run` execution)
27+
- **integrations**
28+
- [ ] `datalad containers-run` or ReproNim/containers to replace parts of the custom .bashrc/singularity_run prototype
29+
- [ ] `reproman execute` and possibly `run` to provide consistent interface across wide range of resources
30+
- Metrics collection
31+
- [ ] could be the one to remind users whenever popularity-contest or our custom usage reporting facility is not enabled
32+
- [ ] (may be) even activate/deactivate handling for pluggable indicators etc (e.g. to enable/disable tracing)
33+
- [ ] could collect (and later aggregate/join) DueCredit reports from interim executions
34+
- [ ] may be optionally could be made persistent via starting actual session under screen or tmux. Then could come with some custom nice .screenrc settings to visualize current load/
35+
36+
So, some features (infinite history, VCS integration, may be color scheme) could be provided by bundling existing 3rd party projects. The rest more custom
37+
38+
## References
39+
- Recommended .bashrc to assist in facilitating moer efficient shell and bash history use and archival: https://github.com/ReproNim/module-reproducible-basics/pull/26
40+
- Recording bash sessions history within git during interactive `datalad containers-run` https://github.com/ReproNim/containers/pull/9

0 commit comments

Comments
 (0)