Skip to content

Commit d376909

Browse files
Merge branch 'stable-1.4'
2 parents fb59ed5 + a651f3b commit d376909

14 files changed

Lines changed: 132 additions & 98 deletions

File tree

CITATION.cff

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,5 @@ abstract: >-
4141
A Python package that wraps the functionality of the C++
4242
library libsemigroups.
4343
license: GPL-3.0+
44-
version: 1.4.1
45-
date-released: "2026-03-17"
44+
version: 1.4.2
45+
date-released: "2026-03-20"

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ presented, semigroups and monoids. The main algorithms implemented in
5757
[Efficient Testing of Equivalence of Words in a Free Idempotent Semigroup]: https://link.springer.com/chapter/10.1007/978-3-642-11266-9_55
5858
[Applications of automata theory to presentations of monoids and inverse monoids]: https://digitalcommons.unl.edu/dissertations/AAI8803771/
5959
[Todd-Coxeter algorithm]: https://en.wikipedia.org/wiki/Todd%E2%80%93Coxeter_algorithm
60-
[The Todd-Coxeter algorithm for semigroups and monoids]: https://doi.org/10.1007/s00233-024-10431-z
60+
[The Todd-Coxeter algorithm for semigroups and monoids]: https://doi.org/10.1007/s00233-024-1.4.2-z
6161
[Schreier-Sims algorithm]: https://en.wikipedia.org/wiki/Schreier%E2%80%93Sims_algorithm
6262
[Expository Slides]: https://www.irif.fr/~jep/PDF/Exposes/StAndrews.pdf
6363
[Semigroupe 2.01]: https://www.irif.fr/~jep/Logiciels/Semigroupe2.0/semigroupe2.html
@@ -150,10 +150,10 @@ uv pip install .
150150
To build `libsemigroups_pybind11` from a release archive:
151151

152152
```console
153-
curl -L -O https://github.com/libsemigroups/libsemigroups_pybind11/releases/latest/download/libsemigroups_pybind11-1.4.1.tar.gz
154-
tar -xf libsemigroups_pybind11-1.4.1.tar.gz
155-
rm -f libsemigroups_pybind11-1.4.1.tar.gz
156-
cd libsemigroups_pybind11-1.4.1
153+
curl -L -O https://github.com/libsemigroups/libsemigroups_pybind11/releases/latest/download/libsemigroups_pybind11-1.4.2.tar.gz
154+
tar -xf libsemigroups_pybind11-1.4.2.tar.gz
155+
rm -f libsemigroups_pybind11-1.4.2.tar.gz
156+
cd libsemigroups_pybind11-1.4.2
157157
pip install .
158158
```
159159

docs/source/changelog-v1.rst

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@
88
Changelog - version 1
99
=====================
1010

11+
v1.4.2 (released 20/03/2026)
12+
----------------------------
13+
14+
This a minor release which contains a number of minor improvements to the
15+
documentation, and some fixes to the return types of the ``ToddCoxeter``
16+
methods related to lookahead and lookbehind.
17+
18+
* Todd coxeter rtypes by @james-d-mitchell in
19+
https://github.com/libsemigroups/libsemigroups_pybind11/pull/406
20+
* Doc fixes by @james-d-mitchell in
21+
https://github.com/libsemigroups/libsemigroups_pybind11/pull/407
22+
1123
v1.4.1 (released 17/03/2026)
1224
----------------------------
1325

@@ -20,15 +32,15 @@ v1.4.0 (released 25/02/2026)
2032

2133
This is a minor release including some improvements and new features:
2234

23-
* Update to libsemigroups v3.5.0 and add the new features it contains.
35+
* Update to libsemigroups_ v3.5.0 and add the new features it contains.
2436
* transf: future proof ``__getitem__`` by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/382
2537
* todd-coxeter: update for changes in libsemigroups by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/388
2638

2739

2840
v1.3.0 (released 18/01/2026)
2941
----------------------------
3042

31-
* Update to libsemigroups v3.4.0 and add features introduced there by
43+
* Update to libsemigroups_ v3.4.0 and add features introduced there by
3244
@james-d-mitchell in
3345
https://github.com/libsemigroups/libsemigroups_pybind11/pull/380
3446

@@ -82,7 +94,7 @@ version 3 of libsemigroups_. The extent of the changes made in this release
8294
means that it is likely that any code written with earlier versions of
8395
``libsemigroups_pybin11`` will no longer work.
8496

85-
The structure of ``libsemigroups_pybind11`` is very tightly linked to the the
97+
The structure of ``libsemigroups_pybind11`` is very tightly linked to the
8698
structure of libsemigroups_. Therefore, some of the differences between
8799
v0.10.1 and v1.0.0 of ``libsemigroups_pyind11`` will be related to the
88100
differences between v2 and v3 of libsemigroups_, such as changes to class names

docs/source/data-structures/presentations/to-inverse-present.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ the type of words specified in *rtype*:
113113
objects of type :any:`InversePresentation` must be converted from one
114114
type to another sometimes, but not other times.
115115

116-
If the alphabet of of *ip* is :math:`\{a_0, a_1, \dots a_{n-1}\}`, where each
116+
If the alphabet of *ip* is :math:`\{a_0, a_1, \dots a_{n-1}\}`, where each
117117
letter is of type ``str``, then the conversion from one type to another is
118118
:math:`a_i \mapsto` ``human_readable_index(a_i)``. Conversely, if each letter is
119119
of type ``list[int]``, then the conversion from one type to another is

docs/source/data-structures/presentations/to-present.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ the type of words specified in *rtype*:
6666
presentations must be converted from one type to another sometimes, but
6767
not other times.
6868

69-
If the alphabet of of *p* is :math:`\{a_0, a_1, \dots a_{n-1}\}`, where each
69+
If the alphabet of *p* is :math:`\{a_0, a_1, \dots a_{n-1}\}`, where each
7070
letter is of type ``str``, then the conversion from one type to another is
7171
:math:`a_i \mapsto` ``human_readable_index(a_i)``. Conversely, if each letter is
7272
of type ``list[int]``, then the conversion from one type to another is

docs/source/install.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,10 @@ To build ``libsemigroups_pybind11`` from a release archive:
101101
102102
::
103103

104-
$ curl -L -O https://github.com/libsemigroups/libsemigroups_pybind11/releases/latest/download/libsemigroups_pybind11-1.4.1.tar.gz
105-
$ tar -xf libsemigroups_pybind11-1.4.1.tar.gz
106-
$ rm -f libsemigroups_pybind11-1.4.1.tar.gz
107-
$ cd libsemigroups_pybind11-1.4.1
104+
$ curl -L -O https://github.com/libsemigroups/libsemigroups_pybind11/releases/latest/download/libsemigroups_pybind11-1.4.2.tar.gz
105+
$ tar -xf libsemigroups_pybind11-1.4.2.tar.gz
106+
$ rm -f libsemigroups_pybind11-1.4.2.tar.gz
107+
$ cd libsemigroups_pybind11-1.4.2
108108
$ pip install .
109109

110110
Building the documentation

docs/source/main-algorithms/froidure-pin/to-froidure-pin.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ This function throws a :any:`LibsemigroupsError` if the
101101
.. warning::
102102

103103
The returned :any:`FroidurePin` instance is always infinite, and so any
104-
calls to any member functions that that trigger a full enumeration will
104+
calls to any member functions that trigger a full enumeration will
105105
never terminate (or they will when your computer kills the process because
106106
it has run out of memory).
107107

docs/source/main-algorithms/knuth-bendix/to-knuth-bendix.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,9 @@ following values for *args*:
100100
Additionally, specify one of the following for *rtype*:
101101

102102
- ``(KnuthBendix, 'RewriteTrie')`` for constructing a :any:`KnuthBendix`
103-
with the the ``RewriteTrie'`` rewriter.
103+
with the ``RewriteTrie'`` rewriter.
104104
- ``(KnuthBendix, 'RewriteFromLeft')`` for constructing a :any:`KnuthBendix`
105-
with the the ``RewriteFromLeft'`` rewriter.
105+
with the ``RewriteFromLeft'`` rewriter.
106106

107107
This function converts a :any:`ToddCoxeter` object *tc* to a :any:`KnuthBendix`
108108
object with the rewriter as specified above, using

docs/source/main-algorithms/todd-coxeter/class/init.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
Constructors + initializers
1111
===========================
1212

13-
This page documents the constructors and initialisers for the :any:`ToddCoxeter`
13+
This page documents the constructors and initializers for the :any:`ToddCoxeter`
1414
class.
1515

1616
Every constructor has a matching init function with the same signature that can

docs/source/main-algorithms/todd-coxeter/class/word_to_index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Word to class index
1111
===================
1212

1313
This page contains documentation for the member functions of :any:`ToddCoxeter`
14-
that can be used to convert a word into the index of congruence class.
14+
that can be used to convert a word into the index of a congruence class.
1515

1616
.. automethod:: ToddCoxeter.current_index_of
1717

0 commit comments

Comments
 (0)