Skip to content

Commit ff59a37

Browse files
committed
Initial commit
Signed-off-by: Guillaume Tauzin <4648633+gtauzin@users.noreply.github.com>
0 parents  commit ff59a37

File tree

348 files changed

+111321
-0
lines changed

Some content is hidden

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

348 files changed

+111321
-0
lines changed

.copier-answers.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# This file is used by Copier to track the template version
2+
# and enable template updates in generated projects
3+
4+
_commit: b1350d0e5e9792ccf86faba9ee3899075a622462
5+
_src_path: gh:stateful-y/python-package-copier
6+
author_email: gtauzin@stateful-y.io
7+
author_name: Guillaume Tauzin
8+
description: A time series forecasting package based on Scikit-Learn and Polars
9+
github_username: stateful-y
10+
include_actions: True
11+
include_examples: True
12+
license: Apache-2.0
13+
max_python_version: '3.14'
14+
min_python_version: '3.11'
15+
package_name: yohou
16+
project_name: Yohou
17+
project_slug: yohou

.editorconfig

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# EditorConfig helps maintain consistent coding styles across different editors and IDEs
2+
# See https://editorconfig.org
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true
11+
12+
[*.py]
13+
indent_style = space
14+
indent_size = 4
15+
max_line_length = 120
16+
17+
[*.{yml,yaml,toml}]
18+
indent_style = space
19+
indent_size = 2
20+
21+
[*.{json,md}]
22+
indent_style = space
23+
indent_size = 2
24+
25+
[Makefile]
26+
indent_style = tab
27+
28+
[*.{sh,bash}]
29+
indent_style = space
30+
indent_size = 2

.git-cliff.toml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# git-cliff configuration for changelog generation
2+
# See: https://git-cliff.org/docs/configuration
3+
4+
[changelog]
5+
# changelog header
6+
header = """
7+
# Changelog
8+
9+
All notable changes to this project will be documented in this file.
10+
11+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
12+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
13+
14+
"""
15+
# template for the changelog body
16+
body = """
17+
{%- if version %}
18+
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
19+
{%- set release_type = "" %}
20+
{%- if version is matching("v?[0-9]+\\.0\\.0") %}
21+
{%- set release_type = "major" %}
22+
{%- elif version is matching("v?[0-9]+\\.[0-9]+\\.0") %}
23+
{%- set release_type = "minor" %}
24+
{%- else %}
25+
{%- set release_type = "patch" %}
26+
{%- endif %}
27+
28+
This **{{ release_type }} release** includes {{ commits | length }} commit{%- if commits | length != 1 %}s{%- endif %}.
29+
{% else %}
30+
## [Unreleased]
31+
{%- endif %}
32+
{%- for group, commits in commits | group_by(attribute="group") %}
33+
34+
### {{ group | striptags | trim | upper_first }}
35+
{%- for commit in commits %}
36+
- {{ commit.message | upper_first }}{%- if commit.remote.pr_number %} ([#{{ commit.remote.pr_number }}](https://github.com/stateful-y/yohou/pull/{{ commit.remote.pr_number }})){%- endif %}{%- if commit.remote.username %} by @{{ commit.remote.username }}{%- endif %}
37+
{%- endfor %}
38+
{%- endfor %}
39+
{%- set new_contributors = commits | filter(attribute="remote.username") | map(attribute="remote.username") | unique %}
40+
{%- if new_contributors | length > 0 %}
41+
42+
### Contributors
43+
44+
Thanks to all contributors for this release:
45+
{%- for contributor in new_contributors %}
46+
- @{{ contributor }}
47+
{%- endfor %}
48+
{%- endif %}
49+
50+
"""
51+
# template for the changelog footer
52+
footer = """
53+
<!-- generated by git-cliff -->
54+
"""
55+
# remove the leading and trailing whitespace from the templates
56+
trim = true
57+
# postprocessors to apply to the generated changelog
58+
postprocessors = []
59+
60+
[git]
61+
# parse the commits based on https://www.conventionalcommits.org
62+
conventional_commits = true
63+
# filter out the commits that are not conventional
64+
filter_unconventional = true
65+
# process each line of a commit as an individual commit
66+
split_commits = false
67+
# regex for preprocessing the commit messages
68+
commit_preprocessors = [
69+
# Remove issue numbers from commits
70+
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "" },
71+
]
72+
# regex for parsing and grouping commits
73+
commit_parsers = [
74+
{ message = "^feat", group = "<!-- 0 -->Features" },
75+
{ message = "^fix", group = "<!-- 1 -->Bug Fixes" },
76+
{ message = "^doc", group = "<!-- 2 -->Documentation" },
77+
{ message = "^perf", group = "<!-- 3 -->Performance" },
78+
{ message = "^refactor", group = "<!-- 4 -->Refactoring" },
79+
{ message = "^style", group = "<!-- 5 -->Styling" },
80+
{ message = "^test", group = "<!-- 6 -->Testing" },
81+
{ message = "^chore\\(release\\)", skip = true },
82+
{ message = "^chore\\(deps.*\\)", skip = true },
83+
{ message = "^chore\\(pr\\)", skip = true },
84+
{ message = "^chore\\(pull\\)", skip = true },
85+
{ message = "^chore|^ci", group = "<!-- 7 -->Miscellaneous Tasks" },
86+
{ body = ".*security", group = "<!-- 8 -->Security" },
87+
{ message = "^revert", group = "<!-- 9 -->Revert" },
88+
]
89+
# protect breaking changes from being skipped due to matching a skipping commit_parser
90+
protect_breaking_commits = false
91+
# filter out the commits that are not matched by commit parsers
92+
filter_commits = false
93+
# sort the tags topologically
94+
topo_order = false
95+
# sort the commits inside sections by oldest/newest order
96+
sort_commits = "oldest"
97+
# limit the number of commits included in the changelog.
98+
# limit_commits = 42
99+
100+
[remote.github]
101+
owner = "stateful-y"
102+
repo = "yohou"

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.parquet filter=lfs diff=lfs merge=lfs -text
2+
*.csv filter=lfs diff=lfs merge=lfs -text
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Bug Report
2+
description: Report a bug or unexpected behavior
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: textarea
7+
id: description
8+
attributes:
9+
label: What happened?
10+
description: Describe the bug and what you expected to happen
11+
placeholder: |
12+
When I... I expected... but instead...
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: reproduction
18+
attributes:
19+
label: How to reproduce
20+
placeholder: |
21+
```python
22+
# Minimal code example
23+
```
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: environment
29+
attributes:
30+
label: Environment
31+
placeholder: |
32+
OS: Ubuntu 22.04
33+
Python: 3.11.5
34+
Version: 0.1.0
35+
value: |
36+
OS:
37+
Python:
38+
Version:
39+
validations:
40+
required: true
41+
42+
- type: textarea
43+
id: additional
44+
attributes:
45+
label: Additional context
46+
description: Logs, stack traces, or anything else that might help

.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: Question or Discussion
4+
url: https://github.com/stateful-y/yohou/discussions
5+
about: Please use GitHub Discussions for questions and general discussions
6+
- name: Documentation
7+
url: https://stateful-y.github.io/yohou/
8+
about: Check the documentation for guides and API references
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Feature Request
2+
description: Suggest a new feature or enhancement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: textarea
7+
id: description
8+
attributes:
9+
label: Feature description
10+
description: What would you like to see?
11+
placeholder: I would like to be able to...
12+
validations:
13+
required: true
14+
15+
- type: textarea
16+
id: motivation
17+
attributes:
18+
label: Why is this needed?
19+
description: What problem does this solve?
20+
placeholder: This would help with...
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: example
26+
attributes:
27+
label: Example usage
28+
description: Show how you'd like to use this feature (optional)
29+
render: python
30+
placeholder: |
31+
from yohou import new_feature
32+
result = new_feature()
33+
34+
- type: textarea
35+
id: additional
36+
attributes:
37+
label: Additional context
38+
description: Alternatives considered, implementation ideas, examples, etc.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
## Description
2+
3+
<!-- Provide a brief description of the changes in this PR -->
4+
5+
## Type of Change
6+
7+
<!-- Mark the relevant option with an "x" -->
8+
9+
- [ ] Bug fix (non-breaking change that fixes an issue)
10+
- [ ] New feature (non-breaking change that adds functionality)
11+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12+
- [ ] Documentation update
13+
- [ ] Refactoring (no functional changes)
14+
- [ ] Other (please describe):
15+
16+
## Motivation and Context
17+
18+
<!-- Why is this change required? What problem does it solve? -->
19+
<!-- If it fixes an open issue, please link to the issue here -->
20+
21+
Fixes #
22+
23+
## Checklist
24+
25+
<!-- Mark completed items with an "x" -->
26+
27+
- [ ] My code follows the code style of this project
28+
- [ ] I have run `just format` to format my code
29+
- [ ] I have run `just check` to verify type annotations
30+
- [ ] I have updated the documentation accordingly
31+
- [ ] I have added tests to cover my changes
32+
- [ ] All new and existing tests passed
33+
- [ ] My changes generate no new warnings
34+
35+
## Additional Notes
36+
37+
<!-- Add any other context about the PR here -->

.github/dependabot.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
version: 2
2+
updates:
3+
# Maintain dependencies for GitHub Actions
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
labels:
9+
- "dependencies"
10+
- "github-actions"
11+
12+
# Maintain dependencies for pip
13+
- package-ecosystem: "pip"
14+
directory: "/"
15+
schedule:
16+
interval: "weekly"
17+
labels:
18+
- "dependencies"
19+
- "python"

0 commit comments

Comments
 (0)