log21 3.0.1__tar.gz → 3.0.2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: log21
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: A simple logging package
5
5
  Keywords: python,log,colorize,color,logging,Python3,CodeWriter21
6
6
  Author: CodeWriter21(Mehrad Pooryoussof)
@@ -94,85 +94,56 @@ pip install git+https://github.com/MPCodeWriter21/log21
94
94
  Changelog
95
95
  ---------
96
96
 
97
- ### v3.0.1
97
+ ### v3.0.2
98
98
 
99
- Fix the issue with `argumentify` which would result in falsy default values to be
100
- replaced with None.
99
+ Change `argumentify` to use the whole function description as the argument-parser
100
+ description instead of the one-line short description.
101
101
 
102
102
  + Example:
103
103
 
104
104
  ```python
105
- def main(offset: int = 0) -> None:
106
- ...
105
+ def main(verbose: bool = False) -> None:
106
+ """This is a very useful tool and I will describe it thoroughly. It is so good that
107
+ we have a second line in the first part of the description.
108
+
109
+ And now we can talk more about the tool...
110
+
111
+ :param verbose: This flag will make the logs more verbose!
112
+ """
107
113
 
108
114
  argumentify(main)
109
115
  ```
110
116
 
111
- if no value is provided for `--offset`, the default will be `None` instead of `0` which
112
- is unexpected and can lead to issues.
113
-
114
- #### Breaking Changes
115
-
116
- + **Internal module renaming and normalization**
117
- + All internal modules were renamed to lowercase and, in some cases, split or
118
- reorganized.
119
- + Imports such as `log21.Colors`, `log21.Logger`, `log21.ProgressBar`, etc. are no
120
- longer valid.
121
- + Users importing from internal modules must update their imports to the new module
122
- names.
123
- + Public imports from `log21` remain supported.
124
-
125
- + **Argumentify exception renames**
126
- + Several exceptions were renamed to follow a consistent `*Error` naming convention:
127
- + `TooFewArguments` → `TooFewArgumentsError`
128
- + `RequiredArgument` → `RequiredArgumentError`
129
- + `IncompatibleArguments` `IncompatibleArgumentsError`
130
- + Code that explicitly raises or catches these exceptions must be updated.
131
-
132
- #### Changes
133
-
134
- + **Crash reporter behavior improvement**
135
- + Prevented the default file crash reporter from creating `.crash_report` files when it
136
- is not actually used.
137
- + Implemented using an internal `FakeModule` helper.
138
-
139
- + **Argparse compatibility update**
140
- + Bundled and used the Python 3.13 `argparse` implementation to ensure consistent
141
- behavior across supported Python versions.
142
-
143
- + **Progress bar module rename**
144
- + Renamed the internal progress bar module to `progress_bar` for consistency with the
145
- new naming scheme.
146
- + This will not break the usages of `log21.progress_bar(...)` since the call
147
- functionality was added to the module using the `FakeModule` helper.
148
-
149
- + **Examples added and updated**
150
- + Added new example code files.
151
- + Updated existing examples to match the v3 API and conventions.
152
-
153
- #### Fixes
154
-
155
- + Resolved various linting and static-analysis issues across the codebase.
156
- + Addressed minor compatibility issues uncovered by running linters and pre-commit hooks.
157
- + Resolved errors occurring in environments with newer versions of argparse.
158
-
159
- #### Internal and Maintenance Changes
160
-
161
- + Migrated the build system configuration to `uv`.
162
- + Updated Python version classifiers and set the supported Python version to 3.9+.
163
- + Added `vermin` to the pre-commit configuration.
164
- + Updated `.gitignore`, license metadata, and tool configurations.
165
- + Silenced and resolved a large number of linter warnings.
166
- + General internal refactoring with no intended user-visible behavioral changes.
167
-
168
- #### Notes
169
-
170
- + There are **no intentional behavioral changes** in logging output, argument parsing
171
- logic, or UI components.
172
- + Most projects will require **minimal or no changes** unless they depend on internal
173
- modules or renamed exceptions.
174
- + See [MIGRATION-V2-V3.md](https://github.com/MPCodeWriter21/log21/blob/master/MIGRATION-V2-V3.md)
175
- for detailed upgrade instructions.
117
+ The way old versions would look:
118
+
119
+ ```help
120
+ usage: test.py [-h] [--verbose]
121
+
122
+ This is a very useful tool and I will describe it thoroughly. It is so good that
123
+
124
+ options:
125
+ -h, --help
126
+ show this help message and exit
127
+ --verbose, -v
128
+ This flag will make the logs more verbose!
129
+
130
+ ```
131
+
132
+ Now at v3.0.2:
133
+
134
+ ```help
135
+ usage: test.py [-h] [--verbose]
136
+
137
+ This is a very useful tool and I will describe it thoroughly. It is so good that we have a
138
+ second line in the first part of the description. And now we can talk more about the tool...
139
+
140
+ options:
141
+ -h, --help
142
+ show this help message and exit
143
+ --verbose, -v
144
+ This flag will make the logs more verbose!
145
+
146
+ ```
176
147
 
177
148
  [Full CHANGELOG](https://github.com/MPCodeWriter21/log21/blob/master/CHANGELOG.md)
178
149
 
@@ -69,85 +69,56 @@ pip install git+https://github.com/MPCodeWriter21/log21
69
69
  Changelog
70
70
  ---------
71
71
 
72
- ### v3.0.1
72
+ ### v3.0.2
73
73
 
74
- Fix the issue with `argumentify` which would result in falsy default values to be
75
- replaced with None.
74
+ Change `argumentify` to use the whole function description as the argument-parser
75
+ description instead of the one-line short description.
76
76
 
77
77
  + Example:
78
78
 
79
79
  ```python
80
- def main(offset: int = 0) -> None:
81
- ...
80
+ def main(verbose: bool = False) -> None:
81
+ """This is a very useful tool and I will describe it thoroughly. It is so good that
82
+ we have a second line in the first part of the description.
83
+
84
+ And now we can talk more about the tool...
85
+
86
+ :param verbose: This flag will make the logs more verbose!
87
+ """
82
88
 
83
89
  argumentify(main)
84
90
  ```
85
91
 
86
- if no value is provided for `--offset`, the default will be `None` instead of `0` which
87
- is unexpected and can lead to issues.
88
-
89
- #### Breaking Changes
90
-
91
- + **Internal module renaming and normalization**
92
- + All internal modules were renamed to lowercase and, in some cases, split or
93
- reorganized.
94
- + Imports such as `log21.Colors`, `log21.Logger`, `log21.ProgressBar`, etc. are no
95
- longer valid.
96
- + Users importing from internal modules must update their imports to the new module
97
- names.
98
- + Public imports from `log21` remain supported.
99
-
100
- + **Argumentify exception renames**
101
- + Several exceptions were renamed to follow a consistent `*Error` naming convention:
102
- + `TooFewArguments` → `TooFewArgumentsError`
103
- + `RequiredArgument` → `RequiredArgumentError`
104
- + `IncompatibleArguments` `IncompatibleArgumentsError`
105
- + Code that explicitly raises or catches these exceptions must be updated.
106
-
107
- #### Changes
108
-
109
- + **Crash reporter behavior improvement**
110
- + Prevented the default file crash reporter from creating `.crash_report` files when it
111
- is not actually used.
112
- + Implemented using an internal `FakeModule` helper.
113
-
114
- + **Argparse compatibility update**
115
- + Bundled and used the Python 3.13 `argparse` implementation to ensure consistent
116
- behavior across supported Python versions.
117
-
118
- + **Progress bar module rename**
119
- + Renamed the internal progress bar module to `progress_bar` for consistency with the
120
- new naming scheme.
121
- + This will not break the usages of `log21.progress_bar(...)` since the call
122
- functionality was added to the module using the `FakeModule` helper.
123
-
124
- + **Examples added and updated**
125
- + Added new example code files.
126
- + Updated existing examples to match the v3 API and conventions.
127
-
128
- #### Fixes
129
-
130
- + Resolved various linting and static-analysis issues across the codebase.
131
- + Addressed minor compatibility issues uncovered by running linters and pre-commit hooks.
132
- + Resolved errors occurring in environments with newer versions of argparse.
133
-
134
- #### Internal and Maintenance Changes
135
-
136
- + Migrated the build system configuration to `uv`.
137
- + Updated Python version classifiers and set the supported Python version to 3.9+.
138
- + Added `vermin` to the pre-commit configuration.
139
- + Updated `.gitignore`, license metadata, and tool configurations.
140
- + Silenced and resolved a large number of linter warnings.
141
- + General internal refactoring with no intended user-visible behavioral changes.
142
-
143
- #### Notes
144
-
145
- + There are **no intentional behavioral changes** in logging output, argument parsing
146
- logic, or UI components.
147
- + Most projects will require **minimal or no changes** unless they depend on internal
148
- modules or renamed exceptions.
149
- + See [MIGRATION-V2-V3.md](https://github.com/MPCodeWriter21/log21/blob/master/MIGRATION-V2-V3.md)
150
- for detailed upgrade instructions.
92
+ The way old versions would look:
93
+
94
+ ```help
95
+ usage: test.py [-h] [--verbose]
96
+
97
+ This is a very useful tool and I will describe it thoroughly. It is so good that
98
+
99
+ options:
100
+ -h, --help
101
+ show this help message and exit
102
+ --verbose, -v
103
+ This flag will make the logs more verbose!
104
+
105
+ ```
106
+
107
+ Now at v3.0.2:
108
+
109
+ ```help
110
+ usage: test.py [-h] [--verbose]
111
+
112
+ This is a very useful tool and I will describe it thoroughly. It is so good that we have a
113
+ second line in the first part of the description. And now we can talk more about the tool...
114
+
115
+ options:
116
+ -h, --help
117
+ show this help message and exit
118
+ --verbose, -v
119
+ This flag will make the logs more verbose!
120
+
121
+ ```
151
122
 
152
123
  [Full CHANGELOG](https://github.com/MPCodeWriter21/log21/blob/master/CHANGELOG.md)
153
124
 
@@ -23,7 +23,7 @@ dependencies = [
23
23
  "webcolors",
24
24
  "docstring-parser"
25
25
  ]
26
- version = "3.0.1"
26
+ version = "3.0.2"
27
27
 
28
28
  [build-system]
29
29
  requires = ["uv_build>=0.8.15,<0.9.0"]
@@ -31,7 +31,7 @@ from .stream_handler import StreamHandler, ColorizingStreamHandler
31
31
  # yapf: enable
32
32
 
33
33
  __author__ = 'CodeWriter21 (Mehrad Pooryoussof)'
34
- __version__ = '3.0.1'
34
+ __version__ = '3.0.2'
35
35
  __github__ = 'https://GitHub.com/MPCodeWriter21/log21'
36
36
  __all__ = [
37
37
  'ColorizingStreamHandler', 'DecolorizingFileHandler', 'ColorizingFormatter',
@@ -384,9 +384,7 @@ def _argumentify_one(func: Callable) -> None:
384
384
  )
385
385
 
386
386
  # Create the parser
387
- parser = _argparse.ColorizingArgumentParser(
388
- description=info.docstring.short_description
389
- )
387
+ parser = _argparse.ColorizingArgumentParser(description=info.docstring.description)
390
388
  # Add the arguments
391
389
  _add_arguments(parser, info)
392
390
  cli_args = parser.parse_args()
@@ -432,7 +430,7 @@ def _argumentify(functions: _Dict[str, Callable]) -> None:
432
430
  parser = _argparse.ColorizingArgumentParser()
433
431
  subparsers = parser.add_subparsers(required=True)
434
432
  for name, (_, info) in functions_info.items():
435
- subparser = subparsers.add_parser(name, help=info.docstring.short_description)
433
+ subparser = subparsers.add_parser(name, help=info.docstring.description)
436
434
  _add_arguments(subparser, info)
437
435
  subparser.set_defaults(func=info.function)
438
436
  cli_args = parser.parse_args()
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes