Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ jobs:
- name: install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
pip install build twine
- name: build
run: python setup.py sdist
run: python -m build
- name: deploy
env:
TWINE_USERNAME: __token__
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
- python: "3.13"
toxenv: py313
os: macos-latest
- python: "3.11"
- python: "3.13"
toxenv: py313
os: windows-latest

Expand All @@ -56,10 +56,10 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: install dependencies
run: python -m pip install --upgrade pip tox setuptools wheel twine
run: python -m pip install --upgrade pip tox
- name: run
env:
TOXENV: ${{ matrix.toxenv }}
run: tox
- name: setup
run: python setup.py install
run: pip install -e .
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,8 @@ ENV/
.pytest_cache/

# vscode settings
.vscode/
.vscode/

# Local Claude instructions
CLAUDE.local.md
.claude/
51 changes: 0 additions & 51 deletions .zenodo.json

This file was deleted.

5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## Unreleased
### Changed
- 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)

## 2.3.0 - 2024-04-03
### Changed
Expand Down
21 changes: 21 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: "Permuta: A Python Library for Permutations and Patterns"
type: software
authors:
- name: "Ragnar Pall Ardal"
- name: "Arnar Bjarni Arnarson"
- name: "Christian Bean"
affiliation: "Keele University"
- name: "Alfur Birkir Bjarnason"
- name: "Jon Steinn Eliasson"
- name: "Bjarki Agust Gudmundsson"
- name: "Sigurjón Ingi Jónsson"
- name: "Bjarni Jens Kristinsson"
- name: "Tomas Ken Magnusson"
- name: "Émile Nadeau"
- name: "Jay Pantone"
affiliation: "Marquette University"
- name: "Murray Tannock"
- name: "Henning Ulfarsson"
affiliation: "Reykjavik University"
2 changes: 0 additions & 2 deletions MANIFEST.in

This file was deleted.

36 changes: 14 additions & 22 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,34 @@
permuta
#######

.. image:: https://travis-ci.org/PermutaTriangle/Permuta.svg?branch=master
:alt: Travis
:target: https://travis-ci.org/PermutaTriangle/Permuta
.. image:: https://github.com/PermutaTriangle/Permuta/workflows/tests/badge.svg
:alt: Tests
:target: https://github.com/PermutaTriangle/Permuta/actions
.. image:: https://img.shields.io/pypi/v/Permuta.svg
:alt: PyPI
:target: https://pypi.python.org/pypi/Permuta
.. image:: https://img.shields.io/pypi/l/Permuta.svg
:target: https://pypi.python.org/pypi/Permuta
.. image:: https://img.shields.io/pypi/pyversions/Permuta.svg
:target: https://pypi.python.org/pypi/Permuta
.. image:: http://img.shields.io/badge/readme-tested-brightgreen.svg
:alt: Travis
:target: https://travis-ci.org/PermutaTriangle/Permuta
.. image:: https://requires.io/github/PermutaTriangle/Permuta/requirements.svg?branch=master
:target: https://requires.io/github/PermutaTriangle/Permuta/requirements/?branch=master
:alt: Requirements Status
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:alt: Code style: black
:target: https://github.com/psf/black
.. image:: http://www.mypy-lang.org/static/mypy_badge.svg
:alt: Checked with mypy
:target: http://mypy-lang.org/
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4725758.svg
:target: https://doi.org/10.5281/zenodo.4725758

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

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"
BibTeX entry (or another format), click the "DOI" badge above to go to `Zenodo`_ and locate the "Export"
section.

.. _Zenodo: https://doi.org/10.5281/zenodo.4725758

If you need support, you can join us in our `Discord support server`_.

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

.. code-block:: bash

./setup.py develop
pip install -e .

To run the unit tests:

.. code-block:: bash

pip install -r test_requirements.txt
./setup.py test
tox

Using Permuta
#############
Expand Down Expand Up @@ -522,12 +523,3 @@ License

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

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.

.. _BibTex: https://zenodo.org/record/4945792/export/hx#.YImTibX7SUk

.. _Zenodo: https://doi.org/10.5281/zenodo.4725758
54 changes: 54 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,57 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "permuta"
dynamic = ["version"]
authors = [
{name = "Permuta Triangle", email = "[email protected]"},
]
description = "A comprehensive high performance permutation library."
readme = "README.rst"
license = {text = "BSD-3-Clause"}
keywords = ["permutation", "perm", "mesh", "pattern", "patt", "avoid", "contain", "occurrence", "statistic"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Education",
"Topic :: Scientific/Engineering :: Mathematics",
]
requires-python = ">=3.10"
dependencies = [
"automata-lib==9.0.0",
]

[project.urls]
Source = "https://github.com/PermutaTriangle/Permuta"
Tracker = "https://github.com/PermutaTriangle/Permuta/issues"

[project.scripts]
permtools = "permuta.cli:main"

[tool.hatch.version]
path = "permuta/__init__.py"

[tool.hatchling.build.targets.wheel]
packages = ["permuta"]

[tool.hatchling.build.targets.sdist]
include = [
"/permuta",
"/tests",
"/README.rst",
"/LICENSE",
]

[tool.black]
target-version = ['py310']
include = '\.pyi?$'
Expand Down
56 changes: 0 additions & 56 deletions setup.py

This file was deleted.

2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ deps =
flake8
flake8-isort
commands =
flake8 --isort-show-traceback permuta tests setup.py
flake8 --isort-show-traceback permuta tests

[testenv:pylint]
description = run pylint (static code analysis)
Expand Down