Skip to content

Commit 9f34693

Browse files
committed
merge main
2 parents 51acb6a + e2818c2 commit 9f34693

Some content is hidden

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

59 files changed

+30680
-2572
lines changed
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
* HapiSM version:
1+
* statista version:
22
* Python version:
33
* Operating System:
44

@@ -7,9 +7,15 @@
77
Describe what you were trying to get done.
88
Tell us what happened, what went wrong, and what you expected to happen.
99

10-
### What I Did
10+
### Minimal Reproducible Example
11+
12+
```python
13+
# Paste a minimal code snippet that reproduces the issue or demonstrates the request.
14+
```
15+
16+
### What I Did / Output
1117

1218
```
1319
Paste the command(s) you ran and the output.
14-
If there was a crash, please include the traceback here.
20+
If there was a crash, please include the full traceback here.
1521
```
Lines changed: 60 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,71 @@
11
---
22
name: Bug report
3-
about: Create a report to help us improve
4-
title: ''
5-
labels: ''
3+
about: Report a reproducible problem with the statista library (distributions, EVA, sensitivity, time-series, plotting)
4+
title: "[Bug]: "
5+
labels: [bug]
66
assignees: ''
7-
87
---
98

10-
**Describe the bug**
11-
A clear and concise description of what the bug is.
9+
## Description
10+
A clear and concise description of the bug. What is wrong and what did you expect instead?
11+
12+
## Minimal Reproducible Example (MRE)
13+
Provide the smallest code snippet that reproduces the issue. Include imports and any necessary setup. If randomness is involved, set a fixed seed.
14+
15+
```python
16+
# Please adjust to the minimal code that triggers the issue
17+
import numpy as np
18+
import pandas as pd
19+
from statista import distributions # or the relevant module
20+
21+
np.random.seed(42) # if applicable
22+
23+
# code here
24+
```
25+
26+
### Data sample (if applicable)
27+
- If the bug depends on specific data, include a very small CSV/JSON snippet or describe its structure (columns, dtypes, units, missing values). If data cannot be shared, describe how to synthesize a similar dataset.
28+
29+
```
30+
# Small CSV-like example or a few rows/records
31+
```
32+
33+
## Steps to Reproduce
34+
1. ...
35+
2. ...
36+
3. ...
37+
38+
## Expected behavior
39+
Describe what you expected to happen.
1240

13-
**To Reproduce**
14-
Steps to reproduce the behavior:
15-
1. Go to '...'
16-
2. Click on '....'
17-
3. Scroll down to '....'
18-
4. See error
41+
## Actual behavior / Error traceback
42+
Paste the full error/traceback if there is one.
1943

20-
**Expected behavior**
21-
A clear and concise description of what you expected to happen.
44+
```
45+
<full traceback here>
46+
```
2247

23-
**Screenshots**
24-
If applicable, add screenshots to help explain your problem.
48+
### Plots / Figures
49+
- If the issue is visual (e.g., plotting, distribution fit diagnostics), attach images or paste code that generates the figure.
50+
- Mention the Matplotlib backend if relevant (e.g., Agg, TkAgg).
2551

26-
**Desktop (please complete the following information):**
27-
- OS: [e.g. iOS]
28-
- Browser [e.g. chrome, safari]
29-
- Version [e.g. 22]
52+
## Environment
53+
Please complete the following information:
54+
- OS: [e.g., Windows 11, macOS 14, Ubuntu 24.04]
55+
- Python: [e.g., 3.11.7]
56+
- statista version: [e.g., 0.6.3]
57+
- Installation method: [pip, from source, editable install]
58+
- Key dependencies (if relevant):
59+
- numpy: [e.g., 2.0.1]
60+
- scipy: [e.g., 1.14.1]
61+
- pandas: [e.g., 2.2.2]
62+
- matplotlib: [e.g., 3.9.1]
63+
- scikit-learn: [e.g., 1.5.1]
64+
- Locale/encoding (if data-related): [e.g., en_US.UTF-8]
3065

31-
**Smartphone (please complete the following information):**
32-
- Device: [e.g. iPhone6]
33-
- OS: [e.g. iOS8.1]
34-
- Browser [e.g. stock browser, safari]
35-
- Version [e.g. 22]
66+
## Randomness and Determinism
67+
- Does the bug disappear or change with a different random seed?
68+
- If applicable, specify any seeds used (e.g., np.random.seed(42)).
3669

37-
**Additional context**
38-
Add any other context about the problem here.
70+
## Additional context
71+
Add any other context that might help us diagnose the problem (links to docs pages, related issues, configuration, system constraints).

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Documentation
4+
url: https://github.com/Serapieum-of-alex/statista
5+
about: Read the documentation and examples for statista.
6+
- name: Q&A / Usage questions
7+
url: https://github.com/Serapieum-of-alex/statista/discussions
8+
about: Ask questions or discuss how to use statista features.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
name: Documentation improvement
3+
about: Report an issue or suggest an improvement to the documentation, tutorials, or examples
4+
title: "[Docs]: "
5+
labels: [documentation]
6+
assignees: ''
7+
---
8+
9+
## Page/Section
10+
- URL or path: [e.g., docs/reference/distributions-class]
11+
- Section heading (if applicable): [e.g., "fit" method]
12+
13+
## Current behavior / content
14+
Describe what is confusing, incorrect, missing, or outdated.
15+
16+
## Expected content
17+
What would you expect to see instead? Provide a proposed wording or structure if possible.
18+
19+
## Code snippet / example
20+
If this is about an example or API usage, include a minimal snippet that should appear in the docs or reproduces the issue.
21+
22+
```python
23+
# minimal example
24+
```
25+
26+
## Screenshots / images
27+
Attach any relevant screenshots or figures.
28+
29+
## Additional context
30+
Links to related issues/PRs or external references.
Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,50 @@
11
---
22
name: Feature request
3-
about: Suggest an idea for this project
4-
title: ''
5-
labels: ''
3+
about: Propose a new capability or enhancement for statista (API, algorithm, performance, UX)
4+
title: "[Feature]: "
5+
labels: [enhancement]
66
assignees: ''
7-
87
---
98

10-
**Is your feature request related to a problem? Please describe.**
11-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9+
## Problem statement
10+
What problem are you trying to solve? Why is it important in the context of statistics, distributions, EVA, sensitivity analysis, time-series, or plotting?
11+
12+
## Proposed solution
13+
Describe the feature in detail. If this is an API addition/change, specify the interface:
14+
15+
```python
16+
# Example
17+
import numpy as np
18+
from statista import distributions
19+
20+
def new_function(x: np.ndarray, *, param: float = 1.0) -> float:
21+
...
22+
```
23+
24+
- Module(s) affected: [e.g., statista.distributions]
25+
- New classes/functions/methods: [list]
26+
- Input/Output shapes and types: [describe]
27+
- Parameter names/defaults: [describe]
28+
29+
## Example usage
30+
Provide a minimal code snippet demonstrating how the feature would be used.
31+
32+
```python
33+
# sample usage
34+
```
35+
36+
## Alternatives considered
37+
List any alternative approaches or prior art (including SciPy, scikit-learn, statsmodels, etc.). Explain trade-offs.
38+
39+
## Backward compatibility
40+
- Does this change break existing APIs? If yes, describe migration path.
1241

13-
**Describe the solution you'd like**
14-
A clear and concise description of what you want to happen.
42+
## Performance and numerical stability
43+
- Any expected performance impact (time/memory)?
44+
- Any numerical stability considerations (e.g., underflow/overflow, precision)?
1545

16-
**Describe alternatives you've considered**
17-
A clear and concise description of any alternative solutions or features you've considered.
46+
## Documentation
47+
- What docs/tutorials/examples would need to be added/updated?
1848

19-
**Additional context**
20-
Add any other context or screenshots about the feature request here.
49+
## Additional context
50+
Links to related issues, papers, or references.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: Performance issue
3+
about: Report a performance regression or a need for optimization (speed/memory)
4+
title: "[Perf]: "
5+
labels: [performance]
6+
assignees: ''
7+
---
8+
9+
## Summary
10+
Describe the performance problem and why it matters.
11+
12+
## Minimal benchmark / profiling snippet
13+
Provide a minimal code sample that demonstrates the performance issue.
14+
15+
```python
16+
# minimal benchmark
17+
import time
18+
start = time.perf_counter()
19+
# your code
20+
print("elapsed:", time.perf_counter() - start)
21+
```
22+
23+
## Data characteristics
24+
- Dataset size: [rows, columns, points]
25+
- Dtypes and ranges: [brief]
26+
- Sparsity / missing values: [yes/no]
27+
28+
## Expected vs Actual
29+
- Expected time/memory: [e.g., ~100ms, <200MB]
30+
- Actual time/memory: [e.g., ~2s, ~1.2GB]
31+
32+
## Environment
33+
- OS:
34+
- Python:
35+
- statista:
36+
- Dependencies (numpy/scipy/pandas/matplotlib/scikit-learn):
37+
38+
## Profiling results (if available)
39+
Paste cProfile, line_profiler, or memory profiler output.
40+
41+
## Additional context
42+
Related issues/PRs, references, or suggested optimization ideas.

.github/dependabot.yml

Lines changed: 0 additions & 13 deletions
This file was deleted.

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Check relevant points.
2929
# Checklist:
3030

3131
- [ ] updated version number in pyproject.toml
32-
- [ ] added changes to History.rst
32+
- [ ] added changes to docs/change-log.md
3333
- [ ] updated the latest version in README file
3434
- [ ] I have added tests that prove my fix is effective or that my feature works
3535
- [ ] New and existing unit tests pass locally with my changes

.github/workflows/github-pages-mkdocs.yml

Lines changed: 19 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -20,80 +20,45 @@ jobs:
2020
if: github.event_name == 'pull_request'
2121
runs-on: ubuntu-latest
2222
steps:
23-
- uses: actions/checkout@v4
23+
- uses: actions/checkout@v5
2424
with:
2525
fetch-depth: 0
2626

27-
- name: Set up Python
28-
uses: actions/setup-python@v4
27+
- uses: Serapieum-of-alex/github-actions/actions/mkdocs-deploy@mkdocs/v1
2928
with:
29+
trigger: 'pull_request'
30+
package-manager: 'uv'
3031
python-version: '3.12'
31-
32-
- name: Install dependencies
33-
run: |
34-
pip install .[docs]
35-
36-
- name: Deploy to GitHub Pages (Pull Request)
37-
env:
38-
ACTIONS_DEPLOY_TOKEN: ${{ secrets.ACTIONS_DEPLOY_TOKEN }}
39-
run: |
40-
git config --global user.name '${{ github.actor }}'
41-
git config --global user.email '${{ github.actor }}@users.noreply.github.com'
42-
43-
mike deploy --push develop
32+
install-groups: 'groups: docs'
33+
deploy-token: ${{ secrets.ACTIONS_DEPLOY_TOKEN }}
4434

4535
deploy-main:
4636
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
4737
runs-on: ubuntu-latest
4838
steps:
49-
- uses: actions/checkout@v4
39+
- uses: actions/checkout@v5
5040
with:
5141
fetch-depth: 0
52-
53-
- name: Set up Python
54-
uses: actions/setup-python@v4
42+
- uses: Serapieum-of-alex/github-actions/actions/mkdocs-deploy@main
5543
with:
44+
trigger: 'main'
45+
package-manager: 'uv'
5646
python-version: '3.12'
57-
58-
- name: Install dependencies
59-
run: |
60-
pip install .[docs]
61-
62-
- name: Deploy to GitHub Pages (Main)
63-
env:
64-
ACTIONS_DEPLOY_TOKEN: ${{ secrets.ACTIONS_DEPLOY_TOKEN }}
65-
run: |
66-
git config --global user.name '${{ github.actor }}'
67-
git config --global user.email '${{ github.actor }}@users.noreply.github.com'
68-
mike deploy --push main
69-
mike set-default --push main
47+
install-groups: 'groups: docs'
48+
deploy-token: ${{ secrets.ACTIONS_DEPLOY_TOKEN }}
7049

7150
deploy-release:
7251
if: github.event_name == 'release'
7352
runs-on: ubuntu-latest
7453
steps:
75-
- uses: actions/checkout@v4
54+
- uses: actions/checkout@v5
7655
with:
7756
fetch-depth: 0
78-
- name: Set up Python
79-
uses: actions/setup-python@v4
57+
- uses: Serapieum-of-alex/github-actions/actions/mkdocs-deploy@main
8058
with:
59+
trigger: 'release'
60+
package-manager: 'uv'
8161
python-version: '3.12'
82-
83-
- name: Install dependencies
84-
run: |
85-
pip install .[docs]
86-
87-
- name: Set release notes tag
88-
run: |
89-
export RELEASE_TAG_VERSION=${{ github.event.release.tag_name }}
90-
echo "RELEASE_TAG_VERSION=${RELEASE_TAG_VERSION}" >> $GITHUB_ENV
91-
92-
- name: Deploy to GitHub Pages
93-
env:
94-
ACTIONS_DEPLOY_TOKEN: ${{ secrets.ACTIONS_DEPLOY_TOKEN }}
95-
run: |
96-
git config --global user.name '${{ github.actor }}'
97-
git config --global user.email '${{ github.actor }}@users.noreply.github.com'
98-
mike deploy --push --update-aliases ${RELEASE_TAG_VERSION} latest
99-
mike set-default --push latest
62+
install-groups: 'groups: docs'
63+
deploy-token: ${{ secrets.ACTIONS_DEPLOY_TOKEN }}
64+
mike-alias: 'latest'

0 commit comments

Comments
 (0)