Metadata-Version: 2.4
Name: labdb
Version: 1.0.2
Summary: MongoDB experiment management tool
Author-email: Rohan Menon <rohanme@mit.edu>
License-Expression: MIT
Project-URL: Homepage, https://github.com/rmenon1008/labdb
Project-URL: Issues, https://github.com/rmenon1008/labdb/issues
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jsonschema~=4.23.0
Requires-Dist: prompt_toolkit~=3.0.50
Requires-Dist: Pygments~=2.19.1
Requires-Dist: pymongo~=4.11.3
Requires-Dist: PyYAML~=6.0.2
Requires-Dist: numpy>=1.26.1
Requires-Dist: argcomplete>=3.2.3
Requires-Dist: pyreadline3>=3.4.1; sys_platform == "win32"
Requires-Dist: lz4>=4.0.0
Dynamic: license-file

# `labdb`

A simple CLI tool for managing MongoDB experiments.

## Installation

Install with:
```bash
pip install .
```

Then, setup with:
```bash
labdb --config
```

## CLI

- no arguments - Start interactive mode
- `pwd` - Show current path
- `ls [path]` - List contents of a path
- `mkdir path` - Create a new directory
- `rm path` - Remove a path (always recursive)
- `mv src_path dest_path` - Move a path to a new location
- `cd [path]` - Change current directory
- `edit path` - Edit notes for a path (directory or experiment)

### Tab Completion

The `labdb` CLI supports tab completion for paths. You can install it automatically with:

```bash
labdb --setup-completions
```

This will automatically detect your shell and add the necessary configuration to your shell's configuration file.

Alternatively, you can manually set it up:
Add the following to your `~/.bashrc` (or similar):
```bash
eval "$(register-python-argcomplete labdb)"
```

## API

Use `ExperimentLogger` and `ExperimentQuery` to programatically log and query experimental data.
