An open API service indexing awesome lists of open source software.

https://github.com/j535d165/scitree

Scitree is a recursive directory listing tool optimized for science
https://github.com/j535d165/scitree

cli directory-lister directory-listing file-sorting python research research-data-management science sorting tree utrecht-university

Last synced: 3 months ago
JSON representation

Scitree is a recursive directory listing tool optimized for science

Awesome Lists containing this project

README

          


Scitree - Like tree, but optimized for science

# Scitree - Like `tree`, but optimized for science

![PyPI](https://img.shields.io/pypi/v/scitree) [![DOI](https://zenodo.org/badge/541578065.svg)](https://zenodo.org/badge/latestdoi/541578065)

> In computing, tree is a recursive directory listing command or program that
> produces a depth-indented listing of files. [Wikipedia, 2022](https://en.wikipedia.org/wiki/Tree_(command)).

Scitree is like tree, but different. Instead of sorting content on its name,
scitree sorts and highlights given opiniated scientific principles. In this
way, you can inspect directory listings more easily.

Scitree is based on [scisort](https://github.com/j535d165/scisort), a Python
package to sort file paths based on scientific principles.

## Philosophy

Philosophy of [scisort](https://github.com/j535d165/scisort) and scitree:

- Read the README first, therefore I'm on top
- Before I install or use the content, I open the [LICENSE](https://choosealicense.com/).
- Files first, folders second
- Numbered files are [naturally sorted](https://en.wikipedia.org/wiki/Natural_sort_order)
- I love [intuitive and reproducible project structures](https://doi.org/10.1371/journal.pcbi.1005510)
- Follow the order of execution where possible
- I ignore, what git ignores\*

*\* Only for [`scitree`](https://github.com/J535D165/scitree).*

For more information about the structure, see [scisort/scisort/keygen.py](https://github.com/J535D165/scisort/blob/main/scisort/keygen.py).

## Installation

Scitree requires Python 3.6 or later.

```sh
pip install scitree
```

## Getting started

### `scitree` command

Scittree command on the command line outputs a tree.
```sh
scitree
```

```sh
./
├── README.md
├── LICENSE.txt
├── jobs.sh
├── data/
│ └── Bos_2018.csv
├── scripts/
│ ├── get_plot.py
│ ├── merge_descriptives.py
│ └── merge_metrics.py
└── output/
├── simulation/
│ └── Bos_2018/
│ ├── metrics_sim_Bos_2018_0.json
│ ├── metrics_sim_Bos_2018_6.json
│ ├── metrics_sim_Bos_2018_559.json
│ ├── metrics_sim_Bos_2018_1640.json
│ ├── metrics_sim_Bos_2018_3154.json
│ ├── metrics_sim_Bos_2018_3518.json
│ ├── metrics_sim_Bos_2018_3519.json
│ ├── metrics_sim_Bos_2018_3721.json
│ ├── metrics_sim_Bos_2018_4612.json
│ ├── metrics_sim_Bos_2018_4699.json
│ ├── metrics_sim_Bos_2018_5673.json
│ ├── plot_recall_sim_Bos_2018.png
│ ├── descriptives/
│ │ ├── wordcloud_Bos_2018.png
│ │ ├── wordcloud_irrelevant_Bos_2018.png
│ │ ├── wordcloud_relevant_Bos_2018.png
│ │ └── data_stats_Bos_2018.json
│ └── state_files/
│ ├── sim_Bos_2018_0.asreview
│ ├── sim_Bos_2018_6.asreview
│ ├── sim_Bos_2018_559.asreview
│ ├── sim_Bos_2018_1640.asreview
│ ├── sim_Bos_2018_3154.asreview
│ ├── sim_Bos_2018_3518.asreview
│ ├── sim_Bos_2018_3519.asreview
│ ├── sim_Bos_2018_3721.asreview
│ ├── sim_Bos_2018_4612.asreview
│ ├── sim_Bos_2018_4699.asreview
│ └── sim_Bos_2018_5673.asreview
└── tables/
├── data_descriptives.csv
├── data_descriptives.xlsx
├── data_metrics.csv
└── data_metrics.xlsx

8 directories, 38 files
```

### `scitree` function for Python

The `scitree` function in Python prints the tree for the current folder (`"."`).

```python
from scitree import scitree

scitree()
```

## License

[MIT](/LICENSE)

## Contact

Feel free to reach out with questions, remarks, and suggestions. The
[issue tracker](/issues) is a good starting point. You can also email me at
[jonathandebruinos@gmail.com](mailto:jonathandebruinos@gmail.com).