kitikiplot 0.1.7__py3-none-any.whl → 0.1.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,120 +1,128 @@
1
- Metadata-Version: 2.1
2
- Name: kitikiplot
3
- Version: 0.1.7
4
- Summary: A Python library to visualize categorical sliding window data.
5
- Home-page: https://github.com/BodduSriPavan-111/kitikiplot
6
- Author: Boddu Sri Pavan
7
- Author-email: boddusripavan111@gmail.com
8
- License: LICENSE
9
- Project-URL: Bug Tracker, https://github.com/BodduSriPavan-111/kitikiplot/issues
10
- Project-URL: Documentation, https://github.com/BodduSriPavan-111/kitikiplot/wiki
11
- Project-URL: Source Code, https://github.com/BodduSriPavan-111/kitikiplot
12
- Keywords: sliding window,sequential,time-series,genome,categorical data
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Operating System :: OS Independent
16
- Classifier: Topic :: Scientific/Engineering :: Visualization
17
- Description-Content-Type: text/markdown
18
- License-File: LICENSE
19
-
20
- ![plot](https://drive.google.com/uc?id=1kzO8VZC38-ktIezrnFvH1b7K84zGBrsL)
21
-
22
- <div align="center">
23
-
24
- ![PyPI](https://img.shields.io/pypi/v/kitikiplot?color=blueviolet)
25
- ![PyPI - Downloads](https://img.shields.io/pypi/dm/kitikiplot?color=gold)
26
- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14632005.svg)](https://doi.org/10.5281/zenodo.14632005)
27
- ![License](https://img.shields.io/github/license/BodduSriPavan-111/kitikiplot?color=green)
28
-
29
- </div>
30
-
31
- # KitikiPlot
32
- KitikiPlot is a Python library for visualizing sequential and time-series categorical "Sliding Window" data. <br>
33
- (The term 'kitiki' means 'window' in Telugu)
34
-
35
- Our preprint is published in **TechRxiv**. Find it <a href="https://www.techrxiv.org/users/877016/articles/1256589-kitikiplot-a-python-library-to-visualize-categorical-sliding-window-data"> here <a/>
36
-
37
- Research paper is published in **GIS Science Journal** Volume 12 Issue 1, 186-193, 2025 (Scopus indexed with Impact factor **6.1**). </br>
38
- Read it here: <a href="https://zenodo.org/records/14632005">https://zenodo.org/records/14632005</a>
39
- <!--
40
- ## Table of Contents</h2>
41
- - [Why Kitkiplot?](#What-and-why)
42
- - [Getting Started](#getting-started)
43
- - [Contribute](#contribute)
44
- - [Maintainer(s)](#maintainer(s))
45
- - [Citation](#citation)
46
-
47
- ## Why Kitikiplot?
48
- -->
49
-
50
- ### Examples
51
- Genome Visualization can be found in [Genome.ipynb](https://github.com/BodduSriPavan-111/kitikiplot/blob/add-comments/examples/Genome.ipynb)
52
- ![plot](https://drive.google.com/uc?id=1vpRcqUsalg64ILluCgcXfoaUfcqQfHVN)
53
- <br><br>
54
- Weather Pattern in [Weather Pattern.ipynb](https://github.com/BodduSriPavan-111/kitikiplot/blob/add-comments/examples/Weather_Pattern.ipynb)
55
- ![plot](https://drive.google.com/uc?id=1tl5XefYfBqQTap1X0iDNoY3upk0FHFni)
56
- <br><br>
57
- CO Trend in Air in [Air_Quality.ipynb](https://github.com/BodduSriPavan-111/kitikiplot/blob/add-comments/examples/Air_Quality.ipynb)
58
- ![plot](https://drive.google.com/uc?id=1LTFgNDX-OlTwkSQjsWA3x6xHRLyu_a6O)
59
- <br>
60
-
61
- ### Getting Started
62
- Install the package via pip:
63
- ```
64
- pip install kitikiplot
65
- ```
66
- #### Usage
67
- ```py
68
- from kitikiplot import KitikiPlot
69
-
70
- data = [] # DataFrame or list of sliding window data
71
-
72
- ktk= KitikiPlot( data= data )
73
-
74
- ktk.plot( display_legend= True ) # Display the legend
75
- ```
76
- Check out the complete <b>guide of customization</b> [here](https://github.com/BodduSriPavan-111/kitikiplot/blob/main/examples/Usage_Guide.ipynb).
77
-
78
- ## To-do
79
- - [ ] Streamlit Demo Interface (In Progress: app.py)
80
- - [ ] Tooltip
81
- - [ ] Interactive Plot
82
- - [ ] Multithreading to decrease plotting latency
83
- - [ ] CI/CD Pipeline
84
- - [ ] Domain-specific modules
85
- - [ ] Website for documentation
86
-
87
- Please refer <a href="https://github.com/BodduSriPavan-111/kitikiplot/blob/main/CONTRIBUTING.md">CONTRIBUTING.md</a> for <b>contributions</b> to kitikiplot.
88
-
89
- To join the Discord server for more discussion, click <a href="https://discord.gg/PQKtqm5p">here</a>
90
-
91
- ### Key Author
92
- <a href="https://www.linkedin.com/in/boddusripavan/"> Boddu Sri Pavan </a>
93
-
94
- ## Citation
95
- APA <br>
96
- > Boddu Sri Pavan, Chandrasheker Thummanagoti, & Boddu Swathi Sree. (2025). KitikiPlot A Python library to visualize categorical sliding window data. https://doi.org/10.5281/zenodo.14632005.
97
-
98
- IEEE <br>
99
- > Boddu Sri Pavan, Chandrasheker Thummanagotiand Boddu Swathi Sree, “KitikiPlot A Python library to visualize categorical sliding window data”, 2025, doi: 10.5281/zenodo.14632005.
100
-
101
- BibTeX <br>
102
- > @misc{boddu_sri_pavan_2025_14632005, <br>
103
- > author = {Boddu Sri Pavan and <br>
104
- > Chandrasheker Thummanagoti and <br>
105
- > Boddu Swathi Sree}, <br>
106
- > title = {KitikiPlot A Python library to visualize <br>
107
- > categorical sliding window data <br>
108
- > }, <br>
109
- > month = jan, <br>
110
- > year = 2025, <br>
111
- > publisher = {Zenodo}, <br>
112
- > doi = {10.5281/zenodo.14632005}, <br>
113
- > url = {https://doi.org/10.5281/zenodo.14632005}, <br>
114
- >}
115
-
116
- ## Executing Tests when contributing to kitikiplot
117
-
118
- Please refer <a href="https://github.com/BodduSriPavan-111/kitikiplot/blob/main/tests/unit_test/Readme.md">Readme.md</a> to run the tests
119
-
120
- ## Thank You !!
1
+ Metadata-Version: 2.3
2
+ Name: kitikiplot
3
+ Version: 0.1.8
4
+ Summary: A Python library to visualize categorical sliding window data.
5
+ License: MIT
6
+ Keywords: sliding window,sequential,time-series,genome,categorical data
7
+ Author: Boddu Sri Pavan
8
+ Author-email: boddusripavan111@gmail.com
9
+ Requires-Python: >=3.7,<4.0
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.7
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Scientific/Engineering :: Visualization
21
+ Project-URL: Bug Tracker, https://github.com/BodduSriPavan-111/kitikiplot/issues
22
+ Project-URL: Documentation, https://github.com/BodduSriPavan-111/kitikiplot/wiki
23
+ Project-URL: Repository, https://github.com/BodduSriPavan-111/kitikiplot
24
+ Project-URL: Source Code, https://github.com/BodduSriPavan-111/kitikiplot
25
+ Description-Content-Type: text/markdown
26
+
27
+ ![plot](https://drive.google.com/uc?id=1kzO8VZC38-ktIezrnFvH1b7K84zGBrsL)
28
+
29
+ <div align="center">
30
+
31
+ ![PyPI](https://img.shields.io/pypi/v/kitikiplot?color=blueviolet)
32
+ ![PyPI - Downloads](https://img.shields.io/pypi/dm/kitikiplot?color=gold)
33
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.14632005.svg)](https://doi.org/10.5281/zenodo.14632005)
34
+ ![License](https://img.shields.io/github/license/BodduSriPavan-111/kitikiplot?color=green)
35
+
36
+ </div>
37
+
38
+ # KitikiPlot
39
+ KitikiPlot is a Python library for visualizing sequential and time-series categorical "Sliding Window" data. <br>
40
+ (The term 'kitiki' means 'window' in Telugu)
41
+
42
+ Our preprint is published in **TechRxiv**. Find it <a href="https://www.techrxiv.org/users/877016/articles/1256589-kitikiplot-a-python-library-to-visualize-categorical-sliding-window-data"> here <a/>
43
+
44
+ Research paper is published in **GIS Science Journal** Volume 12 Issue 1, 186-193, 2025 (Scopus indexed with Impact factor **6.1**). </br>
45
+ Read it here: <a href="https://zenodo.org/records/14632005">https://zenodo.org/records/14632005</a>
46
+ <!--
47
+ ## Table of Contents</h2>
48
+ - [Why Kitkiplot?](#What-and-why)
49
+ - [Getting Started](#getting-started)
50
+ - [Contribute](#contribute)
51
+ - [Maintainer(s)](#maintainer(s))
52
+ - [Citation](#citation)
53
+
54
+ ## Why Kitikiplot?
55
+ -->
56
+
57
+ ### Examples
58
+ Genome Visualization can be found in [Genome.ipynb](https://github.com/BodduSriPavan-111/kitikiplot/blob/add-comments/examples/Genome.ipynb)
59
+ ![plot](https://drive.google.com/uc?id=1vpRcqUsalg64ILluCgcXfoaUfcqQfHVN)
60
+ <br><br>
61
+ Weather Pattern in [Weather Pattern.ipynb](https://github.com/BodduSriPavan-111/kitikiplot/blob/add-comments/examples/Weather_Pattern.ipynb)
62
+ ![plot](https://drive.google.com/uc?id=1tl5XefYfBqQTap1X0iDNoY3upk0FHFni)
63
+ <br><br>
64
+ CO Trend in Air in [Air_Quality.ipynb](https://github.com/BodduSriPavan-111/kitikiplot/blob/add-comments/examples/Air_Quality.ipynb)
65
+ ![plot](https://drive.google.com/uc?id=1LTFgNDX-OlTwkSQjsWA3x6xHRLyu_a6O)
66
+ <br>
67
+
68
+ ### Getting Started
69
+ Install the package via pip:
70
+ ```
71
+ pip install kitikiplot
72
+ ```
73
+ #### Usage
74
+ ```py
75
+ from kitikiplot import KitikiPlot
76
+
77
+ data = [] # DataFrame or list of sliding window data
78
+
79
+ ktk= KitikiPlot( data= data )
80
+
81
+ ktk.plot( display_legend= True ) # Display the legend
82
+ ```
83
+ Check out the complete <b>guide of customization</b> [here](https://github.com/BodduSriPavan-111/kitikiplot/blob/main/examples/Usage_Guide.ipynb).
84
+
85
+ ## To-do
86
+ - [ ] Streamlit Demo Interface (In Progress: app.py)
87
+ - [ ] Tooltip
88
+ - [ ] Interactive Plot
89
+ - [ ] Multithreading to decrease plotting latency
90
+ - [ ] CI/CD Pipeline
91
+ - [ ] Domain-specific modules
92
+ - [ ] Website for documentation
93
+
94
+ Please refer <a href="https://github.com/BodduSriPavan-111/kitikiplot/blob/main/CONTRIBUTING.md">CONTRIBUTING.md</a> for <b>contributions</b> to kitikiplot.
95
+
96
+ To join the Discord server for more discussion, click <a href="https://discord.gg/PQKtqm5p">here</a>
97
+
98
+ ### Key Author
99
+ <a href="https://www.linkedin.com/in/boddusripavan/"> Boddu Sri Pavan </a>
100
+
101
+ ## Citation
102
+ APA <br>
103
+ > Boddu Sri Pavan, Chandrasheker Thummanagoti, & Boddu Swathi Sree. (2025). KitikiPlot A Python library to visualize categorical sliding window data. https://doi.org/10.5281/zenodo.14632005.
104
+
105
+ IEEE <br>
106
+ > Boddu Sri Pavan, Chandrasheker Thummanagotiand Boddu Swathi Sree, “KitikiPlot A Python library to visualize categorical sliding window data”, 2025, doi: 10.5281/zenodo.14632005.
107
+
108
+ BibTeX <br>
109
+ > @misc{boddu_sri_pavan_2025_14632005, <br>
110
+ > author = {Boddu Sri Pavan and <br>
111
+ > Chandrasheker Thummanagoti and <br>
112
+ > Boddu Swathi Sree}, <br>
113
+ > title = {KitikiPlot A Python library to visualize <br>
114
+ > categorical sliding window data <br>
115
+ > }, <br>
116
+ > month = jan, <br>
117
+ > year = 2025, <br>
118
+ > publisher = {Zenodo}, <br>
119
+ > doi = {10.5281/zenodo.14632005}, <br>
120
+ > url = {https://doi.org/10.5281/zenodo.14632005}, <br>
121
+ >}
122
+
123
+ ## Execute Tests when contributing to KitikiPlot
124
+
125
+ Please refer <a href="https://github.com/BodduSriPavan-111/kitikiplot/blob/main/tests/unit_test/Readme.md">Readme.md</a> to run the tests
126
+
127
+ ## Thank You !
128
+
@@ -0,0 +1,8 @@
1
+ kitikiplot/__init__.py,sha256=7LpJy1V-PZ-JlfjsnRMjMXxTKaFt0JP0mj-A0SgS-sE,34
2
+ kitikiplot/kitiki_cell.py,sha256=9kn33x8-4Zp_fVdmp5NK-V7fm3hDXZOxwCNO3uDZqIo,7016
3
+ kitikiplot/kitiki_color_config.py,sha256=No_ayqgQUYXRE7g62obFKVn6avn4jdGn3WuSqZ6F3tA,11677
4
+ kitikiplot/kitikiplot.py,sha256=uH5eQnWxswQsDC1b77cu5U_2m3ODfKRGqCxcredRagQ,19746
5
+ kitikiplot-0.1.8.dist-info/LICENSE,sha256=14Bs-3ieyNjj9kCnVLv8CHRXEvQVM6P5uLe-pz7cBI0,1088
6
+ kitikiplot-0.1.8.dist-info/METADATA,sha256=GgK4XT4i96KTZkzYVKLCx2epDY96L27Oz4WEz3GCQXg,5413
7
+ kitikiplot-0.1.8.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
8
+ kitikiplot-0.1.8.dist-info/RECORD,,
@@ -1,5 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.45.1)
2
+ Generator: poetry-core 2.1.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
-
@@ -1,12 +0,0 @@
1
- kitikiplot/__init__.py,sha256=7LpJy1V-PZ-JlfjsnRMjMXxTKaFt0JP0mj-A0SgS-sE,34
2
- kitikiplot/kitiki_cell.py,sha256=9kn33x8-4Zp_fVdmp5NK-V7fm3hDXZOxwCNO3uDZqIo,7016
3
- kitikiplot/kitiki_color_config.py,sha256=No_ayqgQUYXRE7g62obFKVn6avn4jdGn3WuSqZ6F3tA,11677
4
- kitikiplot/kitikiplot.py,sha256=uH5eQnWxswQsDC1b77cu5U_2m3ODfKRGqCxcredRagQ,19746
5
- tests/__init__.py,sha256=G6t2Zarmz7Akl21Pmws08EK9CXqJv6In4sCr2LLRqqk,34
6
- tests/unit_test/__init__.py,sha256=G6t2Zarmz7Akl21Pmws08EK9CXqJv6In4sCr2LLRqqk,34
7
- tests/unit_test/unit_test.py,sha256=MA4yspvTtnE5kP7j-TYB9ECtbvJQKrDskzRU3JKzNww,4323
8
- kitikiplot-0.1.7.dist-info/LICENSE,sha256=14Bs-3ieyNjj9kCnVLv8CHRXEvQVM6P5uLe-pz7cBI0,1088
9
- kitikiplot-0.1.7.dist-info/METADATA,sha256=ttgqnMjJaFIjzyFORJKqCd6q77mT25tUGdVP83MdJ-w,5166
10
- kitikiplot-0.1.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
11
- kitikiplot-0.1.7.dist-info/top_level.txt,sha256=SjfefiiV1oUpgCKjYpjF2JmFGORHqePe1zAm1JcwBNg,17
12
- kitikiplot-0.1.7.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- kitikiplot
2
- tests
tests/__init__.py DELETED
@@ -1,2 +0,0 @@
1
- import sys
2
- sys.path.append('.')
@@ -1,2 +0,0 @@
1
- import sys
2
- sys.path.append('.')
@@ -1,129 +0,0 @@
1
- """
2
- ------------------------------------------------------------------------------
3
- File: unit_test.py
4
- Description: This file contains test cases for the KitikiPlot class, ensuring
5
- its functionality across different data types and edge cases.
6
- Created On: March 22, 2025
7
- ------------------------------------------------------------------------------
8
- """
9
-
10
- """ Import necessary libraries """
11
- import pytest
12
- import sys
13
- import pandas as pd
14
- import matplotlib.patches as mpatches
15
- import numpy as np
16
- from numpy.testing import assert_array_equal
17
-
18
- sys.path.insert(0, '../kitikiplot')
19
- from kitikiplot import KitikiPlot
20
-
21
- """ Fixtures for providing sample data """
22
-
23
- @pytest.fixture
24
- def sample_data():
25
- """
26
- Returns a sample Pandas DataFrame for testing.
27
- """
28
- return pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
29
-
30
- @pytest.fixture
31
- def sample_list():
32
- """
33
- Returns a sample list for testing list-based initialization.
34
- """
35
- return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
36
-
37
- @pytest.fixture
38
- def kitiki_plot(sample_data):
39
- """
40
- Creates an instance of KitikiPlot using sample data.
41
- """
42
- return KitikiPlot(data=sample_data)
43
-
44
- @pytest.fixture
45
- def cmap():
46
- """
47
- Returns a colormap dictionary for testing color mapping.
48
- """
49
- return {0: {1: "red", 2: "blue", 3: "green"}, 1: "black"}
50
-
51
- @pytest.fixture
52
- def hmap():
53
- """
54
- Returns a hatch map dictionary for testing hatch patterns.
55
- """
56
- return {1: "//", 2: "\\", 3: "||"}
57
-
58
- """ Testing Initialization with Different Data Types """
59
-
60
- def test_kitiki_plot_initialization(sample_data):
61
- """
62
- Tests if KitikiPlot initializes properly with a DataFrame.
63
- """
64
- plot = KitikiPlot(data=sample_data)
65
- assert isinstance(plot, KitikiPlot)
66
-
67
- def test_kitiki_plot_with_empty_dataframe():
68
- """
69
- Tests if KitikiPlot initializes properly with an empty DataFrame.
70
- """
71
- empty_df = pd.DataFrame()
72
- plot = KitikiPlot(data=empty_df)
73
- assert isinstance(plot, KitikiPlot)
74
-
75
- def test_kitiki_plot_with_list(sample_list):
76
- """
77
- Tests if KitikiPlot initializes properly with a list.
78
- """
79
- plot = KitikiPlot(data=sample_list, stride=2, window_length=5)
80
- assert isinstance(plot, KitikiPlot)
81
-
82
- def test_kitiki_plot_with_nested_list():
83
- """
84
- Tests if KitikiPlot initializes properly with a nested list.
85
- """
86
- nested_list = [[1, 2], [3, 4], [5, 6]]
87
- plot = KitikiPlot(data=nested_list, stride=1, window_length=2)
88
- assert isinstance(plot, KitikiPlot)
89
-
90
- """ Testing Edge Cases for 'create' Method """
91
-
92
- def test_create_rectangle(kitiki_plot, cmap, hmap):
93
- """
94
- Tests if the 'create' method generates a valid rectangle object.
95
- """
96
- rect = kitiki_plot.create(
97
- x=0, y=0, each_sample=[1, 2, 3], cell_width=0.5, cell_height=2.0,
98
- window_gap=1.0, align=True, cmap=cmap, edge_color='black',
99
- fallback_color='white', hmap=hmap, fallback_hatch=' ',
100
- display_hatch=True, transpose=False
101
- )
102
- assert isinstance(rect, mpatches.Rectangle)
103
-
104
- def test_create_invalid_rectangle(kitiki_plot, cmap, hmap):
105
- """
106
- Tests if the 'create' method raises a KeyError for missing cmap/hmap values.
107
- """
108
- with pytest.raises(KeyError) as exc_info:
109
- kitiki_plot.create(
110
- x=0, y=0, each_sample=[10], cell_width=0.5, cell_height=2.0,
111
- window_gap=1.0, align=True, cmap=cmap, edge_color='black',
112
- fallback_color='white', hmap=hmap, fallback_hatch=' ',
113
- display_hatch=True, transpose=False
114
- )
115
- print(f"exc value is equal to {exc_info.value} and type is {type(exc_info.value)}")
116
- assert str(10) in str(exc_info.value)
117
-
118
- def test_create_rectangle_with_unknown_values(kitiki_plot, cmap, hmap):
119
- """
120
- Tests if the 'create' method raises a KeyError for unknown cmap/hmap values.
121
- """
122
- with pytest.raises(KeyError) as exc_info:
123
- kitiki_plot.create(
124
- x=0, y=0, each_sample=[99], cell_width=0.5, cell_height=2.0,
125
- window_gap=1.0, align=True, cmap=cmap, edge_color='black',
126
- fallback_color='white', hmap=hmap, fallback_hatch=' ',
127
- display_hatch=True, transpose=False
128
- )
129
- assert str(99) in str(exc_info.value)