airbyte-agent-klaviyo 0.1.0__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.
Files changed (57) hide show
  1. airbyte_agent_klaviyo/__init__.py +225 -0
  2. airbyte_agent_klaviyo/_vendored/__init__.py +1 -0
  3. airbyte_agent_klaviyo/_vendored/connector_sdk/__init__.py +82 -0
  4. airbyte_agent_klaviyo/_vendored/connector_sdk/auth_strategies.py +1171 -0
  5. airbyte_agent_klaviyo/_vendored/connector_sdk/auth_template.py +135 -0
  6. airbyte_agent_klaviyo/_vendored/connector_sdk/cloud_utils/__init__.py +5 -0
  7. airbyte_agent_klaviyo/_vendored/connector_sdk/cloud_utils/client.py +213 -0
  8. airbyte_agent_klaviyo/_vendored/connector_sdk/connector_model_loader.py +1120 -0
  9. airbyte_agent_klaviyo/_vendored/connector_sdk/constants.py +78 -0
  10. airbyte_agent_klaviyo/_vendored/connector_sdk/exceptions.py +23 -0
  11. airbyte_agent_klaviyo/_vendored/connector_sdk/executor/__init__.py +31 -0
  12. airbyte_agent_klaviyo/_vendored/connector_sdk/executor/hosted_executor.py +201 -0
  13. airbyte_agent_klaviyo/_vendored/connector_sdk/executor/local_executor.py +1854 -0
  14. airbyte_agent_klaviyo/_vendored/connector_sdk/executor/models.py +202 -0
  15. airbyte_agent_klaviyo/_vendored/connector_sdk/extensions.py +693 -0
  16. airbyte_agent_klaviyo/_vendored/connector_sdk/http/__init__.py +37 -0
  17. airbyte_agent_klaviyo/_vendored/connector_sdk/http/adapters/__init__.py +9 -0
  18. airbyte_agent_klaviyo/_vendored/connector_sdk/http/adapters/httpx_adapter.py +251 -0
  19. airbyte_agent_klaviyo/_vendored/connector_sdk/http/config.py +98 -0
  20. airbyte_agent_klaviyo/_vendored/connector_sdk/http/exceptions.py +119 -0
  21. airbyte_agent_klaviyo/_vendored/connector_sdk/http/protocols.py +114 -0
  22. airbyte_agent_klaviyo/_vendored/connector_sdk/http/response.py +104 -0
  23. airbyte_agent_klaviyo/_vendored/connector_sdk/http_client.py +693 -0
  24. airbyte_agent_klaviyo/_vendored/connector_sdk/introspection.py +481 -0
  25. airbyte_agent_klaviyo/_vendored/connector_sdk/logging/__init__.py +11 -0
  26. airbyte_agent_klaviyo/_vendored/connector_sdk/logging/logger.py +273 -0
  27. airbyte_agent_klaviyo/_vendored/connector_sdk/logging/types.py +93 -0
  28. airbyte_agent_klaviyo/_vendored/connector_sdk/observability/__init__.py +11 -0
  29. airbyte_agent_klaviyo/_vendored/connector_sdk/observability/config.py +179 -0
  30. airbyte_agent_klaviyo/_vendored/connector_sdk/observability/models.py +19 -0
  31. airbyte_agent_klaviyo/_vendored/connector_sdk/observability/redactor.py +81 -0
  32. airbyte_agent_klaviyo/_vendored/connector_sdk/observability/session.py +103 -0
  33. airbyte_agent_klaviyo/_vendored/connector_sdk/performance/__init__.py +6 -0
  34. airbyte_agent_klaviyo/_vendored/connector_sdk/performance/instrumentation.py +57 -0
  35. airbyte_agent_klaviyo/_vendored/connector_sdk/performance/metrics.py +93 -0
  36. airbyte_agent_klaviyo/_vendored/connector_sdk/schema/__init__.py +75 -0
  37. airbyte_agent_klaviyo/_vendored/connector_sdk/schema/base.py +201 -0
  38. airbyte_agent_klaviyo/_vendored/connector_sdk/schema/components.py +244 -0
  39. airbyte_agent_klaviyo/_vendored/connector_sdk/schema/connector.py +120 -0
  40. airbyte_agent_klaviyo/_vendored/connector_sdk/schema/extensions.py +301 -0
  41. airbyte_agent_klaviyo/_vendored/connector_sdk/schema/operations.py +156 -0
  42. airbyte_agent_klaviyo/_vendored/connector_sdk/schema/security.py +236 -0
  43. airbyte_agent_klaviyo/_vendored/connector_sdk/secrets.py +182 -0
  44. airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/__init__.py +10 -0
  45. airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/config.py +32 -0
  46. airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/events.py +59 -0
  47. airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/tracker.py +155 -0
  48. airbyte_agent_klaviyo/_vendored/connector_sdk/types.py +270 -0
  49. airbyte_agent_klaviyo/_vendored/connector_sdk/utils.py +60 -0
  50. airbyte_agent_klaviyo/_vendored/connector_sdk/validation.py +848 -0
  51. airbyte_agent_klaviyo/connector.py +1431 -0
  52. airbyte_agent_klaviyo/connector_model.py +2230 -0
  53. airbyte_agent_klaviyo/models.py +676 -0
  54. airbyte_agent_klaviyo/types.py +1319 -0
  55. airbyte_agent_klaviyo-0.1.0.dist-info/METADATA +151 -0
  56. airbyte_agent_klaviyo-0.1.0.dist-info/RECORD +57 -0
  57. airbyte_agent_klaviyo-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,151 @@
1
+ Metadata-Version: 2.4
2
+ Name: airbyte-agent-klaviyo
3
+ Version: 0.1.0
4
+ Summary: Airbyte Klaviyo Connector for AI platforms
5
+ Project-URL: Homepage, https://github.com/airbytehq/airbyte-agent-connectors
6
+ Project-URL: Documentation, https://docs.airbyte.com/ai-agents/
7
+ Project-URL: Repository, https://github.com/airbytehq/airbyte-agent-connectors
8
+ Project-URL: Issues, https://github.com/airbytehq/airbyte-agent-connectors/issues
9
+ Author-email: Airbyte <contact@airbyte.io>
10
+ License: Elastic-2.0
11
+ Keywords: agent,ai,airbyte,api,connector,data-integration,klaviyo,llm,mcp
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: Other/Proprietary License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Classifier: Typing :: Typed
21
+ Requires-Python: >=3.13
22
+ Requires-Dist: httpx>=0.24.0
23
+ Requires-Dist: jinja2>=3.0.0
24
+ Requires-Dist: jsonpath-ng>=1.6.1
25
+ Requires-Dist: jsonref>=1.1.0
26
+ Requires-Dist: opentelemetry-api>=1.37.0
27
+ Requires-Dist: opentelemetry-sdk>=1.37.0
28
+ Requires-Dist: pydantic>=2.0.0
29
+ Requires-Dist: python-dotenv>=1.0.0
30
+ Requires-Dist: pyyaml>=6.0
31
+ Requires-Dist: segment-analytics-python>=2.2.0
32
+ Description-Content-Type: text/markdown
33
+
34
+ # Klaviyo agent connector
35
+
36
+ Klaviyo is a marketing automation platform that helps businesses build customer relationships
37
+ through personalized email, SMS, and push notifications. This connector provides access to
38
+ Klaviyo's core entities including profiles, lists, campaigns, events, metrics, flows, and
39
+ email templates for marketing analytics and customer engagement insights.
40
+
41
+
42
+ ## Example questions
43
+
44
+ The Klaviyo connector is optimized to handle prompts like these.
45
+
46
+ - List all profiles in my Klaviyo account
47
+ - Get profile details for a specific contact
48
+ - Show me all email lists
49
+ - Get details for a specific email list
50
+ - What campaigns have been created?
51
+ - Get details for a specific campaign
52
+ - Show me all email campaigns
53
+ - List all events for tracking customer actions
54
+ - Show me all metrics (event types)
55
+ - Get details for a specific metric
56
+ - What automated flows are configured?
57
+ - Get details for a specific flow
58
+ - List all email templates
59
+ - Get details for a specific email template
60
+
61
+ ## Unsupported questions
62
+
63
+ The Klaviyo connector isn't currently able to handle prompts like these.
64
+
65
+ - Create a new profile
66
+ - Update a profile's email address
67
+ - Delete a list
68
+ - Send an email campaign
69
+ - Add a profile to a list
70
+
71
+ ## Installation
72
+
73
+ ```bash
74
+ uv pip install airbyte-agent-klaviyo
75
+ ```
76
+
77
+ ## Usage
78
+
79
+ Connectors can run in open source or hosted mode.
80
+
81
+ ### Open source
82
+
83
+ In open source mode, you provide API credentials directly to the connector.
84
+
85
+ ```python
86
+ from airbyte_agent_klaviyo import KlaviyoConnector
87
+ from airbyte_agent_klaviyo.models import KlaviyoAuthConfig
88
+
89
+ connector = KlaviyoConnector(
90
+ auth_config=KlaviyoAuthConfig(
91
+ api_key="<Your Klaviyo private API key>"
92
+ )
93
+ )
94
+
95
+ @agent.tool_plain # assumes you're using Pydantic AI
96
+ @KlaviyoConnector.tool_utils
97
+ async def klaviyo_execute(entity: str, action: str, params: dict | None = None):
98
+ return await connector.execute(entity, action, params or {})
99
+ ```
100
+
101
+ ### Hosted
102
+
103
+ In hosted mode, API credentials are stored securely in Airbyte Cloud. You provide your Airbyte credentials instead.
104
+
105
+ This example assumes you've already authenticated your connector with Airbyte. See [Authentication](AUTH.md) to learn more about authenticating. If you need a step-by-step guide, see the [hosted execution tutorial](https://docs.airbyte.com/ai-agents/quickstarts/tutorial-hosted).
106
+
107
+ ```python
108
+ from airbyte_agent_klaviyo import KlaviyoConnector
109
+
110
+ connector = KlaviyoConnector(
111
+ external_user_id="<your_external_user_id>",
112
+ airbyte_client_id="<your-client-id>",
113
+ airbyte_client_secret="<your-client-secret>"
114
+ )
115
+
116
+ @agent.tool_plain # assumes you're using Pydantic AI
117
+ @KlaviyoConnector.tool_utils
118
+ async def klaviyo_execute(entity: str, action: str, params: dict | None = None):
119
+ return await connector.execute(entity, action, params or {})
120
+ ```
121
+
122
+ ## Full documentation
123
+
124
+ ### Entities and actions
125
+
126
+ This connector supports the following entities and actions. For more details, see this connector's [full reference documentation](REFERENCE.md).
127
+
128
+ | Entity | Actions |
129
+ |--------|---------|
130
+ | Profiles | [List](./REFERENCE.md#profiles-list), [Get](./REFERENCE.md#profiles-get) |
131
+ | Lists | [List](./REFERENCE.md#lists-list), [Get](./REFERENCE.md#lists-get) |
132
+ | Campaigns | [List](./REFERENCE.md#campaigns-list), [Get](./REFERENCE.md#campaigns-get) |
133
+ | Events | [List](./REFERENCE.md#events-list) |
134
+ | Metrics | [List](./REFERENCE.md#metrics-list), [Get](./REFERENCE.md#metrics-get) |
135
+ | Flows | [List](./REFERENCE.md#flows-list), [Get](./REFERENCE.md#flows-get) |
136
+ | Email Templates | [List](./REFERENCE.md#email-templates-list), [Get](./REFERENCE.md#email-templates-get) |
137
+
138
+
139
+ ### Authentication and configuration
140
+
141
+ For all authentication and configuration options, see the connector's [authentication documentation](AUTH.md).
142
+
143
+ ### Klaviyo API docs
144
+
145
+ See the official [Klaviyo API reference](https://developers.klaviyo.com/en/reference/api_overview).
146
+
147
+ ## Version information
148
+
149
+ - **Package version:** 0.1.0
150
+ - **Connector version:** 1.0.0
151
+ - **Generated with Connector SDK commit SHA:** 041914fa4b59b21aa6a089ff71a23765bcc13e54
@@ -0,0 +1,57 @@
1
+ airbyte_agent_klaviyo/__init__.py,sha256=rbYjjVvN8jBNcF7EWzwhAvvwD-9deGNMpSGxjXriMK4,5183
2
+ airbyte_agent_klaviyo/connector.py,sha256=s76Mx4tIQbbu_iS9TQVlk19OhYoEejvuAwjAC8TzDek,45379
3
+ airbyte_agent_klaviyo/connector_model.py,sha256=-CI6kFqFVeaoUuxnGa3cxLTsAJyv-Iz6jIyzSCFKWUs,115589
4
+ airbyte_agent_klaviyo/models.py,sha256=mfvaBMYKtTgfHyWLIXP4zWxhp8Y1PQg8dZs3eTHqRmU,24800
5
+ airbyte_agent_klaviyo/types.py,sha256=3tmMm_Tr3BGpSsFwkzY59B62WVo16pLjFKn2l1xwids,35253
6
+ airbyte_agent_klaviyo/_vendored/__init__.py,sha256=ILl7AHXMui__swyrjxrh9yRa4dLiwBvV6axPWFWty80,38
7
+ airbyte_agent_klaviyo/_vendored/connector_sdk/__init__.py,sha256=T5o7roU6NSpH-lCAGZ338sE5dlh4ZU6i6IkeG1zpems,1949
8
+ airbyte_agent_klaviyo/_vendored/connector_sdk/auth_strategies.py,sha256=5Sb9moUp623o67Q2wMa8iZldJH08y4gQdoutoO_75Iw,42088
9
+ airbyte_agent_klaviyo/_vendored/connector_sdk/auth_template.py,sha256=nju4jqlFC_KI82ILNumNIyiUtRJcy7J94INIZ0QraI4,4454
10
+ airbyte_agent_klaviyo/_vendored/connector_sdk/connector_model_loader.py,sha256=ecm0Cdj1SyhDOpEi2wUzzrJNkgt0wViB0Q-YTrDPsjU,41698
11
+ airbyte_agent_klaviyo/_vendored/connector_sdk/constants.py,sha256=AtzOvhDMWbRJgpsQNWl5tkogHD6mWgEY668PgRmgtOY,2737
12
+ airbyte_agent_klaviyo/_vendored/connector_sdk/exceptions.py,sha256=ss5MGv9eVPmsbLcLWetuu3sDmvturwfo6Pw3M37Oq5k,481
13
+ airbyte_agent_klaviyo/_vendored/connector_sdk/extensions.py,sha256=XWRRoJOOrwUHSKbuQt5DU7CCu8ePzhd_HuP7c_uD77w,21376
14
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http_client.py,sha256=09Fclbq4wrg38EM2Yh2kHiykQVXqdAGby024elcEz8E,28027
15
+ airbyte_agent_klaviyo/_vendored/connector_sdk/introspection.py,sha256=e9uWn2ofpeehoBbzNgts_bjlKLn8ayA1Y3OpDC3b7ZA,19517
16
+ airbyte_agent_klaviyo/_vendored/connector_sdk/secrets.py,sha256=J9ezMu4xNnLW11xY5RCre6DHP7YMKZCqwGJfk7ufHAM,6855
17
+ airbyte_agent_klaviyo/_vendored/connector_sdk/types.py,sha256=sRZ4rRkJXGfqdjfF3qb0kzrw_tu1cn-CmFSZKMMgF7o,9269
18
+ airbyte_agent_klaviyo/_vendored/connector_sdk/utils.py,sha256=G4LUXOC2HzPoND2v4tQW68R9uuPX9NQyCjaGxb7Kpl0,1958
19
+ airbyte_agent_klaviyo/_vendored/connector_sdk/validation.py,sha256=2Qof3QiOEEupTsT6F1MvMDCZTPl4IuzkeUUvn_IYFjg,32905
20
+ airbyte_agent_klaviyo/_vendored/connector_sdk/cloud_utils/__init__.py,sha256=4799Hv9f2zxDVj1aLyQ8JpTEuFTp_oOZMRz-NZCdBJg,134
21
+ airbyte_agent_klaviyo/_vendored/connector_sdk/cloud_utils/client.py,sha256=YxdRpQr9XjDzih6csSseBVGn9kfMtaqbOCXP0TPuzFY,7189
22
+ airbyte_agent_klaviyo/_vendored/connector_sdk/executor/__init__.py,sha256=EmG9YQNAjSuYCVB4D5VoLm4qpD1KfeiiOf7bpALj8p8,702
23
+ airbyte_agent_klaviyo/_vendored/connector_sdk/executor/hosted_executor.py,sha256=AC5aJtdcMPQfRuam0ZGE4QdhUBu2oGEmNZ6oVQLHTE8,7212
24
+ airbyte_agent_klaviyo/_vendored/connector_sdk/executor/local_executor.py,sha256=abtQOMZhJBrvE3ioKi-g-R_GZJZozYJNczYySQEEIX8,76981
25
+ airbyte_agent_klaviyo/_vendored/connector_sdk/executor/models.py,sha256=mUUBnuShKXxVIfsTOhMiI2rn2a-50jJG7SFGKT_P6Jk,6281
26
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http/__init__.py,sha256=y8fbzZn-3yV9OxtYz8Dy6FFGI5v6TOqADd1G3xHH3Hw,911
27
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http/config.py,sha256=6J7YIIwHC6sRu9i-yKa5XvArwK2KU60rlnmxzDZq3lw,3283
28
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http/exceptions.py,sha256=eYdYmxqcwA6pgrSoRXNfR6_nRBGRH6upp2-r1jcKaZo,3586
29
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http/protocols.py,sha256=eV7NbBIQOcPLw-iu8mtkV2zCVgScDwP0ek1SbPNQo0g,3323
30
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http/response.py,sha256=Q-RyM5D0D05ZhmZVJk4hVpmoS8YtyXNOTM5hqBt7rWI,3475
31
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http/adapters/__init__.py,sha256=gjbWdU4LfzUG2PETI0TkfkukdzoCAhpL6FZtIEnkO-s,209
32
+ airbyte_agent_klaviyo/_vendored/connector_sdk/http/adapters/httpx_adapter.py,sha256=dkYhzBWiKBmzWZlc-cRTx50Hb6fy3OI8kOQvXRfS1CQ,8465
33
+ airbyte_agent_klaviyo/_vendored/connector_sdk/logging/__init__.py,sha256=IZoE5yXhwSA0m3xQqh0FiCifjp1sB3S8jnnFPuJLYf8,227
34
+ airbyte_agent_klaviyo/_vendored/connector_sdk/logging/logger.py,sha256=rUdKDEQe3pOODmBLEcvhgZeEZi48BvrgKXKq1xvCXu0,8387
35
+ airbyte_agent_klaviyo/_vendored/connector_sdk/logging/types.py,sha256=ONb9xKNXUkrR2lojSBMF7ruof7S2r92WjrO_kEZic84,3239
36
+ airbyte_agent_klaviyo/_vendored/connector_sdk/observability/__init__.py,sha256=ojx1n9vaWCXFFvb3-90Pwtg845trFdV2v6wcCoO75Ko,269
37
+ airbyte_agent_klaviyo/_vendored/connector_sdk/observability/config.py,sha256=uWvRAPHnEusVKviQQncqcpnHKNhoZ4ZoFK6nUOSVClY,5372
38
+ airbyte_agent_klaviyo/_vendored/connector_sdk/observability/models.py,sha256=IRGjlJia28_IU7BMSBb5RHWs47yAOLvE20JIIXHazLY,448
39
+ airbyte_agent_klaviyo/_vendored/connector_sdk/observability/redactor.py,sha256=HRbSwGxsfQYbYlG4QBVvv8Qnw0d4SMowMv0dTFHsHqQ,2361
40
+ airbyte_agent_klaviyo/_vendored/connector_sdk/observability/session.py,sha256=WYRIB3bVz9HhpElkUO9CILCRIrWs9p2MR2hmf8uJm3E,3086
41
+ airbyte_agent_klaviyo/_vendored/connector_sdk/performance/__init__.py,sha256=Sp5fSd1LvtIQkv-fnrKqPsM7-6IWp0sSZSK0mhzal_A,200
42
+ airbyte_agent_klaviyo/_vendored/connector_sdk/performance/instrumentation.py,sha256=_dXvNiqdndIBwDjeDKNViWzn_M5FkSUsMmJtFldrmsM,1504
43
+ airbyte_agent_klaviyo/_vendored/connector_sdk/performance/metrics.py,sha256=FRff7dKt4iwt_A7pxV5n9kAGBR756PC7q8-weWygPSM,2817
44
+ airbyte_agent_klaviyo/_vendored/connector_sdk/schema/__init__.py,sha256=Uymu-QuzGJuMxexBagIvUxpVAigIuIhz3KeBl_Vu4Ko,1638
45
+ airbyte_agent_klaviyo/_vendored/connector_sdk/schema/base.py,sha256=IoAucZQ0j0xTdm4VWotB636R4jsrkYnppMQhXE0uoyU,6541
46
+ airbyte_agent_klaviyo/_vendored/connector_sdk/schema/components.py,sha256=nJIPieavwX3o3ODvdtLHPk84d_V229xmg6LDfwEHjzc,8119
47
+ airbyte_agent_klaviyo/_vendored/connector_sdk/schema/connector.py,sha256=mSZk1wr2YSdRj9tTRsPAuIlCzd_xZLw-Bzl1sMwE0rE,3731
48
+ airbyte_agent_klaviyo/_vendored/connector_sdk/schema/extensions.py,sha256=5hgpFHK7fzpzegCkJk882DeIP79bCx_qairKJhvPMZ8,9590
49
+ airbyte_agent_klaviyo/_vendored/connector_sdk/schema/operations.py,sha256=St-A75m6sZUZlsoM6WcoPaShYu_X1K19pdyPvJbabOE,6214
50
+ airbyte_agent_klaviyo/_vendored/connector_sdk/schema/security.py,sha256=1CVCavrPdHHyk7B6JtUD75yRS_hWLCemZF1zwGbdqxg,9036
51
+ airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/__init__.py,sha256=RaLgkBU4dfxn1LC5Y0Q9rr2PJbrwjxvPgBLmq8_WafE,211
52
+ airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/config.py,sha256=tLmQwAFD0kP1WyBGWBS3ysaudN9H3e-3EopKZi6cGKg,885
53
+ airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/events.py,sha256=8Y1NbXiwISX-V_wRofY7PqcwEXD0dLMnntKkY6XFU2s,1328
54
+ airbyte_agent_klaviyo/_vendored/connector_sdk/telemetry/tracker.py,sha256=SginFQbHqVUVYG82NnNzG34O-tAQ_wZYjGDcuo0q4Kk,5584
55
+ airbyte_agent_klaviyo-0.1.0.dist-info/METADATA,sha256=Y96_EbHXaEww9MJPocrhcDRgXK0wUnN3bOJDeZQENjU,5485
56
+ airbyte_agent_klaviyo-0.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
57
+ airbyte_agent_klaviyo-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any