mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-05-04 04:25:50 +08:00
Use dashes instead of underscores for METADATA.toml field names (#15614)
This commit is contained in:
+23
-23
@@ -169,27 +169,27 @@ supported:
|
||||
be listed here, for security reasons. See
|
||||
[this issue](https://github.com/typeshed-internal/stub_uploader/issues/90)
|
||||
for more information about what external dependencies are allowed.
|
||||
* `extra_description` (optional): Can be used to add a custom description to
|
||||
* `extra-description` (optional): Can be used to add a custom description to
|
||||
the package's long description. It should be a multi-line string in
|
||||
Markdown format.
|
||||
* `stub_distribution` (optional): Distribution name to be uploaded to PyPI.
|
||||
* `stub-distribution` (optional): Distribution name to be uploaded to PyPI.
|
||||
This defaults to `types-<distribution>` and should only be set in special
|
||||
cases.
|
||||
* `upstream_repository` (recommended): The URL of the upstream repository.
|
||||
* `obsolete_since` (optional): This field is part of our process for
|
||||
* `upstream-repository` (recommended): The URL of the upstream repository.
|
||||
* `obsolete-since` (optional): This field is part of our process for
|
||||
[removing obsolete third-party libraries](#third-party-library-removal-policy).
|
||||
It contains the first version of the corresponding library that ships
|
||||
its own `py.typed` file.
|
||||
* `no_longer_updated` (optional): This field is set to `true` before removing
|
||||
* `no-longer-updated` (optional): This field is set to `true` before removing
|
||||
stubs for other reasons than the upstream library shipping with type
|
||||
information.
|
||||
* `upload` (optional): This field is set to `false` to prevent automatic
|
||||
uploads to PyPI. This should only be used in special cases, e.g. when the stubs
|
||||
break the upload.
|
||||
* `partial_stub` (optional): This field marks the type stub package as
|
||||
* `partial-stub` (optional): This field marks the type stub package as
|
||||
[partial](https://peps.python.org/pep-0561/#partial-stub-packages). This is for
|
||||
3rd-party stubs that don't cover the entirety of the package's public API.
|
||||
* `requires_python` (optional): The minimum version of Python required to install
|
||||
* `requires-python` (optional): The minimum version of Python required to install
|
||||
the type stub package. It must be in the form `>=3.*`. If omitted, the oldest
|
||||
Python version supported by typeshed is used.
|
||||
|
||||
@@ -198,36 +198,36 @@ This has the following keys:
|
||||
* `skip` (default: `false`): Whether stubtest should be run against this
|
||||
package. Please avoid setting this to `true`, and add a comment if you have
|
||||
to.
|
||||
* `ignore_missing_stub`: When set to `true`, this will add the
|
||||
`--ignore_missing_stub` option to the stubtest call. See
|
||||
* `ignore-missing-stub`: When set to `true`, this will add the
|
||||
`--ignore-missing-stub` option to the stubtest call. See
|
||||
[tests/README.md](./tests/README.md) for more information. In most cases,
|
||||
this field should be identical to `partial_stub`.
|
||||
* `stubtest_dependencies` (default: `[]`): A list of Python packages that need
|
||||
this field should be identical to `partial-stub`.
|
||||
* `stubtest-dependencies` (default: `[]`): A list of Python packages that need
|
||||
to be installed for stubtest to run successfully. These packages are installed
|
||||
in addition to the dependencies in the `dependencies` field.
|
||||
* `apt_dependencies` (default: `[]`): A list of Ubuntu APT packages
|
||||
* `apt-dependencies` (default: `[]`): A list of Ubuntu APT packages
|
||||
that need to be installed for stubtest to run successfully.
|
||||
* `brew_dependencies` (default: `[]`): A list of MacOS Homebrew packages
|
||||
* `brew-dependencies` (default: `[]`): A list of MacOS Homebrew packages
|
||||
that need to be installed for stubtest to run successfully
|
||||
* `choco_dependencies` (default: `[]`): A list of Windows Chocolatey packages
|
||||
* `choco-dependencies` (default: `[]`): A list of Windows Chocolatey packages
|
||||
that need to be installed for stubtest to run successfully
|
||||
* `supported_platforms` (default: all platforms): A list of OSes on which
|
||||
* `supported-platforms` (default: all platforms): A list of OSes on which
|
||||
stubtest can be run. When a package is not platform-specific, this should
|
||||
not be set. If the package is platform-specific, this should usually be set
|
||||
to the supported platforms, unless stubtest is known to fail on a
|
||||
specific platform.
|
||||
* `ci_platforms` (default: `["linux"]`): A list of OSes on which to run
|
||||
* `ci-platforms` (default: `["linux"]`): A list of OSes on which to run
|
||||
stubtest as part of our continuous integration (CI) tests. Can contain
|
||||
`win32`, `linux`, and `darwin` values. If not specified, stubtest is run
|
||||
only on `linux`. Only add extra OSes to the test if there are
|
||||
platform-specific branches in a stubs package.
|
||||
* `mypy_plugins` (default: `[]`): A list of Python modules to use as mypy plugins
|
||||
when running stubtest. For example: `mypy_plugins = ["mypy_django_plugin.main"]`
|
||||
* `mypy_plugins_config` (default: `{}`): A dictionary mapping plugin names to their
|
||||
* `mypy-plugins` (default: `[]`): A list of Python modules to use as mypy plugins
|
||||
when running stubtest. For example: `mypy-plugins = ["mypy_django_plugin.main"]`
|
||||
* `mypy-plugins-config` (default: `{}`): A dictionary mapping plugin names to their
|
||||
configuration dictionaries for use by mypy plugins. For example:
|
||||
`mypy_plugins_config = {"django-stubs" = {"django_settings_module" = "@tests.django_settings"}}`
|
||||
`mypy-plugins-config = {"django-stubs" = {"django_settings_module" = "@tests.django_settings"}}`
|
||||
|
||||
`*_dependencies` are usually packages needed to `pip install` the implementation
|
||||
`*-dependencies` are usually packages needed to `pip install` the implementation
|
||||
distribution.
|
||||
|
||||
The format of all `METADATA.toml` files can be checked by running
|
||||
@@ -436,7 +436,7 @@ following criteria is met:
|
||||
|
||||
Case 1: If a package ships its own `py.typed` file, please follow these steps:
|
||||
|
||||
1. Make sure **stubsabot** open a PR that sets the `obsolete_since` field in the
|
||||
1. Make sure **stubsabot** open a PR that sets the `obsolete-since` field in the
|
||||
`METADATA.toml` file to the first version of the package that shipped `py.typed`.
|
||||
2. After at least six months, make sure **stubsabot** open a PR to remove the stubs.
|
||||
|
||||
@@ -446,7 +446,7 @@ these steps:
|
||||
1. Open an issue explaining why the stubs should be removed.
|
||||
2. A maintainer will add the
|
||||
["stubs: removal" label](https://github.com/python/typeshed/labels/%22stubs%3A%20removal%22).
|
||||
3. Open a PR that sets the `no_longer_updated` field in the `METADATA.toml`
|
||||
3. Open a PR that sets the `no-longer-updated` field in the `METADATA.toml`
|
||||
file to `true`.
|
||||
4. When a new version of the package was automatically uploaded to PyPI (which
|
||||
can take up to a day), make sure **stubsabot** open a PR to remove the stubs.
|
||||
|
||||
+48
-45
@@ -58,7 +58,7 @@ def _is_nested_dict(obj: object) -> TypeGuard[dict[str, dict[str, Any]]]:
|
||||
@functools.cache
|
||||
def get_oldest_supported_python() -> str:
|
||||
with PYPROJECT_PATH.open("rb") as config:
|
||||
val = tomllib.load(config)["tool"]["typeshed"]["oldest_supported_python"]
|
||||
val = tomllib.load(config)["tool"]["typeshed"]["oldest-supported-python"]
|
||||
assert type(val) is str
|
||||
return val
|
||||
|
||||
@@ -102,16 +102,16 @@ def read_stubtest_settings(distribution: str) -> StubtestSettings:
|
||||
data: dict[str, object] = tomllib.load(f).get("tool", {}).get("stubtest", {})
|
||||
|
||||
skip: object = data.get("skip", False)
|
||||
apt_dependencies: object = data.get("apt_dependencies", [])
|
||||
brew_dependencies: object = data.get("brew_dependencies", [])
|
||||
choco_dependencies: object = data.get("choco_dependencies", [])
|
||||
apt_dependencies: object = data.get("apt-dependencies", [])
|
||||
brew_dependencies: object = data.get("brew-dependencies", [])
|
||||
choco_dependencies: object = data.get("choco-dependencies", [])
|
||||
extras: object = data.get("extras", [])
|
||||
ignore_missing_stub: object = data.get("ignore_missing_stub", False)
|
||||
supported_platforms: object = data.get("supported_platforms")
|
||||
ci_platforms: object = data.get("ci_platforms", DEFAULT_STUBTEST_PLATFORMS)
|
||||
stubtest_dependencies: object = data.get("stubtest_dependencies", [])
|
||||
mypy_plugins: object = data.get("mypy_plugins", [])
|
||||
mypy_plugins_config: object = data.get("mypy_plugins_config", {})
|
||||
ignore_missing_stub: object = data.get("ignore-missing-stub", False)
|
||||
supported_platforms: object = data.get("supported-platforms")
|
||||
ci_platforms: object = data.get("ci-platforms", DEFAULT_STUBTEST_PLATFORMS)
|
||||
stubtest_dependencies: object = data.get("stubtest-dependencies", [])
|
||||
mypy_plugins: object = data.get("mypy-plugins", [])
|
||||
mypy_plugins_config: object = data.get("mypy-plugins-config", {})
|
||||
|
||||
assert type(skip) is bool
|
||||
assert type(ignore_missing_stub) is bool
|
||||
@@ -128,12 +128,12 @@ def read_stubtest_settings(distribution: str) -> StubtestSettings:
|
||||
assert _is_nested_dict(mypy_plugins_config)
|
||||
|
||||
unrecognised_platforms = set(ci_platforms) - _STUBTEST_PLATFORM_MAPPING.keys()
|
||||
assert not unrecognised_platforms, f"Unrecognised ci_platforms specified for {distribution!r}: {unrecognised_platforms}"
|
||||
assert not unrecognised_platforms, f"Unrecognised ci-platforms specified for {distribution!r}: {unrecognised_platforms}"
|
||||
|
||||
if supported_platforms is not None:
|
||||
assert set(ci_platforms).issubset(
|
||||
supported_platforms
|
||||
), f"ci_platforms must be a subset of supported_platforms for {distribution!r}"
|
||||
), f"ci-platforms must be a subset of supported-platforms for {distribution!r}"
|
||||
|
||||
for platform, dep_key in _STUBTEST_PLATFORM_MAPPING.items():
|
||||
if platform not in ci_platforms:
|
||||
@@ -194,31 +194,31 @@ _KNOWN_METADATA_FIELDS: Final = frozenset(
|
||||
{
|
||||
"version",
|
||||
"dependencies",
|
||||
"extra_description",
|
||||
"stub_distribution",
|
||||
"upstream_repository",
|
||||
"obsolete_since",
|
||||
"no_longer_updated",
|
||||
"extra-description",
|
||||
"stub-distribution",
|
||||
"upstream-repository",
|
||||
"obsolete-since",
|
||||
"no-longer-updated",
|
||||
"upload",
|
||||
"tool",
|
||||
"partial_stub",
|
||||
"requires_python",
|
||||
"partial-stub",
|
||||
"requires-python",
|
||||
"mypy-tests",
|
||||
}
|
||||
)
|
||||
_KNOWN_METADATA_TOOL_FIELDS: Final = {
|
||||
"stubtest": {
|
||||
"skip",
|
||||
"apt_dependencies",
|
||||
"brew_dependencies",
|
||||
"choco_dependencies",
|
||||
"apt-dependencies",
|
||||
"brew-dependencies",
|
||||
"choco-dependencies",
|
||||
"extras",
|
||||
"ignore_missing_stub",
|
||||
"supported_platforms",
|
||||
"ci_platforms",
|
||||
"stubtest_dependencies",
|
||||
"mypy_plugins",
|
||||
"mypy_plugins_config",
|
||||
"ignore-missing-stub",
|
||||
"supported-platforms",
|
||||
"ci-platforms",
|
||||
"stubtest-dependencies",
|
||||
"mypy-plugins",
|
||||
"mypy-plugins-config",
|
||||
}
|
||||
}
|
||||
_DIST_NAME_RE: Final = re.compile(r"^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$", re.IGNORECASE)
|
||||
@@ -259,41 +259,41 @@ def read_metadata(distribution: str) -> StubMetadata:
|
||||
assert isinstance(dependencies_s, list)
|
||||
dependencies = [parse_dependencies(distribution, dep) for dep in dependencies_s]
|
||||
|
||||
extra_description: object = data.get("extra_description") # pyright: ignore[reportUnknownMemberType]
|
||||
extra_description: object = data.get("extra-description") # pyright: ignore[reportUnknownMemberType]
|
||||
assert isinstance(extra_description, (str, type(None)))
|
||||
|
||||
if "stub_distribution" in data:
|
||||
stub_distribution = data["stub_distribution"]
|
||||
if "stub-distribution" in data:
|
||||
stub_distribution = data["stub-distribution"]
|
||||
assert isinstance(stub_distribution, str)
|
||||
assert _DIST_NAME_RE.fullmatch(stub_distribution), f"Invalid 'stub_distribution' value for {distribution!r}"
|
||||
assert _DIST_NAME_RE.fullmatch(stub_distribution), f"Invalid 'stub-distribution' value for {distribution!r}"
|
||||
else:
|
||||
stub_distribution = f"types-{distribution}"
|
||||
|
||||
upstream_repository: object = data.get("upstream_repository") # pyright: ignore[reportUnknownMemberType]
|
||||
upstream_repository: object = data.get("upstream-repository") # pyright: ignore[reportUnknownMemberType]
|
||||
assert isinstance(upstream_repository, (str, type(None)))
|
||||
if isinstance(upstream_repository, str):
|
||||
parsed_url = urllib.parse.urlsplit(upstream_repository)
|
||||
assert parsed_url.scheme == "https", f"{distribution}: URLs in the upstream_repository field should use https"
|
||||
assert parsed_url.scheme == "https", f"{distribution}: URLs in the upstream-repository field should use https"
|
||||
no_www_please = (
|
||||
f"{distribution}: `World Wide Web` subdomain (`www.`) should be removed from URLs in the upstream_repository field"
|
||||
f"{distribution}: `World Wide Web` subdomain (`www.`) should be removed from URLs in the upstream-repository field"
|
||||
)
|
||||
assert not parsed_url.netloc.startswith("www."), no_www_please
|
||||
no_query_params_please = (
|
||||
f"{distribution}: Query params (`?`) should be removed from URLs in the upstream_repository field"
|
||||
f"{distribution}: Query params (`?`) should be removed from URLs in the upstream-repository field"
|
||||
)
|
||||
assert parsed_url.hostname in _QUERY_URL_ALLOWLIST or (not parsed_url.query), no_query_params_please
|
||||
no_fragments_please = f"{distribution}: Fragments (`#`) should be removed from URLs in the upstream_repository field"
|
||||
no_fragments_please = f"{distribution}: Fragments (`#`) should be removed from URLs in the upstream-repository field"
|
||||
assert not parsed_url.fragment, no_fragments_please
|
||||
if parsed_url.netloc == "github.com":
|
||||
cleaned_url_path = parsed_url.path.strip("/")
|
||||
num_url_path_parts = len(Path(cleaned_url_path).parts)
|
||||
bad_github_url_msg = (
|
||||
f"Invalid upstream_repository for {distribution!r}: "
|
||||
f"Invalid upstream-repository for {distribution!r}: "
|
||||
"URLs for GitHub repositories always have two parts in their paths"
|
||||
)
|
||||
assert num_url_path_parts == 2, bad_github_url_msg
|
||||
|
||||
obsolete_since: object = data.get("obsolete_since") # pyright: ignore[reportUnknownMemberType]
|
||||
obsolete_since: object = data.get("obsolete-since") # pyright: ignore[reportUnknownMemberType]
|
||||
assert isinstance(obsolete_since, (String, type(None)))
|
||||
if obsolete_since:
|
||||
comment = obsolete_since.trivia.comment
|
||||
@@ -302,13 +302,13 @@ def read_metadata(distribution: str) -> StubMetadata:
|
||||
obsolete = ObsoleteMetadata(since_version=obsolete_since, since_date=since_date)
|
||||
else:
|
||||
obsolete = None
|
||||
no_longer_updated: object = data.get("no_longer_updated", False) # pyright: ignore[reportUnknownMemberType]
|
||||
no_longer_updated: object = data.get("no-longer-updated", False) # pyright: ignore[reportUnknownMemberType]
|
||||
assert type(no_longer_updated) is bool
|
||||
uploaded_to_pypi: object = data.get("upload", True) # pyright: ignore[reportUnknownMemberType]
|
||||
assert type(uploaded_to_pypi) is bool
|
||||
partial_stub: object = data.get("partial_stub", True) # pyright: ignore[reportUnknownMemberType]
|
||||
partial_stub: object = data.get("partial-stub", True) # pyright: ignore[reportUnknownMemberType]
|
||||
assert type(partial_stub) is bool
|
||||
requires_python_str: object = data.get("requires_python") # pyright: ignore[reportUnknownMemberType]
|
||||
requires_python_str: object = data.get("requires-python") # pyright: ignore[reportUnknownMemberType]
|
||||
oldest_supported_python = get_oldest_supported_python()
|
||||
oldest_supported_python_specifier = Specifier(f">={oldest_supported_python}")
|
||||
if requires_python_str is None:
|
||||
@@ -316,12 +316,12 @@ def read_metadata(distribution: str) -> StubMetadata:
|
||||
else:
|
||||
assert isinstance(requires_python_str, str)
|
||||
requires_python = Specifier(requires_python_str)
|
||||
assert requires_python != oldest_supported_python_specifier, f'requires_python="{requires_python}" is redundant'
|
||||
assert requires_python != oldest_supported_python_specifier, f'requires-python="{requires_python}" is redundant'
|
||||
# Check minimum Python version is not less than the oldest version of Python supported by typeshed
|
||||
assert oldest_supported_python_specifier.contains(
|
||||
requires_python.version
|
||||
), f"'requires_python' contains versions lower than typeshed's oldest supported Python ({oldest_supported_python})"
|
||||
assert requires_python.operator == ">=", "'requires_python' should be a minimum version specifier, use '>=3.x'"
|
||||
), f"'requires-python' contains versions lower than typeshed's oldest supported Python ({oldest_supported_python})"
|
||||
assert requires_python.operator == ">=", "'requires-python' should be a minimum version specifier, use '>=3.x'"
|
||||
|
||||
empty_tools: dict[object, object] = {}
|
||||
tools_settings: object = data.get("tool", empty_tools) # pyright: ignore[reportUnknownMemberType]
|
||||
@@ -361,6 +361,9 @@ def update_metadata(distribution: str, **new_values: object) -> tomlkit.TOMLDocu
|
||||
except FileNotFoundError:
|
||||
raise NoSuchStubError(f"Typeshed has no stubs for {distribution!r}!") from None
|
||||
data.update(new_values) # pyright: ignore[reportUnknownMemberType] # tomlkit.TOMLDocument.update is partially typed
|
||||
for key in list(data.keys()):
|
||||
new_key = key.replace("_", "-") # pyright: ignore[reportUnknownMemberType] # tomlkit.TOMLDocument.keys is partially typed
|
||||
data[new_key] = data.pop(key) # pyright: ignore[reportUnknownMemberType] # tomlkit.TOMLDocument.pop is partially typed
|
||||
with path.open("w", encoding="UTF-8") as file:
|
||||
tomlkit.dump(data, file) # pyright: ignore[reportUnknownMemberType] # tomlkit.dump has partially unknown Mapping type
|
||||
return data
|
||||
|
||||
+1
-1
@@ -265,4 +265,4 @@ extra-standard-library = [
|
||||
known-first-party = ["_utils", "ts_utils"]
|
||||
|
||||
[tool.typeshed]
|
||||
oldest_supported_python = "3.10"
|
||||
oldest-supported-python = "3.10"
|
||||
|
||||
@@ -134,11 +134,11 @@ def create_metadata(project: str, stub_dir: Path, version: str) -> None:
|
||||
if upstream_repo_url is None:
|
||||
warning = (
|
||||
f"\nCould not find a URL pointing to the source code for {project!r}.\n"
|
||||
f"Please add it as `upstream_repository` to `stubs/{project}/METADATA.toml`, if possible!\n"
|
||||
f"Please add it as `upstream-repository` to `stubs/{project}/METADATA.toml`, if possible!\n"
|
||||
)
|
||||
print(termcolor.colored(warning, "red"))
|
||||
else:
|
||||
metadata += f'upstream_repository = "{upstream_repo_url}"\n'
|
||||
metadata += f'upstream-repository = "{upstream_repo_url}"\n'
|
||||
print(f"Writing {filename}")
|
||||
filename.write_text(metadata, encoding="UTF-8")
|
||||
|
||||
|
||||
@@ -607,7 +607,7 @@ def parse_no_longer_updated_from_archive(source: zipfile.ZipFile | tarfile.TarFi
|
||||
with file as f:
|
||||
toml_data: dict[str, object] = tomllib.load(f)
|
||||
|
||||
no_longer_updated = toml_data.get("no_longer_updated", False)
|
||||
no_longer_updated = toml_data.get("no-longer-updated", False)
|
||||
assert type(no_longer_updated) is bool
|
||||
return bool(no_longer_updated)
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.6.9"
|
||||
upstream_repository = "https://github.com/authlib/authlib"
|
||||
upstream-repository = "https://github.com/authlib/authlib"
|
||||
dependencies = ["cryptography"]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "~=1.3.1"
|
||||
upstream_repository = "https://github.com/laurent-laporte-pro/deprecated"
|
||||
upstream-repository = "https://github.com/laurent-laporte-pro/deprecated"
|
||||
dependencies = []
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = "6.0.*"
|
||||
upstream_repository = "https://github.com/corydolphin/flask-cors"
|
||||
upstream-repository = "https://github.com/corydolphin/flask-cors"
|
||||
# Requires a version of flask with a `py.typed` file
|
||||
dependencies = ["Flask>=2.0.0"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = "4.1.*"
|
||||
upstream_repository = "https://github.com/miguelgrinberg/Flask-Migrate"
|
||||
upstream-repository = "https://github.com/miguelgrinberg/Flask-Migrate"
|
||||
# Requires versions of flask and Flask-SQLAlchemy with `py.typed` files
|
||||
dependencies = ["Flask-SQLAlchemy>=3.0.1", "Flask>=2.0.0"]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "5.6.*"
|
||||
dependencies = ["Flask>=0.9"]
|
||||
upstream_repository = "https://github.com/miguelgrinberg/flask-socketio"
|
||||
upstream-repository = "https://github.com/miguelgrinberg/flask-socketio"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
version = "0.5.*"
|
||||
upstream_repository = "https://github.com/spatialaudio/jackclient-python"
|
||||
upstream-repository = "https://github.com/spatialaudio/jackclient-python"
|
||||
# Requires a version of numpy with a `py.typed` file
|
||||
dependencies = ["numpy>=1.20", "types-cffi"]
|
||||
|
||||
[tool.stubtest]
|
||||
# darwin and win32 are equivalent
|
||||
ci_platforms = ["darwin", "linux"]
|
||||
apt_dependencies = ["libjack-dev"]
|
||||
brew_dependencies = ["jack"]
|
||||
ci-platforms = ["darwin", "linux"]
|
||||
apt-dependencies = ["libjack-dev"]
|
||||
brew-dependencies = ["jack"]
|
||||
# No need to install on the CI. Leaving here as information for Windows contributors.
|
||||
# choco_dependencies = ["jack"]
|
||||
# choco-dependencies = ["jack"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.1.12"
|
||||
upstream_repository = "https://github.com/NVIDIA/jetson-gpio"
|
||||
upstream-repository = "https://github.com/NVIDIA/jetson-gpio"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "~=3.10.2"
|
||||
upstream_repository = "https://github.com/Python-Markdown/markdown"
|
||||
upstream-repository = "https://github.com/Python-Markdown/markdown"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "0.9.*"
|
||||
upstream_repository = "https://github.com/asweigart/pyautogui"
|
||||
upstream-repository = "https://github.com/asweigart/pyautogui"
|
||||
dependencies = ["types-PyScreeze"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.5.*"
|
||||
upstream_repository = "https://github.com/architest/pymeeus"
|
||||
upstream-repository = "https://github.com/architest/pymeeus"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.1.*"
|
||||
upstream_repository = "https://github.com/PyMySQL/PyMySQL"
|
||||
upstream-repository = "https://github.com/PyMySQL/PyMySQL"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
version = "1.0.1"
|
||||
upstream_repository = "https://github.com/asweigart/pyscreeze"
|
||||
upstream-repository = "https://github.com/asweigart/pyscreeze"
|
||||
dependencies = ["Pillow>=10.3.0"]
|
||||
|
||||
[tool.stubtest]
|
||||
# Linux has extra constants, win32 has different definitions
|
||||
ci_platforms = ["linux", "win32"]
|
||||
ci-platforms = ["linux", "win32"]
|
||||
# PyScreeze has an odd setup.py file
|
||||
# that doesn't list Pillow as a dependency for py312+ yet:
|
||||
# https://github.com/asweigart/pyscreeze/blob/eeca245a135cf171c163b3691300138518efa64e/setup.py#L38-L46
|
||||
stubtest_dependencies = ["Pillow"]
|
||||
stubtest-dependencies = ["Pillow"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.7.1"
|
||||
upstream_repository = "https://github.com/Anorov/PySocks"
|
||||
upstream-repository = "https://github.com/Anorov/PySocks"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "6.0.*"
|
||||
upstream_repository = "https://github.com/yaml/pyyaml"
|
||||
upstream-repository = "https://github.com/yaml/pyyaml"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version = "2.20.*"
|
||||
upstream_repository = "https://github.com/pygments/pygments"
|
||||
upstream-repository = "https://github.com/pygments/pygments"
|
||||
dependencies = ["types-docutils"]
|
||||
partial_stub = true
|
||||
partial-stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
stubtest_dependencies = ["sphinx"]
|
||||
stubtest-dependencies = ["sphinx"]
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
version = "0.7.*"
|
||||
upstream_repository = "https://sourceforge.net/p/raspberry-gpio-python/code/"
|
||||
upstream-repository = "https://sourceforge.net/p/raspberry-gpio-python/code/"
|
||||
|
||||
[tool.stubtest]
|
||||
# This package is only supported on Raspberry Pi hardware, which identifies
|
||||
# itself as 'linux'. When run on other hardware, it raises a RuntimeError:
|
||||
# RPi.GPIO failed to import. RuntimeError: This module can only be run on a Raspberry Pi!
|
||||
# https://sourceforge.net/p/raspberry-gpio-python/code/ci/08048dd1894a6b09a104557b6eaa6bb68b6baac5/tree/source/py_gpio.c#l1008
|
||||
supported_platforms = []
|
||||
ci_platforms = []
|
||||
supported-platforms = []
|
||||
ci-platforms = []
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.1.*"
|
||||
upstream_repository = "https://github.com/arsenetar/send2trash"
|
||||
upstream-repository = "https://github.com/arsenetar/send2trash"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.2.*"
|
||||
upstream_repository = "https://github.com/pyrogram/tgcrypto"
|
||||
upstream-repository = "https://github.com/pyrogram/tgcrypto"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "~= 3.2.1"
|
||||
upstream_repository = "https://github.com/pallets-eco/wtforms"
|
||||
upstream-repository = "https://github.com/pallets-eco/wtforms"
|
||||
dependencies = ["MarkupSafe"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.8.*"
|
||||
upstream_repository = "https://github.com/Pylons/webob"
|
||||
upstream-repository = "https://github.com/Pylons/webob"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "25.1.*"
|
||||
upstream_repository = "https://github.com/Tinche/aiofiles"
|
||||
upstream-repository = "https://github.com/Tinche/aiofiles"
|
||||
|
||||
[tool.stubtest]
|
||||
# linux and darwin are equivalent
|
||||
ci_platforms = ["linux", "win32"]
|
||||
ci-platforms = ["linux", "win32"]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
version = "4.13.*"
|
||||
upstream_repository = "https://github.com/antlr/antlr4"
|
||||
upstream-repository = "https://github.com/antlr/antlr4"
|
||||
|
||||
[tool.stubtest]
|
||||
ci_platforms = ["linux", "win32"]
|
||||
ci-platforms = ["linux", "win32"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.1.*"
|
||||
upstream_repository = "https://github.com/assertpy/assertpy"
|
||||
upstream-repository = "https://github.com/assertpy/assertpy"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "3.0.*"
|
||||
upstream_repository = "https://github.com/google/atheris"
|
||||
partial_stub = true
|
||||
upstream-repository = "https://github.com/google/atheris"
|
||||
partial-stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
ignore_missing_stub = true
|
||||
ignore-missing-stub = true
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "4.10.*"
|
||||
upstream_repository = "https://github.com/auth0/auth0-python"
|
||||
upstream-repository = "https://github.com/auth0/auth0-python"
|
||||
dependencies = ["cryptography", "types-requests"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.15.*"
|
||||
upstream_repository = "https://github.com/aws/aws-xray-sdk-python"
|
||||
upstream-repository = "https://github.com/aws/aws-xray-sdk-python"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "1.3.*"
|
||||
upstream_repository = "https://github.com/behave/behave"
|
||||
partial_stub = true
|
||||
upstream-repository = "https://github.com/behave/behave"
|
||||
partial-stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
ignore_missing_stub = true
|
||||
ignore-missing-stub = true
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "0.4.*"
|
||||
upstream_repository = "https://github.com/binaryornot/binaryornot"
|
||||
obsolete_since = "0.5.0" # Released on 2026-03-07
|
||||
upstream-repository = "https://github.com/binaryornot/binaryornot"
|
||||
obsolete-since = "0.5.0" # Released on 2026-03-07
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "6.3.*"
|
||||
dependencies = ["types-html5lib"]
|
||||
upstream_repository = "https://github.com/mozilla/bleach"
|
||||
upstream-repository = "https://github.com/mozilla/bleach"
|
||||
|
||||
[tool.stubtest]
|
||||
extras = ["css"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "25.0.*"
|
||||
upstream_repository = "https://github.com/mahmoud/boltons"
|
||||
upstream-repository = "https://github.com/mahmoud/boltons"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "4.42.*"
|
||||
upstream_repository = "https://github.com/braintree/braintree_python"
|
||||
upstream-repository = "https://github.com/braintree/braintree_python"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "6.2.*"
|
||||
upstream_repository = "https://github.com/tkem/cachetools"
|
||||
upstream-repository = "https://github.com/tkem/cachetools"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "3.0.*"
|
||||
upstream_repository = "https://github.com/xolox/python-capturer"
|
||||
upstream-repository = "https://github.com/xolox/python-capturer"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version = "2.0.*"
|
||||
upstream_repository = "https://github.com/python-cffi/cffi/"
|
||||
upstream-repository = "https://github.com/python-cffi/cffi/"
|
||||
dependencies = ["types-setuptools"]
|
||||
|
||||
[tool.stubtest]
|
||||
# linux and darwin are mostly equivalent, except for a single `RTLD_DEEPBIND` variable
|
||||
ci_platforms = ["linux", "win32"]
|
||||
ci-platforms = ["linux", "win32"]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
version = "4.3.*"
|
||||
upstream_repository = "https://github.com/django/channels"
|
||||
upstream-repository = "https://github.com/django/channels"
|
||||
dependencies = ["django-stubs>=4.2", "asgiref"]
|
||||
|
||||
[tool.stubtest]
|
||||
mypy_plugins = ['mypy_django_plugin.main']
|
||||
mypy_plugins_config = {"django-stubs" = {"django_settings_module" = "@tests.django_settings"}}
|
||||
stubtest_dependencies = ["daphne"]
|
||||
mypy-plugins = ['mypy_django_plugin.main']
|
||||
mypy-plugins-config = {"django-stubs" = {"django_settings_module" = "@tests.django_settings"}}
|
||||
stubtest-dependencies = ["daphne"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = "0.14.*"
|
||||
upstream_repository = "https://github.com/noahmorrison/chevron"
|
||||
upstream-repository = "https://github.com/noahmorrison/chevron"
|
||||
|
||||
[tool.stubtest]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = "1.2.*"
|
||||
upstream_repository = "https://github.com/click-contrib/click-default-group"
|
||||
upstream-repository = "https://github.com/click-contrib/click-default-group"
|
||||
# requires a version of click with a py.typed
|
||||
dependencies = ["click>=8.0.0"]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "0.4.*"
|
||||
dependencies = ["click>=8.0.0"]
|
||||
upstream_repository = "https://github.com/click-contrib/click-log"
|
||||
upstream-repository = "https://github.com/click-contrib/click-log"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "2.1"
|
||||
upstream_repository = "https://github.com/clarkperkins/click-shell"
|
||||
upstream-repository = "https://github.com/clarkperkins/click-shell"
|
||||
dependencies = ["click>=8.0.0"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.1.*"
|
||||
upstream_repository = "https://github.com/click-contrib/click-spinner"
|
||||
upstream-repository = "https://github.com/click-contrib/click-spinner"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "0.8.*"
|
||||
dependencies = ["click>=8.0.0", "Flask>=2.3.2"]
|
||||
upstream_repository = "https://github.com/fredrik-corneliusson/click-web"
|
||||
upstream-repository = "https://github.com/fredrik-corneliusson/click-web"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
version = "0.4.*"
|
||||
upstream_repository = "https://github.com/tartley/colorama"
|
||||
upstream-repository = "https://github.com/tartley/colorama"
|
||||
|
||||
[tool.stubtest]
|
||||
ci_platforms = ["linux", "win32"]
|
||||
ci-platforms = ["linux", "win32"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.5.*"
|
||||
upstream_repository = "https://github.com/timofurrer/colorful"
|
||||
upstream-repository = "https://github.com/timofurrer/colorful"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.8.*"
|
||||
upstream_repository = "https://github.com/aegirhall/console-menu"
|
||||
upstream-repository = "https://github.com/aegirhall/console-menu"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.4.1"
|
||||
upstream_repository = "https://github.com/fitnr/convertdate"
|
||||
upstream-repository = "https://github.com/fitnr/convertdate"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "6.2.2"
|
||||
upstream_repository = "https://github.com/pallets-eco/croniter"
|
||||
upstream-repository = "https://github.com/pallets-eco/croniter"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.1.*"
|
||||
upstream_repository = "https://github.com/eclecticiq/python-data-uri"
|
||||
upstream-repository = "https://github.com/eclecticiq/python-data-uri"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
version = "~=1.4.0"
|
||||
upstream_repository = "https://github.com/scrapinghub/dateparser"
|
||||
upstream-repository = "https://github.com/scrapinghub/dateparser"
|
||||
|
||||
[tool.stubtest]
|
||||
extras = ["fasttext", "langdetect"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "5.2.*"
|
||||
upstream_repository = "https://github.com/micheles/decorator"
|
||||
upstream-repository = "https://github.com/micheles/decorator"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
version = "0.7.*"
|
||||
upstream_repository = "https://github.com/tiran/defusedxml"
|
||||
upstream-repository = "https://github.com/tiran/defusedxml"
|
||||
|
||||
[tool.stubtest]
|
||||
stubtest_dependencies = ["lxml"]
|
||||
stubtest-dependencies = ["lxml"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.5.*"
|
||||
upstream_repository = "https://github.com/andhus/dirhash-python"
|
||||
upstream-repository = "https://github.com/andhus/dirhash-python"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version = "25.2.*"
|
||||
upstream_repository = "https://github.com/carltongibson/django-filter/"
|
||||
upstream-repository = "https://github.com/carltongibson/django-filter/"
|
||||
dependencies = ["django-stubs"]
|
||||
|
||||
[tool.stubtest]
|
||||
mypy_plugins = ["mypy_django_plugin.main"]
|
||||
mypy_plugins_config = {"django-stubs" = {"django_settings_module" = "@tests.django_settings"}}
|
||||
mypy-plugins = ["mypy_django_plugin.main"]
|
||||
mypy-plugins-config = {"django-stubs" = {"django_settings_module" = "@tests.django_settings"}}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
version = "4.4.*"
|
||||
upstream_repository = "https://github.com/django-import-export/django-import-export"
|
||||
upstream-repository = "https://github.com/django-import-export/django-import-export"
|
||||
dependencies = ["django-stubs"] # Add tablib when typed, and update _Incomplete aliases in stubs
|
||||
|
||||
[tool.stubtest]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "7.1.*"
|
||||
upstream_repository = "https://github.com/docker/docker-py"
|
||||
upstream-repository = "https://github.com/docker/docker-py"
|
||||
dependencies = ["types-paramiko", "types-requests", "urllib3>=2"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.0.*"
|
||||
upstream_repository = "https://github.com/containerbuildsystem/dockerfile-parse"
|
||||
upstream-repository = "https://github.com/containerbuildsystem/dockerfile-parse"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.22.3"
|
||||
upstream_repository = "https://sourceforge.net/p/docutils/code"
|
||||
upstream-repository = "https://sourceforge.net/p/docutils/code"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.8.*"
|
||||
upstream_repository = "https://github.com/roy-ht/editdistance"
|
||||
upstream-repository = "https://github.com/roy-ht/editdistance"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.4.*"
|
||||
upstream_repository = "https://github.com/takluyver/entrypoints"
|
||||
upstream-repository = "https://github.com/takluyver/entrypoints"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "4.2.*"
|
||||
upstream_repository = "https://github.com/brandon-rhodes/pyephem"
|
||||
upstream-repository = "https://github.com/brandon-rhodes/pyephem"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.0.*"
|
||||
upstream_repository = "https://foss.heptapod.net/openpyxl/et_xmlfile"
|
||||
upstream-repository = "https://foss.heptapod.net/openpyxl/et_xmlfile"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.7.*"
|
||||
upstream_repository = "https://github.com/zopefoundation/fanstatic"
|
||||
upstream-repository = "https://github.com/zopefoundation/fanstatic"
|
||||
dependencies = ["types-setuptools", "types-WebOb"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.0.*"
|
||||
upstream_repository = "https://github.com/hynek/first"
|
||||
upstream-repository = "https://github.com/hynek/first"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "25.11.29"
|
||||
upstream_repository = "https://github.com/PyCQA/flake8-bugbear"
|
||||
upstream-repository = "https://github.com/PyCQA/flake8-bugbear"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "3.1.*"
|
||||
upstream_repository = "https://github.com/gforcada/flake8-builtins"
|
||||
upstream-repository = "https://github.com/gforcada/flake8-builtins"
|
||||
dependencies = ["types-flake8"]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.7.*"
|
||||
upstream_repository = "https://github.com/pycqa/flake8-docstrings"
|
||||
upstream-repository = "https://github.com/pycqa/flake8-docstrings"
|
||||
dependencies = ["types-flake8"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.4.*"
|
||||
upstream_repository = "https://github.com/peterjc/flake8-rst-docstrings"
|
||||
upstream-repository = "https://github.com/peterjc/flake8-rst-docstrings"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.30.*"
|
||||
upstream_repository = "https://github.com/MartinThoma/flake8-simplify"
|
||||
upstream-repository = "https://github.com/MartinThoma/flake8-simplify"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.17.*"
|
||||
upstream_repository = "https://github.com/asottile/flake8-typing-imports"
|
||||
upstream-repository = "https://github.com/asottile/flake8-typing-imports"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "7.3.*"
|
||||
upstream_repository = "https://github.com/pycqa/flake8"
|
||||
upstream-repository = "https://github.com/pycqa/flake8"
|
||||
dependencies = ["types-pyflakes"]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version = "2.8.4"
|
||||
upstream_repository = "https://github.com/py-pdf/fpdf2"
|
||||
upstream-repository = "https://github.com/py-pdf/fpdf2"
|
||||
dependencies = ["Pillow>=10.3.0"]
|
||||
obsolete_since = "2.8.6" # Released on 2026-02-19
|
||||
obsolete-since = "2.8.6" # Released on 2026-02-19
|
||||
|
||||
[tool.stubtest]
|
||||
stubtest_dependencies = ["cryptography"]
|
||||
stubtest-dependencies = ["cryptography"]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
version = "16.3.*"
|
||||
# This is the official web portal for the GDB Git repo,
|
||||
# see https://sourceware.org/gdb/current/ for other ways of obtaining the source code.
|
||||
upstream_repository = "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree"
|
||||
extra_description = """\
|
||||
upstream-repository = "https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=tree"
|
||||
extra-description = """\
|
||||
Type hints for GDB's \
|
||||
[Python API](https://sourceware.org/gdb/onlinedocs/gdb/Python-API.html). \
|
||||
Note that this API is available only when running Python scripts under GDB: \
|
||||
@@ -12,5 +12,5 @@ extra_description = """\
|
||||
|
||||
[tool.stubtest]
|
||||
skip = true # https://github.com/python/typeshed/issues/15236
|
||||
ci_platforms = ["linux"]
|
||||
apt_dependencies = ["gdb"]
|
||||
ci-platforms = ["linux"]
|
||||
apt-dependencies = ["gdb"]
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
version = "1.1.3"
|
||||
# Requires a version of numpy with a `py.typed` file
|
||||
dependencies = ["numpy>=1.20", "pandas-stubs", "types-shapely", "pyproj"]
|
||||
upstream_repository = "https://github.com/geopandas/geopandas"
|
||||
upstream-repository = "https://github.com/geopandas/geopandas"
|
||||
|
||||
[tool.stubtest]
|
||||
# libproj-dev and proj-bin are required to build pyproj if wheels for the
|
||||
# target Python version are not available.
|
||||
apt_dependencies = ["libproj-dev", "proj-bin"]
|
||||
apt-dependencies = ["libproj-dev", "proj-bin"]
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
version = "25.9.*"
|
||||
upstream_repository = "https://github.com/gevent/gevent"
|
||||
upstream-repository = "https://github.com/gevent/gevent"
|
||||
dependencies = ["types-greenlet", "types-psutil>=7.2.0"]
|
||||
|
||||
[tool.stubtest]
|
||||
# Run stubtest on all platforms, since there is some platform specific stuff
|
||||
# especially in the stdlib module replacement
|
||||
ci_platforms = ["linux", "darwin", "win32"]
|
||||
ci-platforms = ["linux", "darwin", "win32"]
|
||||
# for testing the ffi loop implementations on all platforms
|
||||
stubtest_dependencies = ["cffi", "dnspython"]
|
||||
apt_dependencies = ["libev4", "libev-dev", "libuv1", "libuv1-dev"]
|
||||
brew_dependencies = ["libev", "libuv"]
|
||||
stubtest-dependencies = ["cffi", "dnspython"]
|
||||
apt-dependencies = ["libev4", "libev-dev", "libuv1", "libuv1-dev"]
|
||||
brew-dependencies = ["libev", "libuv"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "2.4.*"
|
||||
upstream_repository = "https://github.com/googleapis/python-ndb"
|
||||
partial_stub = true
|
||||
upstream-repository = "https://github.com/googleapis/python-ndb"
|
||||
partial-stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
ignore_missing_stub = true
|
||||
ignore-missing-stub = true
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "3.3.*"
|
||||
upstream_repository = "https://github.com/python-greenlet/greenlet"
|
||||
upstream-repository = "https://github.com/python-greenlet/greenlet"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.*"
|
||||
upstream_repository = "https://github.com/grpc/grpc"
|
||||
upstream-repository = "https://github.com/grpc/grpc"
|
||||
dependencies = ["types-grpcio", "types-protobuf"]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.*"
|
||||
upstream_repository = "https://github.com/grpc/grpc"
|
||||
upstream-repository = "https://github.com/grpc/grpc"
|
||||
dependencies = ["types-grpcio", "types-protobuf"]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.*"
|
||||
upstream_repository = "https://github.com/grpc/grpc"
|
||||
upstream-repository = "https://github.com/grpc/grpc"
|
||||
dependencies = ["types-grpcio", "types-protobuf"]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.*"
|
||||
upstream_repository = "https://github.com/grpc/grpc"
|
||||
upstream-repository = "https://github.com/grpc/grpc"
|
||||
dependencies = ["types-grpcio"]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
version = "1.*"
|
||||
upstream_repository = "https://github.com/grpc/grpc"
|
||||
partial_stub = true
|
||||
upstream-repository = "https://github.com/grpc/grpc"
|
||||
partial-stub = true
|
||||
|
||||
[tool.stubtest]
|
||||
ignore_missing_stub = true
|
||||
ignore-missing-stub = true
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
version = "25.3.0"
|
||||
upstream_repository = "https://github.com/benoitc/gunicorn"
|
||||
upstream-repository = "https://github.com/benoitc/gunicorn"
|
||||
dependencies = ["types-gevent"]
|
||||
|
||||
[tool.stubtest]
|
||||
supported_platforms = ["linux", "darwin"]
|
||||
ci_platforms = ["linux", "darwin"]
|
||||
stubtest_dependencies = ["gevent>=1.4.0", "eventlet>=0.24.1,!=0.36.0", "tornado>=0.2", "setproctitle", "PasteDeploy", "inotify"]
|
||||
supported-platforms = ["linux", "darwin"]
|
||||
ci-platforms = ["linux", "darwin"]
|
||||
stubtest-dependencies = ["gevent>=1.4.0", "eventlet>=0.24.1,!=0.36.0", "tornado>=0.2", "setproctitle", "PasteDeploy", "inotify"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "2.25.*"
|
||||
# upstream_repository = closed-source
|
||||
# upstream-repository = closed-source
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
version = "0.8.*"
|
||||
# Requires a version of numpy with a `py.typed` file
|
||||
dependencies = ["numpy>=1.21"]
|
||||
upstream_repository = "https://github.com/nmslib/hnswlib"
|
||||
upstream-repository = "https://github.com/nmslib/hnswlib"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
version = "1.1.*"
|
||||
upstream_repository = "https://github.com/html5lib/html5lib-python"
|
||||
upstream-repository = "https://github.com/html5lib/html5lib-python"
|
||||
dependencies = ["types-webencodings"]
|
||||
|
||||
[tool.stubtest]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.31.2"
|
||||
upstream_repository = "https://github.com/httplib2/httplib2"
|
||||
upstream-repository = "https://github.com/httplib2/httplib2"
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "2.4.*"
|
||||
upstream_repository = "https://github.com/hvac/hvac"
|
||||
upstream-repository = "https://github.com/hvac/hvac"
|
||||
dependencies = ["types-requests"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "3.2.8"
|
||||
upstream_repository = "https://github.com/ibmdb/python-ibmdb"
|
||||
upstream-repository = "https://github.com/ibmdb/python-ibmdb"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version = "6.3.2"
|
||||
upstream_repository = "https://github.com/collective/icalendar"
|
||||
upstream-repository = "https://github.com/collective/icalendar"
|
||||
dependencies = ["types-python-dateutil", "types-pytz"]
|
||||
obsolete_since = "7.0.0" # Released on 2026-02-11
|
||||
obsolete-since = "7.0.0" # Released on 2026-02-11
|
||||
|
||||
[tool.stubtest]
|
||||
stubtest_dependencies = ["pytz"]
|
||||
stubtest-dependencies = ["pytz"]
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.4.*"
|
||||
upstream_repository = "https://github.com/mitsuhiko/python-inifile"
|
||||
upstream-repository = "https://github.com/mitsuhiko/python-inifile"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "1.1.*"
|
||||
upstream_repository = "https://github.com/jmespath/jmespath.py"
|
||||
upstream-repository = "https://github.com/jmespath/jmespath.py"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
version = "0.22.*"
|
||||
upstream_repository = "https://github.com/google/jsonnet"
|
||||
upstream-repository = "https://github.com/google/jsonnet"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
version = "~=4.26.0"
|
||||
upstream_repository = "https://github.com/python-jsonschema/jsonschema"
|
||||
upstream-repository = "https://github.com/python-jsonschema/jsonschema"
|
||||
dependencies = ["referencing"]
|
||||
|
||||
[tool.stubtest]
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version = "1.5.*"
|
||||
upstream_repository = "https://github.com/latchset/jwcrypto"
|
||||
upstream-repository = "https://github.com/latchset/jwcrypto"
|
||||
dependencies = ["cryptography"]
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
version = "0.13.*"
|
||||
upstream_repository = "https://github.com/boppreh/keyboard"
|
||||
upstream-repository = "https://github.com/boppreh/keyboard"
|
||||
|
||||
# [tool.stubtest]
|
||||
# While the stubs slightly differ on Windows vs Linux.
|
||||
# It's only by possible mouse buttons and event literal types.
|
||||
# As well as returning a tuple of int/long from keyboard.mouse.get_position
|
||||
# The "mouse" module is obsoleted by the "mouse" package.
|
||||
# ci_platforms = ["linux"]
|
||||
# ci-platforms = ["linux"]
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
version = "2.9.*"
|
||||
upstream_repository = "https://github.com/cannatag/ldap3"
|
||||
upstream-repository = "https://github.com/cannatag/ldap3"
|
||||
dependencies = ["types-pyasn1"]
|
||||
|
||||
[tool.stubtest]
|
||||
apt_dependencies = ["libkrb5-dev"]
|
||||
apt-dependencies = ["libkrb5-dev"]
|
||||
# No need to install on the CI. Leaving here as information for MacOs/Windows contributors.
|
||||
# brew_dependencies = ["krb5"]
|
||||
# choco_dependencies = ["mitkerberos"]
|
||||
stubtest_dependencies = ["gssapi"]
|
||||
# brew-dependencies = ["krb5"]
|
||||
# choco-dependencies = ["mitkerberos"]
|
||||
stubtest-dependencies = ["gssapi"]
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user