Skip to main content

Add your description here

Project description

DescribeDataset

A Python tool for generating human-readable descriptions of dataset structures. This tool helps you understand the organization and content of your datasets by providing a clear, textual representation that can be used with LLMs or for documentation purposes.

Features

  • 📁 Recursive folder structure exploration
  • 📊 Support for multiple file formats:
    • Text files (.txt)
    • JSON files (.json)
    • YAML files (.yaml, .yml)
    • CSV files (.csv)
    • Images (.jpg, .jpeg, .png, .gif, .bmp, .webp)
  • 🖼️ Image resolution information
  • 📏 Smart list clipping for large directories
  • 📝 Total item count for folders
  • 🛡️ Error handling for corrupted files

Installation

pip install describe-dataset

Usage

Command Line

python -m describe_dataset /path/to/your/dataset

Python API

from describe_dataset import describe_dataset
from pathlib import Path

# Get dataset description
description = describe_dataset(Path("/path/to/your/dataset"))
print(description)

Example Output

Top level of the dataset contains:
    folder images
    folder annotations
    file config.yaml

Content of images folder:
Total items in folder: 1000 (showing first 3)
- image1.jpg (file)
  image of resolution 1920x1080
- image2.jpg (file)
  image of resolution 1280x720
- image3.jpg (file)
  image of resolution 800x600

Content of annotations folder:
- train.json (file)
{
    "version": "1.0",
    "images": [...],
    "annotations": [...]
}

Description of config.yaml file:
name: my-dataset
version: 1.0
classes:
  - car
  - pedestrian
  - bicycle

Configuration

The tool has several configurable parameters:

  • DIFFERENT_FILES_LIMIT = 10: Maximum number of different files to show in a folder
  • MIN_LIST_LENGTH = 3: Minimum number of items to show when clipping large lists
  • LIST_SIZE_THRESHOLD_FOR_MIN_LENGTH = 20: Threshold for when to start clipping lists

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

describe_dataset-0.1.2.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

describe_dataset-0.1.2-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file describe_dataset-0.1.2.tar.gz.

File metadata

  • Download URL: describe_dataset-0.1.2.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.14

File hashes

Hashes for describe_dataset-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c3c5147fe1db9407151d3b48b7554858c174806acb910c4ad27ae174410bc70b
MD5 df4ac3080562a18795218a96866bf157
BLAKE2b-256 2f7e76f65f492372d698b2966f28c014158808f9a65a871ec40779d2f6861851

See more details on using hashes here.

File details

Details for the file describe_dataset-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for describe_dataset-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 511f87ee3589d658071f22334568dff4cc88445058a27f9817b405b2e6d19866
MD5 dd969377c424e5bcccaa7fee287e2bac
BLAKE2b-256 51ed3299f20ba0e4ffdada68915abe2266704f51ba67fb96a09d142196708b7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page