notionary 0.2.13__py3-none-any.whl → 0.2.15__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 (83) hide show
  1. notionary/__init__.py +3 -16
  2. notionary/{notion_client.py → base_notion_client.py} +92 -98
  3. notionary/blocks/__init__.py +61 -0
  4. notionary/{elements → blocks}/audio_element.py +6 -3
  5. notionary/{elements → blocks}/bookmark_element.py +3 -5
  6. notionary/{elements → blocks}/bulleted_list_element.py +5 -6
  7. notionary/{elements → blocks}/callout_element.py +4 -6
  8. notionary/{elements → blocks}/code_block_element.py +4 -5
  9. notionary/{elements → blocks}/column_element.py +3 -5
  10. notionary/{elements → blocks}/divider_element.py +3 -5
  11. notionary/{elements → blocks}/embed_element.py +4 -5
  12. notionary/{elements → blocks}/heading_element.py +4 -7
  13. notionary/{elements → blocks}/image_element.py +4 -5
  14. notionary/{elements → blocks}/mention_element.py +3 -6
  15. notionary/blocks/notion_block_client.py +26 -0
  16. notionary/{elements → blocks}/notion_block_element.py +2 -3
  17. notionary/{elements → blocks}/numbered_list_element.py +4 -6
  18. notionary/{elements → blocks}/paragraph_element.py +4 -6
  19. notionary/{prompting/element_prompt_content.py → blocks/prompts/element_prompt_builder.py} +1 -40
  20. notionary/blocks/prompts/element_prompt_content.py +41 -0
  21. notionary/{elements → blocks}/qoute_element.py +4 -5
  22. notionary/{elements → blocks}/registry/block_registry.py +4 -26
  23. notionary/{elements → blocks}/registry/block_registry_builder.py +26 -25
  24. notionary/{elements → blocks}/table_element.py +5 -6
  25. notionary/{elements → blocks}/text_inline_formatter.py +1 -4
  26. notionary/{elements → blocks}/todo_element.py +5 -6
  27. notionary/{elements → blocks}/toggle_element.py +3 -5
  28. notionary/{elements → blocks}/toggleable_heading_element.py +4 -6
  29. notionary/{elements → blocks}/video_element.py +4 -5
  30. notionary/database/__init__.py +0 -0
  31. notionary/database/client.py +132 -0
  32. notionary/database/database_exceptions.py +13 -0
  33. notionary/database/factory.py +0 -0
  34. notionary/database/filter_builder.py +175 -0
  35. notionary/database/notion_database.py +340 -127
  36. notionary/database/notion_database_provider.py +230 -0
  37. notionary/elements/__init__.py +0 -0
  38. notionary/models/notion_database_response.py +294 -13
  39. notionary/models/notion_page_response.py +9 -31
  40. notionary/models/search_response.py +0 -0
  41. notionary/page/__init__.py +0 -0
  42. notionary/page/client.py +110 -0
  43. notionary/page/content/page_content_retriever.py +5 -20
  44. notionary/page/content/page_content_writer.py +3 -4
  45. notionary/page/formatting/markdown_to_notion_converter.py +1 -3
  46. notionary/{prompting → page}/markdown_syntax_prompt_generator.py +1 -2
  47. notionary/page/notion_page.py +354 -317
  48. notionary/page/notion_to_markdown_converter.py +1 -4
  49. notionary/page/properites/property_value_extractor.py +0 -64
  50. notionary/page/{properites/property_formatter.py → property_formatter.py} +7 -4
  51. notionary/page/search_filter_builder.py +131 -0
  52. notionary/page/utils.py +60 -0
  53. notionary/util/__init__.py +12 -3
  54. notionary/util/factory_decorator.py +33 -0
  55. notionary/util/fuzzy_matcher.py +82 -0
  56. notionary/util/page_id_utils.py +0 -21
  57. notionary/util/singleton_metaclass.py +22 -0
  58. notionary/workspace.py +69 -0
  59. notionary-0.2.15.dist-info/METADATA +223 -0
  60. notionary-0.2.15.dist-info/RECORD +68 -0
  61. {notionary-0.2.13.dist-info → notionary-0.2.15.dist-info}/WHEEL +1 -2
  62. notionary/cli/main.py +0 -347
  63. notionary/cli/onboarding.py +0 -116
  64. notionary/database/database_discovery.py +0 -142
  65. notionary/database/notion_database_factory.py +0 -190
  66. notionary/exceptions/database_exceptions.py +0 -76
  67. notionary/exceptions/page_creation_exception.py +0 -9
  68. notionary/page/metadata/metadata_editor.py +0 -150
  69. notionary/page/metadata/notion_icon_manager.py +0 -77
  70. notionary/page/metadata/notion_page_cover_manager.py +0 -56
  71. notionary/page/notion_page_factory.py +0 -328
  72. notionary/page/properites/database_property_service.py +0 -302
  73. notionary/page/properites/page_property_manager.py +0 -152
  74. notionary/page/relations/notion_page_relation_manager.py +0 -350
  75. notionary/page/relations/notion_page_title_resolver.py +0 -104
  76. notionary/page/relations/page_database_relation.py +0 -68
  77. notionary/util/warn_direct_constructor_usage.py +0 -54
  78. notionary-0.2.13.dist-info/METADATA +0 -273
  79. notionary-0.2.13.dist-info/RECORD +0 -67
  80. notionary-0.2.13.dist-info/entry_points.txt +0 -2
  81. notionary-0.2.13.dist-info/top_level.txt +0 -1
  82. /notionary/util/{singleton.py → singleton_decorator.py} +0 -0
  83. {notionary-0.2.13.dist-info/licenses → notionary-0.2.15.dist-info}/LICENSE +0 -0
@@ -1,273 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: notionary
3
- Version: 0.2.13
4
- Summary: A toolkit to convert between Markdown and Notion blocks
5
- Home-page: https://github.com/mathisarends/notionary
6
- Author: Mathis Arends
7
- Author-email: mathisarends27@gmail.com
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: License :: OSI Approved :: MIT License
10
- Requires-Python: >=3.7
11
- Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
- Requires-Dist: httpx>=0.28.0
14
- Requires-Dist: python-dotenv>=1.1.0
15
- Requires-Dist: pydantic>=2.11.4
16
- Requires-Dist: posthog>=3.0.0
17
- Requires-Dist: click>=8.0.0
18
- Dynamic: author
19
- Dynamic: author-email
20
- Dynamic: classifier
21
- Dynamic: description
22
- Dynamic: description-content-type
23
- Dynamic: home-page
24
- Dynamic: license-file
25
- Dynamic: requires-dist
26
- Dynamic: requires-python
27
- Dynamic: summary
28
-
29
- # Notionary 📝
30
-
31
- [![Python Version](https://img.shields.io/badge/python-3.8%2B-blue.svg)](https://www.python.org/downloads/)
32
- [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
33
-
34
- **Notionary** is a powerful Python library for interacting with the Notion API, making it easy to create, update, and manage Notion pages and databases programmatically with a clean, intuitive interface. It's specifically designed to be the foundation for AI-driven Notion content generation.
35
-
36
- ---
37
-
38
- ## Features
39
-
40
- - **Rich Markdown Support**: Create Notion pages using intuitive Markdown syntax with custom extensions
41
- - **Dynamic Database Operations**: Create, update, and query database entries with schema auto-detection
42
- - **Extensible Block Registry**: Add, customize, or remove Notion block elements with a flexible registry pattern
43
- - **LLM-Ready Prompts**: Generate system prompts explaining Markdown syntax for LLMs to create Notion content
44
- - **Async-First Design**: Built for modern Python with full async/await support
45
- - **Schema-Based Validation**: Automatic property validation based on database schemas
46
- - **Intelligent Content Conversion**: Bidirectional conversion between Markdown and Notion blocks
47
-
48
- ---
49
-
50
- ## Installation
51
-
52
- ```bash
53
- pip install notionary
54
- ```
55
-
56
- ---
57
-
58
- ## Quick Start
59
-
60
- ### Creating and Managing Pages
61
-
62
- ```python
63
- import asyncio
64
- from notionary import NotionPage
65
-
66
- async def main():
67
- # Create a page from URL
68
- page = NotionPage.from_url("https://www.notion.so/your-page-url")
69
-
70
- # Or find by name
71
- page = await NotionPage.from_page_name("My Project Page")
72
-
73
- # Update page metadata
74
- await page.set_title("Updated Title")
75
- await page.set_emoji_icon("🚀")
76
- await page.set_random_gradient_cover()
77
-
78
- # Add markdown content
79
- markdown = """
80
- # Project Overview
81
-
82
- !> [💡] This page was created programmatically using Notionary.
83
-
84
- ## Features
85
- - **Rich** Markdown support
86
- - Async functionality
87
- - Custom syntax extensions
88
-
89
- +++ Implementation Details
90
- | Notionary uses a custom converter to transform Markdown into Notion blocks.
91
- | This makes it easy to create rich content programmatically.
92
- """
93
-
94
- await page.replace_content(markdown)
95
-
96
- if __name__ == "__main__":
97
- asyncio.run(main())
98
- ```
99
-
100
- ### Working with Databases
101
-
102
- ```python
103
- import asyncio
104
- from notionary import NotionDatabase, DatabaseDiscovery
105
-
106
- async def main():
107
- # Discover available databases
108
- discovery = DatabaseDiscovery()
109
- await discovery()
110
-
111
- # Connect to a database by name
112
- db = await NotionDatabase.from_database_name("Projects")
113
-
114
- # Create a new page in the database
115
- page = await db.create_blank_page()
116
-
117
- # Set properties
118
- await page.set_property_value_by_name("Status", "In Progress")
119
- await page.set_property_value_by_name("Priority", "High")
120
-
121
- # Query pages from database
122
- async for page in db.iter_pages():
123
- title = await page.get_title()
124
- print(f"Page: {title}")
125
-
126
- if __name__ == "__main__":
127
- asyncio.run(main())
128
- ```
129
-
130
- ## Custom Markdown Syntax
131
-
132
- Notionary extends standard Markdown with special syntax to support Notion-specific features:
133
-
134
- ### Text Formatting
135
-
136
- - Standard: `**bold**`, `*italic*`, `~~strikethrough~~`, `` `code` ``
137
- - Links: `[text](url)`
138
- - Quotes: `> This is a quote`
139
- - Divider: `---`
140
-
141
- ### Callouts
142
-
143
- ```markdown
144
- !> [💡] This is a default callout with the light bulb emoji
145
- !> [🔔] This is a notification with a bell emoji
146
- !> [⚠️] Warning: This is an important note
147
- ```
148
-
149
- ### Toggles
150
-
151
- ```markdown
152
- +++ How to use Notionary
153
- | 1. Initialize with NotionPage
154
- | 2. Update metadata with set_title(), set_emoji_icon(), etc.
155
- | 3. Add content with replace_content() or append_markdown()
156
- ```
157
-
158
- ### Multi-Column Layout
159
-
160
- ```markdown
161
- ::: columns
162
- ::: column
163
-
164
- ## Left Column
165
-
166
- - Item 1
167
- - Item 2
168
- - Item 3
169
- :::
170
- ::: column
171
-
172
- ## Right Column
173
-
174
- This text appears in the second column. Multi-column layouts are perfect for:
175
-
176
- - Comparing features
177
- - Creating side-by-side content
178
- - Improving readability of wide content
179
- :::
180
- :::
181
- ```
182
-
183
- ### Code Blocks
184
-
185
- ```python
186
- def hello_world():
187
- print("Hello from Notionary!")
188
- ```
189
-
190
- ### To-do Lists
191
-
192
- ```markdown
193
- - [ ] Define project scope
194
- - [x] Create timeline
195
- - [ ] Assign resources
196
- ```
197
-
198
- ### Tables
199
-
200
- ```markdown
201
- | Feature | Status | Priority |
202
- | --------------- | ----------- | -------- |
203
- | API Integration | Complete | High |
204
- | Documentation | In Progress | Medium |
205
- ```
206
-
207
- ### More Elements
208
-
209
- ```markdown
210
- ![Caption](https://example.com/image.jpg)
211
- @[Caption](https://youtube.com/watch?v=...)
212
- [bookmark](https://example.com "Title" "Description")
213
- ```
214
-
215
- ## Block Registry & Customization
216
-
217
- ```python
218
- from notionary import NotionPage, BlockRegistryBuilder
219
-
220
- # Create a custom registry with only the elements you need
221
- custom_registry = (
222
- BlockRegistryBuilder()
223
- .with_headings()
224
- .with_callouts()
225
- .with_toggles()
226
- .with_columns() # Include multi-column support
227
- .with_code()
228
- .with_todos()
229
- .with_paragraphs()
230
- .build()
231
- )
232
-
233
- # Apply this registry to a page
234
- page = NotionPage.from_url("https://www.notion.so/your-page-url")
235
- page.block_registry = custom_registry
236
-
237
- # Replace content using only supported elements
238
- await page.replace_content("# Custom heading with selected elements only")
239
- ```
240
-
241
- ## AI-Ready: Generate LLM Prompts
242
-
243
- ```python
244
- from notionary import BlockRegistryBuilder
245
-
246
- # Create a registry with all standard elements
247
- registry = BlockRegistryBuilder.create_full_registry()
248
-
249
- # Generate the LLM system prompt
250
- llm_system_prompt = registry.get_notion_markdown_syntax_prompt()
251
- print(llm_system_prompt)
252
- ```
253
-
254
- ## Examples
255
-
256
- See the `examples/` folder for:
257
-
258
- - [Database discovery and querying](examples/database_discovery_example.py)
259
- - [Rich page creation with Markdown](examples/page_example.py)
260
- - [Database management](examples/database_management_example.py)
261
- - [Iterating through database entries](examples/database_iteration_example.py)
262
- - [Temporary usage & debugging](examples/temp.py)
263
-
264
- ## Perfect for AI Agents and Automation
265
-
266
- - **LLM Integration**: Generate Notion-compatible content with any LLM using the system prompt generator
267
- - **Dynamic Content Generation**: AI agents can generate content in Markdown and render it directly as Notion pages
268
- - **Schema-Aware Operations**: Automatically validate and format properties based on database schemas
269
- - **Simplified API**: Clean, intuitive interface for both human developers and AI systems
270
-
271
- ## Contributing
272
-
273
- Contributions welcome — feel free to submit a pull request!
@@ -1,67 +0,0 @@
1
- notionary/__init__.py,sha256=U7I4nffaEt1Gfg6N7TFupC_GQVZttLhW5u0qjVX7gP4,717
2
- notionary/notion_client.py,sha256=gkREAr8LkUUKK9cOvq72r8jNjlXDleBP2fYm7LjjbjM,7311
3
- notionary/cli/main.py,sha256=0tmX9y_xJksKPV8evfUIxp2MTKsHAvNcq76CW4PZCSs,12836
4
- notionary/cli/onboarding.py,sha256=I7G6eaEw_WWmbfBKBa4nHgItGyZg6iwtEw9pZylsqa4,3376
5
- notionary/database/database_discovery.py,sha256=l9IjthwdA_Y_k_JXcAW-KnvZDwNYylIbsrQ5cpgtb5w,4484
6
- notionary/database/notion_database.py,sha256=vbMu8FRao0nXRkSK68Q6637ypiikyMpP2zOmzGWsgpU,7595
7
- notionary/database/notion_database_factory.py,sha256=6AK9c63R8qyQX46VY-eNL1DufHe6pK_Erka0QEBVO90,6594
8
- notionary/database/models/page_result.py,sha256=Vmm5_oYpYAkIIJVoTd1ZZGloeC3cmFLMYP255mAmtaw,233
9
- notionary/elements/audio_element.py,sha256=m1zMUYkpQNPCx9S0KpU85ps7pnm9Pzu4lglKYzOozF4,5343
10
- notionary/elements/bookmark_element.py,sha256=M_vGJfBVVhUDa7sDfHB622m1Q9wEn4Lw0pCmuDkxpvQ,8143
11
- notionary/elements/bulleted_list_element.py,sha256=dyWNu28l_fG6fob5zQzMadnWb5g_B2n7ixCHwaniPdE,2662
12
- notionary/elements/callout_element.py,sha256=OVaRLdxNFXTJnMzmfg3SZClOAYfJ4oORSr_Skm5EOPA,4490
13
- notionary/elements/code_block_element.py,sha256=hBMn3VpFJLgq12llvdSFkjLX05poMCIZWsBaUF9ZOQA,7527
14
- notionary/elements/column_element.py,sha256=VpPe2yVvozMFIladOMxMh0Q1nsND_XysYxpxWoIH8eU,12732
15
- notionary/elements/divider_element.py,sha256=sqfs1YRVqsEFlKdBOX9p8K2Ise2lDb19HwcwHM_R7nU,2330
16
- notionary/elements/embed_element.py,sha256=PkoaycRel6bAVkP1XHv57vuLVwFmzgeZYKqM5AT8Lg0,4577
17
- notionary/elements/heading_element.py,sha256=zgqC6alKoaucpeWDpDJd-TIsbMoJzNI5_BGP-D8Xbsc,3166
18
- notionary/elements/image_element.py,sha256=rd9P9BT9YUwofO24JadH7bMtQCJLxVHdjHF1_ykGS-g,4756
19
- notionary/elements/mention_element.py,sha256=-AVZ8rn6y-S9Paw-vUDZpa8nhn0dR5L_0qNjd9dQI_s,8225
20
- notionary/elements/notion_block_element.py,sha256=utWHp_JZSRQgNIWiZfJfzwl7y2ALuDqGTY-Ve3OoQeg,1285
21
- notionary/elements/numbered_list_element.py,sha256=kgJfQQ5FIKZVRjygd6sLJKkE9-IDlx-MFAEaxWVsg84,2661
22
- notionary/elements/paragraph_element.py,sha256=oOIRkknpEEAw5Pr81D6c-L6cGRvaZGtggLT3iVYGC4Q,3253
23
- notionary/elements/qoute_element.py,sha256=SCvNWht-38EwMIsDg19VPajKNc1IhZBP3oVxLQw_yVA,6120
24
- notionary/elements/table_element.py,sha256=6yTY0fNT_Ae2ncwGQE0CSsfCxGNvnDblTTzd3kdz-Sw,11247
25
- notionary/elements/text_inline_formatter.py,sha256=q1WePwTxhSkjhTFylcyAbhxaWLo_sjYS3Q_mIPgsKb4,8625
26
- notionary/elements/todo_element.py,sha256=BKw3KvjdDsZIlSXoqV52z9R-a3KBzkH-9DKo4dN7m9w,4122
27
- notionary/elements/toggle_element.py,sha256=sg3LfblBRa0pIrcSBHPRknq6FYWB5-mpDGvA7PBOZ9U,11080
28
- notionary/elements/toggleable_heading_element.py,sha256=sKvjD_x61QYOM4l8gfq6VodpLWqxf8FR2JGWXNeee08,9958
29
- notionary/elements/video_element.py,sha256=IlB88CmBueYPSFh6p7kxE5zVjcZBQJJ1K953G7kg99M,5725
30
- notionary/elements/registry/block_registry.py,sha256=g0id_Q6guzTyNY6HfnB9AjOBvCR4CvtpnUeFAY8kgY0,5027
31
- notionary/elements/registry/block_registry_builder.py,sha256=5zRKnw2102rAeHpANs6Csu4DVufOazf1peEovChWcgs,9572
32
- notionary/exceptions/database_exceptions.py,sha256=I-Tx6bYRLpi5pjGPtbT-Mqxvz3BFgYTiuZxknJeLxtI,2638
33
- notionary/exceptions/page_creation_exception.py,sha256=4v7IuZD6GsQLrqhDLriGjuG3ML638gAO53zDCrLePuU,281
34
- notionary/models/notion_block_response.py,sha256=gzL4C6K9QPcaMS6NbAZaRceSEnMbNwYBVVzxysza5VU,6002
35
- notionary/models/notion_database_response.py,sha256=FMAasQP20S12J_KMdMlNpcHHwxFKX2YtbE4Q9xn-ruQ,1213
36
- notionary/models/notion_page_response.py,sha256=r4fwMwwDocj92JdbSmyrzIqBKsnEaz4aDUiPabrg9BM,1762
37
- notionary/page/notion_page.py,sha256=CnEr5S425t7r8n4mZERwShlXsXnR2G7bbYjO8yb2oaU,18032
38
- notionary/page/notion_page_factory.py,sha256=_dsvxn3xmjZFQw3fKIhnTwiIQfk7p8pxVOFj1GMvBZc,11763
39
- notionary/page/notion_to_markdown_converter.py,sha256=vUQss0J7LUFLULGvW27PjaTFuWi8OsRQAUBowSYorkM,6408
40
- notionary/page/content/notion_page_content_chunker.py,sha256=kWJnV9GLU5YLgSVPKOjwMBbG_CMAmVRkuDtwJYb_UAA,3316
41
- notionary/page/content/page_content_retriever.py,sha256=MoRNwVyBacQEPFu-XseahKEFait0q8tjuhFUXHOBrMo,2208
42
- notionary/page/content/page_content_writer.py,sha256=PkH3i3sE8zbAUS8dtMbWHwKyq8yubuvzXCzeBZeUFKA,7436
43
- notionary/page/formatting/markdown_to_notion_converter.py,sha256=-CdGefHdeXtF3TyipOLkyrD6yFJbFDLmZMveoDiYBLo,17463
44
- notionary/page/formatting/spacer_rules.py,sha256=j2RHvdXT3HxXPVBEuCtulyy9cPxsEcOmj71pJqV-D3M,15677
45
- notionary/page/metadata/metadata_editor.py,sha256=0I-h5BbLpI_VbAobSdslK8G7TPWoHJb_fAPDtDEOc08,5116
46
- notionary/page/metadata/notion_icon_manager.py,sha256=_K23i1qsBW052ZuDez5X1l3S9zTRwkRoTnHnoeED98g,2562
47
- notionary/page/metadata/notion_page_cover_manager.py,sha256=2dQLw890gUGz2nEorAhGNkgLLQNlQKDa1VExABXiUOc,2201
48
- notionary/page/properites/database_property_service.py,sha256=RWNsze5bImUz4TXVReeFNtNSxlqOylEYS4EOL3bHxdQ,9895
49
- notionary/page/properites/page_property_manager.py,sha256=1Ga1Qf91yfxaLT55qNJuf5UMz9Z3-8xDZwEHptTqGdM,5729
50
- notionary/page/properites/property_formatter.py,sha256=k5yFPh87PX5yMaJqZiYjP2ZI8xbxXToYc6PMwNZ8Mpw,3653
51
- notionary/page/properites/property_value_extractor.py,sha256=5coK0-hSogSLeFL2P337ruGXuHHc447hP_Ry5niOI6M,2342
52
- notionary/page/relations/notion_page_relation_manager.py,sha256=PiwmOex8I4iR_9T8J0v_W58vS-E_BbTE1fsnnXD3nU4,11055
53
- notionary/page/relations/notion_page_title_resolver.py,sha256=LN89y-Tc0Rk81TiTeA5WsFqhittLLykdzn3x5Ok29YI,3561
54
- notionary/page/relations/page_database_relation.py,sha256=nkelofYzfuIFjmM7vR6IGJpWUG9XPmSDnU1WR8WtQrs,2231
55
- notionary/prompting/element_prompt_content.py,sha256=tHref-SKA81Ua_IQD2Km7y7BvFtHl74haSIjHNYE3FE,4403
56
- notionary/prompting/markdown_syntax_prompt_generator.py,sha256=_1qIYlqSfI6q6Fut10t6gGwTQuS8c3QBcC_5DBme9Mo,5084
57
- notionary/util/__init__.py,sha256=ra1jHFFiQNWYDzmVb81OVhtshzkZ0GcLVI8YDODYj3w,235
58
- notionary/util/logging_mixin.py,sha256=d5sRSmUtgQeuckdNBkO025IXPGe4oOb-7ueVAIP8amU,1846
59
- notionary/util/page_id_utils.py,sha256=EYNMxgf-7ghzL5K8lKZBZfW7g5CsdY0Xuj4IYmU8RPk,1381
60
- notionary/util/singleton.py,sha256=CKAvykndwPRZsA3n3MAY_XdCR59MBjjKP0vtm2BcvF0,428
61
- notionary/util/warn_direct_constructor_usage.py,sha256=vyJR73F95XVSRWIbyij-82IGOpAne9SBPM25eDpZfSU,1715
62
- notionary-0.2.13.dist-info/licenses/LICENSE,sha256=zOm3cRT1qD49eg7vgw95MI79rpUAZa1kRBFwL2FkAr8,1120
63
- notionary-0.2.13.dist-info/METADATA,sha256=jXcnz9Gqxx8vFbnLdrLhr_TiByxrWd_OMIxPPqyqHGY,7582
64
- notionary-0.2.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
- notionary-0.2.13.dist-info/entry_points.txt,sha256=V7X21u3QNm7h7p6Cx0Sx2SO3mtmA7gVwXM8lNYnv9fk,54
66
- notionary-0.2.13.dist-info/top_level.txt,sha256=fhONa6BMHQXqthx5PanWGbPL0b8rdFqhrJKVLf_adSs,10
67
- notionary-0.2.13.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- notionary = notionary.cli.main:main
@@ -1 +0,0 @@
1
- notionary
File without changes