2023-03-26 17:40:32 +00:00
|
|
|
[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",
|
2023-10-31 17:57:21 +00:00
|
|
|
"Programming Language :: Python :: 3.12",
|
2023-03-26 17:40:32 +00:00
|
|
|
"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",
|
2023-06-02 10:07:01 +00:00
|
|
|
"asgiref>=3.2.10,<3.8",
|
2023-10-01 22:34:40 +00:00
|
|
|
"Brotli>=1.0,<1.2",
|
2023-03-26 17:40:32 +00:00
|
|
|
"certifi>=2019.9.11", # no semver here - this should always be on the last release!
|
2023-12-17 06:34:53 +00:00
|
|
|
"cryptography>=39.0,<41.1",
|
2023-10-01 22:26:28 +00:00
|
|
|
"flask>=1.1.1,<3.1",
|
2023-03-26 17:40:32 +00:00
|
|
|
"h11>=0.11,<0.15",
|
|
|
|
"h2>=4.1,<5",
|
|
|
|
"hyperframe>=6.0,<7",
|
|
|
|
"kaitaistruct>=0.10,<0.11",
|
|
|
|
"ldap3>=2.8,<2.10",
|
2024-01-04 09:53:13 +00:00
|
|
|
"mitmproxy_rs>=0.5.1,<0.6",
|
2023-03-26 17:40:32 +00:00
|
|
|
"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'",
|
2023-11-02 09:52:28 +00:00
|
|
|
"pyOpenSSL>=22.1,<23.4",
|
2023-07-01 22:27:07 +00:00
|
|
|
"pyparsing>=2.4.2,<3.2",
|
2023-03-26 17:40:32 +00:00
|
|
|
"pyperclip>=1.6.0,<1.9",
|
2023-11-02 09:52:35 +00:00
|
|
|
"ruamel.yaml>=0.16,<0.19",
|
2023-03-26 17:40:32 +00:00
|
|
|
"sortedcontainers>=2.3,<2.5",
|
|
|
|
"tornado>=6.2,<7",
|
2023-08-09 08:34:26 +00:00
|
|
|
"typing-extensions>=4.3,<5; python_version<'3.11'",
|
2023-03-26 17:40:32 +00:00
|
|
|
"urwid-mitmproxy>=2.1.1,<2.2",
|
|
|
|
"wsproto>=1.0,<1.3",
|
|
|
|
"publicsuffix2>=2.20190812,<3",
|
2023-11-02 09:52:45 +00:00
|
|
|
"zstandard>=0.11,<0.23",
|
2023-03-26 17:40:32 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[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 <= 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 -> 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
</code></pre>
<ul>
<li>When setting up embedded Python interpreter configuration, set
<code>PyConfig.install_signal_handlers=1</code> to install
signal handlers.
This matches the behavior of PyInstaller 5.x bootloaders, where
interpreter
was initialized via <code>Py_Initialize()</code>, which in
turn calls
<code>Py_InitializeEx(1)</code>, i.e., with
<code>install_sigs=1</code>.
(:issue:<code>8105</code>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/f563dce1e83fd5ec72a20dffd2ac24be3e647150"><code>f563dce</code></a>
Release v6.3.0. [skip ci]</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/79aa828e130ef334ab228f6fa43a28ade41596ca"><code>79aa828</code></a>
hooks: gi: add hook for gi.repository.DBus</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/3f42b9574fe290fa3e2853a07d6c6c02f2dd5875"><code>3f42b95</code></a>
hooks: gi: add hooks for AppIndicator3 and
AyatanaAppIndicator3</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/b262373f689df7bc75cd7bc35bb64f8b42932062"><code>b262373</code></a>
Tests: Requirements: Scheduled weekly dependency update for week 50
(<a
href="https://redirect.github.com/pyinstaller/pyinstaller/issues/8157">#8157</a>)</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/0f51fca360e052a027c263400d028efc724024ce"><code>0f51fca</code></a>
bindepend: optimize binary-vs-data classification on linux</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/14af1e7143dcc456c363fdfee816560f4b9b553c"><code>14af1e7</code></a>
building: add an INFO message at start of binary-vs-data
reclassification</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/8c4d099e5f647ffb393adea6da227d1f123adf01"><code>8c4d099</code></a>
pre-safe-import-hooks: create six.move runtime package only if six is
available</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/ac91826b1f9fa5ed12763d37eca009ff6ed275ab"><code>ac91826</code></a>
pre-safe-import-hooks: gracefully handle cases when six is
unavailable</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/bb1b306ccaf2274100e8b1eec321b1c7f3352322"><code>bb1b306</code></a>
Tests: Requirements: Scheduled weekly dependency update for week 49
(<a
href="https://redirect.github.com/pyinstaller/pyinstaller/issues/8142">#8142</a>)</li>
<li><a
href="https://github.com/pyinstaller/pyinstaller/commit/ac7f6835c28b01af32c5f0924767556e9c1a16a0"><code>ac7f683</code></a>
building: retry mechanism: enable retry on winerror 110</li>
<li>Additional commits viewable in <a
href="https://github.com/pyinstaller/pyinstaller/compare/v6.2.0...v6.3.0">compare
view</a></li>
</ul>
</details>
<br />
</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",
|
2024-01-04 09:53:13 +00:00
|
|
|
"pytest-asyncio>=0.23,<0.24",
|
2023-06-02 10:06:45 +00:00
|
|
|
"pytest-cov>=2.7.1,<4.2",
|
2023-11-02 09:52:23 +00:00
|
|
|
"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)
<https://github.com/pytest-dev/pytest-xdist/issues/632></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)
<https://github.com/pytest-dev/pytest-xdist/issues/963></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)
<https://github.com/pytest-dev/pytest-xdist/issues/965></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)
<https://github.com/pytest-dev/pytest-xdist/issues/907></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
<https://github.com/pytest-dev/execnet/issues/96></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)
<https://github.com/pytest-dev/pytest-xdist/issues/555></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 -> 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",
|
2023-03-26 17:40:32 +00:00
|
|
|
"pytest>=6.1.0,<8",
|
|
|
|
"requests>=2.9.1,<3",
|
|
|
|
"tox>=3.5,<5",
|
2023-12-02 00:02:54 +00:00
|
|
|
"wheel>=0.36.2,<0.43",
|
2023-03-26 17:40:32 +00:00
|
|
|
"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.*:",
|
2024-01-04 09:53:13 +00:00
|
|
|
"ignore:datetime.datetime.utcnow:DeprecationWarning:aioquic.*:",
|
2023-12-12 18:15:19 +00:00
|
|
|
"error::RuntimeWarning",
|
|
|
|
"error::pytest.PytestUnraisableExceptionWarning",
|
2024-01-04 09:53:13 +00:00
|
|
|
# The following warning should only appear on Python 3.11 and below where eager_task_factory is not present
|
|
|
|
"default:coroutine 'ConnectionHandler.hook_task' was never awaited:RuntimeWarning",
|
2023-03-26 17:40:32 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[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"]
|
2023-06-25 23:26:21 +00:00
|
|
|
|
2023-03-26 17:40:32 +00:00
|
|
|
[tool.tox]
|
|
|
|
legacy_tox_ini = """
|
|
|
|
[tox]
|
2023-10-31 15:03:53 +00:00
|
|
|
envlist = py, lint, mypy
|
2023-03-26 17:40:32 +00:00
|
|
|
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]
|
2023-03-26 17:40:32 +00:00
|
|
|
deps =
|
2023-10-31 15:03:53 +00:00
|
|
|
ruff>=0.1.3,<0.2
|
2023-03-26 17:40:32 +00:00
|
|
|
commands =
|
2023-10-31 15:03:53 +00:00
|
|
|
ruff .
|
2023-03-26 17:40:32 +00:00
|
|
|
|
|
|
|
[testenv:filename_matching]
|
|
|
|
deps =
|
|
|
|
commands =
|
|
|
|
python ./test/filename_matching.py
|
|
|
|
|
|
|
|
[testenv:mypy]
|
|
|
|
deps =
|
2023-10-31 17:57:21 +00:00
|
|
|
mypy==1.6.1
|
2023-03-26 17:40:32 +00:00
|
|
|
types-certifi==2021.10.8.3
|
|
|
|
types-Flask==1.1.6
|
|
|
|
types-Werkzeug==1.0.9
|
2023-10-31 17:57:21 +00:00
|
|
|
types-requests==2.31.0.10
|
2023-03-26 17:40:32 +00:00
|
|
|
types-cryptography==3.3.23.2
|
2023-10-31 17:57:21 +00:00
|
|
|
types-pyOpenSSL==23.3.0.0
|
2023-03-26 17:40:32 +00:00
|
|
|
-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
|
|
|
|
"""
|