brewdoc 0.3.3 → 0.4.1

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 (2) hide show
  1. package/README.md +60 -17
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -3,35 +3,40 @@
3
3
  [![PyPI](https://img.shields.io/pypi/v/brewdoc)](https://pypi.org/project/brewdoc/)
4
4
  [![CI](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/kochetkov-ma/brewdoc/actions/workflows/ci.yml)
5
5
  [![Release](https://img.shields.io/github/v/release/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/releases/latest)
6
- [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/LICENSE)
6
+ [![MIT](https://img.shields.io/github/license/kochetkov-ma/brewdoc)](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/LICENSE)
7
7
 
8
8
  Fast, deterministic document-to-Markdown conversion for agent systems. Easy to install. No model weights, OCR or external services.
9
9
 
10
10
  Local conversion runs offline after installation, with no runtime component downloads.
11
11
  Supported documents become one Markdown file and a JSON receipt describing omissions.
12
- See [supported formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/FORMATS.md).
12
+ See [formats and limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/FORMATS.md).
13
+ Version 0.4.1 adds [selected ZIP/XML reader budgets](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/FORMATS.md#zipxml-reader-limits)
14
+ for DOCX/PPTX and workbook metadata/artifacts. Excessive work refuses before output
15
+ writes; native workbook values and total process memory remain outside those bounds.
13
16
 
14
17
  ## Install
15
18
 
16
- These examples select 0.3.3. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.3.3). Choose one method:
19
+ These examples select 0.4.1. Use a channel listed as available in [that release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.4.1). Choose one method:
20
+
21
+ Article mode is introduced in 0.4.0. Channel availability is listed in the release.
17
22
 
18
23
  ```sh
19
- python -m pip install "brewdoc==0.3.3"
20
- uv tool install --python 3.12 "brewdoc==0.3.3"
21
- pipx install --python 3.12 "brewdoc==0.3.3"
24
+ python -m pip install "brewdoc==0.4.1"
25
+ uv tool install --python 3.12 "brewdoc==0.4.1"
26
+ pipx install --python 3.12 "brewdoc==0.4.1"
22
27
  ```
23
28
 
24
29
  Use a virtual environment for pip. Python 3.12+ is required; HTML/URL need CPython 3.12-3.14.
25
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
30
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/INSTALL.md) covers prerequisites, Windows, uvx, PATH, update and removal.
26
31
  [Latest release](https://github.com/kochetkov-ma/brewdoc/releases/latest) lists actual assets and channel availability.
27
32
 
28
33
  ### Standalone downloads
29
34
 
30
- Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.3.3/SHA256SUMS) and keep the entire extracted directory.
35
+ Use downloads listed as available in the release. Python and dependencies are bundled. Verify [SHA256SUMS](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.1/SHA256SUMS) and keep the entire extracted directory.
31
36
 
32
- [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.3.3/brewdoc-0.3.3-linux-x64.tar.gz)
33
- [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.3.3/brewdoc-0.3.3-windows-x64.zip)
34
- [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.3.3/brewdoc-0.3.3-macos-arm64.tar.gz)
37
+ [![Linux x64 download](https://img.shields.io/badge/Linux_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.1/brewdoc-0.4.1-linux-x64.tar.gz)
38
+ [![Windows x64 download](https://img.shields.io/badge/Windows_x64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.1/brewdoc-0.4.1-windows-x64.zip)
39
+ [![macOS ARM64 download](https://img.shields.io/badge/macOS_ARM64-download-blue)](https://github.com/kochetkov-ma/brewdoc/releases/download/v0.4.1/brewdoc-0.4.1-macos-arm64.tar.gz)
35
40
 
36
41
  | Native target | Verification environment | JavaScript |
37
42
  |---|---|---|
@@ -41,15 +46,15 @@ Use downloads listed as available in the release. Python and dependencies are bu
41
46
 
42
47
  Older OSes, Linux musl/ARM64 and macOS Intel are outside this binary set.
43
48
  Windows is unsigned; macOS has an ad hoc signature without Developer ID/notarization.
44
- Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/INSTALL.md#standalone).
49
+ Linux archives have checksums, without a detached publisher signature. [Download and launch](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/INSTALL.md#standalone).
45
50
 
46
51
  ### npm
47
52
 
48
53
  [![npm](https://img.shields.io/npm/v/brewdoc)](https://www.npmjs.com/package/brewdoc)
49
54
 
50
55
  npm targets Linux x64/glibc and macOS ARM64. Windows uses the GitHub native download or Python package.
51
- Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.3.3).
52
- [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
56
+ Use npm/npx only when listed as available in [the release](https://github.com/kochetkov-ma/brewdoc/releases/tag/v0.4.1).
57
+ [INSTALL.md](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/INSTALL.md#npm-and-npx) contains exact-version installation, update and removal instructions.
53
58
 
54
59
  ## Usage
55
60
 
@@ -123,10 +128,48 @@ brewdoc --url https://example.com/article --render-js --timeout 30 --out article
123
128
  Public destinations, DNS, redirects, TLS, requests and bytes are validated. Ordinary requests use GET;
124
129
  JS admits only the narrow credential-free HN Algolia XHR POST exception. Local HTML never fetches or runs scripts.
125
130
  Optional JS needs installed/bundled prerequisites, refuses unsupported runtimes before HTTP and downloads no engine.
126
- Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/FORMATS.md#url-acquisition).
131
+ Timing-only expiry can preserve valid partial content; hard failures refuse output. [Full URL/JS limits](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/FORMATS.md#url-acquisition).
132
+
133
+ ## Article mode
134
+
135
+ Introduced in 0.4.0; use a channel listed as available in the release. For Python JS capture, install
136
+ `brewdoc[render-js]==0.4.1`; supported standalone bundles include its prerequisites.
137
+
138
+ ```sh
139
+ brewdoc page.html --article --out article.md
140
+ brewdoc --url https://example.com/article --article --out article.md
141
+ brewdoc --url https://example.com/article --render-js --article --out article.md
142
+ ```
143
+
144
+ ```python
145
+ code, receipt, markdown = brewdoc.run("page.html", article=True)
146
+ markdown, tally = brewdoc.render_html("page.html", article=True)
147
+ ```
127
148
 
128
- [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/benchmarks/results/README.md)
129
- [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.3.3/LICENSE)
149
+ Article mode selects one explicit article or a qualified main subtree. It suits single articles
150
+ and documentation pages with those literal HTML elements. Feeds with peer articles, ambiguous
151
+ main regions and pages without a qualified subtree refuse. A visible form disqualifies main
152
+ fallback; an explicit article can retain forms. There is no full-page fallback or text scoring.
153
+ Selection uses the recovered static HTML or frozen JS snapshot,
154
+ without layout or inferred author/date metadata. The source title is unchanged.
155
+
156
+ The receipt's `not_carried` and successful Markdown's Known omissions declare:
157
+ `body content outside the selected article or main subtree; complete page coverage is not claimed`.
158
+ The [article contract](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/FORMATS.md#article-selection)
159
+ defines selection, refusals and limits.
160
+
161
+ [Source-package CI](https://github.com/kochetkov-ma/brewdoc/actions/runs/38431645006) passed on
162
+ Ubuntu 22.04 x64/glibc with CPython 3.13.15, and macOS 15 ARM64/Windows Server 2025 x64
163
+ with CPython 3.14.7. Each passed four independent wheel/sdist base/optional installs;
164
+ optional JS executed on Unix and refused before requests on Windows. These are selected
165
+ tested patches, not a claim about newer versions. CPython 3.12.14 retains the local macOS
166
+ full-suite baseline and existing CI smoke checks. Package evidence is separate from the
167
+ standalone binaries; other OS/minor combinations, free-threaded CPython and other
168
+ architectures remain untested here.
169
+ See [package compatibility](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/FORMATS.md#python-package-compatibility).
170
+
171
+ [Format contracts](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/FORMATS.md) | [Corpus](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/benchmarks/CATALOG.md) | [Measurements](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/benchmarks/METHODOLOGY.md) | [Results](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/benchmarks/results/README.md)
172
+ [Releasing](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/RELEASING.md) | [Agent entry point](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/llms.txt) | [MIT license](https://github.com/kochetkov-ma/brewdoc/blob/v0.4.1/LICENSE)
130
173
 
131
174
  ## Related projects
132
175
 
package/package.json CHANGED
@@ -29,8 +29,8 @@
29
29
  "license": "MIT",
30
30
  "name": "brewdoc",
31
31
  "optionalDependencies": {
32
- "brewdoc-darwin-arm64": "0.3.3",
33
- "brewdoc-linux-x64-glibc": "0.3.3"
32
+ "brewdoc-darwin-arm64": "0.4.1",
33
+ "brewdoc-linux-x64-glibc": "0.4.1"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public",
@@ -40,5 +40,5 @@
40
40
  "type": "git",
41
41
  "url": "git+https://github.com/kochetkov-ma/brewdoc.git"
42
42
  },
43
- "version": "0.3.3"
43
+ "version": "0.4.1"
44
44
  }