Metadata-Version: 2.1
Name: zippity-py
Version: 0.1.1a0
Summary: dum lil CLI tool to create summary files with todos and extracts from source code for chatbots.
Author: lumpenspace
Author-email: lumpenspace@gmail.com
Requires-Python: >=3.8,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: clipboard-maximizer (>=0.2.3,<0.3.0)
Requires-Dist: comment-parser (>=1.2.4,<2.0.0)
Requires-Dist: gitignore-parser (>=0.1.10,<0.2.0)
Requires-Dist: jinja2 (>=3.1.3,<4.0.0)
Description-Content-Type: text/markdown

# Zippity - dum lil CLI to collect TODOs for ChatGPT

[![PyPI version](https://badge.fury.io/py/zippity.svg)](https://badge.fury.io/py/zippity)
[![Build Status](https://travis-ci.com/ChatGPT/zippity.svg?branch=master)](https://travis-ci.com/ChatGPT/zippity)
[![codecov](https://codecov.io/gh/ChatGPT/zippity/branch/master/graph/badge.svg)](https://codecov.io/gh/ChatGPT/zippity)
[![Documentation Status](https://readthedocs.org/projects/zippity/badge/?version=latest)](https://zippity.readthedocs.io/en/latest/?badge=latest)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

This is a Python command-line interface (CLI) package developed using Poetry.

## Installation

```shell
pipx install zippity_py
```

## Usage

After installation, you can use the CLI by running:

```bash


> zippity --help

Usage: zippity [OPTIONS] [SOURCE_DIRECTORY]

Options:
  -e, --extensions TEXT (Default: '.py,.js,.ts')
  -r, --result_file PATH  (Default: 'ZIPPITYDO.md')
  -t, --template_file PATH
  --help    
```

## Template

Templates are jinja markdown files, that get passed an list of these:

```python
FileTodos = TypedDict(
    "FileTodos",
    {
        "todos": List[Todo],
        "content": str,
        "language": str,
        "mimetype": str,
        "name": str,
    },
)
```

Each `FileTodo` will have a list of todos, like this:

```python
Todo = TypedDict(
    "Todo",
    {
        "line_number": int,
        "text": str,
    },
)
```

The default template is in [template/template.md](zippity/template/default.md.jinja); once compiled it looks like this:

![Screenshot](screenshot.pngpng>)

## Contributing

Contributions are welcome. Please make sure to update tests as appropriate.

## License

[MIT](https://choosealicense.com/licenses/mit/)

