diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 22b0a97..20adb54 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,14 +14,14 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.6, 3.7, 3.8] + python-version: ["3.11", "3.12"] os: [macOS-latest, ubuntu-latest, windows-latest] steps: - name: Checkout - uses: actions/checkout@v1 + uses: actions/checkout@v4 - name: Set Up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..389f6c5 --- /dev/null +++ b/.mailmap @@ -0,0 +1 @@ +Amethyst Reese diff --git a/LICENSE b/LICENSE index c5498ec..823aad7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2020 John Reese +Copyright (c) 2020-2024 Amethyst Reese Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile b/Makefile index 03b426f..9731222 100644 --- a/Makefile +++ b/Makefile @@ -21,13 +21,11 @@ test: .PHONY: format format: - python -m isort --recursive -y $(SOURCES) - python -m black $(SOURCES) + python -m ufmt format $(SOURCES) .PHONY: lint lint: - python -m isort --recursive --diff $(SOURCES) - python -m black --check $(SOURCES) + python -m ufmt check $(SOURCES) python -m flake8 $(SOURCES) mypy --strict squatter diff --git a/README.md b/README.md index 5bc1e90..938e29c 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ python -m squatter generate --upload mypackage # License -Squatter is copyright [John Reese](https://noswap.com/), and licensed under +Squatter is copyright [Amethyst Reese](https://noswap.com/), and licensed under the MIT license. I am providing code in this repository to you under an open source license. This is my personal repository; the license you receive to my code is from me and not from my employer. See the `LICENSE` file for details. diff --git a/requirements-dev.txt b/requirements-dev.txt index 73764e9..8547d4e 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,9 +1,10 @@ -black==19.10b0 -coverage==4.5.4 -flake8==3.7.9 -isort==4.3.21 -mypy==0.750 -tox==3.14.1 -twine==3.1.1 +black==24.1a1 +coverage==7.4.0 +flake8==7.0.0 +mypy==1.8.0 +tox==4.12.0 +twine==4.0.2 volatile==2.1.0 -wheel==0.38.1 +wheel==0.42.0 +ufmt==2.3.0 +usort==1.0.7 diff --git a/setup.cfg b/setup.cfg index 93613da..4f050d8 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,18 +5,19 @@ long_description = file: README.md long_description_content_type = text/markdown license = MIT url = https://github.com/python-packaging/squatter -author = John Reese -author_email = john@noswap.com +author = Amethyst Reese +author_email = amy@n7.gg [options] packages = squatter setup_requires = - setuptools_scm + setuptools_scm >= 8 setuptools >= 38.3.0 -python_requires = >=3.6 +python_requires = >=3.11 -[bdist_wheel] -universal = true +[options.entry_points] +console_scripts = + squatter = squatter.__main__:cli [check] metadata = true @@ -33,18 +34,11 @@ precision = 1 show_missing = True skip_covered = True -[isort] -line_length = 88 -multi_line_output = 3 -force_grid_wrap = False -include_trailing_comma = True -use_parentheses = True - [mypy] ignore_missing_imports = True [tox:tox] -envlist = py36, py37, py38 +envlist = py311, py312 [testenv] deps = -rrequirements-dev.txt @@ -52,7 +46,7 @@ whitelist_externals = make commands = make test setenv = - py{36,37,38}: COVERAGE_FILE={envdir}/.coverage + py{311,312}: COVERAGE_FILE={envdir}/.coverage [flake8] ignore = E203, E231, E266, E302, E501, W503 diff --git a/squatter/tests/__init__.py b/squatter/tests/__init__.py index 1964591..06aa9c8 100644 --- a/squatter/tests/__init__.py +++ b/squatter/tests/__init__.py @@ -36,7 +36,7 @@ def test_env_git_prompts(self, check_output_mock: Any) -> None: ("git", "config", "user.name"): "Bob", ("git", "config", "user.email"): "email@example.com", } - check_output_mock.side_effect = lambda cmd, **kwargs: tbl[tuple(cmd)] # type: ignore + check_output_mock.side_effect = lambda cmd, **kwargs: tbl[tuple(cmd)] with TemporaryDirectory() as d: env = Env(d) @@ -62,7 +62,7 @@ def test_cli_functional(self, check_call_mock: Any, check_output_mock: Any) -> N ("git", "config", "user.name"): "Bob", ("git", "config", "user.email"): "email@example.com", } - check_output_mock.side_effect = lambda cmd, **kwargs: tbl[tuple(cmd)] # type: ignore + check_output_mock.side_effect = lambda cmd, **kwargs: tbl[tuple(cmd)] uploads = 0