semvec/pypi-packages huggingface dataset:
listdump 0.2.0
List relevant files with content in markdown format
Requires Python: >=3.7
Keywords: cli, command-line, listing, markdown, documentation, recursive

# listdump

[![GitHub](https://img.shields.io/badge/GitHub-TAbdiukov/listdump-black?logo=github)](https://github.com/TAbdiukov/listdump)
[![PyPI Version](https://img.shields.io/pypi/v/listdump.svg)](https://pypi.org/project/listdump) 
![License](https://img.shields.io/github/license/TAbdiukov/listdump)
[![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?&logo=buy-me-a-coffee&logoColor=black)](https://buymeacoffee.com/tabdiukov)

**listdump** is a lightweight CLI tool that recursively (or non-recursively) lists relevant files in a directory and outputs their contents wrapped in Markdown-style code blocks (```), ready for documentation, debugging, or review.

### 📂💻→📝

by Tim Abdiukov

---

## 📦 Installation

```bash
pip install listdump
```

Run it from anywhere using:

```bash
listdump [arguments]
```

---

## 🚀 Usage

```bash
listdump [includes] [-x excludes] [-no-sub] [-out=filename] [-dir=path] [-no-gitignore] [-include-hidden]
```

### 🔧 Arguments

| Argument                         | Description                                                                   |
| -------------------------------- | ----------------------------------------------------------------------------- |
| `includes`                       | Extensions or glob patterns to include (`py`, `txt`, `log_*_202*.log`, etc.)  |
| `-x`, `--exclude`, `-ex`, `--ex` | Extensions or glob patterns to exclude                         |
| `-no-sub`                        | Exclude subfolders                                                            |
| `-out=FILE`                      | Output file name (default: `listdump.md`)                                     |
| `-dir=DIR`                       | Starting directory (default: current)                                         |
| `-no-gitignore`                  | Do not respect `.gitignore` rules                                             |
| `-include-hidden`                | Include normally excluded files: `.git`, `.gitignore`, and `listdump.md`, and license files (LICENCE, LICENSE) |
| `-h`, `--help`                   | Show help message                                                             |

---

## ℹ️ Examples

```bash
listdump txt py -x log tmp
```

> Includes `.txt` and `.py` files, excludes `.log` and `.tmp`

```bash
listdump py -no-sub
```

> Includes `.py` files only in the current directory

```bash
listdump py -no-gitignore -include-hidden
```

> Includes `.py` files, even those ignored by `.gitignore` and including `.git`, `.gitignore`, `listdump.md`, and license files

---

***Tim Abdiukov***
repoyard 0.1.8
Add your description here
Requires Python: >=3.11

# repoyard

<!-- #region -->
# Usage

To run all all scripts in `core` in sequence, run

```python
repoyard.core.run_all()
```

from within Python, or

```
repoyard run-core
```

from the terminal.
<!-- #endregion -->

<!-- #region -->
# Development install instructions

## Prerequisites

- Install [uv](https://docs.astral.sh/uv/getting-started/installation/).
- Install [direnv](https://direnv.net/) to automatically load the project virtual environment when entering it.
    - Mac: `brew install direnv`
    - Linux: `curl -sfL https://direnv.net/install.sh | bash`

## Setting up the environment

Run the following:

```bash
# In the root of the repo folder
uv sync # Installs the virtual environment at './.venv'
direnv allow # Allows the automatic running of the script './.envrc'
nbl install-hooks # Installs a git hooks that ensures that notebooks are added properly
```

You are now set up to develop the codebase.

Further instructions:

- To export notebooks run `nbl export`.
- To clean notebooks run `nbl clean`.
- To see other available commands run just `nbl`.
- To add a new dependency run `uv add package-name`. See the the [uv documentation](https://docs.astral.sh/uv/) for more details.
- You need to `git add` all 'twinned' notebooks for the commit to be validated by the git-hook. For example, if you add `nbs/my-nb.ipynb`, you must also add `pts/my-nb.pct.py`.
<!-- #endregion -->