Skip to content

Commit

Permalink
Merge branch 'main' into squash-ibd
Browse files Browse the repository at this point in the history
  • Loading branch information
mergify[bot] authored Sep 23, 2024
2 parents 62115b3 + fb87f87 commit 7fe0bb8
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 10 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ issue for a specific bug or feature request.
We warmly welcome contributions from the community. Raise an issue if you have an
idea you'd like to work on, or submit a PR for comments and help.

The base `tskit` library provides both a Python and C API. A Rust API is provided in the
The base `tskit` library provides both a [Python](https://tskit.dev/tskit/docs/latest/python-api.html)
and [C](https://tskit.dev/tskit/docs/latest/c-api.html) API. A Rust API is provided in the
[tskit-rust](https://github.com/tskit-dev/tskit-rust) repository.


Expand Down
15 changes: 12 additions & 3 deletions python/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
--------------------
[0.5.8] - 2024-XX-XX
[0.5.9] - 2024-XX-XX
--------------------

**Breaking Changes**
Expand All @@ -24,6 +24,9 @@
in the presence of non-ancestral material (very rare).
(:user:`petrelharp`, :issue:`2983`, :pr:`1623`)

- Printing ``tskit.MetadataSchema(schema=None)`` now shows ``"Null_schema"`` rather
than ``None``, to avoid confusion (:user:`hyanwong`, :pr:`2720`)

**Features**

- Add ``TreeSequence.extend_haplotypes`` method that extends ancestral haplotypes
Expand All @@ -41,6 +44,13 @@
(:user:`currocam`, :pr:`2960`)


--------------------
[0.5.8] - 2024-06-27
--------------------

- Add support for numpy 2 (:user:`jeromekelleher`, :user:`benjeffery`, :pr:`2964`)


--------------------
[0.5.7] - 2024-06-17
--------------------
Expand Down Expand Up @@ -103,8 +113,7 @@
- Add ``__repr__`` for variants to return a string representation of the raw data
without spewing megabytes of text (:user:`chriscrsmith`, :pr:`2695`, :issue:`2694`)

- Add ``keep_rows`` method to table classes to support efficient in-place
table subsetting (:user:`jeromekelleher`, :pr:`2700`)
**Breaking Changes**

**Bugfixes**

Expand Down
5 changes: 4 additions & 1 deletion python/tests/test_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,10 @@ def test_schema_str(self):
"required": ["one", "two"],
"additionalProperties": False,
}
assert str(metadata.MetadataSchema(schema)) == pprint.pformat(schema)
assert (
str(metadata.MetadataSchema(schema))
== f"tskit.MetadataSchema(\n{pprint.pformat(schema)}\n)"
)

def test_register_codec(self):
class TestCodec(metadata.AbstractMetadataCodec):
Expand Down
6 changes: 3 additions & 3 deletions python/tests/test_tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -1396,7 +1396,7 @@ def test_metadata_schema(self, table_5row):
table2.metadata_schema = tskit.MetadataSchema({"codec": "json"})
with pytest.raises(
AssertionError,
match=f"{type(table_5row).__name__} metadata schemas differ:",
match=f"{type(table_5row).__name__} metadata schemas differ: ",
):
table_5row.assert_equals(table2)
table_5row.assert_equals(table2, ignore_metadata=True)
Expand Down Expand Up @@ -4089,7 +4089,7 @@ def test_metadata_schema(self, t1, t2):
t2.metadata_schema = tskit.MetadataSchema(None)
with pytest.raises(
AssertionError,
match=re.escape("Metadata schemas differ"),
match=re.escape("Metadata schemas differ:"),
):
t1.assert_equals(t2)
t1.assert_equals(t2, ignore_metadata=True)
Expand Down Expand Up @@ -4193,7 +4193,7 @@ def test_ignore_reference_sequence(self, t1, t2):
t2.reference_sequence.clear()
with pytest.raises(
AssertionError,
match=re.escape("Metadata schemas differ"),
match=re.escape("Metadata schemas differ: "),
):
t1.assert_equals(t2)
t1.assert_equals(t2, ignore_reference_sequence=True)
Expand Down
2 changes: 1 addition & 1 deletion python/tskit/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Definitive location for the version number.
# During development, should be x.y.z.devN
# For beta should be x.y.zbN
tskit_version = "0.5.8.dev0"
tskit_version = "0.5.9.dev0"
9 changes: 8 additions & 1 deletion python/tskit/metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,14 @@ def __repr__(self) -> str:
return self._string

def __str__(self) -> str:
return pprint.pformat(self._schema)
if isinstance(self._schema, collections.OrderedDict):
s = pprint.pformat(dict(self._schema))
else:
s = pprint.pformat(self._schema)
if "\n" in s:
return f"tskit.MetadataSchema(\n{s}\n)"
else:
return f"tskit.MetadataSchema({s})"

def __eq__(self, other) -> bool:
return self._string == other._string
Expand Down

0 comments on commit 7fe0bb8

Please sign in to comment.