Skip to main content

IDMD - Interactive Data Manipulator and Descriptor

Project description

Interactive Data Manipulator and Descriptor (IDMD)

Overview

The Interactive Data Manipulator and Descriptor (IDMD) is a Python package designed for interactive data exploration, manipulation, visualization, and reporting. It provides a modular structure for handling datasets, making it easy to extend and maintain. (Scientific Python course at PPCU - project work)

idmd chart

Dependencies

The IDMD package requires the following main dependencies:

  • matplotlib
  • streamlit
  • pandas

For specific version requirements, refer to the requirements.txt file. If you are developing or contributing to the project, additional tools for code quality, formatting, linting, and testing are listed in requirements-dev.txt.


Package Structure

data Module

Handles all data-related operations, such as file uploading, dataset generation, and exporting.

  • Submodules:
    • export.py: Handles exporting datasets to CSV or other formats.
    • generator.py: Generates sample datasets with different distributions.
    • uploader.py: Handles file uploads and loading datasets.

manipulation Module

Provides functionality for manipulating datasets.

  • Submodules:
    • columns.py: Handles column-specific operations like swapping, dropping, and selecting columns.
    • replace.py: Handles value-specific operations like replacing values with mean, median, or other methods.

ui Module

Contains components for rendering the Streamlit interface.


visualization Module

Handles data visualization.

  • Submodules:
    • plots.py: Generates various types of plots (e.g., line plots, bar plots).
    • heatmaps.py: Generates correlation heatmaps.
    • histograms.py: Generates histograms.
    • visualizer.py: Utility class for generating visualizations, including line plots, histograms, and heatmaps.

report Module

Handles report generation.

  • Submodules:
    • report.py: Generates PDF reports with data and visualizations.

app.py

Orchestrates the integration of all components and runs the Streamlit application.


Features

  1. Sample Dataset Generation:

    • Generate datasets with different distributions (e.g., normal, uniform).
    • Easily create synthetic data for testing and exploration.
  2. Data Manipulation:

    • Swap, drop, and select columns.
    • Replace missing values with mean, median, or other methods.
    • Normalize or remove outliers.
  3. Data Visualization:

    • Generate interactive plots, histograms, and heatmaps.
    • Explore data visually with Streamlit's interactivity.
  4. Data Export:

    • Export processed datasets to CSV format.
  5. Report Generation:

    • Generate PDF reports with data summaries and visualizations.

Example Usage

Run the example application using:

streamlit run example_app.py

You can also explore the interactive example notebook example_app.ipynb that demonstrates:

  • Package installation
  • Creating a complete dashboard application
  • Running the app locally or on Google Colab
  • Using all major components of the package

Opening the resulting website, should show a dashboard like this: Dashboard example without data

Loading or generating data should show a similar result: Dashboard example with data 1 Dashboard example with data 2


Links

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

idmd-0.0.1.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

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

idmd-0.0.1-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file idmd-0.0.1.tar.gz.

File metadata

  • Download URL: idmd-0.0.1.tar.gz
  • Upload date:
  • Size: 28.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for idmd-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9744e3ccca31f2d079d7b57026aa0e2b34aa235de1d539891ad73e7562c10ff8
MD5 17f87e5dfd6b5a45503590f4dfe02e94
BLAKE2b-256 92a698fdb147ff3a8832cb8455d7e9f14ea8c78b39b0b5535a3411868824c802

See more details on using hashes here.

Provenance

The following attestation bundles were made for idmd-0.0.1.tar.gz:

Publisher: publish-to-testpypi.yml on CsongorLaczko/idmd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file idmd-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: idmd-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for idmd-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0cc12248a67135f872b5c0cd97b219034a505b2a023659480b9a714c7bad4ffb
MD5 6ed03952648dac7b5c0adcc08acabb9d
BLAKE2b-256 ce444f35dc8d5e11bc9ebbece1cc092af99a3097fbb5ad4c77b141e598e0bc80

See more details on using hashes here.

Provenance

The following attestation bundles were made for idmd-0.0.1-py3-none-any.whl:

Publisher: publish-to-testpypi.yml on CsongorLaczko/idmd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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