prepix 0.1.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.
prepix-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Manish Parihar
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. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
prepix-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,255 @@
1
+ Metadata-Version: 2.4
2
+ Name: prepix
3
+ Version: 0.1.0
4
+ Summary: A lightweight Python library for data preprocessing, quality checks, and ML utilities.
5
+ Author: Manish Parihar
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/manishparihar3618/prepix
8
+ Project-URL: Repository, https://github.com/manishparihar3618/prepix
9
+ Project-URL: Issues, https://github.com/manishparihar3618/prepix/issues
10
+ Keywords: data-quality,eda,data-profiling,pandas,data-validation,schema-validation,machine-learning
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Programming Language :: Python :: 3
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 :: Information Analysis
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Requires-Python: >=3.9
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: pandas>=2.0.0
26
+ Requires-Dist: numpy>=1.24.0
27
+ Provides-Extra: dev
28
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
29
+ Requires-Dist: build>=1.0.0; extra == "dev"
30
+ Requires-Dist: twine>=4.0.0; extra == "dev"
31
+ Dynamic: license-file
32
+
33
+ # Prepix
34
+
35
+ **Prepix** is a lightweight, reliable Python library for **automated data quality assessment, exploratory data analysis (EDA), and data contract validation**, built on top of pandas and numpy.
36
+
37
+ [![Python Versions](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https://github.com/manishparihar3618/prepix)
38
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
39
+ [![Status: Beta](https://img.shields.io/badge/Status-v0.1.0%20Beta-orange)](CHANGELOG.md)
40
+
41
+ ---
42
+
43
+ ## ๐Ÿ“Œ The Problem Prepix Solves
44
+
45
+ Data scientists, analysts, and ML engineers spend up to 80% of their time cleaning and validating tabular data. Common pitfalls include:
46
+ - **Silent missingness** and inconsistent null values across critical feature columns.
47
+ - **Accidental duplicate rows** introduced during data ingestion or joins.
48
+ - **Silent schema drift**, such as missing required columns or unexpected type coercion.
49
+ - **Cardinality traps**, where constant columns provide zero variance or high-cardinality strings are inadvertently one-hot encoded.
50
+ - **Extreme outliers and severe distribution skew** that corrupt statistical estimates and model training.
51
+
52
+ Writing ad-hoc pandas queries to check each of these issues for every new dataset is repetitive, error-prone, and difficult to standardize across a team.
53
+
54
+ **Prepix automates these inspections through simple, composable, and immutability-guaranteed functions**, producing structured diagnostic DataFrames and instant human-readable health reports.
55
+
56
+ ---
57
+
58
+ ## ๐ŸŽฏ Intended Users & Use Cases
59
+
60
+ - **Data Analysts**: Quickly audit incoming CSV/Excel files and export structured quality summaries.
61
+ - **Machine Learning Engineers**: Validate training and inference feature sets against expected data contracts to prevent silent pipeline failures.
62
+ - **Data Engineers**: Embed automated data validation checks into ETL jobs and CI/CD testing suites.
63
+ - **Researchers**: Inspect distribution characteristics, skewness, kurtosis, and Tukey outliers across experimental datasets.
64
+
65
+ ---
66
+
67
+ ## ๐Ÿ“ฆ Installation
68
+
69
+ Prepix requires **Python >= 3.9**, **pandas >= 2.0.0**, and **numpy >= 1.24.0**.
70
+
71
+ ### Development / Local Installation
72
+ Until the package is officially published to PyPI, install Prepix directly from the repository in editable mode:
73
+
74
+ ```bash
75
+ git clone https://github.com/manishparihar3618/prepix.git
76
+ cd prepix
77
+ pip install -e .
78
+ ```
79
+
80
+ ### PyPI Installation (Post-Release)
81
+ Once published:
82
+ ```bash
83
+ pip install prepix
84
+ ```
85
+
86
+ ---
87
+
88
+ ## โšก Quickstart
89
+
90
+ ```python
91
+ import pandas as pd
92
+ import prepix as pp
93
+
94
+ # Load or define your dataset
95
+ df = pd.DataFrame({
96
+ "OrderID": [101, 102, 103, 104, 104],
97
+ "Customer": ["Alice", "Bob", "Charlie", "David", "David"],
98
+ "Age": [28, None, 35, 42, 42],
99
+ "Revenue": [150.0, 220.5, 310.0, 95.0, 95.0],
100
+ "Region": ["North", "North", "North", "North", "North"],
101
+ })
102
+
103
+ # Generate the complete dataset quality report
104
+ rep = pp.report(df)
105
+
106
+ # Print a formatted diagnostic summary to console
107
+ print(rep)
108
+ ```
109
+
110
+ ### Output Summary
111
+ ```text
112
+ ==============================================================
113
+ PREPIX QUALITY REPORT
114
+ ==============================================================
115
+
116
+ 1. DATASET OVERVIEW
117
+ --------------------------------------------------------------
118
+ - Rows : 5
119
+ - Columns : 5
120
+ - Total Cells : 25
121
+ - Memory Usage : 1.24 KB
122
+ - Numeric Columns : 3
123
+ - Categorical Columns : 2
124
+ - Datetime Columns : 0
125
+ - Boolean Columns : 0
126
+ - Other Columns : 0
127
+ - Total Missing Cells : 1 (4.00%)
128
+ - Columns with Missing : 1
129
+ - Duplicate Rows : 1 (20.00%)
130
+
131
+ 2. KEY FINDINGS & ISSUES
132
+ --------------------------------------------------------------
133
+ [MEDIUM] Dataset: Duplicate Records - 1 duplicate rows (20.00%) detected
134
+ [MEDIUM] Column 'Age': Moderate Missingness - 1 missing values (20.00%)
135
+ [LOW ] Column 'Region': Zero Variance (Constant) - Contains single constant value
136
+
137
+ 3. RECOMMENDED ACTIONS
138
+ --------------------------------------------------------------
139
+ * Review and consider deduplicating using df.drop_duplicates()
140
+ * Consider median/mode imputation or indicator flag for 'Age'
141
+ * Consider dropping constant column 'Region' prior to ML modeling
142
+ ==============================================================
143
+ ```
144
+
145
+ ---
146
+
147
+ ## ๐Ÿ” Verified Public Functions
148
+
149
+ | Function | Primary Purpose | Key Return Data |
150
+ | :--- | :--- | :--- |
151
+ | **`report(df)`** | Unified multi-section quality analysis | Returns `PrepixReport` with overview, issues, and all sub-reports |
152
+ | **`missing_report(df)`** | Missing-value audit & imputation recommendations | `Column`, `Missing Values`, `Missing Percentage(%)`, `Status`, `Suggestion` |
153
+ | **`column_summary(df)`** | Structural column profiling & memory estimation | `Column`, `Data Type`, `Missing Values`, `Unique Values`, `Memory(Bytes)`, `Suggested Type` |
154
+ | **`duplicate_report(df)`** | Duplicate record identification & extraction | `Total Rows`, `Duplicate Rows`, `Duplicate %`, `Unique Rows`, `Status`, `Suggestion` (or duplicate rows via `return_records=True`) |
155
+ | **`unique_report(df)`** | Cardinality categorization & identifier detection | `Column`, `Unique Values`, `Cardinality`, `Status`, `Suggestion` |
156
+ | **`numeric_summary(df)`** | Statistical summary & distribution diagnostics | 5-number summary, mean, std, range; plus IQR, skewness, kurtosis, zero/negative/outlier counts with `extended=True` |
157
+ | **`schema_report(df, schema)`** | Schema validation & contract verification | `Column`, `Check`, `Expected`, `Actual`, `Status`, `Message` |
158
+
159
+ ---
160
+
161
+ ## ๐Ÿ› ๏ธ Specialized Function Examples
162
+
163
+ ### 1. Missing Values
164
+ ```python
165
+ # Report columns sorted by missingness percentage
166
+ missing = pp.missing_report(df, only_missing=True)
167
+ print(missing)
168
+ ```
169
+
170
+ ### 2. Duplicate Detection & Extraction
171
+ ```python
172
+ # Summary statistics
173
+ print(pp.duplicate_report(df))
174
+
175
+ # Extract the duplicate rows directly for inspection
176
+ dups = pp.duplicate_report(df, return_records=True)
177
+ print(dups)
178
+ ```
179
+
180
+ ### 3. Numerical Diagnostics
181
+ ```python
182
+ # Extended statistics: IQR, skewness, kurtosis, zeros, negatives, and Tukey outliers
183
+ num_stats = pp.numeric_summary(df, extended=True, percentiles=[0.05, 0.95])
184
+ print(num_stats)
185
+ ```
186
+
187
+ ### 4. Schema Contract Validation
188
+ ```python
189
+ schema = {
190
+ "OrderID": {"type": "integer", "nullable": False, "unique": True},
191
+ "Customer": "string",
192
+ "Age": {"type": "numeric", "nullable": False},
193
+ }
194
+ val_report = pp.schema_report(df, schema=schema, allow_unexpected=True)
195
+ print(val_report)
196
+ ```
197
+
198
+ ---
199
+
200
+ ## ๐Ÿ›ก๏ธ Core Guarantees
201
+
202
+ 1. **DataFrame Immutability**: All Prepix operations are strictly read-only; input DataFrames are never modified in place.
203
+ 2. **Transparent Recommendations**: Suggestions are heuristic guidelines, not automated decisions. Prepix does not silently drop, impute, or cast columns.
204
+ 3. **Resilient Edge-Case Handling**: Tested against empty DataFrames (`0x0`, `0xN`, `Nx0`), infinite values (`np.inf`, `-np.inf`), duplicate column names, and unhashable cell types.
205
+ 4. **Minimal Dependencies**: Strictly depends only on `pandas>=2.0.0` and `numpy>=1.24.0`.
206
+
207
+ ---
208
+
209
+ ## ๐Ÿงช Testing & Verification
210
+
211
+ Run the full automated test suite using Python's built-in `unittest`:
212
+
213
+ ```bash
214
+ python -m unittest discover -s tests -p "test_*.py" -v
215
+ ```
216
+
217
+ Execute all verified synthetic workflow examples:
218
+
219
+ ```bash
220
+ python examples/run_all_examples.py
221
+ ```
222
+
223
+ Run performance benchmarks:
224
+
225
+ ```bash
226
+ python benchmark.py
227
+ ```
228
+
229
+ ---
230
+
231
+ ## ๐Ÿ“– Documentation Links
232
+
233
+ - [Documentation Index](docs/index.md)
234
+ - [Installation Guide](docs/installation.md)
235
+ - [Quickstart Guide](docs/quickstart.md)
236
+ - [Data Sources Guide](docs/data_sources.md)
237
+ - [Function Reference](docs/functions.md)
238
+ - [Examples Guide](docs/examples.md)
239
+ - [Troubleshooting & FAQ](docs/troubleshooting.md)
240
+ - [Changelog](CHANGELOG.md)
241
+ - [Contributing Guide](CONTRIBUTING.md)
242
+
243
+ ---
244
+
245
+ ## ๐Ÿ“ข Release Status
246
+
247
+ Prepix is currently at **v0.1.0 (Beta)**. Core functionality is complete and verified with 145 unit tests across diverse data scales and types. We are preparing for the first official PyPI release.
248
+
249
+ If you encounter any issues or have feedback, please open an issue on the [GitHub Issue Tracker](https://github.com/manishparihar3618/prepix/issues).
250
+
251
+ ---
252
+
253
+ ## ๐Ÿ“„ License
254
+
255
+ Prepix is licensed under the [MIT License](LICENSE). Copyright (c) Manish Parihar.
prepix-0.1.0/README.md ADDED
@@ -0,0 +1,223 @@
1
+ # Prepix
2
+
3
+ **Prepix** is a lightweight, reliable Python library for **automated data quality assessment, exploratory data analysis (EDA), and data contract validation**, built on top of pandas and numpy.
4
+
5
+ [![Python Versions](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue)](https://github.com/manishparihar3618/prepix)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
+ [![Status: Beta](https://img.shields.io/badge/Status-v0.1.0%20Beta-orange)](CHANGELOG.md)
8
+
9
+ ---
10
+
11
+ ## ๐Ÿ“Œ The Problem Prepix Solves
12
+
13
+ Data scientists, analysts, and ML engineers spend up to 80% of their time cleaning and validating tabular data. Common pitfalls include:
14
+ - **Silent missingness** and inconsistent null values across critical feature columns.
15
+ - **Accidental duplicate rows** introduced during data ingestion or joins.
16
+ - **Silent schema drift**, such as missing required columns or unexpected type coercion.
17
+ - **Cardinality traps**, where constant columns provide zero variance or high-cardinality strings are inadvertently one-hot encoded.
18
+ - **Extreme outliers and severe distribution skew** that corrupt statistical estimates and model training.
19
+
20
+ Writing ad-hoc pandas queries to check each of these issues for every new dataset is repetitive, error-prone, and difficult to standardize across a team.
21
+
22
+ **Prepix automates these inspections through simple, composable, and immutability-guaranteed functions**, producing structured diagnostic DataFrames and instant human-readable health reports.
23
+
24
+ ---
25
+
26
+ ## ๐ŸŽฏ Intended Users & Use Cases
27
+
28
+ - **Data Analysts**: Quickly audit incoming CSV/Excel files and export structured quality summaries.
29
+ - **Machine Learning Engineers**: Validate training and inference feature sets against expected data contracts to prevent silent pipeline failures.
30
+ - **Data Engineers**: Embed automated data validation checks into ETL jobs and CI/CD testing suites.
31
+ - **Researchers**: Inspect distribution characteristics, skewness, kurtosis, and Tukey outliers across experimental datasets.
32
+
33
+ ---
34
+
35
+ ## ๐Ÿ“ฆ Installation
36
+
37
+ Prepix requires **Python >= 3.9**, **pandas >= 2.0.0**, and **numpy >= 1.24.0**.
38
+
39
+ ### Development / Local Installation
40
+ Until the package is officially published to PyPI, install Prepix directly from the repository in editable mode:
41
+
42
+ ```bash
43
+ git clone https://github.com/manishparihar3618/prepix.git
44
+ cd prepix
45
+ pip install -e .
46
+ ```
47
+
48
+ ### PyPI Installation (Post-Release)
49
+ Once published:
50
+ ```bash
51
+ pip install prepix
52
+ ```
53
+
54
+ ---
55
+
56
+ ## โšก Quickstart
57
+
58
+ ```python
59
+ import pandas as pd
60
+ import prepix as pp
61
+
62
+ # Load or define your dataset
63
+ df = pd.DataFrame({
64
+ "OrderID": [101, 102, 103, 104, 104],
65
+ "Customer": ["Alice", "Bob", "Charlie", "David", "David"],
66
+ "Age": [28, None, 35, 42, 42],
67
+ "Revenue": [150.0, 220.5, 310.0, 95.0, 95.0],
68
+ "Region": ["North", "North", "North", "North", "North"],
69
+ })
70
+
71
+ # Generate the complete dataset quality report
72
+ rep = pp.report(df)
73
+
74
+ # Print a formatted diagnostic summary to console
75
+ print(rep)
76
+ ```
77
+
78
+ ### Output Summary
79
+ ```text
80
+ ==============================================================
81
+ PREPIX QUALITY REPORT
82
+ ==============================================================
83
+
84
+ 1. DATASET OVERVIEW
85
+ --------------------------------------------------------------
86
+ - Rows : 5
87
+ - Columns : 5
88
+ - Total Cells : 25
89
+ - Memory Usage : 1.24 KB
90
+ - Numeric Columns : 3
91
+ - Categorical Columns : 2
92
+ - Datetime Columns : 0
93
+ - Boolean Columns : 0
94
+ - Other Columns : 0
95
+ - Total Missing Cells : 1 (4.00%)
96
+ - Columns with Missing : 1
97
+ - Duplicate Rows : 1 (20.00%)
98
+
99
+ 2. KEY FINDINGS & ISSUES
100
+ --------------------------------------------------------------
101
+ [MEDIUM] Dataset: Duplicate Records - 1 duplicate rows (20.00%) detected
102
+ [MEDIUM] Column 'Age': Moderate Missingness - 1 missing values (20.00%)
103
+ [LOW ] Column 'Region': Zero Variance (Constant) - Contains single constant value
104
+
105
+ 3. RECOMMENDED ACTIONS
106
+ --------------------------------------------------------------
107
+ * Review and consider deduplicating using df.drop_duplicates()
108
+ * Consider median/mode imputation or indicator flag for 'Age'
109
+ * Consider dropping constant column 'Region' prior to ML modeling
110
+ ==============================================================
111
+ ```
112
+
113
+ ---
114
+
115
+ ## ๐Ÿ” Verified Public Functions
116
+
117
+ | Function | Primary Purpose | Key Return Data |
118
+ | :--- | :--- | :--- |
119
+ | **`report(df)`** | Unified multi-section quality analysis | Returns `PrepixReport` with overview, issues, and all sub-reports |
120
+ | **`missing_report(df)`** | Missing-value audit & imputation recommendations | `Column`, `Missing Values`, `Missing Percentage(%)`, `Status`, `Suggestion` |
121
+ | **`column_summary(df)`** | Structural column profiling & memory estimation | `Column`, `Data Type`, `Missing Values`, `Unique Values`, `Memory(Bytes)`, `Suggested Type` |
122
+ | **`duplicate_report(df)`** | Duplicate record identification & extraction | `Total Rows`, `Duplicate Rows`, `Duplicate %`, `Unique Rows`, `Status`, `Suggestion` (or duplicate rows via `return_records=True`) |
123
+ | **`unique_report(df)`** | Cardinality categorization & identifier detection | `Column`, `Unique Values`, `Cardinality`, `Status`, `Suggestion` |
124
+ | **`numeric_summary(df)`** | Statistical summary & distribution diagnostics | 5-number summary, mean, std, range; plus IQR, skewness, kurtosis, zero/negative/outlier counts with `extended=True` |
125
+ | **`schema_report(df, schema)`** | Schema validation & contract verification | `Column`, `Check`, `Expected`, `Actual`, `Status`, `Message` |
126
+
127
+ ---
128
+
129
+ ## ๐Ÿ› ๏ธ Specialized Function Examples
130
+
131
+ ### 1. Missing Values
132
+ ```python
133
+ # Report columns sorted by missingness percentage
134
+ missing = pp.missing_report(df, only_missing=True)
135
+ print(missing)
136
+ ```
137
+
138
+ ### 2. Duplicate Detection & Extraction
139
+ ```python
140
+ # Summary statistics
141
+ print(pp.duplicate_report(df))
142
+
143
+ # Extract the duplicate rows directly for inspection
144
+ dups = pp.duplicate_report(df, return_records=True)
145
+ print(dups)
146
+ ```
147
+
148
+ ### 3. Numerical Diagnostics
149
+ ```python
150
+ # Extended statistics: IQR, skewness, kurtosis, zeros, negatives, and Tukey outliers
151
+ num_stats = pp.numeric_summary(df, extended=True, percentiles=[0.05, 0.95])
152
+ print(num_stats)
153
+ ```
154
+
155
+ ### 4. Schema Contract Validation
156
+ ```python
157
+ schema = {
158
+ "OrderID": {"type": "integer", "nullable": False, "unique": True},
159
+ "Customer": "string",
160
+ "Age": {"type": "numeric", "nullable": False},
161
+ }
162
+ val_report = pp.schema_report(df, schema=schema, allow_unexpected=True)
163
+ print(val_report)
164
+ ```
165
+
166
+ ---
167
+
168
+ ## ๐Ÿ›ก๏ธ Core Guarantees
169
+
170
+ 1. **DataFrame Immutability**: All Prepix operations are strictly read-only; input DataFrames are never modified in place.
171
+ 2. **Transparent Recommendations**: Suggestions are heuristic guidelines, not automated decisions. Prepix does not silently drop, impute, or cast columns.
172
+ 3. **Resilient Edge-Case Handling**: Tested against empty DataFrames (`0x0`, `0xN`, `Nx0`), infinite values (`np.inf`, `-np.inf`), duplicate column names, and unhashable cell types.
173
+ 4. **Minimal Dependencies**: Strictly depends only on `pandas>=2.0.0` and `numpy>=1.24.0`.
174
+
175
+ ---
176
+
177
+ ## ๐Ÿงช Testing & Verification
178
+
179
+ Run the full automated test suite using Python's built-in `unittest`:
180
+
181
+ ```bash
182
+ python -m unittest discover -s tests -p "test_*.py" -v
183
+ ```
184
+
185
+ Execute all verified synthetic workflow examples:
186
+
187
+ ```bash
188
+ python examples/run_all_examples.py
189
+ ```
190
+
191
+ Run performance benchmarks:
192
+
193
+ ```bash
194
+ python benchmark.py
195
+ ```
196
+
197
+ ---
198
+
199
+ ## ๐Ÿ“– Documentation Links
200
+
201
+ - [Documentation Index](docs/index.md)
202
+ - [Installation Guide](docs/installation.md)
203
+ - [Quickstart Guide](docs/quickstart.md)
204
+ - [Data Sources Guide](docs/data_sources.md)
205
+ - [Function Reference](docs/functions.md)
206
+ - [Examples Guide](docs/examples.md)
207
+ - [Troubleshooting & FAQ](docs/troubleshooting.md)
208
+ - [Changelog](CHANGELOG.md)
209
+ - [Contributing Guide](CONTRIBUTING.md)
210
+
211
+ ---
212
+
213
+ ## ๐Ÿ“ข Release Status
214
+
215
+ Prepix is currently at **v0.1.0 (Beta)**. Core functionality is complete and verified with 145 unit tests across diverse data scales and types. We are preparing for the first official PyPI release.
216
+
217
+ If you encounter any issues or have feedback, please open an issue on the [GitHub Issue Tracker](https://github.com/manishparihar3618/prepix/issues).
218
+
219
+ ---
220
+
221
+ ## ๐Ÿ“„ License
222
+
223
+ Prepix is licensed under the [MIT License](LICENSE). Copyright (c) Manish Parihar.
@@ -0,0 +1,57 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "prepix"
7
+ version = "0.1.0"
8
+ description = "A lightweight Python library for data preprocessing, quality checks, and ML utilities."
9
+ readme = "README.md"
10
+ requires-python = ">=3.9"
11
+ license = "MIT"
12
+ keywords = [
13
+ "data-quality",
14
+ "eda",
15
+ "data-profiling",
16
+ "pandas",
17
+ "data-validation",
18
+ "schema-validation",
19
+ "machine-learning"
20
+ ]
21
+ classifiers = [
22
+ "Development Status :: 4 - Beta",
23
+ "Intended Audience :: Developers",
24
+ "Intended Audience :: Science/Research",
25
+ "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.9",
27
+ "Programming Language :: Python :: 3.10",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Programming Language :: Python :: 3.12",
30
+ "Programming Language :: Python :: 3.13",
31
+ "Topic :: Scientific/Engineering :: Information Analysis",
32
+ "Topic :: Software Development :: Libraries :: Python Modules"
33
+ ]
34
+
35
+ authors = [
36
+ { name = "Manish Parihar" }
37
+ ]
38
+
39
+ dependencies = [
40
+ "pandas>=2.0.0",
41
+ "numpy>=1.24.0"
42
+ ]
43
+
44
+ [project.optional-dependencies]
45
+ dev = [
46
+ "pytest>=7.0.0",
47
+ "build>=1.0.0",
48
+ "twine>=4.0.0"
49
+ ]
50
+
51
+ [project.urls]
52
+ Homepage = "https://github.com/manishparihar3618/prepix"
53
+ Repository = "https://github.com/manishparihar3618/prepix"
54
+ Issues = "https://github.com/manishparihar3618/prepix/issues"
55
+
56
+ [tool.setuptools.packages.find]
57
+ where = ["src"]
prepix-0.1.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,22 @@
1
+ from .quality import (
2
+ column_summary,
3
+ duplicate_report,
4
+ missing_report,
5
+ numeric_summary,
6
+ unique_report,
7
+ )
8
+ from .report import PrepixReport, report
9
+ from .schema import schema_report
10
+
11
+ __version__ = "0.1.0"
12
+
13
+ __all__ = [
14
+ "column_summary",
15
+ "duplicate_report",
16
+ "missing_report",
17
+ "numeric_summary",
18
+ "unique_report",
19
+ "schema_report",
20
+ "PrepixReport",
21
+ "report",
22
+ ]