baldwin 0.0.7__tar.gz → 0.0.8__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.
Potentially problematic release.
This version of baldwin might be problematic. Click here for more details.
- baldwin-0.0.8/LICENSE.txt +18 -0
- {baldwin-0.0.7 → baldwin-0.0.8}/PKG-INFO +11 -4
- {baldwin-0.0.7 → baldwin-0.0.8}/README.md +1 -1
- baldwin-0.0.8/baldwin/__init__.py +2 -0
- baldwin-0.0.8/baldwin/__main__.py +4 -0
- {baldwin-0.0.7 → baldwin-0.0.8}/baldwin/lib.py +19 -9
- {baldwin-0.0.7 → baldwin-0.0.8}/baldwin/main.py +22 -22
- baldwin-0.0.8/baldwin/py.typed +0 -0
- baldwin-0.0.8/man/baldwin.1 +151 -0
- {baldwin-0.0.7 → baldwin-0.0.8}/pyproject.toml +55 -25
- baldwin-0.0.7/LICENSE.txt +0 -21
- baldwin-0.0.7/baldwin/__init__.py +0 -2
- {baldwin-0.0.7 → baldwin-0.0.8}/baldwin/resources/default_gitattributes.txt +0 -0
- {baldwin-0.0.7 → baldwin-0.0.8}/baldwin/resources/default_gitignore.txt +0 -0
- {baldwin-0.0.7 → baldwin-0.0.8}/baldwin/resources/prettier.config.json +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 baldwin authors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
6
|
+
associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
7
|
+
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
8
|
+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
furnished to do so, subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all copies or
|
|
12
|
+
substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
|
|
15
|
+
NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
16
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
17
|
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
|
|
18
|
+
OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -1,26 +1,33 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: baldwin
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.8
|
|
4
4
|
Summary: Simple tracking of your home directory with easy-to-read diffs.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: command line,file management,git,version control
|
|
7
7
|
Author: Andrew Udvare
|
|
8
8
|
Author-email: audvare@gmail.com
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.10,<3.14
|
|
10
10
|
Classifier: Development Status :: 2 - Pre-Alpha
|
|
11
11
|
Classifier: Intended Audience :: Developers
|
|
12
12
|
Classifier: License :: OSI Approved :: MIT License
|
|
13
13
|
Classifier: Programming Language :: Python
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
17
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
18
|
Classifier: Typing :: Typed
|
|
19
|
+
Provides-Extra: erdantic
|
|
17
20
|
Requires-Dist: binaryornot (>=0.4.4,<0.5.0)
|
|
18
21
|
Requires-Dist: click (>=8.1.8,<9.0.0)
|
|
22
|
+
Requires-Dist: erdantic (<2.0) ; extra == "erdantic"
|
|
19
23
|
Requires-Dist: gitpython (>=3.1.44,<4.0.0)
|
|
20
24
|
Requires-Dist: platformdirs (>=4.3.6,<5.0.0)
|
|
25
|
+
Requires-Dist: tomlkit (>=0.13.2,<0.14.0)
|
|
26
|
+
Requires-Dist: typing-extensions (>=4.13.1,<5.0.0)
|
|
21
27
|
Project-URL: Documentation, https://baldwin.readthedocs.org
|
|
28
|
+
Project-URL: Homepage, https://tatsh.github.io/baldwin/
|
|
29
|
+
Project-URL: Issues, https://github.com/Tatsh/baldwin/issues
|
|
22
30
|
Project-URL: Repository, https://github.com/Tatsh/baldwin
|
|
23
|
-
Project-URL: issues, https://github.com/Tatsh/baldwin/issues
|
|
24
31
|
Description-Content-Type: text/markdown
|
|
25
32
|
|
|
26
33
|
# Simple home directory versioning
|
|
@@ -32,7 +39,7 @@ Description-Content-Type: text/markdown
|
|
|
32
39
|

|
|
33
40
|

|
|
34
41
|

|
|
35
|
-
](https://img.shields.io/github/commits-since/Tatsh/baldwin/v0.0.8/master)
|
|
36
43
|
|
|
37
44
|
This is a conversion of my simple scripts to version my home directory with very specific excludes
|
|
38
45
|
and formatting every file upon commit so that readable diffs can be generated.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|

|
|
8
8
|

|
|
9
9
|

|
|
10
|
-
](https://img.shields.io/github/commits-since/Tatsh/baldwin/v0.0.8/master)
|
|
11
11
|
|
|
12
12
|
This is a conversion of my simple scripts to version my home directory with very specific excludes
|
|
13
13
|
and formatting every file upon commit so that readable diffs can be generated.
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"""Baldwin library."""
|
|
2
2
|
from collections.abc import Iterable
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from datetime import
|
|
4
|
+
from datetime import datetime, timezone
|
|
5
5
|
from importlib import resources
|
|
6
6
|
from itertools import chain
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from shlex import quote
|
|
9
9
|
from shutil import which
|
|
10
|
-
from typing import Literal
|
|
10
|
+
from typing import Any, Literal
|
|
11
11
|
import logging
|
|
12
12
|
import os
|
|
13
13
|
import subprocess as sp
|
|
@@ -15,6 +15,7 @@ import subprocess as sp
|
|
|
15
15
|
from binaryornot.check import is_binary
|
|
16
16
|
from git import Actor, Repo
|
|
17
17
|
import platformdirs
|
|
18
|
+
import tomlkit
|
|
18
19
|
|
|
19
20
|
log = logging.getLogger(__name__)
|
|
20
21
|
|
|
@@ -76,7 +77,7 @@ def auto_commit() -> None:
|
|
|
76
77
|
if items_to_remove:
|
|
77
78
|
repo.index.remove(items_to_remove)
|
|
78
79
|
if items_to_add or items_to_remove or len(repo.index.diff('HEAD')) > 0:
|
|
79
|
-
repo.index.commit(f'Automatic commit @ {datetime.now(tz=
|
|
80
|
+
repo.index.commit(f'Automatic commit @ {datetime.now(tz=timezone.utc).isoformat()}',
|
|
80
81
|
committer=Actor('Auto-commiter', 'hgit@tat.sh'))
|
|
81
82
|
|
|
82
83
|
|
|
@@ -136,6 +137,14 @@ def get_git_path() -> Path:
|
|
|
136
137
|
return platformdirs.user_data_path('home-git', roaming=True)
|
|
137
138
|
|
|
138
139
|
|
|
140
|
+
def get_config() -> tomlkit.TOMLDocument | dict[str, Any]:
|
|
141
|
+
"""Get the configuration (TOML file)."""
|
|
142
|
+
config_file = platformdirs.user_config_path('baldwin', roaming=True) / 'config.toml'
|
|
143
|
+
if not config_file.exists():
|
|
144
|
+
return {}
|
|
145
|
+
return tomlkit.loads(config_file.read_text())
|
|
146
|
+
|
|
147
|
+
|
|
139
148
|
def get_repo() -> Repo:
|
|
140
149
|
"""
|
|
141
150
|
Get a :py:class:`git.Repo` object.
|
|
@@ -167,14 +176,15 @@ def format_(filenames: Iterable[Path | str] | None = None,
|
|
|
167
176
|
for d in repo.index.diff(None) if d.a_path is not None),
|
|
168
177
|
*(x for x in (Path.home() / y for y in repo.untracked_files)
|
|
169
178
|
if x.is_file() and not is_binary(str(x))))
|
|
170
|
-
if not (filenames := list(filenames)):
|
|
179
|
+
if not (filenames := list(filenames)) or not (prettier := which('prettier')):
|
|
171
180
|
return
|
|
172
|
-
with resources.path('baldwin.resources', 'prettier.config.json') as
|
|
173
|
-
|
|
174
|
-
|
|
181
|
+
with resources.path('baldwin.resources', 'prettier.config.json') as default_config_file:
|
|
182
|
+
config_file = get_config().get('baldwin', {
|
|
183
|
+
'prettier_config': str(default_config_file)
|
|
184
|
+
}).get('prettier_config')
|
|
175
185
|
# Detect plugins
|
|
176
|
-
node_modules_path = (Path(prettier).resolve(strict=True).parent /
|
|
177
|
-
'
|
|
186
|
+
node_modules_path = (Path(prettier).resolve(strict=True).parent /
|
|
187
|
+
'../..').resolve(strict=True)
|
|
178
188
|
cmd_prefix = (prettier, '--config', str(config_file), '--write',
|
|
179
189
|
'--no-error-on-unmatched-pattern', '--ignore-unknown', '--log-level',
|
|
180
190
|
log_level, *chain(*(('--plugin', str(fp))
|
|
@@ -3,23 +3,23 @@ import logging
|
|
|
3
3
|
import click
|
|
4
4
|
|
|
5
5
|
from .lib import (
|
|
6
|
-
auto_commit,
|
|
6
|
+
auto_commit as auto_commit_,
|
|
7
7
|
format_,
|
|
8
|
-
git,
|
|
9
|
-
init,
|
|
10
|
-
install_units,
|
|
8
|
+
git as git_,
|
|
9
|
+
init as init_,
|
|
10
|
+
install_units as install_units_,
|
|
11
11
|
repo_info,
|
|
12
12
|
set_git_env_vars,
|
|
13
13
|
)
|
|
14
14
|
|
|
15
15
|
log = logging.getLogger(__name__)
|
|
16
16
|
|
|
17
|
-
__all__ = ('
|
|
17
|
+
__all__ = ('baldwin', 'git')
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
@click.group(context_settings={'help_option_names': ('-h', '--help')})
|
|
21
21
|
@click.option('-d', '--debug', help='Enable debug logging.', is_flag=True)
|
|
22
|
-
def
|
|
22
|
+
def baldwin(*, debug: bool = False) -> None:
|
|
23
23
|
"""Manage a home directory with Git."""
|
|
24
24
|
set_git_env_vars()
|
|
25
25
|
logging.basicConfig(level=logging.DEBUG if debug else logging.ERROR)
|
|
@@ -30,31 +30,31 @@ def baldwin_main(*, debug: bool = False) -> None:
|
|
|
30
30
|
'ignore_unknown_options': True
|
|
31
31
|
})
|
|
32
32
|
@click.argument('args', nargs=-1, type=click.UNPROCESSED)
|
|
33
|
-
def
|
|
33
|
+
def git(args: tuple[str, ...]) -> None:
|
|
34
34
|
"""Wrap git with git-dir and work-tree passed."""
|
|
35
|
-
|
|
35
|
+
git_(args)
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
@click.command(context_settings={'help_option_names': ('-h', '--help')})
|
|
39
|
-
def
|
|
39
|
+
def init() -> None:
|
|
40
40
|
"""Start tracking a home directory."""
|
|
41
|
-
|
|
41
|
+
init_()
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
@click.command(context_settings={'help_option_names': ('-h', '--help')})
|
|
45
|
-
def
|
|
45
|
+
def auto_commit() -> None:
|
|
46
46
|
"""Automated commit of changed and untracked files."""
|
|
47
|
-
|
|
47
|
+
auto_commit_()
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
@click.command(context_settings={'help_option_names': ('-h', '--help')})
|
|
51
|
-
def
|
|
51
|
+
def format() -> None: # noqa: A001
|
|
52
52
|
"""Format changed and untracked files."""
|
|
53
53
|
format_()
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
@click.command(context_settings={'help_option_names': ('-h', '--help')})
|
|
57
|
-
def
|
|
57
|
+
def info() -> None:
|
|
58
58
|
"""Get basic information about the repository."""
|
|
59
59
|
data = repo_info()
|
|
60
60
|
click.echo(f'git-dir path: {data.git_dir_path}')
|
|
@@ -62,14 +62,14 @@ def info_main() -> None:
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
@click.command(context_settings={'help_option_names': ('-h', '--help')})
|
|
65
|
-
def
|
|
65
|
+
def install_units() -> None:
|
|
66
66
|
"""Install systemd units for automatic committing."""
|
|
67
|
-
|
|
67
|
+
install_units_()
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
70
|
+
baldwin.add_command(auto_commit)
|
|
71
|
+
baldwin.add_command(format)
|
|
72
|
+
baldwin.add_command(git)
|
|
73
|
+
baldwin.add_command(info)
|
|
74
|
+
baldwin.add_command(init)
|
|
75
|
+
baldwin.add_command(install_units)
|
|
File without changes
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
.\" Man page generated from reStructuredText.
|
|
2
|
+
.
|
|
3
|
+
.
|
|
4
|
+
.nr rst2man-indent-level 0
|
|
5
|
+
.
|
|
6
|
+
.de1 rstReportMargin
|
|
7
|
+
\\$1 \\n[an-margin]
|
|
8
|
+
level \\n[rst2man-indent-level]
|
|
9
|
+
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
10
|
+
-
|
|
11
|
+
\\n[rst2man-indent0]
|
|
12
|
+
\\n[rst2man-indent1]
|
|
13
|
+
\\n[rst2man-indent2]
|
|
14
|
+
..
|
|
15
|
+
.de1 INDENT
|
|
16
|
+
.\" .rstReportMargin pre:
|
|
17
|
+
. RS \\$1
|
|
18
|
+
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
|
19
|
+
. nr rst2man-indent-level +1
|
|
20
|
+
.\" .rstReportMargin post:
|
|
21
|
+
..
|
|
22
|
+
.de UNINDENT
|
|
23
|
+
. RE
|
|
24
|
+
.\" indent \\n[an-margin]
|
|
25
|
+
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
26
|
+
.nr rst2man-indent-level -1
|
|
27
|
+
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
28
|
+
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
|
29
|
+
..
|
|
30
|
+
.TH "BALDWIN" "1" "Apr 12, 2025" "0.0.7" "baldwin"
|
|
31
|
+
.SH NAME
|
|
32
|
+
baldwin \- baldwin v0.0.7
|
|
33
|
+
.sp
|
|
34
|
+
This is a conversion of my simple scripts to version my home directory with very specific excludes
|
|
35
|
+
and formatting every file upon commit so that readable diffs can be generated.
|
|
36
|
+
.SH COMMANDS
|
|
37
|
+
.SS bw
|
|
38
|
+
.sp
|
|
39
|
+
Manage a home directory with Git.
|
|
40
|
+
.INDENT 0.0
|
|
41
|
+
.INDENT 3.5
|
|
42
|
+
.sp
|
|
43
|
+
.EX
|
|
44
|
+
bw [OPTIONS] COMMAND [ARGS]...
|
|
45
|
+
.EE
|
|
46
|
+
.UNINDENT
|
|
47
|
+
.UNINDENT
|
|
48
|
+
.sp
|
|
49
|
+
Options
|
|
50
|
+
.INDENT 0.0
|
|
51
|
+
.TP
|
|
52
|
+
.B \-d, \-\-debug
|
|
53
|
+
Enable debug logging.
|
|
54
|
+
.UNINDENT
|
|
55
|
+
.SS auto\-commit
|
|
56
|
+
.sp
|
|
57
|
+
Automated commit of changed and untracked files.
|
|
58
|
+
.INDENT 0.0
|
|
59
|
+
.INDENT 3.5
|
|
60
|
+
.sp
|
|
61
|
+
.EX
|
|
62
|
+
bw auto\-commit [OPTIONS]
|
|
63
|
+
.EE
|
|
64
|
+
.UNINDENT
|
|
65
|
+
.UNINDENT
|
|
66
|
+
.SS format
|
|
67
|
+
.sp
|
|
68
|
+
Format changed and untracked files.
|
|
69
|
+
.INDENT 0.0
|
|
70
|
+
.INDENT 3.5
|
|
71
|
+
.sp
|
|
72
|
+
.EX
|
|
73
|
+
bw format [OPTIONS]
|
|
74
|
+
.EE
|
|
75
|
+
.UNINDENT
|
|
76
|
+
.UNINDENT
|
|
77
|
+
.SS git
|
|
78
|
+
.sp
|
|
79
|
+
Wrap git with git\-dir and work\-tree passed.
|
|
80
|
+
.INDENT 0.0
|
|
81
|
+
.INDENT 3.5
|
|
82
|
+
.sp
|
|
83
|
+
.EX
|
|
84
|
+
bw git [OPTIONS] [ARGS]...
|
|
85
|
+
.EE
|
|
86
|
+
.UNINDENT
|
|
87
|
+
.UNINDENT
|
|
88
|
+
.sp
|
|
89
|
+
Arguments
|
|
90
|
+
.INDENT 0.0
|
|
91
|
+
.TP
|
|
92
|
+
.B ARGS
|
|
93
|
+
Optional argument(s)
|
|
94
|
+
.UNINDENT
|
|
95
|
+
.SS info
|
|
96
|
+
.sp
|
|
97
|
+
Get basic information about the repository.
|
|
98
|
+
.INDENT 0.0
|
|
99
|
+
.INDENT 3.5
|
|
100
|
+
.sp
|
|
101
|
+
.EX
|
|
102
|
+
bw info [OPTIONS]
|
|
103
|
+
.EE
|
|
104
|
+
.UNINDENT
|
|
105
|
+
.UNINDENT
|
|
106
|
+
.SS init
|
|
107
|
+
.sp
|
|
108
|
+
Start tracking a home directory.
|
|
109
|
+
.INDENT 0.0
|
|
110
|
+
.INDENT 3.5
|
|
111
|
+
.sp
|
|
112
|
+
.EX
|
|
113
|
+
bw init [OPTIONS]
|
|
114
|
+
.EE
|
|
115
|
+
.UNINDENT
|
|
116
|
+
.UNINDENT
|
|
117
|
+
.SS install\-units
|
|
118
|
+
.sp
|
|
119
|
+
Install systemd units for automatic committing.
|
|
120
|
+
.INDENT 0.0
|
|
121
|
+
.INDENT 3.5
|
|
122
|
+
.sp
|
|
123
|
+
.EX
|
|
124
|
+
bw install\-units [OPTIONS]
|
|
125
|
+
.EE
|
|
126
|
+
.UNINDENT
|
|
127
|
+
.UNINDENT
|
|
128
|
+
.SS hgit
|
|
129
|
+
.sp
|
|
130
|
+
Wrap git with git\-dir and work\-tree passed.
|
|
131
|
+
.INDENT 0.0
|
|
132
|
+
.INDENT 3.5
|
|
133
|
+
.sp
|
|
134
|
+
.EX
|
|
135
|
+
hgit [OPTIONS] [ARGS]...
|
|
136
|
+
.EE
|
|
137
|
+
.UNINDENT
|
|
138
|
+
.UNINDENT
|
|
139
|
+
.sp
|
|
140
|
+
Arguments
|
|
141
|
+
.INDENT 0.0
|
|
142
|
+
.TP
|
|
143
|
+
.B ARGS
|
|
144
|
+
Optional argument(s)
|
|
145
|
+
.UNINDENT
|
|
146
|
+
.SH AUTHOR
|
|
147
|
+
Andrew Udvare <audvare@gmail.com>
|
|
148
|
+
.SH COPYRIGHT
|
|
149
|
+
2025
|
|
150
|
+
.\" Generated by docutils manpage writer.
|
|
151
|
+
.
|
|
@@ -8,6 +8,8 @@ classifiers = [
|
|
|
8
8
|
"Intended Audience :: Developers",
|
|
9
9
|
"License :: OSI Approved :: MIT License",
|
|
10
10
|
"Programming Language :: Python",
|
|
11
|
+
"Programming Language :: Python :: 3.10",
|
|
12
|
+
"Programming Language :: Python :: 3.11",
|
|
11
13
|
"Programming Language :: Python :: 3.12",
|
|
12
14
|
"Programming Language :: Python :: 3.13",
|
|
13
15
|
"Typing :: Typed",
|
|
@@ -18,15 +20,23 @@ keywords = ["command line", "file management", "git", "version control"]
|
|
|
18
20
|
license = "MIT"
|
|
19
21
|
name = "baldwin"
|
|
20
22
|
readme = "README.md"
|
|
21
|
-
version = "0.0.
|
|
23
|
+
version = "0.0.8"
|
|
22
24
|
|
|
23
25
|
[[project.authors]]
|
|
24
26
|
email = "audvare@gmail.com"
|
|
25
27
|
name = "Andrew Udvare"
|
|
26
28
|
|
|
29
|
+
[project.optional-dependencies]
|
|
30
|
+
erdantic = ["erdantic<2.0"]
|
|
31
|
+
|
|
32
|
+
[project.scripts]
|
|
33
|
+
bw = "baldwin.main:baldwin"
|
|
34
|
+
hgit = "baldwin.main:git"
|
|
35
|
+
|
|
27
36
|
[project.urls]
|
|
37
|
+
Issues = "https://github.com/Tatsh/baldwin/issues"
|
|
28
38
|
documentation = "https://baldwin.readthedocs.org"
|
|
29
|
-
|
|
39
|
+
homepage = "https://tatsh.github.io/baldwin/"
|
|
30
40
|
repository = "https://github.com/Tatsh/baldwin"
|
|
31
41
|
|
|
32
42
|
[tool]
|
|
@@ -34,23 +44,31 @@ repository = "https://github.com/Tatsh/baldwin"
|
|
|
34
44
|
[tool.commitizen]
|
|
35
45
|
tag_format = "v$version"
|
|
36
46
|
version_files = [
|
|
37
|
-
".
|
|
47
|
+
".wiswa.jsonnet",
|
|
38
48
|
"CITATION.cff",
|
|
39
49
|
"README.md",
|
|
40
|
-
"baldwin/__init__.py",
|
|
41
50
|
"package.json",
|
|
51
|
+
"baldwin/__init__.py",
|
|
42
52
|
]
|
|
43
53
|
version_provider = "pep621"
|
|
44
54
|
|
|
45
55
|
[tool.coverage]
|
|
46
56
|
|
|
47
57
|
[tool.coverage.report]
|
|
48
|
-
omit = ["
|
|
58
|
+
omit = ["conftest.py", "tests.py", "tests/test_*.py", "__main__.py"]
|
|
49
59
|
show_missing = true
|
|
50
60
|
|
|
51
61
|
[tool.coverage.run]
|
|
52
62
|
branch = true
|
|
53
|
-
omit = ["
|
|
63
|
+
omit = ["conftest.py", "tests.py", "tests/test_*.py", "__main__.py"]
|
|
64
|
+
|
|
65
|
+
[tool.djlint]
|
|
66
|
+
max_line_length = 100
|
|
67
|
+
no_line_after_yaml = true
|
|
68
|
+
preserve_blank_lines = true
|
|
69
|
+
preserve_leading_space = true
|
|
70
|
+
profile = "jinja"
|
|
71
|
+
use_gitignore = true
|
|
54
72
|
|
|
55
73
|
[tool.doc8]
|
|
56
74
|
max-line-length = 100
|
|
@@ -59,20 +77,23 @@ max-line-length = 100
|
|
|
59
77
|
cache_dir = "~/.cache/mypy"
|
|
60
78
|
explicit_package_bases = true
|
|
61
79
|
platform = "linux"
|
|
62
|
-
python_version = "3.
|
|
80
|
+
python_version = "3.10"
|
|
63
81
|
show_column_numbers = true
|
|
64
82
|
strict = true
|
|
65
83
|
strict_optional = true
|
|
66
84
|
warn_unreachable = true
|
|
67
85
|
|
|
68
86
|
[tool.poetry]
|
|
87
|
+
include = ["man"]
|
|
69
88
|
|
|
70
89
|
[tool.poetry.dependencies]
|
|
71
90
|
binaryornot = "^0.4.4"
|
|
72
91
|
click = "^8.1.8"
|
|
73
92
|
gitpython = "^3.1.44"
|
|
74
93
|
platformdirs = "^4.3.6"
|
|
75
|
-
python = ">=3.
|
|
94
|
+
python = ">=3.10,<3.14"
|
|
95
|
+
tomlkit = "^0.13.2"
|
|
96
|
+
typing-extensions = "^4.13.1"
|
|
76
97
|
|
|
77
98
|
[tool.poetry.group]
|
|
78
99
|
|
|
@@ -81,46 +102,54 @@ optional = true
|
|
|
81
102
|
|
|
82
103
|
[tool.poetry.group.dev.dependencies]
|
|
83
104
|
binaryornot-stubs = "^0"
|
|
84
|
-
commitizen = "^4.
|
|
85
|
-
|
|
86
|
-
|
|
105
|
+
commitizen = "^4.5.0"
|
|
106
|
+
djlint = "^1.36.4"
|
|
107
|
+
mypy = ">=1.12,<1.16"
|
|
108
|
+
ruff = "^0.11.2"
|
|
87
109
|
yapf = "^0.43.0"
|
|
88
110
|
|
|
89
111
|
[tool.poetry.group.docs]
|
|
90
112
|
optional = true
|
|
91
113
|
|
|
92
114
|
[tool.poetry.group.docs.dependencies]
|
|
115
|
+
autodoc-pydantic = "^2.2.0"
|
|
93
116
|
doc8 = "^1.1.2"
|
|
94
117
|
docutils = "^0.21.2"
|
|
95
118
|
esbonio = "^0.16.5"
|
|
119
|
+
numpydoc = "^1.8.0"
|
|
96
120
|
restructuredtext-lint = "^1.4.0"
|
|
97
|
-
sphinx = "
|
|
121
|
+
sphinx = "<8.2.0"
|
|
98
122
|
sphinx-click = "^6.0.0"
|
|
99
|
-
|
|
123
|
+
sphinx-datatables = "^0.2.1"
|
|
124
|
+
sphinx-hoverxref = "^1.4.2"
|
|
125
|
+
sphinx-immaterial = "^0.13.4"
|
|
126
|
+
|
|
127
|
+
[tool.poetry.group.docs.dependencies.enum-tools]
|
|
128
|
+
extras = ["sphinx"]
|
|
129
|
+
version = "^0.12.0"
|
|
100
130
|
|
|
101
131
|
[tool.poetry.group.tests]
|
|
102
132
|
optional = true
|
|
103
133
|
|
|
104
134
|
[tool.poetry.group.tests.dependencies]
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
pytest = "^
|
|
108
|
-
pytest-cov = "^5.0.0"
|
|
135
|
+
mock = "^5.2.0"
|
|
136
|
+
pytest = "^8.3.5"
|
|
137
|
+
pytest-cov = "^6.1.1"
|
|
109
138
|
pytest-mock = "^3.14.0"
|
|
110
139
|
|
|
140
|
+
[tool.poetry.group.tests.dependencies.coveralls]
|
|
141
|
+
python = "<3.13"
|
|
142
|
+
version = "^4.0.1"
|
|
143
|
+
|
|
111
144
|
[[tool.poetry.packages]]
|
|
112
145
|
include = "baldwin"
|
|
113
146
|
|
|
114
|
-
[tool.poetry.scripts]
|
|
115
|
-
bw = "baldwin.main:baldwin_main"
|
|
116
|
-
hgit = "baldwin.main:git_main"
|
|
117
|
-
|
|
118
147
|
[tool.pyright]
|
|
119
148
|
deprecateTypingAliases = true
|
|
120
149
|
enableExperimentalFeatures = true
|
|
121
150
|
include = ["./baldwin", "./tests"]
|
|
122
151
|
pythonPlatform = "Linux"
|
|
123
|
-
pythonVersion = "3.
|
|
152
|
+
pythonVersion = "3.10"
|
|
124
153
|
reportCallInDefaultInitializer = "warning"
|
|
125
154
|
reportImplicitOverride = "warning"
|
|
126
155
|
reportImportCycles = "error"
|
|
@@ -136,16 +165,15 @@ useLibraryCodeForTypes = false
|
|
|
136
165
|
[tool.pytest.ini_options]
|
|
137
166
|
mock_use_standalone_module = true
|
|
138
167
|
norecursedirs = ["node_modules"]
|
|
139
|
-
python_files = ["test_*.py", "*_tests.py"]
|
|
168
|
+
python_files = ["tests.py", "test_*.py", "*_tests.py"]
|
|
140
169
|
testpaths = ["tests"]
|
|
141
170
|
|
|
142
171
|
[tool.ruff]
|
|
143
172
|
cache-dir = "~/.cache/ruff"
|
|
144
|
-
extend-exclude = []
|
|
145
173
|
force-exclude = true
|
|
146
174
|
line-length = 100
|
|
147
175
|
namespace-packages = ["docs", "tests"]
|
|
148
|
-
target-version = "
|
|
176
|
+
target-version = "py310"
|
|
149
177
|
unsafe-fixes = true
|
|
150
178
|
|
|
151
179
|
[tool.ruff.lint]
|
|
@@ -243,6 +271,8 @@ ignore = [
|
|
|
243
271
|
"TD002",
|
|
244
272
|
"TD003",
|
|
245
273
|
"TD004",
|
|
274
|
+
"UP046",
|
|
275
|
+
"UP047",
|
|
246
276
|
]
|
|
247
277
|
preview = true
|
|
248
278
|
|
baldwin-0.0.7/LICENSE.txt
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2023 baldwin authors
|
|
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
|
|
13
|
-
all 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
|
|
21
|
-
THE SOFTWARE.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|