promptiq 3.0.0__tar.gz

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.
promptiq-3.0.0/LICENSE ADDED
@@ -0,0 +1,17 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 PromptIQ contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
@@ -0,0 +1,3 @@
1
+ include README.md
2
+ include LICENSE
3
+ recursive-include examples/data *.csv
@@ -0,0 +1,123 @@
1
+ Metadata-Version: 2.4
2
+ Name: promptiq
3
+ Version: 3.0.0
4
+ Summary: Offline, prompt-style data analysis and visualization for Python
5
+ License: MIT License
6
+
7
+ Copyright (c) 2026 PromptIQ contributors
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
+
23
+ Keywords: data-analysis,pandas,visualization,data-cleaning,eda
24
+ Classifier: Development Status :: 3 - Alpha
25
+ Classifier: Intended Audience :: Developers
26
+ Classifier: License :: OSI Approved :: MIT License
27
+ Classifier: Programming Language :: Python :: 3
28
+ Classifier: Programming Language :: Python :: 3.10
29
+ Classifier: Programming Language :: Python :: 3.11
30
+ Classifier: Programming Language :: Python :: 3.12
31
+ Classifier: Programming Language :: Python :: 3.13
32
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
33
+ Requires-Python: >=3.10
34
+ Description-Content-Type: text/markdown
35
+ License-File: LICENSE
36
+ Requires-Dist: pandas>=2.0
37
+ Requires-Dist: numpy>=1.24
38
+ Requires-Dist: matplotlib>=3.7
39
+ Requires-Dist: seaborn>=0.12
40
+ Requires-Dist: openpyxl>=3.1
41
+ Provides-Extra: dev
42
+ Requires-Dist: build; extra == "dev"
43
+ Requires-Dist: twine; extra == "dev"
44
+ Requires-Dist: pytest; extra == "dev"
45
+ Dynamic: license-file
46
+
47
+ # PromptIQ
48
+
49
+ PromptIQ is an offline Python library for exploratory data analysis, basic data cleaning,
50
+ statistical summaries, natural-language-style queries, and visualizations.
51
+
52
+ > **Project status:** Alpha. The query parser is rule-based, so supported wording and
53
+ > dataset structures are limited. Review the test suite before relying on results.
54
+
55
+ ## Installation
56
+
57
+ ```bash
58
+ python -m pip install promptiq
59
+ ```
60
+
61
+ ## Quick start
62
+
63
+ ```python
64
+ import promptiq as pi
65
+
66
+ ai = pi.load("sales.csv")
67
+
68
+ print(ai.profile())
69
+ print(ai.ask("what is the mean of profit"))
70
+
71
+ ai.clean_missing(strategy="auto")
72
+ ai.remove_duplicates()
73
+ print(ai.export("sales_cleaned.csv"))
74
+
75
+ # Visualizations
76
+ ai.visualize("histogram", column="Sales")
77
+ ai.visualize("bar", x="Category", y="Sales")
78
+ ```
79
+
80
+ ## Supported input formats
81
+
82
+ CSV, Excel (`.xlsx`, `.xls`), JSON, Parquet, and TSV, subject to the relevant
83
+ optional runtime dependencies being installed.
84
+
85
+ ## Main features
86
+
87
+ - Dataset profile and descriptive statistics
88
+ - Missing-value and duplicate inspection
89
+ - Basic missing-value handling and duplicate removal
90
+ - Correlation and covariance
91
+ - Grouped calculations and ranking helpers
92
+ - Rule-based natural-language-style query handling
93
+ - Histogram, bar, line, pie, box, heatmap, scatter, and count plots
94
+ - Export to CSV, Excel, JSON, and Parquet
95
+
96
+ ## Local development
97
+
98
+ ```bash
99
+ python -m pip install -e ".[dev]"
100
+ python -m pytest
101
+ ```
102
+
103
+ ## Sample datasets
104
+
105
+ Small sample datasets are in `examples/data/`. From the repository root:
106
+
107
+ ```python
108
+ import promptiq as pi
109
+
110
+ ai = pi.load("examples/data/sales.csv")
111
+ print(ai.profile())
112
+ ```
113
+
114
+ ## Important limitations
115
+
116
+ PromptIQ does not use an LLM. Its `ask()` method uses rule-based pattern matching and
117
+ does not understand arbitrary natural-language questions. Always verify calculated
118
+ results and inspect the dataset after cleaning. Cleaning changes the in-memory
119
+ `PromptIQ` object; export to a new filename to preserve the original file.
120
+
121
+ ## License
122
+
123
+ MIT. See `LICENSE`.
@@ -0,0 +1,77 @@
1
+ # PromptIQ
2
+
3
+ PromptIQ is an offline Python library for exploratory data analysis, basic data cleaning,
4
+ statistical summaries, natural-language-style queries, and visualizations.
5
+
6
+ > **Project status:** Alpha. The query parser is rule-based, so supported wording and
7
+ > dataset structures are limited. Review the test suite before relying on results.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ python -m pip install promptiq
13
+ ```
14
+
15
+ ## Quick start
16
+
17
+ ```python
18
+ import promptiq as pi
19
+
20
+ ai = pi.load("sales.csv")
21
+
22
+ print(ai.profile())
23
+ print(ai.ask("what is the mean of profit"))
24
+
25
+ ai.clean_missing(strategy="auto")
26
+ ai.remove_duplicates()
27
+ print(ai.export("sales_cleaned.csv"))
28
+
29
+ # Visualizations
30
+ ai.visualize("histogram", column="Sales")
31
+ ai.visualize("bar", x="Category", y="Sales")
32
+ ```
33
+
34
+ ## Supported input formats
35
+
36
+ CSV, Excel (`.xlsx`, `.xls`), JSON, Parquet, and TSV, subject to the relevant
37
+ optional runtime dependencies being installed.
38
+
39
+ ## Main features
40
+
41
+ - Dataset profile and descriptive statistics
42
+ - Missing-value and duplicate inspection
43
+ - Basic missing-value handling and duplicate removal
44
+ - Correlation and covariance
45
+ - Grouped calculations and ranking helpers
46
+ - Rule-based natural-language-style query handling
47
+ - Histogram, bar, line, pie, box, heatmap, scatter, and count plots
48
+ - Export to CSV, Excel, JSON, and Parquet
49
+
50
+ ## Local development
51
+
52
+ ```bash
53
+ python -m pip install -e ".[dev]"
54
+ python -m pytest
55
+ ```
56
+
57
+ ## Sample datasets
58
+
59
+ Small sample datasets are in `examples/data/`. From the repository root:
60
+
61
+ ```python
62
+ import promptiq as pi
63
+
64
+ ai = pi.load("examples/data/sales.csv")
65
+ print(ai.profile())
66
+ ```
67
+
68
+ ## Important limitations
69
+
70
+ PromptIQ does not use an LLM. Its `ask()` method uses rule-based pattern matching and
71
+ does not understand arbitrary natural-language questions. Always verify calculated
72
+ results and inspect the dataset after cleaning. Cleaning changes the in-memory
73
+ `PromptIQ` object; export to a new filename to preserve the original file.
74
+
75
+ ## License
76
+
77
+ MIT. See `LICENSE`.
@@ -0,0 +1,16 @@
1
+ Employee_ID,Name,Department,Age,Salary,Experience,Performance,Rating
2
+ 101,Arun,IT,24,35000,2,85,4
3
+ 102,Bala,HR,28,30000,5,78,4
4
+ 103,Charan,IT,26,45000,3,92,5
5
+ 104,David,Finance,32,55000,8,88,5
6
+ 105,Elan,HR,25,32000,2,75,3
7
+ 106,Fahad,IT,29,60000,6,95,5
8
+ 107,Gokul,Finance,35,65000,10,90,5
9
+ 108,Harish,IT,23,,1,80,4
10
+ 109,Irfan,HR,30,40000,7,,4
11
+ 110,John,Finance,27,48000,4,82,4
12
+ 111,Arun,IT,24,35000,2,85,4
13
+ 112,Kavin,Marketing,31,42000,6,89,5
14
+ 113,Lokesh,Marketing,26,38000,3,76,3
15
+ 114,Manoj,IT,28,52000,5,91,5
16
+ 115,Naveen,Finance,33,58000,9,87,
@@ -0,0 +1,12 @@
1
+
2
+ Product,Category,Sales,Quantity,Profit,Rating
3
+ Laptop,Electronics,50000,2,10000,5
4
+ Mobile,Electronics,20000,5,5000,4
5
+ Shoes,Fashion,3000,10,1000,4
6
+ Watch,Accessories,5000,4,1500,3
7
+ Laptop,Electronics,50000,2,10000,5
8
+ Tablet,Electronics,,3,2000,4
9
+ Shoes,Fashion,3000,10,1000,4
10
+ Camera,Electronics,35000,2,7000,5
11
+ Bag,Fashion,2500,6,500,3
12
+ Mobile,Electronics,18000,4,4000,
@@ -0,0 +1,39 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "promptiq"
7
+ version = "3.0.0"
8
+ description = "Offline, prompt-style data analysis and visualization for Python"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = { file = "LICENSE" }
12
+ keywords = ["data-analysis", "pandas", "visualization", "data-cleaning", "eda"]
13
+ classifiers = [
14
+ "Development Status :: 3 - Alpha",
15
+ "Intended Audience :: Developers",
16
+ "License :: OSI Approved :: MIT License",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3.10",
19
+ "Programming Language :: Python :: 3.11",
20
+ "Programming Language :: Python :: 3.12",
21
+ "Programming Language :: Python :: 3.13",
22
+ "Topic :: Scientific/Engineering :: Information Analysis",
23
+ ]
24
+ dependencies = [
25
+ "pandas>=2.0",
26
+ "numpy>=1.24",
27
+ "matplotlib>=3.7",
28
+ "seaborn>=0.12",
29
+ "openpyxl>=3.1",
30
+ ]
31
+
32
+ [tool.setuptools]
33
+ package-dir = {"" = "src"}
34
+
35
+ [tool.setuptools.packages.find]
36
+ where = ["src"]
37
+
38
+ [project.optional-dependencies]
39
+ dev = ["build", "twine", "pytest"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+