From 1cf5290aed329c9f86e47eef989874f1ba19b232 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 19:06:20 -0400 Subject: [PATCH 01/21] move everything --- pyproject.toml | 30 +++++++++++++++++++++++++++++- requirements-dev.txt | 23 ----------------------- requirements.txt | 20 -------------------- 3 files changed, 29 insertions(+), 44 deletions(-) delete mode 100644 requirements-dev.txt delete mode 100644 requirements.txt diff --git a/pyproject.toml b/pyproject.toml index ad5f19951..72319842b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,13 +27,16 @@ classifiers = ["License :: OSI Approved :: MIT License"] dynamic = [] # Do not attempt to import porcupine before dependencies are installed dependencies = [ "platformdirs>=3.0.0,<4.0.0", - "Pygments==2.12.0", + "Pygments==2.12.0", # pygments version fixed because haxx in highlight plugin "toposort>=1.5", "colorama>=0.2.5", "sansio-lsp-client>=0.10.0,<0.11.0", "python-language-server[rope,pyflakes]>=0.36.2,<1.0.0", + # black and isort minimum versions should be something old and kinda reasonable. + # For developing Porcupine, newer versions can be set in 'dev' optional deps. "black>=21.5b2", "isort>=5.10", + # typing.Literal is new in python 3.8 "typing_extensions", "dacite>=1.5.1,<2.0.0", "tomli==2.0.1", @@ -44,6 +47,31 @@ dependencies = [ "sv-ttk>=2.5.5", ] +[project.optional-dependencies] +dev = [ + "pytest==6.2.5", + "pytest-cov==4.0.0", + "pytest-mock==3.10.0", + "pycln==2.1.3", + "black==23.1.0", + "isort==5.12.0", + "pyupgrade==3.9.0", + "sphinx>=4.0.0, <5.0.0", + "pillow>=5.4.1", + "requests>=2.24.0, <3.0.0", + "mypy==1.1.1", # exact versions to avoid "works on my computer" problems + "types-Pygments==2.14.0.6", + "types-docutils==0.19.1.6", + "types-Send2Trash==1.8.2.4", + "types-setuptools==67.6.0.5", + "types-colorama==0.4.15.8", + "types-toposort==1.10.0.0", + "types-psutil==5.9.5.10", + "types-PyYAML==6.0.12.8", + "types-tree-sitter==0.20.1.2", + "types-tree-sitter-languages==1.5.0.2", +] + [project.scripts] porcu = "porcupine.__main__:main" porcupine = "porcupine.__main__:main" diff --git a/requirements-dev.txt b/requirements-dev.txt deleted file mode 100644 index 3a664444c..000000000 --- a/requirements-dev.txt +++ /dev/null @@ -1,23 +0,0 @@ -pytest==6.2.5 -pytest-cov==4.0.0 -pytest-mock==3.10.0 -pycln==2.1.3 -black==23.1.0 -isort==5.12.0 -pyupgrade==3.9.0 -sphinx>=4.0.0, <5.0.0 -pillow>=5.4.1 -requests>=2.24.0, <3.0.0 - -# type checking, exact versions to avoid "works on my computer" problems -mypy==1.1.1 -types-Pygments==2.14.0.6 -types-docutils==0.19.1.6 -types-Send2Trash==1.8.2.4 -types-setuptools==67.6.0.5 -types-colorama==0.4.15.8 -types-toposort==1.10.0.0 -types-psutil==5.9.5.10 -types-PyYAML==6.0.12.8 -types-tree-sitter==0.20.1.2 -types-tree-sitter-languages==1.5.0.2 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 8f6b8b290..000000000 --- a/requirements.txt +++ /dev/null @@ -1,20 +0,0 @@ -platformdirs>=3.0.0,<4.0.0 -# pygments version fixed because haxx in highlight plugin -Pygments==2.12.0 -toposort>=1.5 -colorama>=0.2.5 -sansio-lsp-client>=0.10.0,<0.11.0 -python-language-server[rope,pyflakes]>=0.36.2,<1.0.0 -# black and isort minimum versions should be something old and kinda reasonable. -# For developing Porcupine, newer versions can be set in requirements-dev. -black>=21.5b2 -isort>=5.10 -# typing.Literal is new in python 3.8 -typing_extensions -dacite>=1.5.1,<2.0.0 -tomli==2.0.1 -send2trash>=1.8.0,<2.0.0 -psutil>=5.8.0,<6.0.0 -PyYAML==6.0 -tree-sitter-builds==2023.3.12 -sv-ttk>=2.5.5 From 10ff6e3c767a7ee1f587ca3dbaa406347151d8dc Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 19:11:39 -0400 Subject: [PATCH 02/21] remove test --- tests/test_porcupine_files.py | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/tests/test_porcupine_files.py b/tests/test_porcupine_files.py index 6978ed6d1..0d000776d 100644 --- a/tests/test_porcupine_files.py +++ b/tests/test_porcupine_files.py @@ -15,29 +15,3 @@ def test_license_file(): def test_copyright(): assert str(datetime.datetime.now().year) in porcupine.__copyright__ - - -# The intended way to store dependency info is that setup.py or pyproject.toml contains version -# ranges, and requirements.txt contains specific versions in those ranges so that each deployment -# gets the same dependencies from there. -# -# A downside is that if your deployment also gets dependencies from other places, they could specify -# conflicting versions. This could be a problem for Porcupine: even though users usually install -# Porcupine into a virtualenv that doesn't contain anything else, I don't want to assume that they -# do. -# -# Another downside with pinning for Porcupine would be dependencies getting outdated easily. -# -# Solution: pin only the packages where updating will likely break things, and keep the same -# dependencies in requirements.txt (for easy "pip install -r requirements.txt" during development) -# and in pyproject.toml (for installing released versions). -def test_requirements_and_pyproject_toml_in_sync(): - requirements = [] - with open("requirements.txt") as file: - for line in file: - requirement = line.split("#")[0].strip() - if requirement: - requirements.append(requirement) - - with open("pyproject.toml", "rb") as file: - assert tomli.load(file)["project"]["dependencies"] == requirements From d205ba95c76d7ee249ca03dc7fcf037ed21a16a0 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 19:13:09 -0400 Subject: [PATCH 03/21] remove extraneous import --- tests/test_porcupine_files.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/test_porcupine_files.py b/tests/test_porcupine_files.py index 0d000776d..cc8fead3a 100644 --- a/tests/test_porcupine_files.py +++ b/tests/test_porcupine_files.py @@ -1,8 +1,6 @@ import datetime from pathlib import Path -import tomli - import porcupine From 23f17996baed2a58979d6291c11bb881e88099b0 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 19:16:04 -0400 Subject: [PATCH 04/21] fix ci --- .github/workflows/autofix.yml | 2 +- .github/workflows/check.yml | 6 +++--- .github/workflows/release-builds.yml | 5 +++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 6f25a25c6..339c4cc24 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -22,7 +22,7 @@ jobs: python-version: "3.11" cache: pip - run: pip install wheel - - run: pip install -r requirements-dev.txt + - run: pip install ".[dev]" - name: Gather a list of Python files in the pull request branch run: | (cd pr && git ls-files) | grep -E '\.(py|pyw)$' | sed s:^:pr/: | tee filelist.txt diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 6e1bc2f26..d8f7eea76 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -15,7 +15,7 @@ jobs: python-version: "3.11" cache: pip - run: pip install wheel - - run: pip install -r requirements.txt -r requirements-dev.txt + - run: pip install ".[dev]" - run: | time mypy --platform linux --python-version 3.8 porcupine docs/extensions.py time mypy --platform linux --python-version 3.9 porcupine docs/extensions.py @@ -42,7 +42,7 @@ jobs: python-version: ${{ matrix.python-version }} cache: pip - run: pip install wheel - - run: pip install -r requirements.txt -r requirements-dev.txt + - run: pip install ".[dev]" - if: matrix.os == 'ubuntu-latest' # Make sure that it doesn't crash with Noto Color Emoji installed run: sudo apt install --no-install-recommends fonts-noto-color-emoji tkdnd @@ -73,7 +73,7 @@ jobs: - if: matrix.python-version != '3.8' run: brew install python-tk@${{ matrix.python-version }} - run: $PYTHON --version - - run: $PYTHON -m pip install -r requirements.txt -r requirements-dev.txt + - run: $PYTHON -m pip install ".[dev]" - run: $PYTHON scripts/download-tkdnd.py - run: $PYTHON -m pytest --durations=10 diff --git a/.github/workflows/release-builds.yml b/.github/workflows/release-builds.yml index 177f405a2..a22f10fd3 100644 --- a/.github/workflows/release-builds.yml +++ b/.github/workflows/release-builds.yml @@ -1,3 +1,4 @@ + on: push: tags: @@ -14,7 +15,7 @@ jobs: python-version: "3.8" # last version supporting windows 7 cache: pip - run: pip install wheel - - run: pip install -r requirements.txt -r requirements-dev.txt + - run: pip install ".[dev]" - uses: egor-tensin/setup-clang@v1 with: platform: x64 @@ -34,7 +35,7 @@ jobs: python-version: "3.11" cache: pip - run: pip install wheel - - run: pip install -r requirements.txt -r requirements-dev.txt + - run: pip install ".[dev]" - run: python3 -m sphinx ./docs ./build - if: startsWith(github.ref, 'refs/tags/v') uses: JamesIves/github-pages-deploy-action@4.1.3 From 3c9b15dd46fd0b972cf08ac796324f2a100dba15 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 19:21:38 -0400 Subject: [PATCH 05/21] update docs --- CONTRIBUTING.md | 68 ++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b3f575156..5db181cf7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,23 +2,24 @@ If you want to do something to Porcupine, that's awesome! I have tried to make contributing easy: + - Some issues are labeled as "good first issue". - If you don't understand what I meant in an issue, please ask me to clarify it. - I have written most issues so that I understand what I wrote, - and if you are new to Porcupine, you likely need a longer explanation to understand what the problem is. + I have written most issues so that I understand what I wrote, + and if you are new to Porcupine, you likely need a longer explanation to understand what the problem is. - Don't worry about asking too many questions! - It's not annoying. I like interacting with other programmers. + It's not annoying. I like interacting with other programmers. - There is not much boilerplate involved in the contributing process. - You just create a pull request and that's it. - You can choose an issue and start working on it, without prior permission. - Instead of working on an issue, you can also create something that you would - like to have in an editor. + You just create a pull request and that's it. + You can choose an issue and start working on it, without prior permission. + Instead of working on an issue, you can also create something that you would + like to have in an editor. - You don't need to read anything before you can get started. - I recommend having a look at [the Porcupine plugin API docs](https://akuli.github.io/porcupine/), - but that's not required. + I recommend having a look at [the Porcupine plugin API docs](https://akuli.github.io/porcupine/), + but that's not required. - Don't worry too much about whether your code is good or not. - I will review the pull requests and try to help you out. - There are also checks running on GitHub Actions. + I will review the pull requests and try to help you out. + There are also checks running on GitHub Actions. To get started, make a fork of Porcupine with the button in the top right corner of this page. Then install Python 3.8 or newer and [git](https://git-scm.com/), and run these commands: @@ -27,8 +28,7 @@ Then install Python 3.8 or newer and [git](https://git-scm.com/), and run these cd porcupine python3 -m venv env source env/bin/activate - pip install -r requirements.txt - pip install -r requirements-dev.txt + pip install -e ".[dev]" python3 -m porcupine This should run Porcupine. If you change some of Porcupine's @@ -36,12 +36,13 @@ code in the `porcupine` directory and you run `python3 -m porcupine` again, your should be visible right away. Windows-specific notes: + - You need to use `py` instead of `python3` when creating the venv, - and `env\Scripts\activate` instead of `source env/bin/activate` to activate it. + and `env\Scripts\activate` instead of `source env/bin/activate` to activate it. - If creating the venv fails with an error message like `Error: [Errno 13] Permission denied: ...\\python.exe`, - try creating the venv into a different folder. - It is created into whatever folder you are currently `cd`'d to - (i.e. the folder that shows up on the command prompt before the `>`). + try creating the venv into a different folder. + It is created into whatever folder you are currently `cd`'d to + (i.e. the folder that shows up on the command prompt before the `>`). Porcupine uses `mypy`, which is a tool that type-checks the code without running it. For small pull requests, you probably don't need to run it on your computer as GitHub Actions runs it on your pull request anyway. @@ -64,22 +65,22 @@ place and running `source env/bin/activate` again. You can run `deactivate` to u the `source env/bin/activate`. Other commands you may find useful: + - `python3 -m pytest` runs tests. You will see lots of weird stuff happening while testing, and that's expected. - A good way to debug a test to see what is actually going on is to add traces. - It pauses the test to show you the current state of the program. - - Use `import pdb` and `pdb.set_trace()` to set the pause points in the test. You can - set as many as you like, and it can conveniently be done on one line: `import pdb; pdb.set_trace()`. - - When the test pauses, type `cont` in terminal to continue the test. - - If you at any time need to interact with the program during the pause, - type `interact` in terminal. Exit interactive mode with `ctrl + D`. + A good way to debug a test to see what is actually going on is to add traces. + It pauses the test to show you the current state of the program. + - Use `import pdb` and `pdb.set_trace()` to set the pause points in the test. You can + set as many as you like, and it can conveniently be done on one line: `import pdb; pdb.set_trace()`. + - When the test pauses, type `cont` in terminal to continue the test. + - If you at any time need to interact with the program during the pause, + type `interact` in terminal. Exit interactive mode with `ctrl + D`. - To see a report of test coverage, add `--cov=porcupine` to the above pytest command and then run `coverage html`. Open `htmlcov/index.html` in your favorite browser to view it. - `cd docs` followed by `python3 -m sphinx . build` creates HTML documentation. Open `docs/build/index.html` in your favorite browser to view it. - ## Where to talk to us GitHub issues and pull request comments are the best way to contact other Porcupine developers. @@ -91,24 +92,23 @@ and we often discuss things that have nothing to do with Porcupine. To join ##learnpython, you can e.g. go to https://kiwiirc.com/nextclient/irc.libera.chat/##learnpython or run [Akuli's mantaray program](https://github.com/Akuli/mantaray). - ## Releasing Porcupine These instructions are meant for Porcupine maintainers. Other people shouldn't need them. 1. Update `CHANGELOG.md` based on Git logs (e.g. `git log --all --oneline --graph`). - You should add a new section to the beginning with `Unreleased` instead of a version number. - Don't split the text to multiple lines any more than is necessary, - as that won't show up correctly on GitHub's releases page. + You should add a new section to the beginning with `Unreleased` instead of a version number. + Don't split the text to multiple lines any more than is necessary, + as that won't show up correctly on GitHub's releases page. 2. Make a pull request of your changelog edits. Review carefully: - changing the changelog afterwards is difficult, as the text gets copied into the releases page. + changing the changelog afterwards is difficult, as the text gets copied into the releases page. 3. Merge the pull request and pull the merge commit to your local `main` branch. 4. Run `python3 scripts/release.py` from the `main` branch. - The script pushes a tag named e.g. `v2022.08.28`, - which triggers the parts of `.github/workflows/release-builds.yml` - that have `if: startsWith(github.ref, 'refs/tags/v')` in them. - They build and deploy docs, copy the changelog to the releases page, and so on. + The script pushes a tag named e.g. `v2022.08.28`, + which triggers the parts of `.github/workflows/release-builds.yml` + that have `if: startsWith(github.ref, 'refs/tags/v')` in them. + They build and deploy docs, copy the changelog to the releases page, and so on. 5. Update `porcupine.wiki` if you added new features that are likely not obvious to users. If you want, you can also do a release from a branch named `bugfix-release` instead of `main`. From 41be9595c417f691dfd64b967a1c895bfb1f346d Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 19:33:05 -0400 Subject: [PATCH 06/21] update readme --- README.md | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b1f0de745..ac308ee25 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ highlighting. ![Screenshot.](screenshot.png) Most important features: + - Syntax highlighting (supports many programming languages and color themes, extensible) - Autocompletions when pressing tab @@ -27,9 +28,9 @@ Most important features: - Multiple files can be opened at the same time like tabs in a web browser - The tabs can be dragged out of the window to open a new Porcupine window conveniently -[Pygments]: https://pygments.org/ -[Langserver]: https://langserver.org/ -[Editorconfig]: https://editorconfig.org/ +[pygments]: https://pygments.org/ +[langserver]: https://langserver.org/ +[editorconfig]: https://editorconfig.org/ Porcupine also has [a very powerful plugin API](https://akuli.github.io/porcupine/), and most of the above features are @@ -40,6 +41,22 @@ it shows up as an empty window. ## Installing Porcupine +To install and run the latest version Porcupine for personal use, execute: + +```bash +python3 -m pip install -u pipx # if you don't have `pipx` already +pipx install git+https://github.com/Akuli/porcupine.git +porcu # or `porcupine` if you prefer +``` + +To update Porcupine to the latest version: + +```bash +pipx install --force git+https://github.com/Akuli/porcupine.git +``` + +This may nuke your configs, so be sure to back them up if you care about them. + ### Development Install See [CONTRIBUTING.md](CONTRIBUTING.md) for development instructions. @@ -57,7 +74,7 @@ Open a terminal and run these commands: porcu To easily run porcupine again later, -go to *Settings* --> *Porcupine Settings* +go to _Settings_ --> _Porcupine Settings_ and check "Show Porcupine in the desktop menu system". This makes Porcupine show up in the menu just like any other application. @@ -77,7 +94,7 @@ Then run these commands: porcu To easily run porcupine again later, -go to *Settings* --> *Porcupine Settings* +go to _Settings_ --> _Porcupine Settings_ and check "Show Porcupine in the desktop menu system". This makes Porcupine show up in the menu just like any other application. @@ -111,11 +128,13 @@ When installed, you will find Porcupine from the start menu. See [CHANGELOG.md](CHANGELOG.md). ### Does Porcupine support programming language X? + You will likely get syntax highlighting without any configuring and autocompletions with a few lines of configuration file editing. See [the instructions on Porcupine wiki](https://github.com/Akuli/porcupine/wiki/Getting-Porcupine-to-work-with-a-programming-language). ### Help! Porcupine doesn't work. + Please install the latest version. If it still doesn't work, [let me know by creating an issue on GitHub](http://github.com/Akuli/porcupine/issues/new). @@ -130,25 +149,32 @@ I think because I didn't find other projects named porcupine, but I don't rememb Originally, Porcupine was named "Akuli's Editor". ### I want an editor that does X, but X is not in the feature list above. Does Porcupine do X? + You can run Porcupine and find out, or [create an issue on GitHub](https://github.com/Akuli/porcupine/issues/new) and ask. If you manage to make me excited about X, I might implement it. ### Why did you create a new editor? + Because I can. ### Why did you create a new editor in tkinter? + Because I can. ### How does feature X work? + See [porcupine/](porcupine/)X.py or [porcupine/plugins/](porcupine/plugins/)X.py. ### Why not use editor X? + Because Porcupine is better. ### Is Porcupine based on IDLE? + Of course not. IDLE is an awful mess that you should stay far away from. ### Is Porcupine a toy project or is it meant to be a serious editor? + Porcupine is meant to be a serious editor, in fact you might regret even touching it. https://www.youtube.com/watch?v=Y3iUoFkDKjU From 36732c7416e66876633a13d290c4b8fcd3e99dc1 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 19:35:53 -0400 Subject: [PATCH 07/21] made the readme better --- README.md | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index ac308ee25..3bf3a0d63 100644 --- a/README.md +++ b/README.md @@ -41,22 +41,6 @@ it shows up as an empty window. ## Installing Porcupine -To install and run the latest version Porcupine for personal use, execute: - -```bash -python3 -m pip install -u pipx # if you don't have `pipx` already -pipx install git+https://github.com/Akuli/porcupine.git -porcu # or `porcupine` if you prefer -``` - -To update Porcupine to the latest version: - -```bash -pipx install --force git+https://github.com/Akuli/porcupine.git -``` - -This may nuke your configs, so be sure to back them up if you care about them. - ### Development Install See [CONTRIBUTING.md](CONTRIBUTING.md) for development instructions. @@ -87,19 +71,27 @@ Install Python 3.8 or newer with pip and tkinter somehow. If you want drag and drop support, also install tkdnd for the Tcl interpreter that tkinter uses. Then run these commands: - python3 -m venv porcupine-venv - source porcupine-venv/bin/activate - pip install wheel - pip install https://github.com/Akuli/porcupine/archive/v2023.06.27.zip - porcu +```bash +python3 -m pip install -u pipx # if you don't have `pipx` already +pipx install git+https://github.com/Akuli/porcupine.git +porcu # or `porcupine` if you prefer +``` To easily run porcupine again later, go to _Settings_ --> _Porcupine Settings_ and check "Show Porcupine in the desktop menu system". This makes Porcupine show up in the menu just like any other application. +To update Porcupine to the latest version: + +```bash +pipx install --force git+https://github.com/Akuli/porcupine.git +``` + +This may nuke your configs, so be sure to back them up if you care about them. + You can uninstall Porcupine by unchecking "Show Porcupine in the desktop menu system" in the settings -and then deleting `porcupine-venv`. +and then running `pipx uninstall porcupine`. ### MacOS From 8d8c5e2b39e7e5c2197a381eb74c1769aaae7e3d Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 20:08:41 -0400 Subject: [PATCH 08/21] fix #1303 --- .github/workflows/autofix.yml | 4 ++-- pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 339c4cc24..8030590b7 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -29,8 +29,8 @@ jobs: - run: python3 -m pycln --all --disable-all-dunder-policy $(cat filelist.txt) - run: python3 -m pyupgrade $(cat filelist.txt) --keep-runtime-typing --py38-plus --exit-zero-even-if-changed - run: python3 -m black $(cat filelist.txt) - - run: python3 -m isort $(cat filelist.txt) + - run: python3 -m ruff $(cat filelist.txt) - uses: stefanzweifel/git-auto-commit-action@v4 with: repository: ./pr - commit_message: "Run pycln, pyupgrade, black and isort" + commit_message: "Run pycln, pyupgrade, black, and ruff" diff --git a/pyproject.toml b/pyproject.toml index 72319842b..c66d398bb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,7 +54,7 @@ dev = [ "pytest-mock==3.10.0", "pycln==2.1.3", "black==23.1.0", - "isort==5.12.0", + "ruff==0.0.282", "pyupgrade==3.9.0", "sphinx>=4.0.0, <5.0.0", "pillow>=5.4.1", From 87dc883b74ec7406ba4ec5534d79303211f76398 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 20:09:48 -0400 Subject: [PATCH 09/21] fix #1403 --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index c66d398bb..e9efeb3e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,6 +50,7 @@ dependencies = [ [project.optional-dependencies] dev = [ "pytest==6.2.5", + "pytest-randomly==3.13.0" "pytest-cov==4.0.0", "pytest-mock==3.10.0", "pycln==2.1.3", From 673cbce64d0792c0e1e704b35d62e2f8f7a2a34a Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 20:11:14 -0400 Subject: [PATCH 10/21] Fix #1395 --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5db181cf7..2bd267941 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -70,8 +70,8 @@ Other commands you may find useful: while testing, and that's expected. A good way to debug a test to see what is actually going on is to add traces. It pauses the test to show you the current state of the program. - - Use `import pdb` and `pdb.set_trace()` to set the pause points in the test. You can - set as many as you like, and it can conveniently be done on one line: `import pdb; pdb.set_trace()`. + - Use `breakpoint()` to set the pause points in the test. You can + set as many as you like. - When the test pauses, type `cont` in terminal to continue the test. - If you at any time need to interact with the program during the pause, type `interact` in terminal. Exit interactive mode with `ctrl + D`. From 90b9839aa5c56c1f62794d1a1ba43530f2efa02e Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 20:14:40 -0400 Subject: [PATCH 11/21] , --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e9efeb3e0..9a5a4ddf7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,7 @@ dependencies = [ [project.optional-dependencies] dev = [ "pytest==6.2.5", - "pytest-randomly==3.13.0" + "pytest-randomly==3.13.0", "pytest-cov==4.0.0", "pytest-mock==3.10.0", "pycln==2.1.3", From 407e6350b9647dc2bd3fb71754d18c66abf19682 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 20:17:39 -0400 Subject: [PATCH 12/21] add some docs to help with #1318 --- CONTRIBUTING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2bd267941..69157f918 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,6 +80,9 @@ Other commands you may find useful: browser to view it. - `cd docs` followed by `python3 -m sphinx . build` creates HTML documentation. Open `docs/build/index.html` in your favorite browser to view it. +- `xvfb-run pytest` (on most Linux systems) will run the tests in a headless mode. +- `pytest --capture=fd` will prevent `print` statements and logs to print until + all tests are finished. ## Where to talk to us From a329ea9445fdf3c480e74acebecc45cbbdc9b3ea Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Mon, 7 Aug 2023 20:31:41 -0400 Subject: [PATCH 13/21] update dependencies didn't touch sphinx; everything else that could be updated was update --- pyproject.toml | 52 +++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 9a5a4ddf7..6a512d4dd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,10 +26,10 @@ license = {file = "LICENSE"} classifiers = ["License :: OSI Approved :: MIT License"] dynamic = [] # Do not attempt to import porcupine before dependencies are installed dependencies = [ - "platformdirs>=3.0.0,<4.0.0", - "Pygments==2.12.0", # pygments version fixed because haxx in highlight plugin - "toposort>=1.5", - "colorama>=0.2.5", + "platformdirs>=3.10.0,<4.0.0", + "pygments==2.16.1", # pygments version fixed because haxx in highlight plugin + "toposort>=1.10", + "colorama>=0.4.6", "sansio-lsp-client>=0.10.0,<0.11.0", "python-language-server[rope,pyflakes]>=0.36.2,<1.0.0", # black and isort minimum versions should be something old and kinda reasonable. @@ -38,39 +38,39 @@ dependencies = [ "isort>=5.10", # typing.Literal is new in python 3.8 "typing_extensions", - "dacite>=1.5.1,<2.0.0", + "dacite>=1.8.1,<2.0.0", "tomli==2.0.1", - "send2trash>=1.8.0,<2.0.0", - "psutil>=5.8.0,<6.0.0", - "PyYAML==6.0", + "send2trash>=1.8.2,<2.0.0", + "psutil>=5.9.5,<6.0.0", + "pyyaml==6.0.1", "tree-sitter-builds==2023.3.12", "sv-ttk>=2.5.5", ] [project.optional-dependencies] dev = [ - "pytest==6.2.5", + "pytest==7.4.0", "pytest-randomly==3.13.0", - "pytest-cov==4.0.0", - "pytest-mock==3.10.0", - "pycln==2.1.3", - "black==23.1.0", + "pytest-cov==4.1.0", + "pytest-mock==3.11.1", + "pycln==2.2.1", + "black==23.7.0", "ruff==0.0.282", - "pyupgrade==3.9.0", + "pyupgrade==3.10.1", "sphinx>=4.0.0, <5.0.0", - "pillow>=5.4.1", - "requests>=2.24.0, <3.0.0", + "pillow>=10.0.0", + "requests>=2.31.0, <3.0.0", "mypy==1.1.1", # exact versions to avoid "works on my computer" problems - "types-Pygments==2.14.0.6", - "types-docutils==0.19.1.6", - "types-Send2Trash==1.8.2.4", - "types-setuptools==67.6.0.5", - "types-colorama==0.4.15.8", - "types-toposort==1.10.0.0", - "types-psutil==5.9.5.10", - "types-PyYAML==6.0.12.8", - "types-tree-sitter==0.20.1.2", - "types-tree-sitter-languages==1.5.0.2", + "types-Pygments==2.16.0.0", + "types-docutils==0.20.0.1", + "types-Send2Trash==1.8.2.7", + "types-setuptools==68.0.0.3", + "types-colorama==0.4.15.12", + "types-toposort==1.10.0.1", + "types-psutil==5.9.5.16", + "types-PyYAML==6.0.12.11", + "types-tree-sitter==0.20.1.4", + "types-tree-sitter-languages==1.7.0.1", ] [project.scripts] From 19b84fa0efa0b4df9b677d001505b5c2b73db776 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Tue, 8 Aug 2023 19:36:01 -0400 Subject: [PATCH 14/21] clarify what headless means Co-authored-by: Akuli --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 69157f918..469da61b6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -81,6 +81,7 @@ Other commands you may find useful: - `cd docs` followed by `python3 -m sphinx . build` creates HTML documentation. Open `docs/build/index.html` in your favorite browser to view it. - `xvfb-run pytest` (on most Linux systems) will run the tests in a headless mode. + This means that you will not see a window as the tests are running. - `pytest --capture=fd` will prevent `print` statements and logs to print until all tests are finished. From a46bfd1176452fb953f8e63897498e1ad83c347b Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Tue, 8 Aug 2023 19:58:12 -0400 Subject: [PATCH 15/21] remove ruff --- .github/workflows/autofix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 8030590b7..b54760a6f 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -29,8 +29,8 @@ jobs: - run: python3 -m pycln --all --disable-all-dunder-policy $(cat filelist.txt) - run: python3 -m pyupgrade $(cat filelist.txt) --keep-runtime-typing --py38-plus --exit-zero-even-if-changed - run: python3 -m black $(cat filelist.txt) - - run: python3 -m ruff $(cat filelist.txt) + - run: python3 -m isort $(cat filelist.txt) - uses: stefanzweifel/git-auto-commit-action@v4 with: repository: ./pr - commit_message: "Run pycln, pyupgrade, black, and ruff" + commit_message: "Run pycln, pyupgrade, black, and isort" From 7790ccb4a9ef1a3aa3413d8563b2ab313954de6b Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Sat, 12 Aug 2023 12:43:11 -0400 Subject: [PATCH 16/21] pip-compile requirements-dev.txt --- requirements-dev.txt | 195 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 requirements-dev.txt diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 000000000..05f8bbb87 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,195 @@ +# +# This file is autogenerated by pip-compile with Python 3.11 +# by the following command: +# +# pip-compile --all-extras --output-file=requirements-dev.txt --resolver=backtracking +# +alabaster==0.7.13 + # via sphinx +babel==2.12.1 + # via sphinx +black==23.7.0 + # via porcupine (pyproject.toml) +certifi==2023.7.22 + # via requests +charset-normalizer==3.2.0 + # via requests +click==8.1.6 + # via + # black + # typer +colorama==0.4.6 + # via porcupine (pyproject.toml) +coverage[toml]==7.2.7 + # via pytest-cov +dacite==1.8.1 + # via porcupine (pyproject.toml) +docutils==0.17.1 + # via sphinx +idna==3.4 + # via requests +imagesize==1.4.1 + # via sphinx +iniconfig==2.0.0 + # via pytest +isort==5.12.0 + # via porcupine (pyproject.toml) +jedi==0.17.2 + # via python-language-server +jinja2==3.1.2 + # via sphinx +libcst==1.0.1 + # via pycln +markupsafe==2.1.3 + # via jinja2 +mypy==1.1.1 + # via porcupine (pyproject.toml) +mypy-extensions==1.0.0 + # via + # black + # mypy + # typing-inspect +packaging==23.1 + # via + # black + # pytest + # pytoolconfig + # sphinx +parso==0.7.1 + # via jedi +pathspec==0.11.2 + # via + # black + # pycln +pillow==10.0.0 + # via porcupine (pyproject.toml) +platformdirs==3.10.0 + # via + # black + # porcupine (pyproject.toml) + # pytoolconfig +pluggy==1.2.0 + # via + # pytest + # python-language-server +psutil==5.9.5 + # via porcupine (pyproject.toml) +pycln==2.2.1 + # via porcupine (pyproject.toml) +pydantic==1.10.12 + # via sansio-lsp-client +pyflakes==2.2.0 + # via python-language-server +pygments==2.16.1 + # via + # porcupine (pyproject.toml) + # sphinx +pytest==7.4.0 + # via + # porcupine (pyproject.toml) + # pytest-cov + # pytest-mock + # pytest-randomly +pytest-cov==4.1.0 + # via porcupine (pyproject.toml) +pytest-mock==3.11.1 + # via porcupine (pyproject.toml) +pytest-randomly==3.13.0 + # via porcupine (pyproject.toml) +python-jsonrpc-server==0.4.0 + # via python-language-server +python-language-server[pyflakes,rope]==0.36.2 + # via porcupine (pyproject.toml) +pytoolconfig[global]==1.2.5 + # via rope +pyupgrade==3.10.1 + # via porcupine (pyproject.toml) +pyyaml==6.0.1 + # via + # libcst + # porcupine (pyproject.toml) + # pycln +requests==2.31.0 + # via + # porcupine (pyproject.toml) + # sphinx +rope==1.9.0 + # via python-language-server +ruff==0.0.282 + # via porcupine (pyproject.toml) +sansio-lsp-client==0.10.0 + # via porcupine (pyproject.toml) +send2trash==1.8.2 + # via porcupine (pyproject.toml) +snowballstemmer==2.2.0 + # via sphinx +sphinx==4.5.0 + # via porcupine (pyproject.toml) +sphinxcontrib-applehelp==1.0.4 + # via sphinx +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.1 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +sv-ttk==2.5.5 + # via porcupine (pyproject.toml) +tokenize-rt==5.2.0 + # via pyupgrade +tomli==2.0.1 + # via porcupine (pyproject.toml) +tomlkit==0.12.1 + # via pycln +toposort==1.10 + # via porcupine (pyproject.toml) +tree-sitter-builds==2023.3.12 + # via porcupine (pyproject.toml) +typer==0.9.0 + # via pycln +types-colorama==0.4.15.12 + # via porcupine (pyproject.toml) +types-docutils==0.20.0.1 + # via + # porcupine (pyproject.toml) + # types-pygments +types-psutil==5.9.5.16 + # via porcupine (pyproject.toml) +types-pygments==2.16.0.0 + # via porcupine (pyproject.toml) +types-pyyaml==6.0.12.11 + # via porcupine (pyproject.toml) +types-send2trash==1.8.2.7 + # via porcupine (pyproject.toml) +types-setuptools==68.0.0.3 + # via + # porcupine (pyproject.toml) + # types-pygments +types-toposort==1.10.0.1 + # via porcupine (pyproject.toml) +types-tree-sitter==0.20.1.4 + # via + # porcupine (pyproject.toml) + # types-tree-sitter-languages +types-tree-sitter-languages==1.7.0.1 + # via porcupine (pyproject.toml) +typing-extensions==4.7.1 + # via + # libcst + # mypy + # porcupine (pyproject.toml) + # pydantic + # typer + # typing-inspect +typing-inspect==0.9.0 + # via libcst +ujson==5.8.0 + # via + # python-jsonrpc-server + # python-language-server +urllib3==2.0.4 + # via requests From 3fe094327fe19d97013187bcaf9e6a2e549f7718 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Sat, 12 Aug 2023 12:45:46 -0400 Subject: [PATCH 17/21] switch pygments version back --- pyproject.toml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6a512d4dd..4b7bafe79 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,14 +20,15 @@ build-backend = "flit_core.buildapi" name = "porcupine" version = "2023.06.27" description = "A decent editor written in tkinter" -authors = [{name = "Akuli", email = "akuviljanen17@gmail.com"}] +authors = [{ name = "Akuli", email = "akuviljanen17@gmail.com" }] readme = "README.md" -license = {file = "LICENSE"} +license = { file = "LICENSE" } classifiers = ["License :: OSI Approved :: MIT License"] -dynamic = [] # Do not attempt to import porcupine before dependencies are installed +dynamic = [ +] # Do not attempt to import porcupine before dependencies are installed dependencies = [ "platformdirs>=3.10.0,<4.0.0", - "pygments==2.16.1", # pygments version fixed because haxx in highlight plugin + "pygments==2.12.0", # pygments version fixed because haxx in highlight plugin "toposort>=1.10", "colorama>=0.4.6", "sansio-lsp-client>=0.10.0,<0.11.0", @@ -60,7 +61,7 @@ dev = [ "sphinx>=4.0.0, <5.0.0", "pillow>=10.0.0", "requests>=2.31.0, <3.0.0", - "mypy==1.1.1", # exact versions to avoid "works on my computer" problems + "mypy==1.1.1", # exact versions to avoid "works on my computer" problems "types-Pygments==2.16.0.0", "types-docutils==0.20.0.1", "types-Send2Trash==1.8.2.7", From eb5f5aed45b68a91aa9934e46ec7e0bf6d706eb9 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Sat, 12 Aug 2023 12:53:25 -0400 Subject: [PATCH 18/21] clean up pyproject.toml --- pyproject.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 4b7bafe79..a821fd245 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ dynamic = [ ] # Do not attempt to import porcupine before dependencies are installed dependencies = [ "platformdirs>=3.10.0,<4.0.0", - "pygments==2.12.0", # pygments version fixed because haxx in highlight plugin + "pygments==2.12.0", # pygments version fixed because haxx in highlight plugin "toposort>=1.10", "colorama>=0.4.6", "sansio-lsp-client>=0.10.0,<0.11.0", @@ -37,8 +37,7 @@ dependencies = [ # For developing Porcupine, newer versions can be set in 'dev' optional deps. "black>=21.5b2", "isort>=5.10", - # typing.Literal is new in python 3.8 - "typing_extensions", + "typing_extensions", # typing.Literal is new in python 3.8 "dacite>=1.8.1,<2.0.0", "tomli==2.0.1", "send2trash>=1.8.2,<2.0.0", @@ -61,7 +60,7 @@ dev = [ "sphinx>=4.0.0, <5.0.0", "pillow>=10.0.0", "requests>=2.31.0, <3.0.0", - "mypy==1.1.1", # exact versions to avoid "works on my computer" problems + "mypy==1.1.1", # exact versions to avoid "works on my computer" problems "types-Pygments==2.16.0.0", "types-docutils==0.20.0.1", "types-Send2Trash==1.8.2.7", From 8132859f1d0c207e3f22856ede61130390165890 Mon Sep 17 00:00:00 2001 From: Benjamin Kirkbride Date: Sat, 12 Aug 2023 12:55:09 -0400 Subject: [PATCH 19/21] clarify "--capture=fd" --- CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 469da61b6..3ecbf3ca6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -83,7 +83,9 @@ Other commands you may find useful: - `xvfb-run pytest` (on most Linux systems) will run the tests in a headless mode. This means that you will not see a window as the tests are running. - `pytest --capture=fd` will prevent `print` statements and logs to print until - all tests are finished. + all tests are finished. This will change from the default behavior of porcupine + where the output is printed as soon as it is generated while executing the tests. + Instead output will be printed after all tests are finished (for tests that failed). ## Where to talk to us From bb33002c3ae7a19b00e4941a5ae99c902be3ffa2 Mon Sep 17 00:00:00 2001 From: Akuli Date: Wed, 1 Nov 2023 22:01:26 +0000 Subject: [PATCH 20/21] Run pycln, pyupgrade, black and isort --- requirements-dev.txt | 200 +++---------------------------------------- 1 file changed, 14 insertions(+), 186 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 05f8bbb87..ae93bf19d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,195 +1,23 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --all-extras --output-file=requirements-dev.txt --resolver=backtracking -# -alabaster==0.7.13 - # via sphinx -babel==2.12.1 - # via sphinx -black==23.7.0 - # via porcupine (pyproject.toml) -certifi==2023.7.22 - # via requests -charset-normalizer==3.2.0 - # via requests -click==8.1.6 - # via - # black - # typer -colorama==0.4.6 - # via porcupine (pyproject.toml) -coverage[toml]==7.2.7 - # via pytest-cov -dacite==1.8.1 - # via porcupine (pyproject.toml) -docutils==0.17.1 - # via sphinx -idna==3.4 - # via requests -imagesize==1.4.1 - # via sphinx -iniconfig==2.0.0 - # via pytest -isort==5.12.0 - # via porcupine (pyproject.toml) -jedi==0.17.2 - # via python-language-server -jinja2==3.1.2 - # via sphinx -libcst==1.0.1 - # via pycln -markupsafe==2.1.3 - # via jinja2 -mypy==1.1.1 - # via porcupine (pyproject.toml) -mypy-extensions==1.0.0 - # via - # black - # mypy - # typing-inspect -packaging==23.1 - # via - # black - # pytest - # pytoolconfig - # sphinx -parso==0.7.1 - # via jedi -pathspec==0.11.2 - # via - # black - # pycln -pillow==10.0.0 - # via porcupine (pyproject.toml) -platformdirs==3.10.0 - # via - # black - # porcupine (pyproject.toml) - # pytoolconfig -pluggy==1.2.0 - # via - # pytest - # python-language-server -psutil==5.9.5 - # via porcupine (pyproject.toml) -pycln==2.2.1 - # via porcupine (pyproject.toml) -pydantic==1.10.12 - # via sansio-lsp-client -pyflakes==2.2.0 - # via python-language-server -pygments==2.16.1 - # via - # porcupine (pyproject.toml) - # sphinx +# Auto-generated in GitHub Actions. See autofix.yml. pytest==7.4.0 - # via - # porcupine (pyproject.toml) - # pytest-cov - # pytest-mock - # pytest-randomly +pytest-randomly==3.13.0 pytest-cov==4.1.0 - # via porcupine (pyproject.toml) pytest-mock==3.11.1 - # via porcupine (pyproject.toml) -pytest-randomly==3.13.0 - # via porcupine (pyproject.toml) -python-jsonrpc-server==0.4.0 - # via python-language-server -python-language-server[pyflakes,rope]==0.36.2 - # via porcupine (pyproject.toml) -pytoolconfig[global]==1.2.5 - # via rope -pyupgrade==3.10.1 - # via porcupine (pyproject.toml) -pyyaml==6.0.1 - # via - # libcst - # porcupine (pyproject.toml) - # pycln -requests==2.31.0 - # via - # porcupine (pyproject.toml) - # sphinx -rope==1.9.0 - # via python-language-server +pycln==2.2.1 +black==23.7.0 ruff==0.0.282 - # via porcupine (pyproject.toml) -sansio-lsp-client==0.10.0 - # via porcupine (pyproject.toml) -send2trash==1.8.2 - # via porcupine (pyproject.toml) -snowballstemmer==2.2.0 - # via sphinx -sphinx==4.5.0 - # via porcupine (pyproject.toml) -sphinxcontrib-applehelp==1.0.4 - # via sphinx -sphinxcontrib-devhelp==1.0.2 - # via sphinx -sphinxcontrib-htmlhelp==2.0.1 - # via sphinx -sphinxcontrib-jsmath==1.0.1 - # via sphinx -sphinxcontrib-qthelp==1.0.3 - # via sphinx -sphinxcontrib-serializinghtml==1.1.5 - # via sphinx -sv-ttk==2.5.5 - # via porcupine (pyproject.toml) -tokenize-rt==5.2.0 - # via pyupgrade -tomli==2.0.1 - # via porcupine (pyproject.toml) -tomlkit==0.12.1 - # via pycln -toposort==1.10 - # via porcupine (pyproject.toml) -tree-sitter-builds==2023.3.12 - # via porcupine (pyproject.toml) -typer==0.9.0 - # via pycln -types-colorama==0.4.15.12 - # via porcupine (pyproject.toml) +pyupgrade==3.10.1 +sphinx>=4.0.0, <5.0.0 +pillow>=10.0.0 +requests>=2.31.0, <3.0.0 +mypy==1.1.1 +types-Pygments==2.16.0.0 types-docutils==0.20.0.1 - # via - # porcupine (pyproject.toml) - # types-pygments -types-psutil==5.9.5.16 - # via porcupine (pyproject.toml) -types-pygments==2.16.0.0 - # via porcupine (pyproject.toml) -types-pyyaml==6.0.12.11 - # via porcupine (pyproject.toml) -types-send2trash==1.8.2.7 - # via porcupine (pyproject.toml) +types-Send2Trash==1.8.2.7 types-setuptools==68.0.0.3 - # via - # porcupine (pyproject.toml) - # types-pygments +types-colorama==0.4.15.12 types-toposort==1.10.0.1 - # via porcupine (pyproject.toml) +types-psutil==5.9.5.16 +types-PyYAML==6.0.12.11 types-tree-sitter==0.20.1.4 - # via - # porcupine (pyproject.toml) - # types-tree-sitter-languages types-tree-sitter-languages==1.7.0.1 - # via porcupine (pyproject.toml) -typing-extensions==4.7.1 - # via - # libcst - # mypy - # porcupine (pyproject.toml) - # pydantic - # typer - # typing-inspect -typing-inspect==0.9.0 - # via libcst -ujson==5.8.0 - # via - # python-jsonrpc-server - # python-language-server -urllib3==2.0.4 - # via requests From aaa46971303a7a6056dea3452888357bf07ff0f3 Mon Sep 17 00:00:00 2001 From: Akuli Date: Wed, 1 Nov 2023 22:09:01 +0000 Subject: [PATCH 21/21] Run pycln, pyupgrade, black and isort --- requirements-dev.txt | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 452134f22..ae93bf19d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,4 @@ # Auto-generated in GitHub Actions. See autofix.yml. -<<<<<<< HEAD pytest==7.4.0 pytest-randomly==3.13.0 pytest-cov==4.1.0 @@ -11,18 +10,6 @@ pyupgrade==3.10.1 sphinx>=4.0.0, <5.0.0 pillow>=10.0.0 requests>=2.31.0, <3.0.0 -======= -pytest==6.2.5 -pytest-cov==4.0.0 -pytest-mock==3.10.0 -pycln==2.1.3 -black==23.1.0 -isort==5.12.0 -pyupgrade==3.9.0 -sphinx>=4.0.0, <5.0.0 -pillow>=5.4.1 -requests>=2.24.0, <3.0.0 ->>>>>>> origin/main mypy==1.1.1 types-Pygments==2.16.0.0 types-docutils==0.20.0.1