mitmproxy/pyproject.toml

235 lines
5.7 KiB
TOML
Raw Normal View History

[project]
name = "mitmproxy"
description = "An interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets."
readme = "README.md"
requires-python = ">=3.10"
license = {file="LICENSE"}
authors = [{name = "Aldo Cortesi", email = "aldo@corte.si"}]
maintainers = [{name = "Maximilian Hils", email = "mitmproxy@maximilianhils.com"}]
dynamic = ["version"]
classifiers = [
"License :: OSI Approved :: MIT License",
"Development Status :: 5 - Production/Stable",
"Environment :: Console :: Curses",
"Operating System :: MacOS",
"Operating System :: POSIX",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Security",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: Proxy Servers",
"Topic :: System :: Networking :: Monitoring",
"Topic :: Software Development :: Testing",
"Typing :: Typed",
]
# https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#install-requires
# It is not considered best practice to use install_requires to pin dependencies to specific versions.
dependencies = [
2024-01-01 13:03:06 +00:00
"aioquic>=0.9.24,<0.10",
"asgiref>=3.2.10,<3.8",
"Brotli>=1.0,<1.2",
"certifi>=2019.9.11", # no semver here - this should always be on the last release!
"cryptography>=39.0,<41.1",
"flask>=1.1.1,<3.1",
"h11>=0.11,<0.15",
"h2>=4.1,<5",
"hyperframe>=6.0,<7",
"kaitaistruct>=0.10,<0.11",
"ldap3>=2.8,<2.10",
"mitmproxy_rs>=0.4,<0.5",
"msgpack>=1.0.0, <1.1.0",
"passlib>=1.6.5, <1.8",
"protobuf>=3.14,<5",
"pydivert>=2.0.3,<2.2; sys_platform == 'win32'",
"pyOpenSSL>=22.1,<23.4",
"pyparsing>=2.4.2,<3.2",
"pyperclip>=1.6.0,<1.9",
"ruamel.yaml>=0.16,<0.19",
"sortedcontainers>=2.3,<2.5",
"tornado>=6.2,<7",
"typing-extensions>=4.3,<5; python_version<'3.11'",
"urwid-mitmproxy>=2.1.1,<2.2",
"wsproto>=1.0,<1.3",
"publicsuffix2>=2.20190812,<3",
"zstandard>=0.11,<0.23",
]
[project.optional-dependencies]
dev = [
"click>=7.0,<8.2",
"hypothesis>=5.8,<7",
"pdoc>=4.0.0",
Bump pyinstaller from 6.2.0 to 6.3.0 (#6576) Bumps [pyinstaller](https://github.com/pyinstaller/pyinstaller) from 6.2.0 to 6.3.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pyinstaller/pyinstaller/releases">pyinstaller's releases</a>.</em></p> <blockquote> <h2>v6.3.0</h2> <p>Please see the <a href="https://pyinstaller.org/en/v6.3.0/CHANGES.html#id1">v6.3.0 section of the changelog</a> for a list of the changes since v6.2.0.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst">pyinstaller's changelog</a>.</em></p> <blockquote> <h2>6.3.0 (2023-12-10)</h2> <p>Bugfix</p> <pre><code> * (Linux) Optimize the automatic binary-vs-data classification by avoiding ``objdump`` based check on files that do not have ELF signature. This mitigates noticeably longer analysis times for projects with large number of (data) files. (:issue:`8148`) * (Windows) Add Windows error code 110 (``ERROR_OPEN_FAILED``) to the list of error codes eligible for the retry mechanism that attempts to mitigate build failures due to anti-virus program interference. (:issue:`8138`) * (Windows) Fix issue with non-functional :func:`time.sleep()` when building program with Python &lt;= 3.8.6 or Python 3.9.0. (:issue:`8104`) * (Windows) Fix issue with splash screen in ``onefile`` mode failing to extract ``VCRUNTIME140.dll`` from the archive due to character-case mismatch. We now perform case-insensitive comparison between the name listed in splash dependency list and the names in archive TOC. (:issue:`8103`) * Fix PEP 597 EncodingWarnings when :envvar:`PYTHONWARNDEFAULTENCODING` is set to true. (:issue:`8117`) * Fix pre-safe-import hooks for ``six.moves``, ``urllib3.packages.six.moves``, and ``setuptools.extern.six.moves`` to gracefully handle cases when the corresponding ``six`` package is unavailable, as the hook may end up being executed even in that case. (:issue:`8145`) * Fix symbolic link tracking in ``MERGE`` processing, so that distinct symbolic links with same relative target (e.g. ``Current -&gt; A`` symbolic links in Qt .framework bundles collected on macOS) are properly processed, and kept in the original TOC upon their first occurrence. (:issue:`8124`) <p>Hooks</p> <pre><code> * Add hook for ``gi.repository.DBus``. (:issue:`8149`) * Add hooks for ``gi.repository.AppIndicator3`` and ``gi.repository.AyatanaAppIndicator3``. (:issue:`8149`) Bootloader &lt;/code&gt;&lt;/pre&gt; &lt;ul&gt; &lt;li&gt;When setting up embedded Python interpreter configuration, set &lt;code&gt;PyConfig.install_signal_handlers=1&lt;/code&gt; to install signal handlers. This matches the behavior of PyInstaller 5.x bootloaders, where interpreter was initialized via &lt;code&gt;Py_Initialize()&lt;/code&gt;, which in turn calls &lt;code&gt;Py_InitializeEx(1)&lt;/code&gt;, i.e., with &lt;code&gt;install_sigs=1&lt;/code&gt;. (:issue:&lt;code&gt;8105&lt;/code&gt;)&lt;/li&gt; &lt;/ul&gt; &lt;/blockquote&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;Commits&lt;/summary&gt; &lt;ul&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/f563dce1e83fd5ec72a20dffd2ac24be3e647150&quot;&gt;&lt;code&gt;f563dce&lt;/code&gt;&lt;/a&gt; Release v6.3.0. [skip ci]&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/79aa828e130ef334ab228f6fa43a28ade41596ca&quot;&gt;&lt;code&gt;79aa828&lt;/code&gt;&lt;/a&gt; hooks: gi: add hook for gi.repository.DBus&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/3f42b9574fe290fa3e2853a07d6c6c02f2dd5875&quot;&gt;&lt;code&gt;3f42b95&lt;/code&gt;&lt;/a&gt; hooks: gi: add hooks for AppIndicator3 and AyatanaAppIndicator3&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/b262373f689df7bc75cd7bc35bb64f8b42932062&quot;&gt;&lt;code&gt;b262373&lt;/code&gt;&lt;/a&gt; Tests: Requirements: Scheduled weekly dependency update for week 50 (&lt;a href=&quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/8157&quot;&gt;#8157&lt;/a&gt;)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/0f51fca360e052a027c263400d028efc724024ce&quot;&gt;&lt;code&gt;0f51fca&lt;/code&gt;&lt;/a&gt; bindepend: optimize binary-vs-data classification on linux&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/14af1e7143dcc456c363fdfee816560f4b9b553c&quot;&gt;&lt;code&gt;14af1e7&lt;/code&gt;&lt;/a&gt; building: add an INFO message at start of binary-vs-data reclassification&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/8c4d099e5f647ffb393adea6da227d1f123adf01&quot;&gt;&lt;code&gt;8c4d099&lt;/code&gt;&lt;/a&gt; pre-safe-import-hooks: create six.move runtime package only if six is available&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/ac91826b1f9fa5ed12763d37eca009ff6ed275ab&quot;&gt;&lt;code&gt;ac91826&lt;/code&gt;&lt;/a&gt; pre-safe-import-hooks: gracefully handle cases when six is unavailable&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/bb1b306ccaf2274100e8b1eec321b1c7f3352322&quot;&gt;&lt;code&gt;bb1b306&lt;/code&gt;&lt;/a&gt; Tests: Requirements: Scheduled weekly dependency update for week 49 (&lt;a href=&quot;https://redirect.github.com/pyinstaller/pyinstaller/issues/8142&quot;&gt;#8142&lt;/a&gt;)&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/commit/ac7f6835c28b01af32c5f0924767556e9c1a16a0&quot;&gt;&lt;code&gt;ac7f683&lt;/code&gt;&lt;/a&gt; building: retry mechanism: enable retry on winerror 110&lt;/li&gt; &lt;li&gt;Additional commits viewable in &lt;a href=&quot;https://github.com/pyinstaller/pyinstaller/compare/v6.2.0...v6.3.0&quot;&gt;compare view&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/details&gt; &lt;br /&gt; </code></pre> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyinstaller&package-manager=pip&previous-version=6.2.0&new-version=6.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 05:38:17 +00:00
"pyinstaller==6.3.0",
Update pytest-asyncio requirement from <0.22,>=0.17 to >=0.17,<0.24 (#6574) Updates the requirements on [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 0.23.3</h2> <h1>0.23.3 (2024-01-01)</h1> <ul> <li>Fixes a bug that caused event loops to be closed prematurely when using async generator fixtures with class scope or wider in a function-scoped test <a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/706">#706</a></li> <li>Fixes various bugs that caused an internal pytest error during test collection <a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/711">#711</a> <a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/713">#713</a> <a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/719">#719</a></li> </ul> <h2>Known issues</h2> <p>As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see <a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/706">#706</a>). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/260b79185b198bad96a8fb2abc607a91ad8a5490"><code>260b791</code></a> [docs] Prepare release of v0.23.3.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/6a253e20fb174b6750075a6cfdd9409e4c6221f5"><code>6a253e2</code></a> [docs] Shorten changelog by combining multiple issues.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/e2cbb906c5124df131abe39c447c5486aae913be"><code>e2cbb90</code></a> [docs] Mention correct issue in changelog.</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/0c522bff1525e77ff75691ee7530c71fe63e2775"><code>0c522bf</code></a> [fix] Fixes a bug that caused an internal pytest error when using ImportWarni...</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/31c7e6f9acda156a7aabf23d18e88c23f5f897a4"><code>31c7e6f</code></a> Build(deps): Bump coverage from 7.3.3 to 7.3.4 in /dependencies/default</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/38d5c7eed0d5193752043631aabde287d0627127"><code>38d5c7e</code></a> Build(deps): Bump sphinx-rtd-theme in /dependencies/docs</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/650ec5875dcefc4eb4c1b2b0ba792aa643cd0823"><code>650ec58</code></a> Build(deps): Bump babel from 2.13.1 to 2.14.0 in /dependencies/docs</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/0166a7e55fd5ac31afdaffd7dd54e77003f6cc30"><code>0166a7e</code></a> Build(deps): Bump typing-extensions in /dependencies/default</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/3a15f3039c2b0101b73af651e8b9c667b1a51434"><code>3a15f30</code></a> Build(deps): Bump coverage from 7.3.2 to 7.3.3 in /dependencies/default</li> <li><a href="https://github.com/pytest-dev/pytest-asyncio/commit/28e91f00cd59d8aca364e6041f898cde8239b4e6"><code>28e91f0</code></a> Build(deps): Bump hypothesis in /dependencies/default</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.17.0...v0.23.3">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-02 05:44:17 +00:00
"pytest-asyncio>=0.17,<0.24",
"pytest-cov>=2.7.1,<4.2",
"pytest-timeout>=1.3.3,<2.3",
Update pytest-xdist requirement from <3.4,>=2.1.0 to >=2.1.0,<3.6 (#6517) Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 3.5.0 (2023-11-21)</h1> <h2>Features</h2> <ul> <li><code>[#632](https://github.com/pytest-dev/pytest-xdist/issues/632) &lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</code>_: <code>--dist=loadscope</code> now sorts scopes by number of tests to assign largest scopes early -- in many cases this should improve overall test session running time, as there is less chance of a large scope being left to be processed near the end of the session, leaving other workers idle.</li> </ul> <h1>pytest-xdist 3.4.0 (2023-11-11)</h1> <h2>Features</h2> <ul> <li> <p><code>[#963](https://github.com/pytest-dev/pytest-xdist/issues/963) &lt;https://github.com/pytest-dev/pytest-xdist/issues/963&gt;</code>_: Wait for workers to finish reporting when test run stops early.</p> <p>This makes sure that the results of in-progress tests are displayed. Previously these reports were being discarded, losing information about the test run.</p> </li> <li> <p><code>[#965](https://github.com/pytest-dev/pytest-xdist/issues/965) &lt;https://github.com/pytest-dev/pytest-xdist/issues/965&gt;</code>_: Added support for Python 3.12.</p> </li> </ul> <h1>pytest-xdist 3.3.1 (2023-05-19)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#907](https://github.com/pytest-dev/pytest-xdist/issues/907) &lt;https://github.com/pytest-dev/pytest-xdist/issues/907&gt;</code>_: Avoid remote calls during startup as <code>execnet</code> by default does not ensure remote affinity with the main thread and might accidentally schedule the pytest worker into a non-main thread, which breaks numerous frameworks, for example <code>asyncio</code>, <code>anyio</code>, <code>PyQt/PySide</code>, etc.</p> <p>A more safe correction will require thread affinity in <code>execnet</code> (<code>pytest-dev/execnet#96 &lt;https://github.com/pytest-dev/execnet/issues/96&gt;</code>__).</p> </li> </ul> <h1>pytest-xdist 3.3.0 (2023-05-12)</h1> <h2>Features</h2> <ul> <li><code>[#555](https://github.com/pytest-dev/pytest-xdist/issues/555) &lt;https://github.com/pytest-dev/pytest-xdist/issues/555&gt;</code>_: Improved progress output when collecting nodes to be less verbose.</li> </ul> <h1>pytest-xdist 3.2.1 (2023-03-12)</h1> <p>Bug Fixes</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/95b309e980796a261045d770f69c016ca741473d"><code>95b309e</code></a> Release 3.5.0</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/3fe877bc6d7211f31e55d2d561803f76ea95b935"><code>3fe877b</code></a> LoadScope scheduler: Sort scopes by number of tests to assign biggest scopes ...</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/f36ea25cb53cb960037f4a8510816b81fa313035"><code>f36ea25</code></a> Create GitHub release after deploy (<a href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/973">#973</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/d81f57508d064915fc16ace5dea4d43406db2ba0"><code>d81f575</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/969">#969</a> from pytest-dev/pre-commit-ci-update-config</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/1d2616418c046d0e6f059b8f76e35a0627409616"><code>1d26164</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/5f43575b42d6d4c0078de807880b8b0791b75823"><code>5f43575</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/966">#966</a> from pytest-dev/release-3.4.0</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/a6b56112f9b686aed7a354e0d50ecc26ad2d9dfe"><code>a6b5611</code></a> Update CHANGELOG</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/64f9388f4164e9f64d98a7580933e958ea4a09d5"><code>64f9388</code></a> Add support for Python 3.12</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/230ba6ad1057574c9f3d42a97f890788cd9ec6c3"><code>230ba6a</code></a> Properly wait for workers when test run terminates early (<a href="https://redirect.github.com/pytest-dev/pytest-xdist/issues/963">#963</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/93ca202b400eecc62919bcd9b0bab001e3f3f7ef"><code>93ca202</code></a> fix typo index -&gt; instead</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v2.1.0...v3.5.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-02 00:02:36 +00:00
"pytest-xdist>=2.1.0,<3.6",
"pytest>=6.1.0,<8",
"requests>=2.9.1,<3",
"tox>=3.5,<5",
Update wheel requirement from <0.42,>=0.36.2 to >=0.36.2,<0.43 (#6518) Updates the requirements on [wheel](https://github.com/pypa/wheel) to permit the latest version. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pypa/wheel/releases">wheel's releases</a>.</em></p> <blockquote> <h2>0.42.0</h2> <ul> <li>Allowed removing build tag with <code>wheel tags --build &quot;&quot;</code></li> <li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing updated <code>WHEEL</code> fields after a blank line, causing other tools to ignore them</li> <li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing <code>WHEEL</code> with CRLF line endings or a mix of CRLF and LF</li> <li>Fixed <code>wheel pack --build-number &quot;&quot;</code> not removing build tag from <code>WHEEL</code> (above changes by Benjamin Gilbert)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pypa/wheel/blob/main/docs/news.rst">wheel's changelog</a>.</em></p> <blockquote> <h1>Release Notes</h1> <p><strong>0.42.0 (2023-11-26)</strong></p> <ul> <li>Allowed removing build tag with <code>wheel tags --build &quot;&quot;</code></li> <li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing updated <code>WHEEL</code> fields after a blank line, causing other tools to ignore them</li> <li>Fixed <code>wheel pack</code> and <code>wheel tags</code> writing <code>WHEEL</code> with CRLF line endings or a mix of CRLF and LF</li> <li>Fixed <code>wheel pack --build-number &quot;&quot;</code> not removing build tag from <code>WHEEL</code> (above changes by Benjamin Gilbert)</li> </ul> <p><strong>0.41.3 (2023-10-30)</strong></p> <ul> <li>Updated vendored <code>packaging</code> to 23.2</li> <li>Fixed ABI tag generation for CPython 3.13a1 on Windows (PR by Sam Gross)</li> </ul> <p><strong>0.41.2 (2023-08-22)</strong></p> <ul> <li>Fixed platform tag detection for GraalPy and 32-bit python running on an aarch64 kernel (PR by Matthieu Darbois)</li> <li>Fixed <code>wheel tags</code> to not list directories in <code>RECORD</code> files (PR by Mike Taves)</li> <li>Fixed ABI tag generation for GraalPy (PR by Michael Simacek)</li> </ul> <p><strong>0.41.1 (2023-08-05)</strong></p> <ul> <li>Fixed naming of the <code>data_dir</code> directory in the presence of local version segment given via <code>egg_info.tag_build</code> (PR by Anderson Bravalheri)</li> <li>Fixed version specifiers in <code>Requires-Dist</code> being wrapped in parentheses</li> </ul> <p><strong>0.41.0 (2023-07-22)</strong></p> <ul> <li>Added full support of the build tag syntax to <code>wheel tags</code> (you can now set a build tag like <code>123mytag</code>)</li> <li>Fixed warning on Python 3.12 about <code>onerror</code> deprecation. (PR by Henry Schreiner)</li> <li>Support testing on Python 3.12 betas (PR by Ewout ter Hoeven)</li> </ul> <p><strong>0.40.0 (2023-03-14)</strong></p> <ul> <li>Added a <code>wheel tags</code> command to modify tags on an existing wheel (PR by Henry Schreiner)</li> <li>Updated vendored <code>packaging</code> to 23.0</li> <li><code>wheel unpack</code> now preserves the executable attribute of extracted files</li> <li>Fixed spaces in platform names not being converted to underscores (PR by David Tucker)</li> <li>Fixed <code>RECORD</code> files in generated wheels missing the regular file attribute</li> <li>Fixed <code>DeprecationWarning</code> about the use of the deprecated <code>pkg_resources</code> API (PR by Thomas Grainger)</li> <li>Wheel now uses flit-core as a build backend (PR by Henry Schreiner)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pypa/wheel/commit/63a09bb3d92630c1d35f4fcc6f79250256aeeb5c"><code>63a09bb</code></a> Created a new release</li> <li><a href="https://github.com/pypa/wheel/commit/f4b8e488dfe3da3ced0bc36aa7dcf21631e7489d"><code>f4b8e48</code></a> Several fixes to <code>WHEEL</code> metadata handling (<a href="https://redirect.github.com/pypa/wheel/issues/588">#588</a>)</li> <li><a href="https://github.com/pypa/wheel/commit/11e573283181493f7aec55146ab2862bccd4dc4d"><code>11e5732</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pypa/wheel/issues/586">#586</a>)</li> <li><a href="https://github.com/pypa/wheel/commit/fe6bb8268d5f9e98ceec83c67d03b06c1c8862db"><code>fe6bb82</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pypa/wheel/issues/584">#584</a>)</li> <li><a href="https://github.com/pypa/wheel/commit/b90a4bc408ce621818b3e92bb55955431a7fa22a"><code>b90a4bc</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pypa/wheel/issues/581">#581</a>)</li> <li><a href="https://github.com/pypa/wheel/commit/56de2ebd4bffa706a60ee0f7785a33c62be737f3"><code>56de2eb</code></a> Added a link to the GitHub repository to pyproject.toml (<a href="https://redirect.github.com/pypa/wheel/issues/563">#563</a>)</li> <li><a href="https://github.com/pypa/wheel/commit/a899f1c69ffddf564b904a5de974457c213dc36a"><code>a899f1c</code></a> Fixed parameter for release-notes</li> <li><a href="https://github.com/pypa/wheel/commit/254ba4658aa0bf1c5be536ccc02ed44e051468fd"><code>254ba46</code></a> Created a new release</li> <li><a href="https://github.com/pypa/wheel/commit/6f33736b6f252506df8e574deced5d5667d05bf6"><code>6f33736</code></a> Updated actions and added GitHub release automation</li> <li><a href="https://github.com/pypa/wheel/commit/83b77e591e6f593470f8daddf3bcfd6ca64e81bc"><code>83b77e5</code></a> Replaced <code>black</code> with <code>ruff-format</code></li> <li>Additional commits viewable in <a href="https://github.com/pypa/wheel/compare/0.36.2...0.42.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-02 00:02:54 +00:00
"wheel>=0.36.2,<0.43",
"build>=0.10.0",
]
[project.urls]
Homepage = "https://mitmproxy.org"
Source = "https://github.com/mitmproxy/mitmproxy/"
Documentation = "https://docs.mitmproxy.org/stable/"
Issues = "https://github.com/mitmproxy/mitmproxy/issues"
[project.scripts]
mitmproxy = "mitmproxy.tools.main:mitmproxy"
mitmdump = "mitmproxy.tools.main:mitmdump"
mitmweb = "mitmproxy.tools.main:mitmweb"
[project.entry-points.pyinstaller40]
hook-dirs = "mitmproxy.utils.pyinstaller:hook_dirs"
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[tool.setuptools.dynamic]
version = {attr = "mitmproxy.version.VERSION"}
[tool.setuptools.packages.find]
include = ["mitmproxy*"]
[tool.coverage.run]
branch = false
omit = [
"*contrib*",
"*tnetstring*",
"*platform*",
"*main.py",
]
[tool.coverage.report]
show_missing = true
exclude_lines = [
"pragma: no cover",
"raise NotImplementedError",
"raise AssertionError",
"if typing.TYPE_CHECKING:",
"if TYPE_CHECKING:",
"@overload",
"@abstractmethod",
"assert_never",
"\\.\\.\\.",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = "test"
addopts = "--capture=no --color=yes"
filterwarnings = [
"ignore::DeprecationWarning:tornado.*:",
"error::RuntimeWarning",
"error::pytest.PytestUnraisableExceptionWarning",
]
[tool.mypy]
check_untyped_defs = true
ignore_missing_imports = true
files = [
"mitmproxy",
"examples/addons",
"release/*.py",
]
exclude = [
"^docs/",
"^release/build/",
"^examples/contrib/",
]
[[tool.mypy.overrides]]
module = "mitmproxy.contrib.*"
ignore_errors = true
[[tool.mypy.overrides]]
module = "tornado.*"
ignore_errors = true
[[tool.mypy.overrides]]
module = "test.*"
ignore_errors = true
2023-10-31 15:03:53 +00:00
[tool.ruff]
select = ["E", "F", "I"]
extend-exclude = ["mitmproxy/contrib/"]
ignore = ["F541", "E501"]
[tool.ruff.isort]
# these rules are a bit weird, but they mimic our existing reorder_python_imports style.
# if we break compatibility here, consider removing all customization + enforce absolute imports.
force-single-line = true
order-by-type = false
section-order = ["future", "standard-library", "third-party", "local-folder","first-party"]
no-lines-before = ["first-party"]
known-first-party = ["test", "mitmproxy"]
[tool.tox]
legacy_tox_ini = """
[tox]
2023-10-31 15:03:53 +00:00
envlist = py, lint, mypy
skipsdist = True
toxworkdir={env:TOX_WORK_DIR:.tox}
[testenv]
deps =
-e .[dev]
setenv = HOME = {envtmpdir}
commands =
mitmdump --version
pytest --timeout 60 -vv --cov-report xml \
--continue-on-collection-errors \
--cov=mitmproxy --cov=release \
--full-cov=mitmproxy/ \
{posargs}
2023-10-31 15:03:53 +00:00
[testenv:lint]
deps =
2023-10-31 15:03:53 +00:00
ruff>=0.1.3,<0.2
commands =
2023-10-31 15:03:53 +00:00
ruff .
[testenv:filename_matching]
deps =
commands =
python ./test/filename_matching.py
[testenv:mypy]
deps =
mypy==1.6.1
types-certifi==2021.10.8.3
types-Flask==1.1.6
types-Werkzeug==1.0.9
types-requests==2.31.0.10
types-cryptography==3.3.23.2
types-pyOpenSSL==23.3.0.0
-e .[dev]
commands =
mypy {posargs}
[testenv:individual_coverage]
commands =
python ./test/individual_coverage.py {posargs}
[testenv:wheeltest]
recreate = True
deps =
commands =
pip install {posargs}
mitmproxy --version
mitmdump --version
mitmweb --version
"""