All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Fixed bug in
Perm.rtlmax_ltrmin_decompositionand fixed associated tests.
- Migrated from setup.py to modern pyproject.toml packaging with hatchling backend
- Updated minimum Python requirement to 3.10+ (removed support for 3.7-3.9)
- Updated GitHub Actions workflows to use modern build tools
- Removed legacy packaging files (setup.py, MANIFEST.in)
- Updated dependency on automata-lib to version 7.0.1
- Perm.avoids/contains will raise a TypeError if input is not an iterable of Patt
- Now testing on Python 3.11
- 'simple' to the permtool command for checking if finitely many simples in a class
- bug in autobisc during setup
- Bijection class for known bijection.
- An implementation of the Simion and Schmidt bijection.
- Enumeration strategy to check whether a class has finitely many simple permutations
- Perm.to_standard now uses an lru cache
- Statistic: bounce of a permutation.
- Statistic: maximum drop size.
- Statistic: number of primes in the column sums.
- Statistic: holeyness of a permutation.
- Algorithm:
pop stack sort. - Statistic: count stack sorts.
- Statistic: count pop stack sorts.
- Statistic: Pinnacle set and number of pinnacles.
- Functions for ascents and descents now take an optional argument to specify what step size to calculate.
- Moved sorting functions from
permuta/bisc/perm_properties.pytopermuta/patterns/perm.py. - If you pass an iterable (that is not a perm) to a contains method, then it will now raise an error. These should be passed with the splat '*'.
- using Github Actions for testing and deployment
containment_to_tikzmethod inPermthat returns an iterator of tikz pictures displaying occurrences of classical patterns in self.permuta.permutils.PermutationStatisticto check statistic distribution in classes and preservation and transformation in bijections.
- Python 3.6 is no longer supported
- Include the type hints in the pypi release.
- Typing for
applyinPermfixed. It is now of the same base type as argument.
- Two new tools added to permtools. A command to check if a class has a regular insertion encoding, and a command to compute the lexicographically minimal basis.
- Typing
- pylint
clear_cachemethod inPermandAvup_to_length,of_length,firstiterators in Perm and Avto_svgfor all patternsshowmethod for all patterns (opens browser tab)- Functions returning list (or other data structures) made into generators when possible
BivincularPatt,VincularPatt,CovincularPattpatterns,dihedral_groupgenerator added topermutilsfrom_stringmethod toBasisandAv. It accepts both 0 and 1 based perms seperated by anything- Check if polynomial added to
cli, which can be used with thepolycommand
- Bisc's resource files now included with pypi package
- Type and condition checking and Exception throwing changed to assertions
Basismoved topermsetmodulegen_meshpattmoved to meshpatt asof_lengthgenerator- Client now uses
Basis.from_stringto parse basis
- Permsets and their interfaces
- Unused algorithms and utils
- Symmetric interfaces
- All rotate function other than
rotate descriptorsmodule- sympy dependency
- A quick command line interface to compute the enumeration of a permutation class.
Perm.skew_decompositionandPerm.sum_decompositionmethods.
- Make
permuta.bisc.permsetsa proper package.
- The unused
permuta.misc.miscmodule
- Installation on windows
- The BiSC algorithm that can tell you what mesh patterns are avoided by a set of permutations.
- Updated
__str__method ofAvandMeshPatt. - Introduce a more efficient algorithm to build permutation in a permutation class.
Av([])returnsPermSetAll()
- Support for Python 3.5 and earlier
MeshPatts are now comparable (i.e. a mesh patt is always less then, equal to or greater than another mesh patt) and therefore sortable- Added enumeration strategies that can point out to useful results to find the enumeration of a permutation class.
- Allow for a mix of permutation and mesh patterns in MeshBasis
- The
occurences_inmethod of permutation can can handle coloured permutations. - Support for containment of mesh pattern in a mesh pattern.
- The ascii_plot, and to_tikz method in MeshPatt
- is_subclass method in Av
- Support for avoidance of mesh patterns with
Av
- The broken latex method in MeshPatt
- Wrong examples in the README. README.rst is now tested
- Made master branch deploy to PyPi.
- Added testing for Python 3.7 and 3.8.
- Added a from integer method, for creating a Perm from integer.
- Added inversions and non-inversions function that yield pairs.
- Updated repr and str methods to Av, PermSetAll and PermSetStatic.
- The string of a Perm is now one-line notation.
- Can no longer initialise Perm with an integer.
- The demo.
- Broken plot function
- Support for Python 3.4 and earlier.
- The ascii plot, and to_tikz method in Perm.
- Bug in polynomial checker.
- Readme was rewritten in ReST.
- Classifiers and python versions added to setup.py.
- This CHANGELOG file.
- Package added to PYPI
- Tests passing.
- Conforming to PEP8.