Skip to content

Commit a40885e

Browse files
committed
Release version 0.2.0
Major refactoring introducing a modular architecture and improved testing infrastructure. Added: - Modular architecture with specialized modules (core, constants, summary, statistics, data_quality, visualization, advanced_viz, analysis, comparison) - Constants-driven design eliminating magic numbers - Environment detection with safe display for Jupyter and terminal compatibility - Type marker file for PEP 561 compliance - Testing infrastructure using pytest (69% coverage) - Code quality tools: Black, Flake8, mypy, isort, and pre-commit hooks - Documentation system (user guide, API reference, developer guide, troubleshooting, gallery) - GitHub templates for issues and pull requests - Build system using pyproject.toml (PEP 517/518) Changed: - Refactored monolithic eda.py into modular specialized modules - eda.py now acts as a backward compatibility layer - Package metadata migrated to pyproject.toml - Updated Python version support to 3.8–3.12 - Development status updated to Beta Fixed: - Consistent function naming across all modules - Type hints added for all parameters and return values - Warning management to prevent dependency-related warnings - Improved cross-environment compatibility
0 parents  commit a40885e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+14621
-0
lines changed

.editorconfig

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
indent_style = space
9+
indent_size = 4
10+
11+
[*.py]
12+
max_line_length = 88
13+
14+
[*.{yml,yaml}]
15+
indent_size = 2
16+
17+
[*.md]
18+
trim_trailing_whitespace = false
19+
20+
[*.{sh,bash}]
21+
indent_size = 2
22+
23+
[*.ps1]
24+
charset = utf-8-bom
25+
end_of_line = crlf

.flake8

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[flake8]
2+
max-line-length = 88
3+
extend-ignore = E203, E402, W503, E501
4+
exclude =
5+
.git,
6+
__pycache__,
7+
.venv,
8+
venv,
9+
env,
10+
.eggs,
11+
*.egg,
12+
build,
13+
dist,
14+
.tox,
15+
.mypy_cache,
16+
.pytest_cache,
17+
htmlcov,
18+
eda-original.py
19+
20+
per-file-ignores =
21+
__init__.py:F401,F403
22+
tests/*:F401,F403,F811,F841
23+
src/insightfulpy/advanced_viz.py:F401,F403,F405,C901
24+
src/insightfulpy/analysis.py:F401,F403,F405,C901
25+
src/insightfulpy/comparison.py:F401,F403,F405
26+
src/insightfulpy/data_quality.py:F401,F403,F405
27+
src/insightfulpy/statistics.py:F401,F403,F405
28+
src/insightfulpy/summary.py:F401,F403,F405
29+
src/insightfulpy/visualization.py:F401,F403,F405
30+
31+
max-complexity = 10
32+
count = True
33+
statistics = True
34+
show-source = True
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
3+
name: Bug Report
4+
about: Report a bug or unexpected behavior
5+
title: '[BUG] '
6+
labels: bug
7+
assignees: ''
8+
9+
---
10+
11+
## Description
12+
13+
A clear description of the bug.
14+
15+
## Steps to Reproduce
16+
17+
1. Import the package
18+
2. Run the function
19+
3. Observe the error
20+
21+
## Expected Behavior
22+
23+
What you expected to happen.
24+
25+
## Actual Behavior
26+
27+
What actually happened.
28+
29+
## Environment
30+
31+
- InsightfulPy version:
32+
- Python version:
33+
- Operating System (Windows/Linux/macOS):
34+
- pandas version:
35+
- numpy version:
36+
- Installation method (pip, source):
37+
38+
## Code Sample
39+
40+
```python
41+
# Minimal code to reproduce the issue
42+
import insightfulpy as ipy
43+
import pandas as pd
44+
45+
# Your code here
46+
```
47+
48+
## Error Message
49+
50+
```
51+
Paste the full error traceback here
52+
```
53+
54+
## Additional Context
55+
56+
Any other information that might be relevant.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
name: Feature Request
3+
about: Suggest a new feature or improvement
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Feature Description
10+
11+
A clear description of the feature you'd like to see.
12+
13+
## Use Case
14+
15+
Explain the problem this feature would solve or the workflow it would improve.
16+
17+
## Proposed Solution
18+
19+
How you envision this feature working.
20+
21+
## Alternative Solutions
22+
23+
Other approaches you've considered.
24+
25+
## Example Usage
26+
27+
```python
28+
# How you would use this feature
29+
import insightfulpy as ipy
30+
31+
# Example code
32+
```
33+
34+
## Additional Context
35+
36+
Any other information that might be relevant.

.github/pull_request_template.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
## Description
2+
3+
Brief description of changes in this pull request.
4+
5+
## Type of Change
6+
7+
- [ ] Bug fix
8+
- [ ] New feature
9+
- [ ] Breaking change
10+
- [ ] Documentation
11+
- [ ] Refactoring
12+
13+
## Changes
14+
15+
- Change 1
16+
- Change 2
17+
18+
## Checklist
19+
20+
**Testing:**
21+
- [ ] All tests pass (`pytest`)
22+
- [ ] Coverage at 80% or above
23+
- [ ] New tests added for new functionality
24+
25+
**Code Quality:**
26+
- [ ] Pre-commit hooks pass (`pre-commit run --all-files`)
27+
28+
**Documentation:**
29+
- [ ] Docstrings added/updated
30+
- [ ] Type hints added
31+
- [ ] CHANGELOG.md updated
32+
- [ ] Documentation in `docs/` updated (if applicable)
33+
34+
## Related Issues
35+
36+
Closes #(issue number)
37+
38+
## Additional Notes
39+
40+
Any additional context for reviewers.

0 commit comments

Comments
 (0)