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
10 changes: 5 additions & 5 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
python-version: "3.14"
- 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
35 changes: 18 additions & 17 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ jobs:
fail-fast: false
matrix:
include:
- python: "3.13"
- python: "3.14"
toxenv: flake8
os: ubuntu-latest
- python: "3.13"
- python: "3.14"
toxenv: mypy
os: ubuntu-latest
- python: "3.13"
- python: "3.14"
toxenv: pylint
os: ubuntu-latest
- python: "3.13"
- python: "3.14"
toxenv: black
os: ubuntu-latest

Expand All @@ -34,6 +34,9 @@ jobs:
- python: "3.13"
toxenv: py313
os: ubuntu-latest
- python: "3.14"
toxenv: py314
os: ubuntu-latest

- python: "pypy-3.10"
toxenv: pypy310
Expand All @@ -42,17 +45,17 @@ jobs:
toxenv: pypy311
os: ubuntu-latest

- python: "3.13"
toxenv: py313
- python: "3.14"
toxenv: py314
os: macos-latest
- python: "3.13"
toxenv: py313
- python: "3.14"
toxenv: py314
os: windows-latest

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install dependencies from develop branch
Expand All @@ -61,22 +64,20 @@ jobs:
echo "Installing dependencies from develop branches instead of PyPI"
python -m pip install git+https://github.com/PermutaTriangle/comb_spec_searcher.git@develop
python -m pip install git+https://github.com/PermutaTriangle/Permuta.git@develop
# Optional: Install the project in development mode to work with the new dependencies

# Install the project in development mode to work with the new dependencies
python -m pip install -e .

# Verify installed versions
echo "Checking installed comb_spec_searcher version:"
python -c "import comb_spec_searcher; print(comb_spec_searcher.__version__)"
echo "Checking installed permuta version:"
python -c "import permuta; print(permuta.__version__)"
- name: install dependencies
run: |
python -m pip install --upgrade pip tox
pip install 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: 3 additions & 3 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"title": "tilings",
"creators": [
{
"affiliation": "Reykjavik University",
"affiliation": "Keele University",
"name": "Christian Bean"
},
{
Expand All @@ -20,10 +20,10 @@
{
"affiliation": "Marquette University",
"name": "Jay Pantone"
}
},
{
"affiliation": "Reykjavik University",
"name": "Henning Ulfarsson"
},
}
]
}
13 changes: 11 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,22 @@ 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
## [Unreleased]

## [4.1.0] - 2026-01-15
### Changed
- new GriddedPerm.contains_patt function checks positions first, then pattern
and as a result can lead to huge 2x - 4x speed improvement in specification
finding
- Migrated to modern pyproject.toml packaging with hatchling backend
- Minimum Python version is now 3.10 (dropped 3.8, 3.9 support)
- Updated GitHub Actions to use latest action versions (checkout@v4, setup-python@v5)
- Updated Black target version to Python 3.10

### Removed
- Removed legacy setup.py and MANIFEST.in files

## [4.0.0 - 2025-03-13]
## [4.0.0] - 2025-03-13
### Added
- python3.9 are deprecated, python3.10 - python3.13 are supported
- added `TileScopePack.requirement_and_row_and_col_placements`
Expand Down
32 changes: 32 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: software
title: "tilings: A Python library for gridded permutations and tilings"
url: "https://github.com/PermutaTriangle/Tilings"
repository-code: "https://github.com/PermutaTriangle/Tilings"
license: BSD-3-Clause
authors:
- given-names: "Christian"
family-names: "Bean"
affiliation: "Keele University"
- given-names: "Jon Steinn"
family-names: "Eliasson"
affiliation: "Reykjavik University"
- given-names: "Tomas Ken"
family-names: "Magnusson"
- given-names: "Émile"
family-names: "Nadeau"
affiliation: "Reykjavik University"
- given-names: "Jay"
family-names: "Pantone"
affiliation: "Marquette University"
- given-names: "Henning"
family-names: "Ulfarsson"
affiliation: "Reykjavik University"
identifiers:
- type: doi
value: "10.5281/zenodo.4948344"
description: "DOI for all versions"
- type: url
value: "https://zenodo.org/badge/latestdoi/121506164"
description: "Latest Zenodo DOI"
1 change: 0 additions & 1 deletion MANIFEST.in

This file was deleted.

21 changes: 12 additions & 9 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
Tilings
=======

.. image:: https://travis-ci.org/PermutaTriangle/Tilings.svg?branch=master
:alt: Travis
:target: https://travis-ci.org/PermutaTriangle/Tilings
.. image:: https://coveralls.io/repos/github/PermutaTriangle/Tilings/badge.svg?branch=master
.. image:: https://github.com/PermutaTriangle/Tilings/actions/workflows/test.yml/badge.svg
:alt: Tests
:target: https://github.com/PermutaTriangle/Tilings/actions/workflows/test.yml
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:alt: Code style: black
:target: https://github.com/psf/black
.. image:: https://img.shields.io/badge/mypy-checked-blue
:alt: mypy: checked
:target: https://mypy-lang.org/
.. image:: https://img.shields.io/coveralls/github/PermutaTriangle/Tilings.svg
:alt: Coveralls
:target: https://coveralls.io/github/PermutaTriangle/Tilings?branch=master
:target: https://coveralls.io/github/PermutaTriangle/Tilings
.. image:: https://img.shields.io/pypi/v/Tilings.svg
:alt: PyPI
:target: https://pypi.python.org/pypi/Tilings
.. image:: https://img.shields.io/pypi/l/Tilings.svg
:target: https://pypi.python.org/pypi/Tilings
.. image:: https://img.shields.io/pypi/pyversions/Tilings.svg
:target: https://pypi.python.org/pypi/Tilings
.. image:: https://requires.io/github/PermutaTriangle/Tilings/requirements.svg?branch=master
:target: https://requires.io/github/PermutaTriangle/Tilings/requirements/?branch=master
:alt: Requirements Status
.. image:: https://zenodo.org/badge/121506164.svg
:target: https://zenodo.org/badge/latestdoi/121506164

Expand Down Expand Up @@ -54,7 +57,7 @@ development mode by cloning the repository, running

.. code:: bash

./setup.py develop
pip install -e .

To verify that your installation is correct, you can try to get a specification for
`Av(12)` by running in your terminal:
Expand Down
79 changes: 73 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,12 +1,80 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "tilings"
dynamic = ["version"]
authors = [
{name = "Permuta Triangle", email = "permutatriangle@gmail.com"},
]
description = "A Python library for gridded permutations and tilings."
readme = "README.rst"
license = {text = "BSD-3-Clause"}
keywords = [
"permutation",
"perm",
"gridded",
"pattern",
"tiling",
"avoid",
"contain",
"occurrences",
"grid",
"class",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Education",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
"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 = [
"comb-spec-searcher>=4.2.1",
"permuta>=2.3.0",
]

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

[project.scripts]
tilescope = "tilings.cli:main"

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

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

[tool.hatchling.build.targets.sdist]
include = [
"tilings",
"tests",
"README.rst",
"LICENSE",
"CHANGELOG.md",
"CITATION.cff",
]

[tool.black]
target-version = ['py37']
target-version = ['py310']
include = '\.pyi?$'
exclude = '''

(
/(
\.eggs # exclude a few common directories in the
| \.git # root of the project
\.eggs
| \.git
| \.hg
| \.mypy_cache
| \.tox
Expand All @@ -16,7 +84,6 @@ exclude = '''
| build
| dist
)/
| foo.py # also separately exclude a file named foo.py in
# the root of the project
| foo.py
)
'''
58 changes: 0 additions & 58 deletions setup.py

This file was deleted.

Loading