bracex 2.4__tar.gz → 2.5__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.
Files changed (32) hide show
  1. {bracex-2.4 → bracex-2.5}/LICENSE.md +1 -1
  2. {bracex-2.4 → bracex-2.5}/PKG-INFO +3 -4
  3. {bracex-2.4 → bracex-2.5}/README.md +0 -2
  4. {bracex-2.4 → bracex-2.5}/bracex/__init__.py +1 -1
  5. {bracex-2.4 → bracex-2.5}/bracex/__meta__.py +9 -10
  6. {bracex-2.4 → bracex-2.5}/docs/src/markdown/about/changelog.md +4 -0
  7. {bracex-2.4 → bracex-2.5}/hatch_build.py +1 -0
  8. {bracex-2.4 → bracex-2.5}/mkdocs.yml +34 -5
  9. {bracex-2.4 → bracex-2.5}/pyproject.toml +3 -3
  10. {bracex-2.4 → bracex-2.5}/.coveragerc +0 -0
  11. {bracex-2.4 → bracex-2.5}/.gitignore +0 -0
  12. {bracex-2.4 → bracex-2.5}/.pyspelling.yml +0 -0
  13. {bracex-2.4 → bracex-2.5}/bracex/__main__.py +0 -0
  14. {bracex-2.4 → bracex-2.5}/bracex/py.typed +0 -0
  15. {bracex-2.4 → bracex-2.5}/docs/src/markdown/.snippets/abbr.md +0 -0
  16. {bracex-2.4 → bracex-2.5}/docs/src/markdown/.snippets/links.md +0 -0
  17. {bracex-2.4 → bracex-2.5}/docs/src/markdown/.snippets/refs.md +0 -0
  18. {bracex-2.4 → bracex-2.5}/docs/src/markdown/about/contributing.md +0 -0
  19. {bracex-2.4 → bracex-2.5}/docs/src/markdown/about/development.md +0 -0
  20. {bracex-2.4 → bracex-2.5}/docs/src/markdown/about/license.md +0 -0
  21. {bracex-2.4 → bracex-2.5}/docs/src/markdown/index.md +0 -0
  22. {bracex-2.4 → bracex-2.5}/docs/theme/announce.html +0 -0
  23. {bracex-2.4 → bracex-2.5}/requirements/docs.txt +0 -0
  24. {bracex-2.4 → bracex-2.5}/requirements/lint.txt +0 -0
  25. {bracex-2.4 → bracex-2.5}/requirements/test.txt +0 -0
  26. {bracex-2.4 → bracex-2.5}/tests/__init__.py +0 -0
  27. {bracex-2.4 → bracex-2.5}/tests/brace-cases.txt +0 -0
  28. {bracex-2.4 → bracex-2.5}/tests/brace-results.txt +0 -0
  29. {bracex-2.4 → bracex-2.5}/tests/generate.sh +0 -0
  30. {bracex-2.4 → bracex-2.5}/tests/test_brace.py +0 -0
  31. {bracex-2.4 → bracex-2.5}/tests/test_main.py +0 -0
  32. {bracex-2.4 → bracex-2.5}/tests/test_versions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018 - 2023 Isaac Muse
3
+ Copyright (c) 2018 - 2024 Isaac Muse
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.3
2
2
  Name: bracex
3
- Version: 2.4
3
+ Version: 2.5
4
4
  Summary: Bash style brace expander.
5
5
  Project-URL: Homepage, https://github.com/facelessuser/bracex
6
6
  Author-email: Isaac Muse <Isaac.Muse@gmail.com>
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.9
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.8
@@ -86,8 +87,6 @@ MIT License
86
87
 
87
88
  [github-ci-image]: https://github.com/facelessuser/bracex/workflows/build/badge.svg?branch=master&event=push
88
89
  [github-ci-link]: https://github.com/facelessuser/bracex/actions?query=workflow%3Abuild+branch%3Amaster
89
- [discord-image]: https://img.shields.io/discord/678289859768745989?logo=discord&logoColor=aaaaaa&color=mediumpurple&labelColor=333333
90
- [discord-link]:https://discord.gg/TWs8Tgr
91
90
  [codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/bracex/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
92
91
  [codecov-link]: https://codecov.io/github/facelessuser/bracex
93
92
  [pypi-image]: https://img.shields.io/pypi/v/bracex.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333
@@ -61,8 +61,6 @@ MIT License
61
61
 
62
62
  [github-ci-image]: https://github.com/facelessuser/bracex/workflows/build/badge.svg?branch=master&event=push
63
63
  [github-ci-link]: https://github.com/facelessuser/bracex/actions?query=workflow%3Abuild+branch%3Amaster
64
- [discord-image]: https://img.shields.io/discord/678289859768745989?logo=discord&logoColor=aaaaaa&color=mediumpurple&labelColor=333333
65
- [discord-link]:https://discord.gg/TWs8Tgr
66
64
  [codecov-image]: https://img.shields.io/codecov/c/github/facelessuser/bracex/master.svg?logo=codecov&logoColor=aaaaaa&labelColor=333333
67
65
  [codecov-link]: https://codecov.io/github/facelessuser/bracex
68
66
  [pypi-image]: https://img.shields.io/pypi/v/bracex.svg?logo=pypi&logoColor=aaaaaa&labelColor=333333
@@ -151,7 +151,7 @@ class ExpandBrace:
151
151
 
152
152
  if self.max_limit > 0 and self.count > self.max_limit:
153
153
  raise ExpansionLimitException(
154
- 'Brace expansion has exceeded the limit of {:d}'.format(self.max_limit)
154
+ f'Brace expansion has exceeded the limit of {self.max_limit:d}'
155
155
  )
156
156
 
157
157
  def set_expanding(self) -> bool:
@@ -1,6 +1,5 @@
1
1
  """Meta related things."""
2
2
  from __future__ import annotations
3
- from __future__ import unicode_literals
4
3
  from collections import namedtuple
5
4
  import re
6
5
 
@@ -94,7 +93,7 @@ class Version(namedtuple("Version", ["major", "minor", "micro", "release", "pre"
94
93
  raise ValueError("All version parts except 'release' should be integers.")
95
94
 
96
95
  if release not in REL_MAP:
97
- raise ValueError("'{}' is not a valid release type.".format(release))
96
+ raise ValueError(f"'{release}' is not a valid release type.")
98
97
 
99
98
  # Ensure valid pre-release (we do not allow implicit pre-releases).
100
99
  if ".dev-candidate" < release < "final":
@@ -119,7 +118,7 @@ class Version(namedtuple("Version", ["major", "minor", "micro", "release", "pre"
119
118
  elif dev:
120
119
  raise ValueError("Version is not a development release.")
121
120
 
122
- return super(Version, cls).__new__(cls, major, minor, micro, release, pre, post, dev)
121
+ return super().__new__(cls, major, minor, micro, release, pre, post, dev)
123
122
 
124
123
  def _is_pre(self) -> bool:
125
124
  """Is prerelease."""
@@ -146,15 +145,15 @@ class Version(namedtuple("Version", ["major", "minor", "micro", "release", "pre"
146
145
 
147
146
  # Assemble major, minor, micro version and append `pre`, `post`, or `dev` if needed..
148
147
  if self.micro == 0:
149
- ver = "{}.{}".format(self.major, self.minor)
148
+ ver = f"{self.major}.{self.minor}"
150
149
  else:
151
- ver = "{}.{}.{}".format(self.major, self.minor, self.micro)
150
+ ver = f"{self.major}.{self.minor}.{self.micro}"
152
151
  if self._is_pre():
153
- ver += '{}{}'.format(REL_MAP[self.release], self.pre)
152
+ ver += f'{REL_MAP[self.release]}{self.pre}'
154
153
  if self._is_post():
155
- ver += ".post{}".format(self.post)
154
+ ver += f".post{self.post}"
156
155
  if self._is_dev():
157
- ver += ".dev{}".format(self.dev)
156
+ ver += f".dev{self.dev}"
158
157
 
159
158
  return ver
160
159
 
@@ -165,7 +164,7 @@ def parse_version(ver: str) -> Version:
165
164
  m = RE_VER.match(ver)
166
165
 
167
166
  if m is None:
168
- raise ValueError("'{}' is not a valid version".format(ver))
167
+ raise ValueError(f"'{ver}' is not a valid version")
169
168
 
170
169
  # Handle major, minor, micro
171
170
  major = int(m.group('major'))
@@ -194,5 +193,5 @@ def parse_version(ver: str) -> Version:
194
193
  return Version(major, minor, micro, release, pre, post, dev)
195
194
 
196
195
 
197
- __version_info__ = Version(2, 4, 0, "final")
196
+ __version_info__ = Version(2, 5, 0, "final")
198
197
  __version__ = __version_info__._get_canonical()
@@ -1,5 +1,9 @@
1
1
  # Changes
2
2
 
3
+ ## 2.5
4
+
5
+ - **NEW** Add Python 3.13 support.
6
+
3
7
  ## 2.4
4
8
 
5
9
  - **NEW**: Formally declare support for Python 3.11 and 3.12.
@@ -33,6 +33,7 @@ class CustomMetadataHook(MetadataHookInterface):
33
33
  'Programming Language :: Python :: 3.10',
34
34
  'Programming Language :: Python :: 3.11',
35
35
  'Programming Language :: Python :: 3.12',
36
+ 'Programming Language :: Python :: 3.13',
36
37
  'Topic :: Software Development :: Libraries :: Python Modules',
37
38
  'Typing :: Typed'
38
39
  ]
@@ -4,7 +4,7 @@ repo_url: https://github.com/facelessuser/bracex
4
4
  edit_uri: tree/master/docs/src/markdown
5
5
  site_description: Python spell checker.
6
6
  copyright: |
7
- Copyright &copy; 2018 - 2023 <a href="https://github.com/facelessuser" target="_blank" rel="noopener">Isaac Muse</a>
7
+ Copyright &copy; 2018 - 2024 <a href="https://github.com/facelessuser" target="_blank" rel="noopener">Isaac Muse</a>
8
8
 
9
9
  docs_dir: docs/src/markdown
10
10
  theme:
@@ -72,8 +72,8 @@ markdown_extensions:
72
72
  - pymdownx.caret:
73
73
  - pymdownx.smartsymbols:
74
74
  - pymdownx.emoji:
75
- emoji_index: !!python/name:materialx.emoji.twemoji
76
- emoji_generator: !!python/name:materialx.emoji.to_svg
75
+ emoji_index: !!python/name:material.extensions.emoji.twemoji
76
+ emoji_generator: !!python/name:material.extensions.emoji.to_svg
77
77
  - pymdownx.escapeall:
78
78
  hardbreak: True
79
79
  nbsp: True
@@ -107,17 +107,46 @@ markdown_extensions:
107
107
  - example
108
108
  - quote
109
109
  - pymdownx.blocks.details:
110
+ types:
111
+ - name: details-new
112
+ class: new
113
+ - name: details-settings
114
+ class: settings
115
+ - name: details-note
116
+ class: note
117
+ - name: details-abstract
118
+ class: abstract
119
+ - name: details-info
120
+ class: info
121
+ - name: details-tip
122
+ class: tip
123
+ - name: details-success
124
+ class: success
125
+ - name: details-question
126
+ class: question
127
+ - name: details-warning
128
+ class: warning
129
+ - name: details-failure
130
+ class: failure
131
+ - name: details-danger
132
+ class: danger
133
+ - name: details-bug
134
+ class: bug
135
+ - name: details-example
136
+ class: example
137
+ - name: details-quote
138
+ class: quote
110
139
  - pymdownx.blocks.html:
111
140
  - pymdownx.blocks.definition:
112
141
  - pymdownx.blocks.tab:
113
142
  alternate_style: True
143
+ combine_header_slug: True
144
+ slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
114
145
 
115
146
  extra:
116
147
  social:
117
148
  - icon: fontawesome/brands/github
118
149
  link: https://github.com/facelessuser
119
- - icon: fontawesome/brands/discord
120
- link: https://discord.gg/TWs8Tgr
121
150
 
122
151
  plugins:
123
152
  - search
@@ -68,7 +68,7 @@ show_error_codes = true
68
68
  [tool.ruff]
69
69
  line-length = 120
70
70
 
71
- select = [
71
+ lint.select = [
72
72
  "A", # flake8-builtins
73
73
  "B", # flake8-bugbear
74
74
  "D", # pydocstyle
@@ -84,7 +84,7 @@ select = [
84
84
  "PERF" # Perflint
85
85
  ]
86
86
 
87
- ignore = [
87
+ lint.ignore = [
88
88
  "E741",
89
89
  "D202",
90
90
  "D401",
@@ -107,7 +107,7 @@ legacy_tox_ini = """
107
107
  isolated_build = true
108
108
  skipsdist=true
109
109
  envlist=
110
- py38,py39,py310,py311,py312,
110
+ py38,py39,py310,py311,py312,py313,
111
111
  lint
112
112
 
113
113
  [testenv]
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
File without changes
File without changes
File without changes