Skip to main content

A Python library designed to analyze academic behavior and productivity patterns based on students’ task timestamps.

Project description

DataHabit

DataHabit — Academic Behavior Analyzer (OOP Python library)

Project Overview

DataHabit is a Python library designed to analyze academic behavior and productivity patterns based on students’ task timestamps. It reads submission records, detects time-based habits, and classifies users according to their working style—such as procrastinator, steady worker, or early finisher. By using data-driven insights, the library helps students and educators understand academic performance trends and improve time-management strategies.

Objectives

The main goal of DataHabit is to provide a simple yet powerful tool for analyzing and visualizing study habits through timestamp data. Specifically, it aims to:

  1. Process and interpret task submission timestamps to identify behavioral patterns.
  2. Classify students according to their productivity and consistency levels.
  3. Generate summary reports and visualizations that reflect weekly academic activity.
  4. Encourage self-reflection and better academic planning through data analytics.
  5. Offer a reusable, open-source Python package that demonstrates Object-Oriented Programming (OOP) concepts applied to real-world data science.

Features

Timestamp Analyzer — classifies submissions as early, on-time, or late.

Behavior Classifier — categorizes students (e.g., Procrastinator, Consistent Worker) based on submission patterns.

Productivity Summary — computes weekly activity metrics such as average submission gaps and submission counts.

Visualizer — generates simple graphs to show time-based behavior and activity trends.

Data Cleaner / Utility — fixes missing timestamps and resolves incorrect date formats.

Deadline Predictor — estimates the next expected submission date based on historical delays.

Pattern Detector — identifies the usual submission time of day (e.g., night-owl or early-bird patterns).

Difficulty Estimator — highlights tasks with the longest delays to indicate potential difficulty levels.

Habit Score Generator — computes a combined score based on delay patterns, consistency, and task difficulty.

Report Generator — produces clean, structured summaries that can be exported as JSON or printed for review.

Installation

pip install datahabit

Example usage

from datahabit import (
    TaskData,
    DataCleaner,
    BehaviorAnalyzer
)

tasks = [
    TaskData("Quiz 1", "2024-10-01 23:59", "2024-10-01 21:30"),
    TaskData("Assignment", "2024-10-05 23:59", "2024-10-06 01:10")
]

clean = DataCleaner().clean(tasks)
analyze = BehaviorAnalyzer(clean).classify()

print(analyze)

Module descriptions

Module Description
behavior_analyzer.py Groups all behavior-related features, including behavior classification, pattern detection, difficulty estimation, habit scoring, and general performance analysis. Identifies trends such as procrastination, consistency, night-owl patterns, and problem tasks.
data_cleaner.py Cleans and preprocesses raw task data by fixing missing timestamps, correcting invalid date formats, and standardizing input before analysis.
task_data.py Stores and manages task information (deadlines, submission times, task names) and provides structured data used by all analyzers and predictors.
visualizer.py Generates visual graphs (line charts, bar charts, timelines) to show submission patterns, productivity trends, and behavior insights.

Contributors

Name Role / Position Main Contribution
Dahe, Aira Grettel C. Project Lead / GitHub Manager Repository setup, documentation, testing
Dellosa, Karylle L. Concept Proposer / Main Coder Core analysis functions
Hayag, Carmel Mariane T. Documentation Writer README creation and narrative reports
Java, Armisty Genia L. Visualization Developer Graphs, plots, and visual output designs
Trillo, Rodney G. Data Handler Timestamp processing and data cleaning

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datahabit-0.1.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datahabit-0.1.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file datahabit-0.1.1.tar.gz.

File metadata

  • Download URL: datahabit-0.1.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for datahabit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ab9ee4ff1f6311785b78e5eff9463b6e08bcee6861338ab85460b06b6d1b6a20
MD5 aaa851407ff5a2d40349e4da9a988500
BLAKE2b-256 b1311cb7d278c1fd8974144bc52f3560af73d6a11213808d67727f87106f454f

See more details on using hashes here.

File details

Details for the file datahabit-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: datahabit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for datahabit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e9fc2a402b33aaa15085a3a5f1535bae663ecf119c63d29ff91e86d4c7c749e
MD5 6c5805a49a1a456fb1d901831e0fd330
BLAKE2b-256 52bf53c7c43994a730c75942deed034de63e29de0a0ddbb1743a9fe7d0c00f5a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page