This repository contains the BookBot project, developed as part of the Boot.dev course. The goal of this project is to create a Python-based CLI tool that analyzes text files, reinforcing core programming and text-processing concepts.
- Word Count: Calculate the total number of words in a text file.
- Character Analysis: Identify and count unique characters and their occurrences.
- Text Insights: Provide meaningful statistics about the text, such as word frequency.
- File Handling: Efficiently read and process text files.
- Customizable Analysis: Easily extend the functionality for deeper text analysis.
- Python: Core programming language for development.
- File I/O: Reading and writing files in Python.
- CLI Design: Simple and intuitive command-line interface.
- Unit Testing: Ensuring reliability with Python's
unittest
framework.
- Parsing and analyzing text files programmatically.
- Using Pythonβs built-in libraries for efficient file and string manipulation.
- Designing user-friendly CLI tools.
- Writing clean and maintainable Python code.
- Implementing and running unit tests to ensure functionality.
Unit tests were written to validate:
- Accurate word and character counts.
- Proper handling of empty or malformed files.
- Correct text statistics and analysis results.
Run tests with:
python -m unittest discover tests
The BookBot project was built to strengthen my Python development skills by:
- Practicing text processing and data analysis.
- Building a functional CLI tool with real-world applications.
- Learning to write robust and reusable code.
βββ bookbot/ # Core logic of the application
βββ cmd/ # Command-line interface
βββ tests/ # Unit tests
βββ README.md # Project documentation
Feel free to explore, test, and contribute to this project! π