quillmark 0.4.1__cp310-abi3-macosx_11_0_arm64.whl → 0.5.1__cp310-abi3-macosx_11_0_arm64.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.
quillmark/__init__.pyi CHANGED
@@ -78,7 +78,11 @@ class Quillmark:
78
78
  """Get list of registered quill names."""
79
79
 
80
80
  class Workflow:
81
- """Sealed workflow for executing the render pipeline."""
81
+ """Sealed workflow for executing the render pipeline.
82
+
83
+ Note: Dynamic asset and font injection is not currently supported in Python bindings.
84
+ Assets must be included in the quill bundle.
85
+ """
82
86
 
83
87
  def render(
84
88
  self,
@@ -112,38 +116,17 @@ class Workflow:
112
116
  def process_glue_parsed(self, parsed: ParsedDocument) -> str:
113
117
  """Process parsed document through glue template."""
114
118
 
115
- def with_asset(self, filename: str, contents: bytes) -> Workflow:
116
- """Add dynamic asset (returns new workflow instance)."""
117
-
118
- def with_assets(self, assets: dict[str, bytes]) -> Workflow:
119
- """Add multiple dynamic assets."""
120
-
121
- def clear_assets(self) -> Workflow:
122
- """Remove all dynamic assets."""
123
-
124
- def with_font(self, filename: str, contents: bytes) -> Workflow:
125
- """Add dynamic font."""
126
-
127
- def with_fonts(self, fonts: dict[str, bytes]) -> Workflow:
128
- """Add multiple dynamic fonts."""
129
-
130
- def clear_fonts(self) -> Workflow:
131
- """Remove all dynamic fonts."""
132
-
119
+ @property
133
120
  def backend_id(self) -> str:
134
121
  """Get backend identifier."""
135
122
 
123
+ @property
136
124
  def supported_formats(self) -> list[OutputFormat]:
137
125
  """Get supported output formats."""
138
126
 
127
+ @property
139
128
  def quill_name(self) -> str:
140
129
  """Get quill name."""
141
-
142
- def dynamic_asset_names(self) -> list[str]:
143
- """Get list of dynamic asset filenames."""
144
-
145
- def dynamic_font_names(self) -> list[str]:
146
- """Get list of dynamic font filenames."""
147
130
 
148
131
  class Quill:
149
132
  """Template bundle containing glue templates and assets."""
@@ -191,12 +174,13 @@ class ParsedDocument:
191
174
  ParseError: If YAML frontmatter is invalid
192
175
  """
193
176
 
194
- def body(self) -> str:
177
+ def body(self) -> str | None:
195
178
  """Get document body content."""
196
179
 
197
180
  def get_field(self, key: str) -> Any | None:
198
181
  """Get frontmatter field value."""
199
182
 
183
+ @property
200
184
  def fields(self) -> dict[str, Any]:
201
185
  """Get all frontmatter fields."""
202
186
 
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: quillmark
3
- Version: 0.4.1
3
+ Version: 0.5.1
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: License :: OSI Approved :: Apache Software License
@@ -12,7 +12,6 @@ Classifier: Programming Language :: Python :: 3.13
12
12
  Classifier: Programming Language :: Rust
13
13
  Classifier: Topic :: Text Processing :: Markup
14
14
  Requires-Dist: pytest>=8.0 ; extra == 'dev'
15
- Requires-Dist: pytest-cov>=5.0 ; extra == 'dev'
16
15
  Requires-Dist: maturin>=1.7,<2.0 ; extra == 'dev'
17
16
  Provides-Extra: dev
18
17
  Summary: Python bindings for Quillmark - template-first Markdown rendering
@@ -118,10 +117,10 @@ Represents parsed Markdown with frontmatter.
118
117
  ```python
119
118
  parsed = ParsedDocument.from_markdown(markdown)
120
119
 
121
- parsed.body() # Document body
122
- parsed.quill_tag() # QUILL field value (if present)
123
- parsed.get_field(key) # Get specific field
124
- parsed.fields # All frontmatter fields
120
+ parsed.body() # Document body (str | None)
121
+ parsed.quill_tag() # QUILL field value (str | None)
122
+ parsed.get_field(key) # Get specific field (Any | None)
123
+ parsed.fields # All frontmatter fields (dict)
125
124
  ```
126
125
 
127
126
  #### `Workflow` - Rendering Pipeline
@@ -143,6 +142,8 @@ workflow.supported_formats # [OutputFormat.PDF, OutputFormat.SVG]
143
142
  glue_output = workflow.process_glue_parsed(parsed)
144
143
  ```
145
144
 
145
+ **Note**: Dynamic asset and font injection is not currently supported in Python bindings. Assets must be included in the quill bundle.
146
+
146
147
  #### `RenderResult` - Output Container
147
148
 
148
149
  Contains rendered artifacts and diagnostics.
@@ -184,10 +185,7 @@ Canonical development flow:
184
185
  uv venv
185
186
 
186
187
  # Install developer extras (includes maturin, pytest, mypy, ruff)
187
- uv pip install -e "[dev]"
188
-
189
- # Build and install (compile Rust + install into venv)
190
- uv run python -m maturin develop
188
+ uv pip install -e ".[dev]"
191
189
 
192
190
  # Run tests
193
191
  uv run pytest
@@ -0,0 +1,7 @@
1
+ quillmark-0.5.1.dist-info/METADATA,sha256=JO53j5zX7oxnODhFTjSywHuWGma3QAR6AEzWBu-jaaQ,5526
2
+ quillmark-0.5.1.dist-info/WHEEL,sha256=-lwEpi49KOTCcgx48T3fLSP8Dxynwa-iRMZNo-JZaqc,103
3
+ quillmark/__init__.py,sha256=VKjY9Z1Tp-A08MRByFMMAyqsDbUUfRCAYlYslRJbFQQ,606
4
+ quillmark/__init__.pyi,sha256=WmhiYkSJSFxiVug0VeXSkvmcCikYUSfqmXoBcSi8DWY,5876
5
+ quillmark/_quillmark.abi3.so,sha256=aQ7-rhkn3qPQYzu7qNoIwjfnM52N_O2DiXfezchtq7o,13904048
6
+ quillmark/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ quillmark-0.5.1.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- quillmark-0.4.1.dist-info/METADATA,sha256=SaovifWUfTUgJQ_EBcvlzUTk75fPyRVFr8LT3AdSY2c,5493
2
- quillmark-0.4.1.dist-info/WHEEL,sha256=-lwEpi49KOTCcgx48T3fLSP8Dxynwa-iRMZNo-JZaqc,103
3
- quillmark/__init__.py,sha256=VKjY9Z1Tp-A08MRByFMMAyqsDbUUfRCAYlYslRJbFQQ,606
4
- quillmark/__init__.pyi,sha256=vNYAE33LkmV8w_LBFwYyU_F41pG6ymM7OmFMHXbcjOk,6509
5
- quillmark/_quillmark.abi3.so,sha256=s-ybpQvTIXuL5ajzX_ld6RZvR5ZL4oh-pUPpGHv2TOs,13904528
6
- quillmark/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- quillmark-0.4.1.dist-info/RECORD,,