funora 0.0.1.dev2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- funora/__init__.py +265 -0
- funora/_account.py +661 -0
- funora/_aclient.py +1484 -0
- funora/_budget.py +579 -0
- funora/_calc.py +182 -0
- funora/_canonical.py +235 -0
- funora/_catalog.py +473 -0
- funora/_chat_history.py +367 -0
- funora/_chats.py +392 -0
- funora/_chips.py +403 -0
- funora/_classify.py +466 -0
- funora/_client.py +1490 -0
- funora/_currency_switch.py +130 -0
- funora/_cursor.py +120 -0
- funora/_delivered.py +233 -0
- funora/_diff.py +752 -0
- funora/_engine.py +4795 -0
- funora/_extract.py +124 -0
- funora/_field_schema.py +112 -0
- funora/_fileio.py +58 -0
- funora/_gate.py +69 -0
- funora/_hops.py +101 -0
- funora/_host.py +120 -0
- funora/_identity.py +284 -0
- funora/_json.py +31 -0
- funora/_listen.py +312 -0
- funora/_lot_form.py +331 -0
- funora/_market.py +406 -0
- funora/_matching.py +147 -0
- funora/_money.py +279 -0
- funora/_monitoring.py +396 -0
- funora/_observed.py +237 -0
- funora/_order.py +552 -0
- funora/_order_details.py +281 -0
- funora/_orders.py +807 -0
- funora/_outbound.py +453 -0
- funora/_own_lots.py +301 -0
- funora/_poll.py +410 -0
- funora/_price_audit.py +281 -0
- funora/_proxies.py +232 -0
- funora/_raise.py +150 -0
- funora/_refund.py +102 -0
- funora/_result.py +157 -0
- funora/_retry.py +213 -0
- funora/_review_write.py +138 -0
- funora/_reviews.py +584 -0
- funora/_runner.py +651 -0
- funora/_secret.py +385 -0
- funora/_showcase.py +362 -0
- funora/_signals.py +375 -0
- funora/_skeleton.py +752 -0
- funora/_snapshot.py +276 -0
- funora/_state.py +279 -0
- funora/_stock.py +32 -0
- funora/_thread.py +574 -0
- funora/_transport.py +1023 -0
- funora/_updates.py +292 -0
- funora/_verdicts.py +91 -0
- funora/_viewing.py +143 -0
- funora/_watch.py +825 -0
- funora/_watch_state.py +237 -0
- funora/_whoami.py +546 -0
- funora/bot/__init__.py +52 -0
- funora/bot/_delivery.py +341 -0
- funora/bot/_outbox.py +261 -0
- funora/bot/_runtime.py +447 -0
- funora/bot/_spool.py +534 -0
- funora/budget.py +311 -0
- funora/capabilities.py +297 -0
- funora/conformance.py +758 -0
- funora/contract.py +73 -0
- funora/errors.py +996 -0
- funora/events.py +189 -0
- funora/extraction.py +420 -0
- funora/observe.py +560 -0
- funora/operations.py +671 -0
- funora/py.typed +0 -0
- funora/reconciliation.py +51 -0
- funora/response_classes.py +155 -0
- funora/retry.py +238 -0
- funora/send_outcome.py +78 -0
- funora/skeleton_format.py +77 -0
- funora-0.0.1.dev2.dist-info/METADATA +294 -0
- funora-0.0.1.dev2.dist-info/RECORD +87 -0
- funora-0.0.1.dev2.dist-info/WHEEL +4 -0
- funora-0.0.1.dev2.dist-info/entry_points.txt +2 -0
- funora-0.0.1.dev2.dist-info/licenses/LICENSE +201 -0
funora/__init__.py
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"""Funora - неофициальный SDK и framework для площадки FunPay.
|
|
2
|
+
|
|
3
|
+
В пакете есть первая операция чтения и инструмент наблюдения за протоколом.
|
|
4
|
+
Стабильным контрактом не является ничто: спецификация в состоянии draft.
|
|
5
|
+
|
|
6
|
+
Что уже есть:
|
|
7
|
+
|
|
8
|
+
* :class:`~funora._secret.Secret` и источники секретов - тип, не раскрывающий
|
|
9
|
+
значение ни в одном выходном канале;
|
|
10
|
+
* :func:`~funora._classify.classify` - конвейер классификации ответа, который
|
|
11
|
+
отличает страницу входа, проверку и блокировку от поломки разметки;
|
|
12
|
+
* :func:`~funora._skeleton.skeletonize` - структурный скелет страницы, в котором
|
|
13
|
+
персональных данных не может быть по построению;
|
|
14
|
+
* ``funora-observe`` - инструмент однократного наблюдения.
|
|
15
|
+
|
|
16
|
+
Ничего из этого не является стабильным контрактом. Публичный API появится после
|
|
17
|
+
того, как спецификация перейдёт в состояние released.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
from __future__ import annotations
|
|
21
|
+
|
|
22
|
+
from ._account import BalancePage, Transaction, WithdrawalChannel, WithdrawalOption
|
|
23
|
+
from ._aclient import AsyncChatsService, AsyncClient, AsyncOrdersService
|
|
24
|
+
from ._budget import Budget, Reservation
|
|
25
|
+
from ._calc import PaymentMethod, PriceCalculation
|
|
26
|
+
from ._catalog import CatalogGame, CatalogPage
|
|
27
|
+
from ._chat_history import ChatHistory
|
|
28
|
+
from ._chats import ChatListEntry, ChatsPage, parse_chats_page
|
|
29
|
+
from ._chips import ChipsOffer, ChipsPage
|
|
30
|
+
from ._classify import (
|
|
31
|
+
DEFAULT_CONTENT_MARKERS,
|
|
32
|
+
DEFAULT_IDENTITY_CSS,
|
|
33
|
+
ResponseClass,
|
|
34
|
+
Signature,
|
|
35
|
+
Verdict,
|
|
36
|
+
classify,
|
|
37
|
+
)
|
|
38
|
+
from ._client import ChatsService, Client, OrdersService
|
|
39
|
+
from ._currency_switch import CurrencySwitch
|
|
40
|
+
from ._diff import (
|
|
41
|
+
Event,
|
|
42
|
+
chats_cursor,
|
|
43
|
+
diff_chats,
|
|
44
|
+
diff_orders,
|
|
45
|
+
diff_thread,
|
|
46
|
+
orders_cursor,
|
|
47
|
+
thread_cursor,
|
|
48
|
+
)
|
|
49
|
+
from ._field_schema import FieldDefinition, FieldOption, FieldSchema
|
|
50
|
+
from ._gate import check_capability
|
|
51
|
+
from ._host import host_of, is_safe_hop, same_host
|
|
52
|
+
from ._lot_form import LotForm, parse_lot_form
|
|
53
|
+
from ._market import MarketOffer, MarketPage
|
|
54
|
+
from ._money import CURRENCY_BY_SYMBOL, Money, currency_of_symbol
|
|
55
|
+
from ._monitoring import MarketWatch, MonitoringLimit, MonitoringPlan
|
|
56
|
+
from ._observed import Confidence, Observed, Presence
|
|
57
|
+
from ._order import OrderParam, OrderView
|
|
58
|
+
from ._order_details import OrderDetails, OrderDetailsBatch
|
|
59
|
+
from ._orders import (
|
|
60
|
+
Completeness,
|
|
61
|
+
Defect,
|
|
62
|
+
OrderListEntry,
|
|
63
|
+
OrdersPage,
|
|
64
|
+
Severity,
|
|
65
|
+
parse_orders_page,
|
|
66
|
+
)
|
|
67
|
+
from ._own_lots import OwnLot, OwnLotsPage
|
|
68
|
+
from ._poll import Deduplicator, Schedule
|
|
69
|
+
from ._proxies import Proxy
|
|
70
|
+
from ._raise import RaiseResult
|
|
71
|
+
from ._refund import RefundResult
|
|
72
|
+
from ._retry import Attempt, Safety, plan_attempt, policy_for
|
|
73
|
+
from ._review_write import ReviewResult
|
|
74
|
+
from ._reviews import Review, ReviewsCursor, ReviewsPage
|
|
75
|
+
from ._runner import SendResult
|
|
76
|
+
from ._secret import (
|
|
77
|
+
CallableSecretProvider,
|
|
78
|
+
EnvSecretProvider,
|
|
79
|
+
FileSecretProvider,
|
|
80
|
+
Secret,
|
|
81
|
+
SecretNotFoundError,
|
|
82
|
+
SecretProvider,
|
|
83
|
+
)
|
|
84
|
+
from ._showcase import ShowcasePage, ShowcaseSection
|
|
85
|
+
from ._skeleton import SkeletonError, skeletonize
|
|
86
|
+
from ._snapshot import MarketDiff, MarketSnapshot, SnapshotEntry, compare
|
|
87
|
+
from ._state import StateFile
|
|
88
|
+
from ._thread import Message, Origin, Thread, parse_thread
|
|
89
|
+
from ._transport import AsyncFetcher, Fetcher, Observation, TransportSettings
|
|
90
|
+
from ._updates import (
|
|
91
|
+
MAX_SUBSCRIPTION,
|
|
92
|
+
ChannelObject,
|
|
93
|
+
UpdatesAnswer,
|
|
94
|
+
build_subscription,
|
|
95
|
+
parse_updates_answer,
|
|
96
|
+
)
|
|
97
|
+
from ._verdicts import error_for
|
|
98
|
+
from ._viewing import BuyerViewing
|
|
99
|
+
from ._watch import Router, StepResult, adispatch, dispatch
|
|
100
|
+
from ._whoami import Account, CapabilityEvaluation, CapabilityProfile, SessionHealth
|
|
101
|
+
from .capabilities import CAPABILITY_INITIAL, Capability, CapabilityState
|
|
102
|
+
from .errors import ERROR_BY_ABI_CODE, ERROR_BY_STABLE_ID, FunoraError
|
|
103
|
+
from .events import EventType
|
|
104
|
+
from .extraction import (
|
|
105
|
+
PRESENCE_BY_CLASS,
|
|
106
|
+
ROW_MARKER_BY_STATUS,
|
|
107
|
+
STATUS_BY_CELL_CLASS,
|
|
108
|
+
OrderStatus,
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
__version__ = "0.0.1.dev2"
|
|
112
|
+
|
|
113
|
+
__all__ = [
|
|
114
|
+
"MarketWatch",
|
|
115
|
+
"MonitoringPlan",
|
|
116
|
+
"MonitoringLimit",
|
|
117
|
+
"FieldDefinition",
|
|
118
|
+
"FieldOption",
|
|
119
|
+
"FieldSchema",
|
|
120
|
+
"__version__",
|
|
121
|
+
# клиент
|
|
122
|
+
"Client",
|
|
123
|
+
"AsyncClient",
|
|
124
|
+
"OrdersService",
|
|
125
|
+
"AsyncOrdersService",
|
|
126
|
+
"ChatsService",
|
|
127
|
+
"AsyncChatsService",
|
|
128
|
+
"BuyerViewing",
|
|
129
|
+
"Budget",
|
|
130
|
+
"Proxy",
|
|
131
|
+
"Reservation",
|
|
132
|
+
# секреты
|
|
133
|
+
"Secret",
|
|
134
|
+
"SecretProvider",
|
|
135
|
+
"SecretNotFoundError",
|
|
136
|
+
"EnvSecretProvider",
|
|
137
|
+
"FileSecretProvider",
|
|
138
|
+
"CallableSecretProvider",
|
|
139
|
+
# классификация
|
|
140
|
+
"classify",
|
|
141
|
+
"ResponseClass",
|
|
142
|
+
"Verdict",
|
|
143
|
+
"Signature",
|
|
144
|
+
"DEFAULT_IDENTITY_CSS",
|
|
145
|
+
"DEFAULT_CONTENT_MARKERS",
|
|
146
|
+
"error_for",
|
|
147
|
+
"check_capability",
|
|
148
|
+
"same_host",
|
|
149
|
+
"is_safe_hop",
|
|
150
|
+
"host_of",
|
|
151
|
+
"plan_attempt",
|
|
152
|
+
"policy_for",
|
|
153
|
+
"Attempt",
|
|
154
|
+
"Safety",
|
|
155
|
+
# скелет
|
|
156
|
+
"skeletonize",
|
|
157
|
+
"SkeletonError",
|
|
158
|
+
# транспорт
|
|
159
|
+
"Fetcher",
|
|
160
|
+
"AsyncFetcher",
|
|
161
|
+
"Observation",
|
|
162
|
+
"TransportSettings",
|
|
163
|
+
# наблюдаемость
|
|
164
|
+
"MarketSnapshot",
|
|
165
|
+
"compare",
|
|
166
|
+
"MarketDiff",
|
|
167
|
+
"SnapshotEntry",
|
|
168
|
+
"Money",
|
|
169
|
+
"CURRENCY_BY_SYMBOL",
|
|
170
|
+
"currency_of_symbol",
|
|
171
|
+
"Observed",
|
|
172
|
+
"Presence",
|
|
173
|
+
"Confidence",
|
|
174
|
+
# список заказов
|
|
175
|
+
"parse_orders_page",
|
|
176
|
+
"OrdersPage",
|
|
177
|
+
"OrderStatus",
|
|
178
|
+
"STATUS_BY_CELL_CLASS",
|
|
179
|
+
"ROW_MARKER_BY_STATUS",
|
|
180
|
+
"PRESENCE_BY_CLASS",
|
|
181
|
+
"OrderListEntry",
|
|
182
|
+
"Completeness",
|
|
183
|
+
"Defect",
|
|
184
|
+
"Severity",
|
|
185
|
+
# То, что возвращают операции, и то, чем это перебирается.
|
|
186
|
+
#
|
|
187
|
+
# Прежде половина этих имён жила в приватных модулях, а операции ими уже
|
|
188
|
+
# возвращали. Вызывающий, которому нужна аннотация типа, лез в модуль с
|
|
189
|
+
# подчёркиванием - то есть в место, о котором пакет прямо говорит «менять
|
|
190
|
+
# буду молча».
|
|
191
|
+
"OrderView",
|
|
192
|
+
"OrderDetails",
|
|
193
|
+
"OrderDetailsBatch",
|
|
194
|
+
"OrderParam",
|
|
195
|
+
"SendResult",
|
|
196
|
+
"Account",
|
|
197
|
+
"SessionHealth",
|
|
198
|
+
"CapabilityProfile",
|
|
199
|
+
"CapabilityEvaluation",
|
|
200
|
+
"BalancePage",
|
|
201
|
+
"WithdrawalChannel",
|
|
202
|
+
"WithdrawalOption",
|
|
203
|
+
"Transaction",
|
|
204
|
+
"ReviewsPage",
|
|
205
|
+
"ReviewsCursor",
|
|
206
|
+
"Review",
|
|
207
|
+
"OwnLotsPage",
|
|
208
|
+
"CurrencySwitch",
|
|
209
|
+
"PaymentMethod",
|
|
210
|
+
"PriceCalculation",
|
|
211
|
+
"RaiseResult",
|
|
212
|
+
"RefundResult",
|
|
213
|
+
"ReviewResult",
|
|
214
|
+
"OwnLot",
|
|
215
|
+
"LotForm",
|
|
216
|
+
"parse_lot_form",
|
|
217
|
+
"ShowcasePage",
|
|
218
|
+
"ShowcaseSection",
|
|
219
|
+
"CatalogPage",
|
|
220
|
+
"CatalogGame",
|
|
221
|
+
"ChipsPage",
|
|
222
|
+
"ChipsOffer",
|
|
223
|
+
"MarketPage",
|
|
224
|
+
"MarketOffer",
|
|
225
|
+
# канал обновлений
|
|
226
|
+
"UpdatesAnswer",
|
|
227
|
+
"ChannelObject",
|
|
228
|
+
"parse_updates_answer",
|
|
229
|
+
"build_subscription",
|
|
230
|
+
"MAX_SUBSCRIPTION",
|
|
231
|
+
# список диалогов
|
|
232
|
+
"parse_chats_page",
|
|
233
|
+
"ChatHistory",
|
|
234
|
+
"ChatsPage",
|
|
235
|
+
"ChatListEntry",
|
|
236
|
+
# переписка
|
|
237
|
+
"parse_thread",
|
|
238
|
+
"Thread",
|
|
239
|
+
"Message",
|
|
240
|
+
"Origin",
|
|
241
|
+
# события
|
|
242
|
+
"Event",
|
|
243
|
+
"EventType",
|
|
244
|
+
"diff_orders",
|
|
245
|
+
"diff_chats",
|
|
246
|
+
"diff_thread",
|
|
247
|
+
"orders_cursor",
|
|
248
|
+
"chats_cursor",
|
|
249
|
+
"thread_cursor",
|
|
250
|
+
"Schedule",
|
|
251
|
+
"Deduplicator",
|
|
252
|
+
"Router",
|
|
253
|
+
"StepResult",
|
|
254
|
+
"dispatch",
|
|
255
|
+
"adispatch",
|
|
256
|
+
"StateFile",
|
|
257
|
+
# возможности
|
|
258
|
+
"Capability",
|
|
259
|
+
"CapabilityState",
|
|
260
|
+
"CAPABILITY_INITIAL",
|
|
261
|
+
# ошибки
|
|
262
|
+
"FunoraError",
|
|
263
|
+
"ERROR_BY_STABLE_ID",
|
|
264
|
+
"ERROR_BY_ABI_CODE",
|
|
265
|
+
]
|