{"id":23063408,"url":"https://github.com/yelmuratoff/ispect","last_synced_at":"2025-08-24T08:30:39.835Z","repository":{"id":232076634,"uuid":"783419492","full_name":"yelmuratoff/ispect","owner":"yelmuratoff","description":"Wrapper around Inspector, Talker and etc","archived":false,"fork":false,"pushed_at":"2024-12-12T05:24:03.000Z","size":5999,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-12T06:25:25.062Z","etag":null,"topics":["dart","device-info","flutter","helper","inspector","ispect","logger","package-info","performance-tracker","tools"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/ispect","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yelmuratoff.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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":"2024-04-07T20:40:15.000Z","updated_at":"2024-12-02T19:27:29.000Z","dependencies_parsed_at":"2024-05-12T12:25:36.210Z","dependency_job_id":"f65d9f52-2132-44eb-9daf-e27d0fe73463","html_url":"https://github.com/yelmuratoff/ispect","commit_stats":null,"previous_names":["k1yoshisho/ispect","yelmuratoff/ispect"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelmuratoff%2Fispect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelmuratoff%2Fispect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelmuratoff%2Fispect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yelmuratoff%2Fispect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yelmuratoff","download_url":"https://codeload.github.com/yelmuratoff/ispect/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230785872,"owners_count":18279937,"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":["dart","device-info","flutter","helper","inspector","ispect","logger","package-info","performance-tracker","tools"],"created_at":"2024-12-16T04:09:34.257Z","updated_at":"2025-08-24T08:30:39.823Z","avatar_url":"https://github.com/yelmuratoff.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/ispect.png?raw=true\" width=\"400\"\u003e\n  \n  \u003cp\u003e\u003cstrong\u003eLogging and inspection tool for Flutter development and testing\u003c/strong\u003e\u003c/p\u003e\n  \n  \u003cp\u003e\n    \u003ca href=\"https://pub.dev/packages/ispect\"\u003e\n      \u003cimg src=\"https://img.shields.io/pub/v/ispect.svg\" alt=\"pub version\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\n      \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"License: MIT\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/yelmuratoff/ispect\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/stars/yelmuratoff/ispect?style=social\" alt=\"GitHub stars\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n  \n  \u003cp\u003e\n    \u003ca href=\"https://pub.dev/packages/ispect/score\"\u003e\n      \u003cimg src=\"https://img.shields.io/pub/likes/ispect?logo=flutter\" alt=\"Pub likes\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pub.dev/packages/ispect/score\"\u003e\n      \u003cimg src=\"https://img.shields.io/pub/points/ispect?logo=flutter\" alt=\"Pub points\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## 🔍 Overview\n\n\u003e **ISpect** is the main debugging and inspection toolkit designed specifically for Flutter applications.\n\n\u003cdiv align=\"center\"\u003e\n\n📊 **Real-time Monitoring** • 🐛 **Debugging** • 🔍 **Inspection** • ⚡ **Performance Tracking**\n\n\u003c/div\u003e\n\nISpect empowers Flutter developers with a suite of debugging tools that seamlessly integrate into your development workflow. From monitoring HTTP requests in real-time to tracking performance metrics and managing application state, ISpect provides an intuitive interface that makes debugging efficient and insightful.\n\n### 🎯 Key Features\n\n- 🌐 **Network Monitoring**: Detailed HTTP request/response inspection with error tracking\n- 📝 **Logging**: Advanced logging system with categorization and filtering\n- ⚡ **Performance Analysis**: Real-time performance metrics and monitoring\n- 🔍 **UI Inspector**: Widget hierarchy inspection with color picker and layout analysis\n- 📱 **Device Information**: System and app metadata collection\n- 🐛 **Bug Reporting**: Integrated feedback system with screenshot capture\n- 🗄️ **Cache Management**: Application cache inspection and management\n\n## 🏗️ Architecture\n\nISpect is built as a modular system with specialized packages:\n\n| Package | Purpose | Version |\n|---------|---------|---------|\n| [ispect](packages/ispect) | Core debugging interface and tools | [![pub](https://img.shields.io/pub/v/ispect.svg)](https://pub.dev/packages/ispect) |\n| [ispectify](packages/ispectify) | Foundation logging system (based on Talker) | [![pub](https://img.shields.io/pub/v/ispectify.svg)](https://pub.dev/packages/ispectify) |\n| [ispectify_dio](packages/ispectify_dio) | Dio HTTP client integration | [![pub](https://img.shields.io/pub/v/ispectify_dio.svg)](https://pub.dev/packages/ispectify_dio) |\n| [ispectify_http](packages/ispectify_http) | Standard HTTP client integration | [![pub](https://img.shields.io/pub/v/ispectify_http.svg)](https://pub.dev/packages/ispectify_http) |\n| [ispectify_bloc](packages/ispectify_bloc) | BLoC state management integration | [![pub](https://img.shields.io/pub/v/ispectify_bloc.svg)](https://pub.dev/packages/ispectify_bloc) |\n| [ispect_jira](packages/ispect_jira) | Jira ticket creation integration | [![pub](https://img.shields.io/pub/v/ispect_jira.svg)](https://pub.dev/packages/ispect_jira) |\n\n## 🌐 Internationalization\n- Support for 12 languages: English, Russian, Kazakh, Chinese, Spanish, French, German, Portuguese, Arabic, Korean, Japanese, Hindi\n- Extensible localization system\n\n## 📱 Interface Preview\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/panel.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/logs.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/detailed_http_request.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/detailed_http_response.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/inspector.png?raw=true\" width=\"160\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/color_picker.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/feedback.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/cache.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/device_info.png?raw=true\" width=\"160\" /\u003e\n  \u003cimg src=\"https://github.com/yelmuratoff/packages_assets/blob/main/assets/ispect/info.png?raw=true\" width=\"160\" /\u003e\n\u003c/div\u003e\n\n## 📦 Installation\n\nAdd ispect to your `pubspec.yaml`:\n\n```yaml\ndependencies:\n  ispect: ^4.1.4\n```\n\n## 🚀 Quick Start\n\n```dart\nimport 'package:flutter/material.dart';\nimport 'package:ispect/ispect.dart';\n\nvoid main() {\n  // Initialize ISpectify for logging\n  final ISpectify logger = ISpectifyFlutter.init();\n\n  // Wrap your app with ISpect\n  ISpect.run(\n    () =\u003e runApp(MyApp()),\n    logger: logger,\n  );\n}\n\nclass MyApp extends StatelessWidget {\n  const MyApp({super.key});\n\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      localizationsDelegates: ISpectLocalizations.localizationDelegates([\n        // Add your localization delegates here\n      ]),\n      builder: (context, child) =\u003e ISpectBuilder(\n        child: child ?? const SizedBox.shrink(),\n      ),\n      home: Scaffold(\n        appBar: AppBar(title: const Text('ISpect Example')),\n        body: Center(\n          child: ElevatedButton(\n            onPressed: () {\n              ISpect.logger.info('Button pressed!');\n            },\n            child: const Text('Press me'),\n          ),\n        ),\n      ),\n    );\n  }\n}\n```\n\n## ⚙️ Advanced Configuration\n\n### 🎨 Custom Theming\n\n```dart\nMaterialApp(\n  builder: (context, child) =\u003e ISpectBuilder(\n    theme: ISpectTheme(\n      pageTitle: 'Your name here',\n      lightBackgroundColor: Colors.white,\n      darkBackgroundColor: Colors.black,\n      lightDividerColor: Colors.grey.shade300,\n      darkDividerColor: Colors.grey.shade800,\n      logColors: {\n        'error': Colors.red,\n        'info': Colors.blue,\n      },\n      logIcons: {\n        'error': Icons.error,\n        'info': Icons.info,\n      },\n      logDescriptions: [\n        LogDescription(\n          key: 'riverpod-add',\n          isDisabled: true,\n        ),\n        LogDescription(\n          key: 'riverpod-update',\n          isDisabled: true,\n        ),\n        LogDescription(\n          key: 'riverpod-dispose',\n          isDisabled: true,\n        ),\n        LogDescription(\n          key: 'riverpod-fail',\n          isDisabled: true,\n        ),\n      ],\n    ),\n    child: child ?? const SizedBox.shrink(),\n  ),\n  /* ... */\n)\n```\n\n### 🎛️ Panel Customization\n\n```dart\nMaterialApp(\n  builder: (context, child) =\u003e ISpectBuilder(\n    options: ISpectOptions(\n      locale: const Locale('your_locale'),\n      isFeedbackEnabled: true,\n      actionItems: [\n        ISpectActionItem(\n            onTap: (BuildContext context) {},\n            title: 'Some title here',\n            icon: Icons.add),\n      ],\n      panelItems: [\n        ISpectPanelItem(\n          enableBadge: false,\n          icon: Icons.settings,\n          onTap: (context) {\n            // Handle settings tap\n          },\n        ),\n      ],\n      panelButtons: [\n        ISpectPanelButtonItem(\n            icon: Icons.info,\n            label: 'Info',\n            onTap: (context) {\n              // Handle info tap\n            }),\n      ],\n    ),\n    child: child ?? const SizedBox.shrink(),\n  ),\n  /* ... */\n)\n```\n\n## 📚 Examples\n\nComplete example applications are available in the [example/](example/) directory demonstrating core functionality.\n\n## 🏗️ Architecture\n\nISpect is built as a modular system with specialized packages:\n\n| Package | Purpose | Version |\n|---------|---------|---------|\n| [ispect](../ispect) | Core debugging interface and tools | [![pub](https://img.shields.io/pub/v/ispect.svg)](https://pub.dev/packages/ispect) |\n| [ispectify](../ispectify) | Foundation logging system (based on Talker) | [![pub](https://img.shields.io/pub/v/ispectify.svg)](https://pub.dev/packages/ispectify) |\n| [ispectify_dio](../ispectify_dio) | Dio HTTP client integration | [![pub](https://img.shields.io/pub/v/ispectify_dio.svg)](https://pub.dev/packages/ispectify_dio) |\n| [ispectify_http](../ispectify_http) | Standard HTTP client integration | [![pub](https://img.shields.io/pub/v/ispectify_http.svg)](https://pub.dev/packages/ispectify_http) |\n| [ispectify_bloc](../ispectify_bloc) | BLoC state management integration | [![pub](https://img.shields.io/pub/v/ispectify_bloc.svg)](https://pub.dev/packages/ispectify_bloc) |\n| [ispect_jira](../ispect_jira) | Jira ticket creation integration | [![pub](https://img.shields.io/pub/v/ispect_jira.svg)](https://pub.dev/packages/ispect_jira) |\n\n## 🤝 Contributing\n\nContributions are welcome! Please read our [contributing guidelines](../../CONTRIBUTING.md) and submit pull requests to the main branch.\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🔗 Related Packages\n\n- [ispectify](../ispectify) - Foundation logging system\n- [ispectify_dio](../ispectify_dio) - Dio HTTP client integration\n- [ispectify_http](../ispectify_http) - Standard HTTP client integration\n- [ispectify_bloc](../ispectify_bloc) - BLoC state management integration\n- [ispect_jira](../ispect_jira) - Jira ticket creation integration\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003eBuilt with ❤️ for the Flutter community\u003c/p\u003e\n  \u003ca href=\"https://github.com/yelmuratoff/ispect/graphs/contributors\"\u003e\n    \u003cimg src=\"https://contrib.rocks/image?repo=yelmuratoff/ispect\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyelmuratoff%2Fispect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyelmuratoff%2Fispect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyelmuratoff%2Fispect/lists"}