Skip to content

Commit ad87d36

Browse files
jaypantoneulfarssondependabot[bot]
authored
Release v2.3.1 (#200)
* Update README.rst Adding more info about Av and clarifying the output of the enumeration strategies function * Create dependabot.yml * update testing and black formatting (#197) * update testing and black formatting * pylint fix * pylint * Bump automata-lib from 7.0.1 to 9.0.0 (#196) Bumps [automata-lib](https://github.com/caleb531/automata) from 7.0.1 to 9.0.0. - [Release notes](https://github.com/caleb531/automata/releases) - [Commits](caleb531/automata@v7.0.1...v9.0.0) --- updated-dependencies: - dependency-name: automata-lib dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * mypy fix (#198) * mypy fix * more mypy * ugh * update build systems (#199) * update build systems * update readme * update readme * readme fix * Create CITATION.cff * Delete .zenodo.json * Update README.rst * Update CHANGELOG.md * Bump version to 2.3.1 for release --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Henning Ulfarsson <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 7dd8f87 commit ad87d36

21 files changed

+170
-189
lines changed

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "pip" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"

.github/workflows/build-and-deploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ jobs:
1212
- uses: actions/checkout@v2
1313
- uses: actions/setup-python@v2
1414
with:
15-
python-version: "3.10"
15+
python-version: "3.13"
1616
- name: install dependencies
1717
run: |
1818
python -m pip install --upgrade pip
19-
pip install setuptools wheel twine
19+
pip install build twine
2020
- name: build
21-
run: python setup.py sdist
21+
run: python -m build
2222
- name: deploy
2323
env:
2424
TWINE_USERNAME: __token__

.github/workflows/test.yml

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,19 @@ jobs:
99
fail-fast: false
1010
matrix:
1111
include:
12-
- python: "3.11"
12+
- python: "3.13"
1313
toxenv: flake8
1414
os: ubuntu-latest
15-
- python: "3.11"
15+
- python: "3.13"
1616
toxenv: mypy
1717
os: ubuntu-latest
18-
- python: "3.11"
18+
- python: "3.13"
1919
toxenv: pylint
2020
os: ubuntu-latest
21-
- python: "3.11"
21+
- python: "3.13"
2222
toxenv: black
2323
os: ubuntu-latest
2424

25-
- python: 3.8
26-
toxenv: py38
27-
os: ubuntu-latest
28-
- python: 3.9
29-
toxenv: py39
30-
os: ubuntu-latest
3125
- python: "3.10"
3226
toxenv: py310
3327
os: ubuntu-latest
@@ -37,15 +31,22 @@ jobs:
3731
- python: "3.12"
3832
toxenv: py312
3933
os: ubuntu-latest
40-
- python: 'pypy3.9'
41-
toxenv: pypy39
34+
- python: "3.13"
35+
toxenv: py313
4236
os: ubuntu-latest
4337

44-
- python: "3.11"
45-
toxenv: py311
38+
- python: "pypy3.10"
39+
toxenv: pypy310
40+
os: ubuntu-latest
41+
- python: "pypy3.11"
42+
toxenv: pypy311
43+
os: ubuntu-latest
44+
45+
- python: "3.13"
46+
toxenv: py313
4647
os: macos-latest
47-
- python: "3.11"
48-
toxenv: py311
48+
- python: "3.13"
49+
toxenv: py313
4950
os: windows-latest
5051

5152
runs-on: ${{ matrix.os }}
@@ -55,10 +56,10 @@ jobs:
5556
with:
5657
python-version: ${{ matrix.python }}
5758
- name: install dependencies
58-
run: python -m pip install --upgrade pip tox setuptools wheel
59+
run: python -m pip install --upgrade pip tox
5960
- name: run
6061
env:
6162
TOXENV: ${{ matrix.toxenv }}
6263
run: tox
6364
- name: setup
64-
run: python setup.py install
65+
run: pip install -e .

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,8 @@ ENV/
104104
.pytest_cache/
105105

106106
# vscode settings
107-
.vscode/
107+
.vscode/
108+
109+
# Local Claude instructions
110+
CLAUDE.local.md
111+
.claude/

.pylintrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ ignore-patterns=test_.*?py,
66
bisc.py,
77
bisc_subfunctions.py
88
ignore= tests
9-
init-hook="from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc())+'/permuta')"
9+
init-hook="import os, sys; sys.path.append(os.path.dirname(os.path.abspath('.')) + '/permuta')"
1010
disable=missing-module-docstring,
1111
fixme,
1212
unsubscriptable-object,
1313
unspecified-encoding
1414
good-names=i,j,n,k,x,y,_
1515

1616
[SIMILARITIES]
17-
ignore-imports=yes
17+
ignore-imports=yes

.zenodo.json

Lines changed: 0 additions & 51 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7-
## Unreleased
7+
## 2.3.1 - 2025-06-13
8+
### Changed
9+
- Migrated from setup.py to modern pyproject.toml packaging with hatchling backend
10+
- Updated minimum Python requirement to 3.10+ (removed support for 3.7-3.9)
11+
- Updated GitHub Actions workflows to use modern build tools
12+
- Removed legacy packaging files (setup.py, MANIFEST.in)
813

914
## 2.3.0 - 2024-04-03
1015
### Changed

CITATION.cff

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
title: "Permuta: A Python Library for Permutations and Patterns"
4+
type: software
5+
authors:
6+
- name: "Ragnar Pall Ardal"
7+
- name: "Arnar Bjarni Arnarson"
8+
- name: "Christian Bean"
9+
affiliation: "Keele University"
10+
- name: "Alfur Birkir Bjarnason"
11+
- name: "Jon Steinn Eliasson"
12+
- name: "Bjarki Agust Gudmundsson"
13+
- name: "Sigurjón Ingi Jónsson"
14+
- name: "Bjarni Jens Kristinsson"
15+
- name: "Tomas Ken Magnusson"
16+
- name: "Émile Nadeau"
17+
- name: "Jay Pantone"
18+
affiliation: "Marquette University"
19+
- name: "Murray Tannock"
20+
- name: "Henning Ulfarsson"
21+
affiliation: "Reykjavik University"

MANIFEST.in

Lines changed: 0 additions & 2 deletions
This file was deleted.

README.rst

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,34 @@
22
permuta
33
#######
44

5-
.. image:: https://travis-ci.org/PermutaTriangle/Permuta.svg?branch=master
6-
:alt: Travis
7-
:target: https://travis-ci.org/PermutaTriangle/Permuta
5+
.. image:: https://github.com/PermutaTriangle/Permuta/workflows/tests/badge.svg
6+
:alt: Tests
7+
:target: https://github.com/PermutaTriangle/Permuta/actions
88
.. image:: https://img.shields.io/pypi/v/Permuta.svg
99
:alt: PyPI
1010
:target: https://pypi.python.org/pypi/Permuta
1111
.. image:: https://img.shields.io/pypi/l/Permuta.svg
1212
:target: https://pypi.python.org/pypi/Permuta
1313
.. image:: https://img.shields.io/pypi/pyversions/Permuta.svg
1414
:target: https://pypi.python.org/pypi/Permuta
15-
.. image:: http://img.shields.io/badge/readme-tested-brightgreen.svg
16-
:alt: Travis
17-
:target: https://travis-ci.org/PermutaTriangle/Permuta
18-
.. image:: https://requires.io/github/PermutaTriangle/Permuta/requirements.svg?branch=master
19-
:target: https://requires.io/github/PermutaTriangle/Permuta/requirements/?branch=master
20-
:alt: Requirements Status
15+
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
16+
:alt: Code style: black
17+
:target: https://github.com/psf/black
18+
.. image:: http://www.mypy-lang.org/static/mypy_badge.svg
19+
:alt: Checked with mypy
20+
:target: http://mypy-lang.org/
2121
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4725758.svg
2222
:target: https://doi.org/10.5281/zenodo.4725758
2323

2424
Permuta is a Python library for working with perms (short for permutations),
2525
patterns, and mesh patterns.
2626

2727
If this code is useful to you in your work, please consider citing it. To generate a
28-
BibTeX entry (or another format), click the "DOI" badge above and locate the "Cite As"
28+
BibTeX entry (or another format), click the "DOI" badge above to go to `Zenodo`_ and locate the "Export"
2929
section.
3030

31+
.. _Zenodo: https://doi.org/10.5281/zenodo.4725758
32+
3133
If you need support, you can join us in our `Discord support server`_.
3234

3335
.. _Discord support server: https://discord.gg/ngPZVT5
@@ -46,14 +48,13 @@ source code, in which case you run the following after cloning the repository:
4648

4749
.. code-block:: bash
4850
49-
./setup.py develop
51+
pip install -e .
5052
5153
To run the unit tests:
5254

5355
.. code-block:: bash
5456
55-
pip install -r test_requirements.txt
56-
./setup.py test
57+
tox
5758
5859
Using Permuta
5960
#############
@@ -65,7 +66,7 @@ interactive Python session, just like any other Python library:
6566
6667
>>> from permuta import *
6768
68-
Importing ``*`` from it supplies you with the 'Perm' and 'PermSet'
69+
Importing ``*`` supplies you with the 'Perm' and 'PermSet'
6970
classes along with the 'AvoidanceClass' class (with alias 'Av') for generating
7071
perms avoiding a set of patterns. It also gives you the 'MeshPatt' class
7172
and some other submodules which we will not discuss in this readme.
@@ -178,7 +179,7 @@ There are numerous practical methods available:
178179
Creating a perm class
179180
#####################
180181

181-
Perm classes are specified with a basis:
182+
Perm classes are created by first specifying a basis and then calling the 'Av' class, to create the set of permutations avoiding the basis:
182183

183184
.. code-block:: python
184185
@@ -227,6 +228,8 @@ given class.
227228
Enumeration of Permutation Classes and Weighted Labelled Independent Sets: Corollary 4.6
228229
The class contains only finitely many simple permutations
229230
231+
The output is the name of a paper, followed by the statement in the paper where the enumeration strategy is discussed or stated.
232+
230233
Permutation statistics
231234
######################
232235

@@ -520,12 +523,3 @@ License
520523

521524
BSD-3: see the `LICENSE <https://github.com/PermutaTriangle/Permuta/blob/master/LICENSE>`_ file.
522525

523-
Citing
524-
######
525-
526-
If you found this library helpful with your research and would like to cite us,
527-
you can use the following `BibTeX`_ or go to `Zenodo`_ for alternative formats.
528-
529-
.. _BibTex: https://zenodo.org/record/4945792/export/hx#.YImTibX7SUk
530-
531-
.. _Zenodo: https://doi.org/10.5281/zenodo.4725758

0 commit comments

Comments
 (0)