Overview
My DataViewer Package ๐ฅ๏ธ
My DataViewer : A Lightweight Real-Time Interactive Data Viewer IDE for Python
Inspired by the Stata browser,My DataViewer is a lightweight, interactive data viewer IDE for Pyhton built with PyQt5, designed for real-time manipulation and exploration of pandas DataFrames. Featuring real-time reflection of changes to your datasets, My DataViewer offers a lightweight, intuitive way to explore and analyze full dataframes.
An Overview of browse in Stata
- browse in Stata opens a window that displays your dataset in a spreadsheet-like view. It allows you to see the dataset, scroll through it, and interactively examine variables and their values.
Interactivity in Stata's browse:
-
Live, Real-time Reflection: Any changes you make to the dataset (e.g., adding variables, modifying values) are automatically reflected in the
browsewindow without needing to close and reopen the window. -
Read-Only by Default: The browse command is read-only by default, so you canโt modify values directly in the viewer unless you switch to edit mode.
-
View Subsets of Data: You can specify subsets of the data to view (e.g., certain variables or observations).
Integrated features in My DataViewer package:
- Real-time dataset updates: Automatically reflects changes in the DataFrame as you manipulate it.
- Embedded
IPython console: Execute Python code and interact with your data directly within the viewer. - Search and filter dataframe: Easily search and filter your data, with results reflected in real time.
- Check and scroll through the whole dataframe: Allows the user to inspect the whole dataframe ensuring the changes are correctly executed.
- Custom themes and fonts: Switch between selected themes and fonts for a personalized experience.
- Split-view layout: Includes a variable table and the main data view, allowing for easy navigation of variables and their types.
A quick comaprison between Stata browse and RStudio View()
| Feature | Stata browse | RStudio View() |
|---|---|---|
| Real-time reflection of changes | Yes โ automatically updates with changes | No โ requires a manual refresh (View() again) |
| Read-Only by default | Yes (but can switch to edit mode) | Yes (no edit mode available) |
| Interactive editing | Yes, if you switch to edit mode | No |
| Filtering/Subset view | Yes, allows viewing subsets of variables/rows | Requires filtering beforehand, not interactive |
| Customizable views | Yes, can display specific columns/rows | Requires code to subset data, then view |
| Viewer format | Standalone window (outside the main Stata UI) | Integrated as a tab within RStudio |
A comparison with Stata browse, RStudio View(), and My DataViewer
| Feature | Stata browse |
RStudio View() |
My DataViewer package |
|---|---|---|---|
| Real-time reflection of changes | Yes โ automatically updates with data changes | No โ must manually refresh the view | Yes โ real-time updates are supported via observable DataFrame |
| Read-Only by default | Yes (can switch to edit mode) |
Yes (no direct editing in the viewer) | Yes, read-only but with real-time updates |
| Interactive editing | Yes, if you switch to edit mode |
No | No direct editing in the viewer, editing must be done programmatically |
| Viewing subsets of data | Yes, easily view subsets of variables/rows | Yes, but requires filtering the data manually | Yes, filtering implemented using search functionality in real time |
| Window integration | Standalone window (outside Stataโs main interface) | Integrated tab in RStudio | Integrated window in PyQt5, with split views and dockable widgets |
| Sorting and filtering in viewer | Yes, sortable columns and filter rows interactively | Limited sorting/filtering functionality | Yes, with header-click sorting and real-time search and filtering |
| Customizable views | Yes, can select specific columns/rows | Requires prior filtering in code | Customizable through filtering and real-time search features |
| Console integration | No embedded console | No embedded console | Yes, embedded IPython console for live data manipulation |
| Custom themes | No | No | Yes, switchable light/dark themes and custom fonts |
| Jupyter integration | No | No | Yes, updates Jupyter kernel namespace if running inside Jupyter |
License
Released under the MIT License:
Copyright (C) 2024 mydataviewer-GUI
Developed by: Mohsen Askar ceaser198511@gmail.com