SeeNumPy is a Flask-based web application designed to offer flexible and intuitive visualisations for multi-dimensional NumPy arrays. This project focuses on providing users with a variety of tools and options to explore, customise, and analyse their data interactively. Whether you're working with simple 2D arrays or more complex 3D structures, SeeNumPy enables seamless exploration through a highly interactive UI.
Flask tutorial used: Web Development with Python Tutorial – Flask & Dynamic Database-Driven Web Apps
-
Upload & Validate
.npz
Files- Supports multiple arrays within a single
.npz
file. - Ensures all arrays are numeric and meet visualisation requirements.
- Supports multiple arrays within a single
-
Dynamic & Flexible Visualisations
- Array-Like Display: Intuitively explore arrays with structured expansion (downward, then rightward). (TODO)
- Custom Views:
- Switch between table views and transparent cube-like visualisations for 3D arrays. (TODO)
- Enable heatmap views to represent data visually. (TODO)
- User-Controlled Collapse/Aggregation: Choose specific levels to collapse and apply aggregations like sum, mean, or custom calculations dynamically. (TODO)
-
Aggregations & Insights
- Compute and display sum, mean, count, and other stats at different levels.
- Aggregations adjust dynamically as users expand or collapse data.
-
Reset & Start Fresh
- A dedicated reset button clears the interface for a new session.
Ensure you have Python 3.13 installed along with the required dependencies.
- Clone the Repository
git clone https://github.com/wayfinderza/see_numpy cd seenumpy
- Create a Virtual Environment
python -m venv .venv .venv\Scripts\Activate
- Install Dependencies
pip install -r requirements.txt
- Run the Flask App
python app.py
- Navigate to the Web App
- Open the web app.
- Upload a
.npz
file containing one or more multi-dimensional arrays. - Select an array to explore from the list of uploaded arrays.
- Use the expand/collapse controls to navigate through dimensions.
- Choose from different view modes (e.g., heatmap, cube, table).
- Apply aggregations or custom calculations at the desired levels.
- Reset the session to begin a new exploration.
We are committed to expanding SeeNumPy's capabilities with more visualisation options and enhanced flexibility.
📌 Track Our Progress: GitHub Project Board