Skip to content

Commit b7f838b

Browse files
authored
Fix #1209 Add __all__ to __init__.py (#1210)
1 parent 5019f65 commit b7f838b

File tree

29 files changed

+371
-166
lines changed

29 files changed

+371
-166
lines changed

.github/workflows/pytype.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
pip install -e ".[testing]"
2525
pip install -e ".[optional]"
2626
# As pytype can change its behavior in newer versions, we manually upgrade it
27-
pip install "pytype==2022.4.26"
27+
pip install "pytype==2022.5.10"
2828
- name: Run pytype
2929
run: |
3030
pytype slack_sdk/

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
"moto>=3,<4", # For AWS tests
3838
]
3939
codegen_dependencies = [
40-
"black==22.1.0",
40+
"black==22.3.0",
4141
]
4242

4343
needs_pytest = {"pytest", "test", "ptr"}.intersection(sys.argv)

slack_sdk/__init__.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,14 @@
4040
import logging
4141
from logging import NullHandler
4242

43-
# from .rtm import RTMClient # noqa
44-
from .web import WebClient # noqa
45-
from .webhook import WebhookClient # noqa
43+
# from .rtm import RTMClient
44+
from .web import WebClient
45+
from .webhook import WebhookClient
46+
47+
__all__ = [
48+
"WebClient",
49+
"WebhookClient",
50+
]
4651

4752
# Set default logging handler to avoid "No handler found" warnings.
4853
logging.getLogger(__name__).addHandler(NullHandler())

slack_sdk/audit_logs/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,10 @@
22
33
Refer to https://slack.dev/python-slack-sdk/audit-logs/ for details.
44
"""
5-
from .v1.client import AuditLogsClient # noqa
6-
from .v1.response import AuditLogsResponse # noqa
5+
from .v1.client import AuditLogsClient
6+
from .v1.response import AuditLogsResponse
7+
8+
__all__ = [
9+
"AuditLogsClient",
10+
"AuditLogsResponse",
11+
]
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
from .v1.async_client import AsyncAuditLogsClient # noqa
1+
from .v1.async_client import AsyncAuditLogsClient
2+
3+
__all__ = [
4+
"AsyncAuditLogsClient",
5+
]

slack_sdk/audit_logs/v1/logs.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class Actor:
6161
def __init__(
6262
self,
6363
type: Optional[str] = None,
64-
user: Optional[User] = None,
64+
user: Optional[Union[User, Dict[str, Any]]] = None,
6565
**kwargs,
6666
) -> None:
6767
self.type = type
@@ -103,18 +103,18 @@ class Context:
103103
def __init__(
104104
self,
105105
*,
106-
location: Optional[Location] = None,
106+
location: Optional[Union[Location, Dict[str, Any]]] = None,
107107
ua: Optional[str] = None,
108108
ip_address: Optional[str] = None,
109109
session_id: Optional[str] = None,
110-
app: Optional[App] = None,
110+
app: Optional[Union[App, Dict[str, Any]]] = None,
111111
**kwargs,
112112
) -> None:
113113
self.location = Location(**location) if isinstance(location, dict) else location
114114
self.ua = ua
115115
self.ip_address = ip_address
116116
self.session_id = session_id
117-
self.app = app
117+
self.app = App(**app) if isinstance(app, dict) else app
118118
self.unknown_fields = kwargs
119119

120120

@@ -304,9 +304,9 @@ def __init__(
304304
creator: Optional[str] = None,
305305
team: Optional[str] = None,
306306
app_id: Optional[str] = None,
307-
enable_at_here: Optional[FeatureEnablement] = None,
308-
enable_at_channel: Optional[FeatureEnablement] = None,
309-
can_huddle: Optional[FeatureEnablement] = None,
307+
enable_at_here: Optional[Union[Dict[str, Any], FeatureEnablement]] = None,
308+
enable_at_channel: Optional[Union[Dict[str, Any], FeatureEnablement]] = None,
309+
can_huddle: Optional[Union[Dict[str, Any], FeatureEnablement]] = None,
310310
**kwargs,
311311
) -> None:
312312
self.name = name
@@ -548,15 +548,15 @@ def __init__(
548548
self,
549549
*,
550550
type: Optional[str] = None,
551-
user: Optional[Union[User, dict]] = None,
552-
workspace: Optional[Union[Location, dict]] = None,
553-
enterprise: Optional[Union[Location, dict]] = None,
554-
channel: Optional[Union[Channel, dict]] = None,
555-
file: Optional[Union[File, dict]] = None,
556-
app: Optional[Union[App, dict]] = None,
557-
usergroup: Optional[Usergroup] = None,
558-
workflow: Optional[Workflow] = None,
559-
barrier: Optional[InformationBarrier] = None,
551+
user: Optional[Union[User, Dict[str, Any]]] = None,
552+
workspace: Optional[Union[Location, Dict[str, Any]]] = None,
553+
enterprise: Optional[Union[Location, Dict[str, Any]]] = None,
554+
channel: Optional[Union[Channel, Dict[str, Any]]] = None,
555+
file: Optional[Union[File, Dict[str, Any]]] = None,
556+
app: Optional[Union[App, Dict[str, Any]]] = None,
557+
usergroup: Optional[Union[Usergroup, Dict[str, Any]]] = None,
558+
workflow: Optional[Union[Workflow, Dict[str, Any]]] = None,
559+
barrier: Optional[Union[InformationBarrier, Dict[str, Any]]] = None,
560560
**kwargs,
561561
) -> None:
562562
self.type = type
@@ -596,10 +596,10 @@ def __init__(
596596
id: Optional[str] = None,
597597
date_create: Optional[int] = None,
598598
action: Optional[str] = None,
599-
actor: Optional[Actor] = None,
600-
entity: Optional[Entity] = None,
601-
context: Optional[Context] = None,
602-
details: Optional[Details] = None,
599+
actor: Optional[Union[Actor, Dict[str, Any]]] = None,
600+
entity: Optional[Union[Entity, Dict[str, Any]]] = None,
601+
context: Optional[Union[Context, Dict[str, Any]]] = None,
602+
details: Optional[Union[Details, Dict[str, Any]]] = None,
603603
**kwargs,
604604
) -> None:
605605
self.id = id
@@ -638,8 +638,8 @@ class LogsResponse:
638638
def __init__(
639639
self,
640640
*,
641-
entries: Optional[List[Union[Entry, dict]]] = None,
642-
response_metadata: Optional[Union[ResponseMetadata, dict]] = None,
641+
entries: Optional[List[Union[Entry, Dict[str, Any]]]] = None,
642+
response_metadata: Optional[Union[ResponseMetadata, Dict[str, Any]]] = None,
643643
ok: Optional[bool] = None,
644644
error: Optional[str] = None,
645645
needed: Optional[str] = None,

slack_sdk/http_retry/__init__.py

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
from typing import List
22

3-
from .handler import RetryHandler # noqa
3+
from .handler import RetryHandler
44
from .builtin_handlers import (
5-
ConnectionErrorRetryHandler, # noqa
6-
RateLimitErrorRetryHandler, # noqa
7-
) # noqa
8-
from .interval_calculator import RetryIntervalCalculator # noqa
9-
from .builtin_interval_calculators import ( # noqa
10-
FixedValueRetryIntervalCalculator, # noqa
11-
BackoffRetryIntervalCalculator, # noqa
12-
) # noqa
13-
from .jitter import Jitter # noqa
14-
from .request import HttpRequest # noqa
15-
from .response import HttpResponse # noqa
16-
from .state import RetryState # noqa
17-
18-
connect_error_retry_handler = ConnectionErrorRetryHandler() # noqa
19-
rate_limit_error_retry_handler = RateLimitErrorRetryHandler() # noqa
5+
ConnectionErrorRetryHandler,
6+
RateLimitErrorRetryHandler,
7+
)
8+
from .interval_calculator import RetryIntervalCalculator
9+
from .builtin_interval_calculators import (
10+
FixedValueRetryIntervalCalculator,
11+
BackoffRetryIntervalCalculator,
12+
)
13+
from .jitter import Jitter
14+
from .request import HttpRequest
15+
from .response import HttpResponse
16+
from .state import RetryState
17+
18+
connect_error_retry_handler = ConnectionErrorRetryHandler()
19+
rate_limit_error_retry_handler = RateLimitErrorRetryHandler()
2020

2121

2222
def default_retry_handlers() -> List[RetryHandler]:
@@ -28,3 +28,21 @@ def all_builtin_retry_handlers() -> List[RetryHandler]:
2828
connect_error_retry_handler,
2929
rate_limit_error_retry_handler,
3030
]
31+
32+
33+
__all__ = [
34+
"RetryHandler",
35+
"ConnectionErrorRetryHandler",
36+
"RateLimitErrorRetryHandler",
37+
"RetryIntervalCalculator",
38+
"FixedValueRetryIntervalCalculator",
39+
"BackoffRetryIntervalCalculator",
40+
"Jitter",
41+
"HttpRequest",
42+
"HttpResponse",
43+
"RetryState",
44+
"connect_error_retry_handler",
45+
"rate_limit_error_retry_handler",
46+
"default_retry_handlers",
47+
"all_builtin_retry_handlers",
48+
]

slack_sdk/http_retry/async_handler.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,13 @@ async def prepare_for_next_attempt_async(
7979
)
8080
await asyncio.sleep(duration)
8181
state.increment_current_attempt()
82+
83+
84+
__all__ = [
85+
"RetryState",
86+
"HttpRequest",
87+
"HttpResponse",
88+
"RetryIntervalCalculator",
89+
"BackoffRetryIntervalCalculator",
90+
"default_interval_calculator",
91+
]

slack_sdk/models/__init__.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
import logging
44
from typing import Union, Dict, Any, Sequence, List
55

6-
from .basic_objects import BaseObject # noqa
7-
from .basic_objects import EnumValidator # noqa
8-
from .basic_objects import JsonObject # noqa
9-
from .basic_objects import JsonValidator # noqa
6+
from .basic_objects import BaseObject
7+
from .basic_objects import EnumValidator
8+
from .basic_objects import JsonObject
9+
from .basic_objects import JsonValidator
1010

1111

1212
# NOTE: used only for legacy components - don't use this for Block Kit
@@ -49,3 +49,13 @@ def show_unknown_key_warning(name: Union[str, object], others: dict):
4949
f"If they should be supported by this library, report this issue to the project :bow: "
5050
f"https://github.com/slackapi/python-slack-sdk/issues"
5151
)
52+
53+
54+
__all__ = [
55+
"BaseObject",
56+
"EnumValidator",
57+
"JsonObject",
58+
"JsonValidator",
59+
"extract_json",
60+
"show_unknown_key_warning",
61+
]

slack_sdk/models/blocks/__init__.py

Lines changed: 87 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -6,45 +6,90 @@
66
* https://api.slack.com/reference/block-kit/blocks
77
* https://app.slack.com/block-kit-builder
88
"""
9-
from .basic_components import ButtonStyles # noqa
10-
from .basic_components import ConfirmObject # noqa
11-
from .basic_components import DynamicSelectElementTypes # noqa
12-
from .basic_components import MarkdownTextObject # noqa
13-
from .basic_components import Option # noqa
14-
from .basic_components import OptionGroup # noqa
15-
from .basic_components import PlainTextObject # noqa
16-
from .basic_components import TextObject # noqa
17-
from .block_elements import BlockElement # noqa
18-
from .block_elements import ButtonElement # noqa
19-
from .block_elements import ChannelMultiSelectElement # noqa
20-
from .block_elements import ChannelSelectElement # noqa
21-
from .block_elements import CheckboxesElement # noqa
22-
from .block_elements import ConversationFilter # noqa
23-
from .block_elements import ConversationMultiSelectElement # noqa
24-
from .block_elements import ConversationSelectElement # noqa
25-
from .block_elements import DatePickerElement # noqa
26-
from .block_elements import TimePickerElement # noqa
27-
from .block_elements import ExternalDataMultiSelectElement # noqa
28-
from .block_elements import ExternalDataSelectElement # noqa
29-
from .block_elements import ImageElement # noqa
30-
from .block_elements import InputInteractiveElement # noqa
31-
from .block_elements import InteractiveElement # noqa
32-
from .block_elements import LinkButtonElement # noqa
33-
from .block_elements import OverflowMenuElement # noqa
34-
from .block_elements import PlainTextInputElement # noqa
35-
from .block_elements import RadioButtonsElement # noqa
36-
from .block_elements import SelectElement # noqa
37-
from .block_elements import StaticMultiSelectElement # noqa
38-
from .block_elements import StaticSelectElement # noqa
39-
from .block_elements import UserMultiSelectElement # noqa
40-
from .block_elements import UserSelectElement # noqa
41-
from .blocks import ActionsBlock # noqa
42-
from .blocks import Block # noqa
43-
from .blocks import CallBlock # noqa
44-
from .blocks import ContextBlock # noqa
45-
from .blocks import DividerBlock # noqa
46-
from .blocks import FileBlock # noqa
47-
from .blocks import HeaderBlock # noqa
48-
from .blocks import ImageBlock # noqa
49-
from .blocks import InputBlock # noqa
50-
from .blocks import SectionBlock # noqa
9+
from .basic_components import ButtonStyles
10+
from .basic_components import ConfirmObject
11+
from .basic_components import DynamicSelectElementTypes
12+
from .basic_components import MarkdownTextObject
13+
from .basic_components import Option
14+
from .basic_components import OptionGroup
15+
from .basic_components import PlainTextObject
16+
from .basic_components import TextObject
17+
from .block_elements import BlockElement
18+
from .block_elements import ButtonElement
19+
from .block_elements import ChannelMultiSelectElement
20+
from .block_elements import ChannelSelectElement
21+
from .block_elements import CheckboxesElement
22+
from .block_elements import ConversationFilter
23+
from .block_elements import ConversationMultiSelectElement
24+
from .block_elements import ConversationSelectElement
25+
from .block_elements import DatePickerElement
26+
from .block_elements import TimePickerElement
27+
from .block_elements import ExternalDataMultiSelectElement
28+
from .block_elements import ExternalDataSelectElement
29+
from .block_elements import ImageElement
30+
from .block_elements import InputInteractiveElement
31+
from .block_elements import InteractiveElement
32+
from .block_elements import LinkButtonElement
33+
from .block_elements import OverflowMenuElement
34+
from .block_elements import PlainTextInputElement
35+
from .block_elements import RadioButtonsElement
36+
from .block_elements import SelectElement
37+
from .block_elements import StaticMultiSelectElement
38+
from .block_elements import StaticSelectElement
39+
from .block_elements import UserMultiSelectElement
40+
from .block_elements import UserSelectElement
41+
from .blocks import ActionsBlock
42+
from .blocks import Block
43+
from .blocks import CallBlock
44+
from .blocks import ContextBlock
45+
from .blocks import DividerBlock
46+
from .blocks import FileBlock
47+
from .blocks import HeaderBlock
48+
from .blocks import ImageBlock
49+
from .blocks import InputBlock
50+
from .blocks import SectionBlock
51+
52+
__all__ = [
53+
"ButtonStyles",
54+
"ConfirmObject",
55+
"DynamicSelectElementTypes",
56+
"MarkdownTextObject",
57+
"Option",
58+
"OptionGroup",
59+
"PlainTextObject",
60+
"TextObject",
61+
"BlockElement",
62+
"ButtonElement",
63+
"ChannelMultiSelectElement",
64+
"ChannelSelectElement",
65+
"CheckboxesElement",
66+
"ConversationFilter",
67+
"ConversationMultiSelectElement",
68+
"ConversationSelectElement",
69+
"DatePickerElement",
70+
"TimePickerElement",
71+
"ExternalDataMultiSelectElement",
72+
"ExternalDataSelectElement",
73+
"ImageElement",
74+
"InputInteractiveElement",
75+
"InteractiveElement",
76+
"LinkButtonElement",
77+
"OverflowMenuElement",
78+
"PlainTextInputElement",
79+
"RadioButtonsElement",
80+
"SelectElement",
81+
"StaticMultiSelectElement",
82+
"StaticSelectElement",
83+
"UserMultiSelectElement",
84+
"UserSelectElement",
85+
"ActionsBlock",
86+
"Block",
87+
"CallBlock",
88+
"ContextBlock",
89+
"DividerBlock",
90+
"FileBlock",
91+
"HeaderBlock",
92+
"ImageBlock",
93+
"InputBlock",
94+
"SectionBlock",
95+
]

0 commit comments

Comments
 (0)