Abstract
Krisk is an open-source Data Science project. Statistical Interactive Visualization with pandas+Jupyter integration on top of Echarts. Krisk is a Python charting library and a local MCP research server. It combines the notebook workflow from Chartics with the live-server ideas from Flarisk in one package, without requiring either project as a dependency. It is built using Python, Jupyter Notebook. The complete source code is publicly available on GitHub under the BSD 3-Clause "New" or "Revised" License, making it a useful reference for students building a Data Science mini project or final-year project.
1. Introduction
Krisk is a Python charting library and a local MCP research server. It combines the notebook workflow from Chartics with the live-server ideas from Flarisk in one package, without requiring either project as a dependency.
Krisk 0.9.0 is an unpublished, local-first beta. Traditional notebook charting does not require a server, MCP client, PostgreSQL, or even Krisk's internal SQLite database.
See the end-to-end tutorial and typed chart reference for more chart kinds and options.
2. Objective
Statistical Interactive Visualization with pandas+Jupyter integration on top of Echarts.
This project demonstrates how Python, Jupyter Notebook can be applied to a real-world Data Science problem.
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Python 3.8 or later
- pip / virtualenv for dependencies
- VS Code, PyCharm or Jupyter Notebook
- Python 3.8 or later with Jupyter Notebook / JupyterLab (or Google Colab)
- pip for dependencies
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/napjon/krisk.git
cd kriskimport pandas as pd
from krisk import Chart, ChartSpec
sales = pd.DataFrame(
{
"month": ["Jan", "Feb", "Mar"],
"revenue": [82, 93, 112],
}
)
chart = Chart.from_dataframe(
sales,
ChartSpec(
kind="area",
x="month",
y="revenue",
aggregate="sum",
title="Revenue trend",
description="Monthly recorded revenue",
smooth=True,
),
)
chart # rich inline output in Jupyterchart.to_html("revenue.html")import krisk.plot as kk
kk.bar(sales, "month", y="revenue", how="sum")
kk.pie(sales, "month", y="revenue", how="sum")
kk.number(sales, "revenue", how="sum")git clone https://github.com/napjon/krisk.git
cd krisk
uv sync --extra dev
uv run krisk demoFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Turn the analysis into an interactive dashboard
- Automate data refresh with a scheduled job
- Add a predictive model on top of the analysis
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- What is the source of the dataset and how was missing data handled?
- Which exploratory analysis steps revealed the most useful insight?
- Why were these particular charts chosen to present the data?
- Which statistical or ML technique supports the conclusions?
- How could the analysis be automated or refreshed with new data?
9. Source Code & License
This project is developed by napjon and published on GitHub under the BSD 3-Clause "New" or "Revised" License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Data Science project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Data Science Internship