-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[pycountry] Add stubs for pycountry 24.6.1 (closes #15001) #15002
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| version = "24.6.*" | ||
| upstream_repository = "https://github.com/pycountry/pycountry" | ||
|
|
||
| [tool.stubtest] | ||
| skip = false | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 |
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,43 @@ | ||||||||
| import logging | ||||||||
| from collections.abc import Callable, Iterator | ||||||||
| from typing import Any, TypeVar | ||||||||
|
|
||||||||
| logger: logging.Logger | ||||||||
|
|
||||||||
| _F = TypeVar("_F", bound=Callable[..., Any]) | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. see below
Suggested change
|
||||||||
|
|
||||||||
| 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: _F) -> _F: ... | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. A more suitable way here is to use
Suggested change
|
||||||||
|
|
||||||||
| 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: Any) -> None: ... | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this
Suggested change
|
||||||||
| @lazy_load | ||||||||
| def __iter__(self) -> Iterator[Data]: ... | ||||||||
| @lazy_load | ||||||||
| def __len__(self) -> int: ... | ||||||||
| @lazy_load | ||||||||
| def get(self, *, default: Data | None = ..., **kw: Any) -> Data | None: ... | ||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is a check inside that
Suggested change
|
||||||||
| @lazy_load | ||||||||
| def lookup(self, value: str) -> Data: ... | ||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't use alignment in
METADATA.toml, so let's keep the consistent style, and defaults value ofskipis false