Skip to content

Commit

Permalink
Merge pull request #411 from PermutaTriangle/develop
Browse files Browse the repository at this point in the history
Version 3.1.0
  • Loading branch information
enadeau authored Jan 17, 2022
2 parents 56ffd20 + 50308ec commit ff7b64b
Show file tree
Hide file tree
Showing 53 changed files with 1,834 additions and 880 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,17 @@ jobs:
toxenv: black
os: ubuntu-latest

- python: 3.7
toxenv: py37
os: ubuntu-latest
- python: 3.8
toxenv: py38
os: ubuntu-latest
- python: 3.9
toxenv: py39
os: ubuntu-latest
- python: pypy-3.7
toxenv: pypy37
- python: "3.10"
toxenv: py310
os: ubuntu-latest
- python: pypy-3.8
toxenv: pypy38
os: ubuntu-latest

- python: 3.8
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -97,3 +97,4 @@ devtest.py
.pytest_cache
.mypy_cache
.vscode/
.DS_Store
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
repos:
- repo: https://github.com/psf/black
rev: 21.6b0
rev: 21.10b0
hooks:
- id: black
19 changes: 10 additions & 9 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,29 @@
{
"upload_type": "software",
"title": "tilings",
"creators": [
{
"name": "Tomas Ken Magnusson"
},
{
"affiliation": "Reykjavik University",
"name": "Émile Nadeau"
"name": "Christian Bean"
},
{
"affiliation": "Reykjavik University",
"name": "Christian Bean"
"name": "Jon Steinn Eliasson"
},
{
"affiliation": "Reykjavik University",
"name": "Henning Ulfarsson"
"name": "Tomas Ken Magnusson"
},
{
"affiliation": "Reykjavik University",
"name": "Jon Steinn Eliasson"
"name": "Émile Nadeau"
},
{
"affiliation": "Marquette University",
"name": "Jay Pantone"
}
{
"affiliation": "Reykjavik University",
"name": "Henning Ulfarsson"
},
]
}
}
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,31 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

## [3.1.0] - 2022-01-17
### Added
- `Tiling.remove_requirement` method that removes a requirement from a tiling.
- `RemoveRequirementFactory` which adds the rules where we insert a requirement to a
tiling after we first remove that requirement. This is added to
`LocallyFactorableVerificationStrategy.pack`.
- The tiling initialiser will now add factors of obstructions if it is implied by
multiple different obs and one requirement list of size possibly greater than one.
Previously it was only doing the case where a single ob's factor is implied by a
requirement.

### Fixed
- `ForgetTrackedSearcher` was not retroactively applying strategies that had a `basis`.
- Bug with sliding symmetries
- The tiling initialiser was not removing duplicate/redundant requirements.

### Changed
- One by one verification will now only verify subclasses of the given basis.
- Verification strategies no longer ignore parent
- `TrackedSearcher` now uses a `TrackedQueue` and is able to work with all packs
and new future strategies.

### Deprecated
- Python 3.7 is no longer supported

## [3.0.0] - 2021-06-14
### Added
- Rearrange assumption strategy
Expand All @@ -16,6 +41,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- a `insertion_point_row_and_col_placements` pack in `TileScopePack`
- `TrackedSearcher` and `ForgetTrackedSearcher` that prioritise expanding classes
with assumptions when the underlying tiling was expanded
- `TileScopePack.cell_insertions` which only does cell insertion and verification

### Changed
- Updated to use comb_spec_searcher 4.0.0
Expand All @@ -25,6 +51,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Fixed isolated fusion bug
- Fusion is now a one-way strategy.
- Added length to name for `all_the_strategies` pack
- pack for locally factorable now account for the basis.

### Fixed
- Removed a redundant `Tiling.is_empty` check in the fusion algorithm.
Expand Down
14 changes: 9 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ If you are primarily interested in enumerating permutation classes, then you
may wish to skip ahead to the ``TileScope`` section, but note the installation
will be the same as for ``tilings``.

If this code is useful to you in your work, please consider citing it. To generate a
BibTeX entry (or another format), click the "DOI" badge above and locate the "Cite As"
section.

If you need support, have a suggestion, or just want to be up to date with the
latest developments please join us on our
`Discord server <https://discord.gg/ySJD6SV>`__ where we'd be happy to hear
Expand Down Expand Up @@ -348,7 +352,7 @@ This can be done using the `expand_verified` method.

.. code:: python
>>> spec.expand_verified()
>>> spec = spec.expand_verified()
>>> print(spec)
A combinatorial specification with 5 rules.
-----------
Expand Down Expand Up @@ -507,7 +511,7 @@ free to send them to our `Discord server <https://discord.gg/ySJD6SV>`__.
A specification can be saved and loaded later by converting it to
`JSON <https://realpython.com/python-json/>`__, a data storage format
that can be written to a file or copy-pasted elsewhere for safe keeping.
This functionality is built into `TileScope`. We can retrieve the JSON
This functionality is built into `TileScope`. We can retrieve the JSON
representation of a specification and load the specificiation from said
JSON string by doing the following:

Expand Down Expand Up @@ -1175,9 +1179,9 @@ from you!
Citing
######

If you found this library helpful with your research and would like to cite us,
you can use the following `BibTeX`_ or go to `Zenodo`_ for alternative formats.
If you found this library helpful with your research and would like to cite us,
you can use the following `BibTeX`_ or go to `Zenodo`_ for alternative formats.

.. _BibTex: https://zenodo.org/record/4944108/export/hx#.YMcq7y2l30o

.. _Zenodo: https://doi.org/10.5281/zenodo.4944107
.. _Zenodo: https://doi.org/10.5281/zenodo.4944107
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tool.black]
target-version = ['py35']
target-version = ['py37']
include = '\.pyi?$'
exclude = '''
Expand Down
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ def get_version(rel_path):
packages=find_packages(exclude=["*.tests", "*.tests.*", "tests.*", "tests"]),
long_description=read("README.rst"),
install_requires=[
"comb-spec-searcher==4.0.0",
"permuta==2.1.0",
"comb-spec-searcher==4.1.0",
"permuta==2.2.0",
],
python_requires=">=3.7",
include_package_data=True,
Expand All @@ -45,9 +45,9 @@ def get_version(rel_path):
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Education",
Expand Down
8 changes: 6 additions & 2 deletions tests/algorithms/test_minimal_gridded_perms.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,9 @@
@pytest.mark.parametrize(("tiling", "expected_mgps"), zip(tilings, expected_mgps))
def test_minimal_gridded_perms(tiling, expected_mgps):
mgps = []
for gp in MinimalGriddedPerms(tiling).minimal_gridded_perms():
for gp in MinimalGriddedPerms(
tiling.obstructions, tiling.requirements
).minimal_gridded_perms():
assert gp not in mgps
for old in mgps:
assert gp not in old
Expand Down Expand Up @@ -330,7 +332,9 @@ def test_order():
),
),
)
mgps = list(MinimalGriddedPerms(t).minimal_gridded_perms())
mgps = list(
MinimalGriddedPerms(t.obstructions, t.requirements).minimal_gridded_perms()
)
assert mgps == [
GriddedPerm(Perm([3, 1, 0, 2]), [(1, 2), (2, 1), (2, 1), (2, 1)]),
GriddedPerm(Perm([1, 3, 2, 4, 0]), [(1, 2), (2, 3), (2, 3), (2, 3), (2, 1)]),
Expand Down
Loading

0 comments on commit ff7b64b

Please sign in to comment.