[pycountry] Add stubs for pycountry (#15002)

This commit is contained in:
Jochem van Grondelle
2025-11-16 00:00:59 +07:00
committed by GitHub
parent 1ef6a70bc1
commit 63b498d240
3 changed files with 110 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
version = "24.6.*"
upstream_repository = "https://github.com/pycountry/pycountry"
+63
View File
@@ -0,0 +1,63 @@
import pycountry.db
LOCALES_DIR: str
DATABASE_DIR: str
__version__: str | None
def resource_filename(package_or_requirement: str, resource_name: str) -> str: ...
def get_version(distribution_name: str) -> str | None: ...
def remove_accents(input_str: str) -> str: ...
class ExistingCountries(pycountry.db.Database):
data_class: type
root_key: str
def search_fuzzy(self, query: str) -> list[pycountry.db.Country]: ...
class HistoricCountries(ExistingCountries):
data_class: type
root_key: str
class Scripts(pycountry.db.Database):
data_class: str
root_key: str
class Currencies(pycountry.db.Database):
data_class: str
root_key: str
class Languages(pycountry.db.Database):
no_index: list[str]
data_class: str
root_key: str
class LanguageFamilies(pycountry.db.Database):
data_class: str
root_key: str
class SubdivisionHierarchy(pycountry.db.Data):
country_code: str
parent_code: str | None
def __init__(self, **kw: str) -> None: ...
@property
def country(self) -> pycountry.db.Country | None: ...
@property
def parent(self) -> SubdivisionHierarchy | None: ...
class Subdivisions(pycountry.db.Database):
data_class: type
no_index: list[str]
root_key: str
def get( # type: ignore[override]
self, *, default: SubdivisionHierarchy | None = ..., **kw: str
) -> SubdivisionHierarchy | None | list[SubdivisionHierarchy]: ...
def match(self, query: str) -> list[SubdivisionHierarchy]: ...
def partial_match(self, query: str) -> list[SubdivisionHierarchy]: ...
def search_fuzzy(self, query: str) -> list[SubdivisionHierarchy]: ...
countries: ExistingCountries
subdivisions: Subdivisions
historic_countries: HistoricCountries
currencies: Currencies
languages: Languages
language_families: LanguageFamilies
scripts: Scripts
+45
View File
@@ -0,0 +1,45 @@
import logging
from collections.abc import Callable, Iterator
from typing import TypeVar
from typing_extensions import ParamSpec
logger: logging.Logger
_P = ParamSpec("_P")
_R = TypeVar("_R")
class Data:
def __init__(self, **fields: str) -> None: ...
def __getattr__(self, key: str) -> str: ...
def __setattr__(self, key: str, value: str) -> None: ...
def __dir__(self) -> list[str]: ...
def __iter__(self) -> Iterator[tuple[str, str]]: ...
class Country(Data): ...
class Subdivision(Data): ...
def lazy_load(f: Callable[_P, _R]) -> Callable[_P, _R]: ...
class Database:
data_class: type | str
root_key: str | None
no_index: list[str]
filename: str
factory: type
objects: list[Data]
index_names: set[str]
indices: dict[str, dict[str, Data]]
def __init__(self, filename: str) -> None: ...
@lazy_load
def add_entry(self, **kw: str) -> None: ...
@lazy_load
def remove_entry(self, **kw: str) -> None: ...
@lazy_load
def __iter__(self) -> Iterator[Data]: ...
@lazy_load
def __len__(self) -> int: ...
@lazy_load
def get(self, *, default: Data | None = ..., **kw: str) -> Data | None: ...
@lazy_load
def lookup(self, value: str) -> Data: ...