Skip to content

Commit 2de1d0b

Browse files
committed
feat: initial commit
0 parents  commit 2de1d0b

Some content is hidden

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

60 files changed

+2612
-0
lines changed

.cookiecutter.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"_commit": "f46d0e9611ca496d3600e43343a01dcfb86caee6",
3+
"_template": "C:\\Users\\56kyl\\source\\repos\\cookiecutter-robust-python",
4+
"add_rust_extension": true,
5+
"author": "Kyle Oliver",
6+
"copyright_year": "2025",
7+
"development_status": "Development Status :: 1 - Planning",
8+
"email": "[email protected]",
9+
"friendly_name": "Robust Maturin Demo",
10+
"license": "MIT",
11+
"max_python_version": "3.13",
12+
"min_python_version": "3.9",
13+
"package_name": "robust_maturin_demo",
14+
"project_name": "robust-maturin-demo",
15+
"repository_host": "github.com",
16+
"repository_path": "56kyle/robust-maturin-demo",
17+
"repository_provider": "github",
18+
"version": "0.0.0"
19+
}

.coveragerc

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[paths]
2+
source =
3+
src
4+
*/site-packages
5+
tests =
6+
tests
7+
*/tests
8+
9+
[run]
10+
branch = true
11+
source =
12+
robust_maturin_demo
13+
tests
14+
15+
[report]
16+
exclude_also =
17+
if TYPE_CHECKING:
18+
show_missing = true
19+
fail_under = 100

.cruft.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"template": "C:\\Users\\56kyl\\source\\repos\\cookiecutter-robust-python",
3+
"commit": "f46d0e9611ca496d3600e43343a01dcfb86caee6",
4+
"checkout": null,
5+
"context": {
6+
"cookiecutter": {
7+
"project_name": "robust-maturin-demo",
8+
"package_name": "robust_maturin_demo",
9+
"friendly_name": "Robust Maturin Demo",
10+
"min_python_version": "3.9",
11+
"max_python_version": "3.13",
12+
"add_rust_extension": true,
13+
"author": "Kyle Oliver",
14+
"email": "[email protected]",
15+
"repository_provider": "github",
16+
"repository_host": "github.com",
17+
"repository_path": "56kyle/robust-maturin-demo",
18+
"version": "0.0.0",
19+
"copyright_year": "2025",
20+
"license": "MIT",
21+
"development_status": "Development Status :: 1 - Planning",
22+
"_template": "C:\\Users\\56kyl\\source\\repos\\cookiecutter-robust-python",
23+
"_commit": "f46d0e9611ca496d3600e43343a01dcfb86caee6"
24+
}
25+
},
26+
"directory": null
27+
}

.cz.toml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[tool.commitizen]
2+
tag_format = "v$version"
3+
version = "0.0.0"
4+
version_scheme = "pep440"
5+
version_provider = "pep621"
6+
7+
# Set to true to allow bumping to 0.y.z from 0.(y-1).z when commit types normally trigger major bump.
8+
# Recommended for initial development phases before 1.0.0.
9+
major_version_zero = true
10+
11+
commit_msg_file = ".git/COMMIT_EDITMSG"
12+
retry_after_failure = true
13+
update_changelog_on_bump = true
14+
15+
[tool.commitizen.github]
16+
release = true
17+
release_asset_path = "dist/*"
18+
release_asset_descriptions = { "*.tar.gz" = "Source distribution", "*.whl" = "Python Wheel" }
19+
base_url = "https://github.com/56kyle/robust-maturin-demo"

.editorconfig

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
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+
max_line_length = 120
9+
ij_formatter_off_tag = @formatter:off
10+
ij_formatter_on_tag = @formatter:on
11+
ij_formatter_tags_enabled = true
12+
ij_smart_tabs = false
13+
ij_visual_guides =
14+
ij_wrap_on_typing = false
15+
16+
[*.toml]
17+
indent_style = space
18+
indent_size = 4
19+
20+
[{*.yml,*.yaml,*.json}]
21+
indent_style = space
22+
indent_size = 2
23+
24+
[{*.py,*.pyw,*.whl}]
25+
indent_style = space
26+
indent_size = 4
27+
ij_continuation_indent_size = 4
28+
ij_python_add_indent_inside_injections = false
29+
ij_python_align_collections_and_comprehensions = true
30+
ij_python_align_multiline_imports = true
31+
ij_python_align_multiline_parameters = false
32+
ij_python_align_multiline_parameters_in_calls = false
33+
ij_python_blank_line_at_file_end = true
34+
ij_python_blank_lines_after_imports = 2
35+
ij_python_blank_lines_after_local_imports = 0
36+
ij_python_blank_lines_around_class = 1
37+
ij_python_blank_lines_around_method = 1
38+
ij_python_blank_lines_around_top_level_classes_functions = 2
39+
ij_python_blank_lines_before_first_method = 0
40+
ij_python_call_parameters_new_line_after_left_paren = true
41+
ij_python_call_parameters_right_paren_on_new_line = true
42+
ij_python_call_parameters_wrap = on_every_item
43+
ij_python_dict_alignment = 0
44+
ij_python_dict_new_line_after_left_brace = true
45+
ij_python_dict_new_line_before_right_brace = true
46+
ij_python_dict_wrapping = on_every_item
47+
ij_python_format_injected_fragments = true
48+
ij_python_from_import_new_line_after_left_parenthesis = true
49+
ij_python_from_import_new_line_before_right_parenthesis = true
50+
ij_python_from_import_parentheses_force_if_multiline = true
51+
ij_python_from_import_trailing_comma_if_multiline = false
52+
ij_python_from_import_wrapping = on_every_item
53+
ij_python_hang_closing_brackets = false
54+
ij_python_keep_blank_lines_in_code = 1
55+
ij_python_keep_blank_lines_in_declarations = 1
56+
ij_python_keep_indents_on_empty_lines = false
57+
ij_python_keep_line_breaks = true
58+
ij_python_list_new_line_after_left_bracket = true
59+
ij_python_list_new_line_before_right_bracket = true
60+
ij_python_list_wrapping = on_every_item
61+
ij_python_method_parameters_new_line_after_left_paren = true
62+
ij_python_method_parameters_right_paren_on_new_line = true
63+
ij_python_method_parameters_wrap = on_every_item
64+
ij_python_new_line_after_colon = true
65+
ij_python_new_line_after_colon_multi_clause = true
66+
ij_python_optimize_imports_always_split_from_imports = true
67+
ij_python_optimize_imports_case_insensitive_order = false
68+
ij_python_optimize_imports_join_from_imports_with_same_source = false
69+
ij_python_optimize_imports_sort_by_type_first = true
70+
ij_python_optimize_imports_sort_imports = true
71+
ij_python_optimize_imports_sort_names_in_from_imports = false
72+
ij_python_set_new_line_after_left_brace = true
73+
ij_python_set_new_line_before_right_brace = true
74+
ij_python_set_wrapping = on_every_item
75+
ij_python_space_after_comma = true
76+
ij_python_space_after_number_sign = true
77+
ij_python_space_after_py_colon = true
78+
ij_python_space_before_backslash = true
79+
ij_python_space_before_comma = false
80+
ij_python_space_before_for_semicolon = false
81+
ij_python_space_before_lbracket = false
82+
ij_python_space_before_method_call_parentheses = false
83+
ij_python_space_before_method_parentheses = false
84+
ij_python_space_before_number_sign = true
85+
ij_python_space_before_py_colon = false
86+
ij_python_space_within_empty_method_call_parentheses = false
87+
ij_python_space_within_empty_method_parentheses = false
88+
ij_python_spaces_around_additive_operators = true
89+
ij_python_spaces_around_assignment_operators = true
90+
ij_python_spaces_around_bitwise_operators = true
91+
ij_python_spaces_around_eq_in_keyword_argument = false
92+
ij_python_spaces_around_eq_in_named_parameter = false
93+
ij_python_spaces_around_equality_operators = true
94+
ij_python_spaces_around_multiplicative_operators = true
95+
ij_python_spaces_around_power_operator = true
96+
ij_python_spaces_around_relational_operators = true
97+
ij_python_spaces_around_shift_operators = true
98+
ij_python_spaces_within_braces = false
99+
ij_python_spaces_within_brackets = false
100+
ij_python_spaces_within_method_call_parentheses = false
101+
ij_python_spaces_within_method_parentheses = false
102+
ij_python_tuple_new_line_after_left_parenthesis = true
103+
ij_python_tuple_new_line_before_right_parenthesis = true
104+
ij_python_tuple_wrapping = on_every_item
105+
ij_python_use_continuation_indent_for_arguments = false
106+
ij_python_use_continuation_indent_for_collection_and_comprehensions = false
107+
ij_python_use_continuation_indent_for_parameters = true
108+
ij_python_use_trailing_comma_in_arguments_list = false
109+
ij_python_use_trailing_comma_in_collections = false
110+
ij_python_use_trailing_comma_in_parameter_list = false
111+
ij_python_wrap_long_lines = false

.env

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
ROBUST_MATURIN_DEMO__PROJECT_NAME=robust-maturin-demo
3+
ROBUST_MATURIN_DEMO__PACKAGE_NAME=robust_maturin_demo
4+
ROBUST_MATURIN_DEMO__FRIENDLY_NAME=Robust Maturin Demo

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto eol=lf

.github/dependabot.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
target-branch: "develop"
6+
schedule:
7+
interval: weekly
8+
- package-ecosystem: pip
9+
directory: "/.github/workflows"
10+
target-branch: "develop"
11+
schedule:
12+
interval: weekly
13+
- package-ecosystem: pip
14+
directory: "/docs"
15+
target-branch: "develop"
16+
schedule:
17+
interval: weekly
18+
- package-ecosystem: pip
19+
directory: "/"
20+
target-branch: "develop"
21+
schedule:
22+
interval: weekly
23+
versioning-strategy: lockfile-only
24+
allow:
25+
- dependency-type: "all"

.github/workflows/.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.13

.github/workflows/build-docs.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# .github/workflows/build-docs.yml
2+
# See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
3+
4+
name: Build Documentation
5+
6+
on:
7+
pull_request:
8+
paths:
9+
- "docs/**"
10+
- "src/**/*.py"
11+
- "noxfile.py"
12+
- "pyproject.toml"
13+
- ".github/workflows/build-docs.yml"
14+
- ".ruff.toml" # Affects docstrings via linting
15+
- "pyrightconfig.json" # Affects type hints in docs
16+
17+
push:
18+
branches:
19+
- main
20+
- master
21+
paths:
22+
- "docs/**"
23+
- "src/**/*.py"
24+
- "noxfile.py"
25+
- "pyproject.toml"
26+
- ".github/workflows/build-docs.yml"
27+
28+
workflow_dispatch:
29+
30+
jobs:
31+
build-docs:
32+
name: Run Documentation Build Check
33+
runs-on: ubuntu-latest
34+
35+
steps:
36+
- name: Checkout code
37+
uses: actions/checkout@v4
38+
39+
- name: Install uv
40+
uses: astral-sh/setup-uv@v6
41+
42+
- name: Set up Python
43+
uses: actions/setup-python@v5
44+
with:
45+
python-version-file: ".github/workflows/.python-version"
46+
47+
- name: Build documentation
48+
run: uvx nox -s build-docs
49+
50+
- name: Upload documentation (HTML) Artifact
51+
uses: actions/upload-artifact@v4
52+
with:
53+
name: html-docs
54+
path: docs/_build/html/

0 commit comments

Comments
 (0)