Drop support for Python 3.7.

This commit is contained in:
Catherine 2023-06-07 14:04:23 +00:00
parent 99417d6499
commit b77e33f16a
7 changed files with 9 additions and 19 deletions

View file

@ -6,12 +6,10 @@ jobs:
strategy:
matrix:
python-version:
- '3.7'
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- 'pypy-3.7'
- 'pypy-3.8'
- 'pypy-3.9'
allow-failure:
@ -37,7 +35,7 @@ jobs:
sudo apt-get update
sudo apt-get install yices2
pip install coverage codecov
pip install yowasp-yosys==0.20.* # last version compatible with Python 3.7
pip install yowasp-yosys
pip install -e .[builtin-yosys]
pip install -r docs/requirements.txt
- name: Preserve Wasm cache

View file

@ -1,9 +1,7 @@
try:
try:
from importlib import metadata as importlib_metadata # py3.8+ stdlib
except ImportError:
import importlib_metadata # py3.7- shim
from importlib import metadata as importlib_metadata
__version__ = importlib_metadata.version(__package__)
del importlib_metadata
except ImportError:
# No importlib_metadata. This shouldn't normally happen, but some people prefer not installing
# packages via pip at all, instead using PYTHONPATH directly or copying the package files into

View file

@ -4,13 +4,7 @@ import re
import subprocess
import warnings
import pathlib
try:
from importlib import metadata as importlib_metadata # py3.8+ stdlib
except ImportError:
try:
import importlib_metadata # py3.7- shim
except ImportError:
importlib_metadata = None # not installed
from importlib import metadata as importlib_metadata
try:
from importlib import resources as importlib_resources
try:

View file

@ -13,7 +13,7 @@ The language includes several new extension points for integration with :class:`
Several issues with shape inference have been resolved. Notably, ``a - b`` where both ``a`` and ``b`` are unsigned now returns a signed value.
Support for Python 3.6 has been removed, and support for Python 3.11 and 3.12 has been added.
Support for Python 3.6 and 3.7 has been removed, and support for Python 3.11 and 3.12 has been added.
Features deprecated in version 0.3 have been removed. In particular, the ``nmigen.*`` namespace is not provided, ``# nmigen:`` annotations are not recognized, and ``NMIGEN_*`` envronment variables are not used.

View file

@ -6,7 +6,7 @@ System requirements
.. |yosys-version| replace:: 0.10 (or newer)
Amaranth HDL requires Python 3.7; it works on CPython_ 3.7 (or newer), and works faster on PyPy3.7_ 7.3.3 (or newer). Installation requires pip_ 23.0 (or newer).
Amaranth HDL requires Python 3.8; it works on CPython_ 3.8 (or newer), and works faster on PyPy3.8_ 7.3.7 (or newer). Installation requires pip_ 23.0 (or newer).
For most workflows, Amaranth requires Yosys_ |yosys-version|. A compatible version of Yosys is distributed via PyPI_ for most popular platforms.
@ -17,7 +17,7 @@ Synthesizing, placing and routing an Amaranth design for an FPGA requires the FP
.. TODO: Link to FPGA family docs here
.. _CPython: https://www.python.org/
.. _PyPy3.7: https://www.pypy.org/
.. _PyPy3.8: https://www.pypy.org/
.. _pip: https://pip.pypa.io/
.. _Yosys: https://yosyshq.net/yosys/
.. _PyPI: https://pypi.org/

View file

@ -10,9 +10,8 @@ description = "Amaranth hardware definition language"
authors = [{name = "Amaranth HDL contributors"}]
license = {file = "LICENSE.txt"}
requires-python = "~=3.7"
requires-python = "~=3.8"
dependencies = [
"importlib_metadata; python_version<'3.8'", # for __version__ and amaranth._toolchain.yosys
"importlib_resources; python_version<'3.9'", # for amaranth._toolchain.yosys
"pyvcd>=0.2.2,<0.5", # for amaranth.sim.pysim
"Jinja2~=3.0", # for amaranth.build

View file

@ -56,6 +56,7 @@ class FHDLTestCase(unittest.TestCase):
mode {mode}
depth {depth}
wait on
multiclock on
[engines]
smtbmc