Skip to content

Commit b80be05

Browse files
authored
docs: prepare for 0.9.0b6 (#184)
Signed-off-by: Henry Schreiner <[email protected]>
1 parent c26b406 commit b80be05

File tree

3 files changed

+30
-21
lines changed

3 files changed

+30
-21
lines changed

docs/changelog.md

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
11
# Changelog
22

3-
## 0.9.0 (beta 5: 27-09-2024)
3+
## 0.9.0 (beta 6: 30-09-2024)
44

5-
Features:
5+
Refactoring:
66

7-
- Add TypedDict's in new module for typing pyproject.toml dicts
8-
- `all_errors=True` causes `ExceptionGroup`'s to be emitted
9-
- Support METADATA 2.1+ JSON format with new `.as_json()` method
7+
- Move `validate_*` functions into `extras_*` instead
8+
- Use `Dynamic` for the type of `.dynamic`
9+
- Reformat single quotes to double quotes to match packaging
10+
- Produce standard Python repr style in error messages
1011

11-
Internal and CI:
12+
Fixes:
1213

13-
- Require 100% coverage
14+
- Improve locking for just metadata fields
1415

15-
Refactoring:
16+
Docs:
1617

17-
- Spit up over multiple files
18-
- Remove data fetcher, use static types wherever possible
18+
- Include extra badge in readme
19+
- Rework docs, include README and more classes
20+
- Changelog is now in markdown
1921

2022
## 0.9.0 (WIP)
2123

2224
This release adds PEP 639 support (METADATA 2.4), refactors the RFC messages,
23-
and adds a lot of validation (including warnings and opt-in errors). The beta
24-
releases are intended for backend authors to try out the changes before a final
25-
release.
25+
and adds a lot of validation (including warnings and opt-in errors), a way to
26+
produce all validation errors at once, and more. The beta releases are intended
27+
for backend authors to try out the changes before a final release.
2628

2729
Features:
2830

@@ -31,6 +33,9 @@ Features:
3133
- Validate project name
3234
- Validate entrypoint group names
3335
- Setting a non-dynamic field is an error
36+
- Add TypedDict's in new module for typing pyproject.toml dicts
37+
- `all_errors=True` causes `ExceptionGroup`'s to be emitted
38+
- Support METADATA 2.1+ JSON format with new `.as_json()` method
3439

3540
Fixes:
3641

@@ -48,7 +53,9 @@ Refactoring:
4853
- Remove indirection accessing `metadata_version`, add `auto_metadata_version`
4954
- Rework how dynamic works, add `dynamic_metadata`
5055
- Use dataclass instead of named tuple
51-
- chore: use named arguments instead of positional
56+
- Use named arguments instead of positional
57+
- Spit up over multiple files
58+
- Remove `DataFetcher`, use static types wherever possible
5259

5360
Internal and CI:
5461

@@ -62,6 +69,7 @@ Internal and CI:
6269
- Refactor and cleanup tests
6370
- Add human readable IDs to tests
6471
- Fix coverage context
72+
- Require 100% coverage
6573

6674
## 0.8.0 (17-04-2024)
6775

pyproject_metadata/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,10 @@
4242
import packaging.utils
4343
import packaging.version
4444

45-
__version__ = "0.9.0b5"
45+
__version__ = "0.9.0b6"
4646

4747
__all__ = [
4848
"ConfigurationError",
49-
"ConfigurationWarning",
5049
"License",
5150
"RFC822Message",
5251
"RFC822Policy",

tests/test_standard_metadata.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -739,7 +739,7 @@ def test_load(
739739
else:
740740
with warnings.catch_warnings():
741741
warnings.simplefilter(
742-
action="ignore", category=pyproject_metadata.ConfigurationWarning
742+
action="ignore", category=pyproject_metadata.errors.ConfigurationWarning
743743
)
744744
with pytest.raises(pyproject_metadata.errors.ExceptionGroup) as execinfo:
745745
pyproject_metadata.StandardMetadata.from_pyproject(
@@ -845,7 +845,7 @@ def test_load_multierror(
845845
else:
846846
with warnings.catch_warnings():
847847
warnings.simplefilter(
848-
action="ignore", category=pyproject_metadata.ConfigurationWarning
848+
action="ignore", category=pyproject_metadata.errors.ConfigurationWarning
849849
)
850850
with pytest.raises(pyproject_metadata.errors.ExceptionGroup) as execinfo:
851851
pyproject_metadata.StandardMetadata.from_pyproject(
@@ -928,7 +928,9 @@ def test_load_with_metadata_version_warnings(
928928
data: str, error: str, metadata_version: str, monkeypatch: pytest.MonkeyPatch
929929
) -> None:
930930
monkeypatch.chdir(DIR / "packages/full-metadata")
931-
with pytest.warns(pyproject_metadata.ConfigurationWarning, match=re.escape(error)):
931+
with pytest.warns(
932+
pyproject_metadata.errors.ConfigurationWarning, match=re.escape(error)
933+
):
932934
pyproject_metadata.StandardMetadata.from_pyproject(
933935
tomllib.loads(textwrap.dedent(data)), metadata_version=metadata_version
934936
)
@@ -1412,7 +1414,7 @@ def test_modify_dynamic() -> None:
14121414

14131415
def test_missing_keys_warns() -> None:
14141416
with pytest.warns(
1415-
pyproject_metadata.ConfigurationWarning,
1417+
pyproject_metadata.errors.ConfigurationWarning,
14161418
match=re.escape("Extra keys present in 'project': 'not-real-key'"),
14171419
):
14181420
pyproject_metadata.StandardMetadata.from_pyproject(
@@ -1473,7 +1475,7 @@ def test_extra_build_system() -> None:
14731475

14741476
def test_multiline_description_warns() -> None:
14751477
with pytest.warns(
1476-
pyproject_metadata.ConfigurationWarning,
1478+
pyproject_metadata.errors.ConfigurationWarning,
14771479
match=re.escape(
14781480
"The one-line summary 'project.description' should not contain more than one line. Readers might merge or truncate newlines."
14791481
),

0 commit comments

Comments
 (0)