{"id":26511246,"url":"https://github.com/abdurrehman2003/personal-library-manager","last_synced_at":"2025-03-21T02:30:17.683Z","repository":{"id":282550684,"uuid":"948952152","full_name":"Abdurrehman2003/personal-library-manager","owner":"Abdurrehman2003","description":"A simple, text-based Python application designed to help users manage their personal book library. The application allows users to add, remove, search, and display books, as well as track their reading status. Data is stored locally in a text file, making it easy to use and manage.","archived":false,"fork":false,"pushed_at":"2025-03-15T11:09:49.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T11:29:04.278Z","etag":null,"topics":["bookcollection","booklovers","librarysoftware","personallibrarymanager","pythonproject","readingisfun","textbasedapplication"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abdurrehman2003.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-15T10:38:21.000Z","updated_at":"2025-03-15T11:09:52.000Z","dependencies_parsed_at":"2025-03-15T11:42:11.915Z","dependency_job_id":null,"html_url":"https://github.com/Abdurrehman2003/personal-library-manager","commit_stats":null,"previous_names":["abdurrehman2003/personal-library-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdurrehman2003%2Fpersonal-library-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdurrehman2003%2Fpersonal-library-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdurrehman2003%2Fpersonal-library-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abdurrehman2003%2Fpersonal-library-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abdurrehman2003","download_url":"https://codeload.github.com/Abdurrehman2003/personal-library-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244725198,"owners_count":20499554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bookcollection","booklovers","librarysoftware","personallibrarymanager","pythonproject","readingisfun","textbasedapplication"],"created_at":"2025-03-21T02:30:16.973Z","updated_at":"2025-03-21T02:30:17.671Z","avatar_url":"https://github.com/Abdurrehman2003.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library Manager CLI\n\n![Python](https://img.shields.io/badge/Python-3.8%2B-blue) ![License](https://img.shields.io/badge/License-MIT-green)\n\nA command-line application to manage your personal book library. This Python-based tool allows you to add, remove, search, and display books, as well as view statistics about your library. It also features file handling to automatically save and load your library data.\n\n---\n\n## Features\n\n- **Add a Book**: Store book details such as title, author, publication year, genre, and read status.\n- **Remove a Book**: Delete books by their title.\n- **Search for a Book**: Search books by title or author.\n- **Display All Books**: View all stored books in a formatted list.\n- **Display Statistics**: Get insights into the total number of books and the percentage of books read.\n- **Save and Load Library**: Automatically saves your library to `library.txt` when exiting and reloads it upon restart.\n\n---\n\n## Requirements\n\n- Python 3.8 or higher\n- No additional libraries or dependencies required\n\n---\n\n## Installation\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/Abdurrehman2003/library-manager-cli.git\n   ```\n2. Navigate to the project directory:\n   ```bash\n   cd library-manager-cli\n   ```\n\n---\n\n## Usage\n\n1. Run the program:\n   ```bash\n   python library_manager.py\n   ```\n2. Follow the on-screen menu to manage your library:\n   ```\n   Welcome to your Personal Library Manager!\n   1. Add a book\n   2. Remove a book\n   3. Search for a book\n   4. Display all books\n   5. Display statistics\n   6. Exit\n   Enter your choice:\n   ```\n3. Choose an option to add, remove, search, or view books.\n4. Your library data is automatically saved to `library.txt` upon exit.\n\n---\n\n## File Handling\n\nThe program automatically saves your library data to a file named `library.txt` in the same directory as the script.  \n\n- **First Run**: If `library.txt` does not exist, the program starts with an empty library.  \n- **Subsequent Runs**: The program loads data from `library.txt` if available.\n\n---\n\n## Example Workflow\n\n### **Adding a Book**\n```\nEnter the book title: The Great Gatsby\nEnter the author: F. Scott Fitzgerald\nEnter the publication year: 1925\nEnter the genre: Fiction\nHave you read this book? (yes/no): yes\nBook added successfully!\n```\n\n### **Displaying All Books**\n```\nYour Library:\n1. The Great Gatsby by F. Scott Fitzgerald (1925) - Fiction - Read\n2. 1984 by George Orwell (1949) - Dystopian - Unread\n```\n\n### **Displaying Statistics**\n```\nTotal books: 2\nPercentage read: 50.0%\n```\n\n### **Exiting**\n```\nLibrary saved to file. Goodbye!\n```\n\n---\n\n## Contributing\n\nContributions are welcome! If you'd like to contribute, follow these steps:\n1. Fork the repository.\n2. Create a new branch for your feature or bugfix.\n3. Commit your changes.\n4. Push your branch to your forked repository.\n5. Submit a pull request.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\n## Acknowledgments\n\n- Inspired by the need for a simple, command-line-based library management tool.\n- Built with Python for ease of use and accessibility.\n\n---\n\n## Contact\n\nFor questions or feedback, reach out via:  \n📧 Email: [abdulrehmanbinadeem@gmail.com](mailto:abdulrehmanbinadeem@gmail.com)  \n🔗 LinkedIn: [Abdul Rehman](https://www.linkedin.com/in/abdulrehman-genai-engineer/)\n\u003cbr\u003e \n\u003cbr\u003e \n\n\n## ⭐ If you like this project, please consider giving it a star! ⭐\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdurrehman2003%2Fpersonal-library-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdurrehman2003%2Fpersonal-library-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdurrehman2003%2Fpersonal-library-manager/lists"}