cli-mit-wuff-und-wau-sandra-gufler


Namecli-mit-wuff-und-wau-sandra-gufler JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA CLI tool and library for Zürich's dog registry analysis and management
upload_time2024-12-10 19:18:44
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseMIT
keywords cli dog registry statistics random generation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Welcome to **CLI mit Wuff und Wau**, a command-line tool designed to explore Zürich's open dog data in a fun and engaging way! This tool allows you to:

## Project Overview

This project is a Command-Line Interface (CLI) tool designed to interact with Zurich's public dog registry. It allows users to:

* **Search for Dogs by Name** : Retrieve information about dogs registered under a specific name.
* **Analyze Dog Data** : Generate insightful statistics, such as the most common dog names, gender distribution, and name lengths.
* **Create Random Dogs** : Simulate a new dog profile with attributes derived from the registry, including a downloadable media file.

The tool utilizes Python and integrates various libraries like `Click`, `Rich`, `UV`, `Pillow` and `Requests` to provide a user-friendly experience.

- Search for dogs by name and check for substrings in the names.
- Get statistics on dog names, dog name trends, and gender distributions.
- Generate a fictional new dog with a name, birth year, and a cute picture.

## Key Features

* **Dynamic Data Fetching** : Retrieves data directly from the Zurich Open Data API.
* **Flexible Year Filtering** : Filters registry data by a specified year or aggregates data across all available years.
* **Random Dog Profile Creation** : Combines registry data with a media file from an external API to create unique dog profiles.
* **Interactive CLI Design** : Implements `Click` for intuitive command definitions and user interactions.
* **Enhanced Display** : Uses `Rich` to render output in aesthetically pleasing tables.

## AI Tools Usage Declaration

During the development of this project, AI tools were used as follows:

**ChatGPT** :

* Used to assist in generating code snippets, structuring functions, and brainstorming solutions to align with the project requirements.
* Provided support in adhering Python best practices during architectural planning and refactoring.
* Suggested approaches for handling edge cases and improving user experience in the CLI design.
* Its outputs were critically reviewed and significantly modified to suit the project's unique requirements and constraints.

## Personal Contributions

While AI tools were used as supplementary aids, I was heavily involved in all decision-making processes and core aspects of the project, including:

* Designing the overall architecture and ensuring it adhered to best practices and SOLID principles.
* Writing and refining the main functionality of the CLI tool:

  * Search for dogs using specific criteria.
  * Analyze and display statistical data about the dog registry.
  * Generate randomized dog profiles.
  * Wrote code to fetch and filter data dynamically from the Zürich Open Data API.
* Ensuring compliance with project requirements, error handling, and usability considerations.
* Reviewing, manually testing, and optimizing all AI-generated code to meet the quality standards expected in the course.
* Managing the Git repository, ensuring proper commit history.

## Transparency and Compliance

This declaration ensures transparency regarding AI tool usage and compliance with the **OST Examination and Study Regulations** (Art. 37) and  **AI Guidelines** . All AI-generated outputs were critically evaluated, customized, and integrated into the project.

## **Installation**

1. Clone the repository to your local machine.
2. Install dependencies using ???.
3. Run the CLI using the commands described below.

## Commands and Usage

The CLI tool `wuff.py` provides the following commands for interacting with Zürich's dog registry data:

### Global Options

* `--year`, `-y`:
  * Filters the data by the specified year in `YYYY` format.
  * Use `all` to include data from all years.
  * Defaults to the current year.

---

### 1. Find Dogs by Name

```
python wuff.py [--year] find <name>

```

* **Description** : Search for dogs with a given name.
* **Parameters** :
* `<name>`: The name of the dog to search for.
* `--year / -y`: (Optional) Filters results by the specified year or includes all years if `all` is provided. If no year is provided the application displays the data of the current year.
* You will be prompted if you want to search for an exact match or if you want to find all names that include the substring you provide.
* **Example** :

```
python wuff.py -y 2023 find Luna 
```

---

### 2. Show Dog Statistics

```
python wuff.py [--year] stats 
```

* **Description** : Display statistical data about the dog registry, such as:
* Total dogs.
* Top 10 most common names.
* Longest and shortest names.
* Gender distribution.
* **Parameters** :
* `--year / -y` : (Optional) Filters statistics to a specific year or includes all years if `all` is provided. If no year is provided the application displays the data of the current year.
* **Example** :

```
python wuff.py --year 2022 stats 
```

---

### 3. Create a Random Dog Profile

```
python wuff.py [--year] create
```

* **Description** : Generate a random dog profile, including:
* Name.
* Birth year.
* Gender.
* Media file (image or video).
* **Parameters** :
* `--output-dir / -o`: (Optional) Specifies the directory to save the media file. Defaults to the current directory.
* **Example** :

```
python wuff.py create --output-dir ./dog_images
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "cli-mit-wuff-und-wau-sandra-gufler",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "CLI, dog registry, statistics, random generation",
    "author": null,
    "author_email": "Sandra <non.of@you.business>",
    "download_url": "https://files.pythonhosted.org/packages/e0/d1/d199fdaaf8a97fc5f5bda3039aae97db3bf3721f1fb26ace5324eae4566d/cli_mit_wuff_und_wau_sandra_gufler-0.1.1.tar.gz",
    "platform": null,
    "description": "# Welcome to **CLI mit Wuff und Wau**, a command-line tool designed to explore Z\u00fcrich's open dog data in a fun and engaging way! This tool allows you to:\n\n## Project Overview\n\nThis project is a Command-Line Interface (CLI) tool designed to interact with Zurich's public dog registry. It allows users to:\n\n* **Search for Dogs by Name** : Retrieve information about dogs registered under a specific name.\n* **Analyze Dog Data** : Generate insightful statistics, such as the most common dog names, gender distribution, and name lengths.\n* **Create Random Dogs** : Simulate a new dog profile with attributes derived from the registry, including a downloadable media file.\n\nThe tool utilizes Python and integrates various libraries like `Click`, `Rich`, `UV`, `Pillow` and `Requests` to provide a user-friendly experience.\n\n- Search for dogs by name and check for substrings in the names.\n- Get statistics on dog names, dog name trends, and gender distributions.\n- Generate a fictional new dog with a name, birth year, and a cute picture.\n\n## Key Features\n\n* **Dynamic Data Fetching** : Retrieves data directly from the Zurich Open Data API.\n* **Flexible Year Filtering** : Filters registry data by a specified year or aggregates data across all available years.\n* **Random Dog Profile Creation** : Combines registry data with a media file from an external API to create unique dog profiles.\n* **Interactive CLI Design** : Implements `Click` for intuitive command definitions and user interactions.\n* **Enhanced Display** : Uses `Rich` to render output in aesthetically pleasing tables.\n\n## AI Tools Usage Declaration\n\nDuring the development of this project, AI tools were used as follows:\n\n**ChatGPT** :\n\n* Used to assist in generating code snippets, structuring functions, and brainstorming solutions to align with the project requirements.\n* Provided support in adhering Python best practices during architectural planning and refactoring.\n* Suggested approaches for handling edge cases and improving user experience in the CLI design.\n* Its outputs were critically reviewed and significantly modified to suit the project's unique requirements and constraints.\n\n## Personal Contributions\n\nWhile AI tools were used as supplementary aids, I was heavily involved in all decision-making processes and core aspects of the project, including:\n\n* Designing the overall architecture and ensuring it adhered to best practices and SOLID principles.\n* Writing and refining the main functionality of the CLI tool:\n\n  * Search for dogs using specific criteria.\n  * Analyze and display statistical data about the dog registry.\n  * Generate randomized dog profiles.\n  * Wrote code to fetch and filter data dynamically from the Z\u00fcrich Open Data API.\n* Ensuring compliance with project requirements, error handling, and usability considerations.\n* Reviewing, manually testing, and optimizing all AI-generated code to meet the quality standards expected in the course.\n* Managing the Git repository, ensuring proper commit history.\n\n## Transparency and Compliance\n\nThis declaration ensures transparency regarding AI tool usage and compliance with the **OST Examination and Study Regulations** (Art. 37) and  **AI Guidelines** . All AI-generated outputs were critically evaluated, customized, and integrated into the project.\n\n## **Installation**\n\n1. Clone the repository to your local machine.\n2. Install dependencies using ???.\n3. Run the CLI using the commands described below.\n\n## Commands and Usage\n\nThe CLI tool `wuff.py` provides the following commands for interacting with Z\u00fcrich's dog registry data:\n\n### Global Options\n\n* `--year`, `-y`:\n  * Filters the data by the specified year in `YYYY` format.\n  * Use `all` to include data from all years.\n  * Defaults to the current year.\n\n---\n\n### 1. Find Dogs by Name\n\n```\npython wuff.py [--year] find <name>\n\n```\n\n* **Description** : Search for dogs with a given name.\n* **Parameters** :\n* `<name>`: The name of the dog to search for.\n* `--year / -y`: (Optional) Filters results by the specified year or includes all years if `all` is provided. If no year is provided the application displays the data of the current year.\n* You will be prompted if you want to search for an exact match or if you want to find all names that include the substring you provide.\n* **Example** :\n\n```\npython wuff.py -y 2023 find Luna \n```\n\n---\n\n### 2. Show Dog Statistics\n\n```\npython wuff.py [--year] stats \n```\n\n* **Description** : Display statistical data about the dog registry, such as:\n* Total dogs.\n* Top 10 most common names.\n* Longest and shortest names.\n* Gender distribution.\n* **Parameters** :\n* `--year / -y` : (Optional) Filters statistics to a specific year or includes all years if `all` is provided. If no year is provided the application displays the data of the current year.\n* **Example** :\n\n```\npython wuff.py --year 2022 stats \n```\n\n---\n\n### 3. Create a Random Dog Profile\n\n```\npython wuff.py [--year] create\n```\n\n* **Description** : Generate a random dog profile, including:\n* Name.\n* Birth year.\n* Gender.\n* Media file (image or video).\n* **Parameters** :\n* `--output-dir / -o`: (Optional) Specifies the directory to save the media file. Defaults to the current directory.\n* **Example** :\n\n```\npython wuff.py create --output-dir ./dog_images\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A CLI tool and library for Z\u00fcrich's dog registry analysis and management",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "cli",
        " dog registry",
        " statistics",
        " random generation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "314dd2201d414c03990260c778bc294d73c4fee00fe35c75b7e815f83e5f6fe5",
                "md5": "18ec2106e24f916f862029f9bba4c048",
                "sha256": "3f02d952b0982f1874d30c3877b24d34d700f65cdb6eef734dec95adba789aad"
            },
            "downloads": -1,
            "filename": "cli_mit_wuff_und_wau_sandra_gufler-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "18ec2106e24f916f862029f9bba4c048",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 14217,
            "upload_time": "2024-12-10T19:18:41",
            "upload_time_iso_8601": "2024-12-10T19:18:41.701051Z",
            "url": "https://files.pythonhosted.org/packages/31/4d/d2201d414c03990260c778bc294d73c4fee00fe35c75b7e815f83e5f6fe5/cli_mit_wuff_und_wau_sandra_gufler-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0d1d199fdaaf8a97fc5f5bda3039aae97db3bf3721f1fb26ace5324eae4566d",
                "md5": "f67b0c803c2afa251e08e8df51f685eb",
                "sha256": "bb53c3e4f80ea8b3fc80cc7d9dc46445ac1a7a6448b96627073d385c359a86cf"
            },
            "downloads": -1,
            "filename": "cli_mit_wuff_und_wau_sandra_gufler-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f67b0c803c2afa251e08e8df51f685eb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 12433,
            "upload_time": "2024-12-10T19:18:44",
            "upload_time_iso_8601": "2024-12-10T19:18:44.202628Z",
            "url": "https://files.pythonhosted.org/packages/e0/d1/d199fdaaf8a97fc5f5bda3039aae97db3bf3721f1fb26ace5324eae4566d/cli_mit_wuff_und_wau_sandra_gufler-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-10 19:18:44",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "cli-mit-wuff-und-wau-sandra-gufler"
}
        
Elapsed time: 0.44205s