corpdoc 0.4.0__tar.gz

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.
corpdoc-0.4.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Alejandro Méndez
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
corpdoc-0.4.0/PKG-INFO ADDED
@@ -0,0 +1,260 @@
1
+ Metadata-Version: 2.4
2
+ Name: corpdoc
3
+ Version: 0.4.0
4
+ Summary: Professional Corporate PDF Generator from Markdown + Logo
5
+ Author-email: Alejandro Méndez <roccoco13@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/RoCCoCo13/corpdoc
8
+ Project-URL: Documentation, https://github.com/RoCCoCo13/corpdoc/tree/main/docs
9
+ Project-URL: Repository, https://github.com/RoCCoCo13/corpdoc
10
+ Project-URL: Issues, https://github.com/RoCCoCo13/corpdoc/issues
11
+ Project-URL: Changelog, https://github.com/RoCCoCo13/corpdoc/blob/main/CHANGELOG.md
12
+ Keywords: pdf,markdown,corporate,branding,documents,reports,proposals,ai,llm
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: End Users/Desktop
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Office/Business
23
+ Classifier: Topic :: Text Processing :: Markup :: Markdown
24
+ Classifier: Topic :: Printing
25
+ Requires-Python: >=3.10
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE
28
+ Requires-Dist: reportlab>=4.0
29
+ Requires-Dist: Pillow>=10.0
30
+ Requires-Dist: PyYAML>=6.0
31
+ Requires-Dist: mistune>=3.0
32
+ Requires-Dist: svglib<1.6,>=1.5
33
+ Provides-Extra: dev
34
+ Requires-Dist: pytest>=7.0; extra == "dev"
35
+ Requires-Dist: pytest-cov>=4.0; extra == "dev"
36
+ Requires-Dist: ruff>=0.1; extra == "dev"
37
+ Provides-Extra: mermaid
38
+ Requires-Dist: requests>=2.28; extra == "mermaid"
39
+ Requires-Dist: cairosvg>=2.6; extra == "mermaid"
40
+ Dynamic: license-file
41
+
42
+ <p align="center">
43
+ <img src="assets/corpdoc-logo-card.svg" alt="CorpDoc" width="460"/>
44
+ </p>
45
+
46
+ <p align="center">
47
+ <strong>Turn Markdown into branded corporate PDFs. In seconds.</strong>
48
+ </p>
49
+
50
+ <p align="center">
51
+ <a href="https://github.com/RoCCoCo13/corpdoc/actions/workflows/test.yml"><img src="https://github.com/RoCCoCo13/corpdoc/actions/workflows/test.yml/badge.svg" alt="Tests"/></a>
52
+ <a href="https://github.com/RoCCoCo13/corpdoc/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"/></a>
53
+ <a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.10%2B-blue" alt="Python"/></a>
54
+ </p>
55
+
56
+ ---
57
+
58
+ ## See it in action
59
+
60
+ Drop in your logo and CorpDoc automatically derives your brand palette:
61
+
62
+ <p align="center">
63
+ <img src="assets/preview-corpdoc-cover.png" alt="CorpDoc sample" width="60%"/>
64
+ <br/>
65
+ <em>CorpDoc self-demo — forest/camel palette from the CorpDoc logo</em>
66
+ </p>
67
+
68
+ ---
69
+
70
+ ## What is CorpDoc?
71
+
72
+ CorpDoc is an open-source tool that converts plain Markdown into professional
73
+ corporate PDFs with almost zero manual layout work. Drop in your **logo** and
74
+ a **YAML config** once, and every document you produce afterwards comes out
75
+ branded, paginated, and ready to send to clients.
76
+
77
+ **The killer feature:** CorpDoc is designed to be driven by AI. A single
78
+ `SKILL.md` file teaches any LLM (Claude, GPT, Gemini, local Ollama models)
79
+ how to generate CorpDoc-compatible Markdown. Your workflow becomes:
80
+
81
+ ```
82
+ prompt the AI → AI generates Markdown → corpdoc render → done
83
+ ```
84
+
85
+ ## Why CorpDoc exists
86
+
87
+ Because this shouldn't take an afternoon in Word every time you need to send
88
+ an offer. It should take 30 seconds.
89
+
90
+ AI models generate great text. They don't generate professional layouts.
91
+ CorpDoc bridges that gap without requiring you (or the AI) to learn LaTeX,
92
+ Typst, or fight with Word templates.
93
+
94
+ ---
95
+
96
+ ## Features
97
+
98
+ - 🎨 **Extracts brand colors automatically** from your SVG logo
99
+ - 📄 **Cover page** with 4 styles to pick from (classic, minimal,
100
+ bold-band, split) — configurable in the YAML
101
+ - 📋 **Version history** page for document control (change log)
102
+ - 📚 **Auto table of contents** from your headings
103
+ - 🏷️ **Branded headers and footers** with company info on every page
104
+ - 📊 **Auto-styled tables** with zebra striping in your brand colors
105
+ - 📐 **Auto-landscape for wide tables** — 8+ column tables rotate the page
106
+ so content stays readable
107
+ - 🌐 **Language detection** (English, Spanish, German, French) — pagination
108
+ and labels localize automatically
109
+ - 📐 **Nested lists**, inline formatting, code blocks, Mermaid diagrams
110
+ - 🤖 **AI-ready** — comes with a `SKILL.md` any LLM can follow
111
+
112
+ ---
113
+
114
+ ## Quickstart
115
+
116
+ ### 1. Install
117
+
118
+ ```bash
119
+ pip install corpdoc
120
+ ```
121
+
122
+ Or from source:
123
+
124
+ ```bash
125
+ git clone https://github.com/RoCCoCo13/corpdoc.git
126
+ cd corpdoc
127
+ pip install -e .
128
+ ```
129
+
130
+ ### 2. Create a config from your logo
131
+
132
+ ```bash
133
+ corpdoc init --logo my-logo.svg --name "My Company SL"
134
+ ```
135
+
136
+ This extracts the brand colors from your logo and writes a `corpdoc.yml`
137
+ template. Open it and fill in your footer info (address, director, VAT, etc.).
138
+
139
+ ### 3. Write (or generate) a Markdown document
140
+
141
+ ```markdown
142
+ ---
143
+ title: "Project Proposal"
144
+ subtitle: "For ACME Industrial"
145
+ reference: "OFR-2026-0042"
146
+ version: "1.0"
147
+ ---
148
+
149
+ # 1. Executive Summary
150
+
151
+ We propose the installation of a 500 kWp photovoltaic system...
152
+ ```
153
+
154
+ ### 4. Render it
155
+
156
+ ```bash
157
+ corpdoc render proposal.md --config corpdoc.yml
158
+ ```
159
+
160
+ Open `proposal.pdf`. Done.
161
+
162
+ ---
163
+
164
+ ## AI-driven workflow
165
+
166
+ The `skill/SKILL.md` file in this repo is the manual for any LLM. Paste it
167
+ into your Claude / ChatGPT / Gemini / Ollama system prompt and the model will
168
+ generate CorpDoc-compatible Markdown on demand.
169
+
170
+ **Example prompt to your AI:**
171
+
172
+ > "Using the CorpDoc skill, draft an offer for installing HVAC in a 2,000 m²
173
+ > warehouse for ClienteCorp. Budget around €45k. Include timeline and team
174
+ > section."
175
+
176
+ The AI writes the Markdown. You run `corpdoc render`. The PDF lands in your
177
+ clients' inbox 30 seconds later.
178
+
179
+ See the [AI Integration Guide](docs/ai-integration.md) for detailed workflows.
180
+
181
+ ---
182
+
183
+ ## Examples
184
+
185
+ A complete example is included in `examples/corpdoc-sample/` — a self-referential
186
+ demo using CorpDoc's own logo (forest + camel) that exercises every feature in one file.
187
+
188
+ ```bash
189
+ cd examples/corpdoc-sample
190
+ corpdoc render demo.md --config corpdoc.yml
191
+ ```
192
+
193
+ ---
194
+
195
+ ## Project structure
196
+
197
+ ```
198
+ corpdoc/
199
+ ├── src/corpdoc/ # Python package
200
+ │ ├── api.py # Main CorpDoc class
201
+ │ ├── cli.py # Command-line interface
202
+ │ ├── colors.py # SVG color extraction
203
+ │ ├── parser.py # Markdown parser
204
+ │ ├── canvas.py # Header/footer drawing
205
+ │ ├── flowables.py # Cover page, custom flowables
206
+ │ └── styles.py # Paragraph and table styles
207
+ ├── skill/
208
+ │ └── SKILL.md # Instructions for any LLM
209
+ ├── examples/
210
+ │ └── corpdoc-sample/ # Self-referential demo
211
+ ├── assets/
212
+ │ ├── corpdoc-logo.svg # Brand mark (transparent — for in-product use)
213
+ │ └── corpdoc-logo-card.svg # Same logo with white card (for docs/README)
214
+ ├── docs/ # Extended documentation
215
+ └── tests/ # Unit tests
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Roadmap
221
+
222
+ - [x] **v0.3** — Core rendering, SVG color extraction, AI skill
223
+ - [x] **v0.4** — Native SVG rendering, auto-landscape for wide tables,
224
+ configurable cover styles, `highlight` color role, pastel cover
225
+ surfaces, hardened release pipeline (OIDC + pip-audit + Dependabot)
226
+ - [ ] **v0.5** — Mermaid diagram rendering via Quarto/Kroki fallback
227
+ - [ ] **v0.6** — DOCX export via Pandoc pipeline
228
+ - [ ] **v0.7** — Template gallery (offers, reports, memos, contracts)
229
+ - [ ] **v1.0** — Stable API, PyPI release, comprehensive test suite
230
+
231
+ See [CHANGELOG.md](CHANGELOG.md) for release history.
232
+
233
+ ---
234
+
235
+ ## Contributing
236
+
237
+ Contributions welcome! Areas we'd love help with:
238
+
239
+ - Additional document templates (legal briefs, academic papers, invoices)
240
+ - Language support beyond en/es/de/fr
241
+ - Better diagram rendering
242
+ - Integrations (VS Code extension, Obsidian plugin, GitHub Action)
243
+
244
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
245
+
246
+ ---
247
+
248
+ ## License
249
+
250
+ MIT — see [LICENSE](LICENSE). Use it for anything, commercial or otherwise.
251
+
252
+ ---
253
+
254
+ ## Credits
255
+
256
+ Built by [Alejandro Méndez](https://github.com/RoCCoCo13) because nobody should
257
+ spend 2 hours maquetting a proposal in Word when an AI can generate the
258
+ content in 30 seconds.
259
+
260
+ If CorpDoc saves you time, a ⭐ on GitHub goes a long way.
@@ -0,0 +1,219 @@
1
+ <p align="center">
2
+ <img src="assets/corpdoc-logo-card.svg" alt="CorpDoc" width="460"/>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <strong>Turn Markdown into branded corporate PDFs. In seconds.</strong>
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="https://github.com/RoCCoCo13/corpdoc/actions/workflows/test.yml"><img src="https://github.com/RoCCoCo13/corpdoc/actions/workflows/test.yml/badge.svg" alt="Tests"/></a>
11
+ <a href="https://github.com/RoCCoCo13/corpdoc/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"/></a>
12
+ <a href="https://www.python.org/"><img src="https://img.shields.io/badge/python-3.10%2B-blue" alt="Python"/></a>
13
+ </p>
14
+
15
+ ---
16
+
17
+ ## See it in action
18
+
19
+ Drop in your logo and CorpDoc automatically derives your brand palette:
20
+
21
+ <p align="center">
22
+ <img src="assets/preview-corpdoc-cover.png" alt="CorpDoc sample" width="60%"/>
23
+ <br/>
24
+ <em>CorpDoc self-demo — forest/camel palette from the CorpDoc logo</em>
25
+ </p>
26
+
27
+ ---
28
+
29
+ ## What is CorpDoc?
30
+
31
+ CorpDoc is an open-source tool that converts plain Markdown into professional
32
+ corporate PDFs with almost zero manual layout work. Drop in your **logo** and
33
+ a **YAML config** once, and every document you produce afterwards comes out
34
+ branded, paginated, and ready to send to clients.
35
+
36
+ **The killer feature:** CorpDoc is designed to be driven by AI. A single
37
+ `SKILL.md` file teaches any LLM (Claude, GPT, Gemini, local Ollama models)
38
+ how to generate CorpDoc-compatible Markdown. Your workflow becomes:
39
+
40
+ ```
41
+ prompt the AI → AI generates Markdown → corpdoc render → done
42
+ ```
43
+
44
+ ## Why CorpDoc exists
45
+
46
+ Because this shouldn't take an afternoon in Word every time you need to send
47
+ an offer. It should take 30 seconds.
48
+
49
+ AI models generate great text. They don't generate professional layouts.
50
+ CorpDoc bridges that gap without requiring you (or the AI) to learn LaTeX,
51
+ Typst, or fight with Word templates.
52
+
53
+ ---
54
+
55
+ ## Features
56
+
57
+ - 🎨 **Extracts brand colors automatically** from your SVG logo
58
+ - 📄 **Cover page** with 4 styles to pick from (classic, minimal,
59
+ bold-band, split) — configurable in the YAML
60
+ - 📋 **Version history** page for document control (change log)
61
+ - 📚 **Auto table of contents** from your headings
62
+ - 🏷️ **Branded headers and footers** with company info on every page
63
+ - 📊 **Auto-styled tables** with zebra striping in your brand colors
64
+ - 📐 **Auto-landscape for wide tables** — 8+ column tables rotate the page
65
+ so content stays readable
66
+ - 🌐 **Language detection** (English, Spanish, German, French) — pagination
67
+ and labels localize automatically
68
+ - 📐 **Nested lists**, inline formatting, code blocks, Mermaid diagrams
69
+ - 🤖 **AI-ready** — comes with a `SKILL.md` any LLM can follow
70
+
71
+ ---
72
+
73
+ ## Quickstart
74
+
75
+ ### 1. Install
76
+
77
+ ```bash
78
+ pip install corpdoc
79
+ ```
80
+
81
+ Or from source:
82
+
83
+ ```bash
84
+ git clone https://github.com/RoCCoCo13/corpdoc.git
85
+ cd corpdoc
86
+ pip install -e .
87
+ ```
88
+
89
+ ### 2. Create a config from your logo
90
+
91
+ ```bash
92
+ corpdoc init --logo my-logo.svg --name "My Company SL"
93
+ ```
94
+
95
+ This extracts the brand colors from your logo and writes a `corpdoc.yml`
96
+ template. Open it and fill in your footer info (address, director, VAT, etc.).
97
+
98
+ ### 3. Write (or generate) a Markdown document
99
+
100
+ ```markdown
101
+ ---
102
+ title: "Project Proposal"
103
+ subtitle: "For ACME Industrial"
104
+ reference: "OFR-2026-0042"
105
+ version: "1.0"
106
+ ---
107
+
108
+ # 1. Executive Summary
109
+
110
+ We propose the installation of a 500 kWp photovoltaic system...
111
+ ```
112
+
113
+ ### 4. Render it
114
+
115
+ ```bash
116
+ corpdoc render proposal.md --config corpdoc.yml
117
+ ```
118
+
119
+ Open `proposal.pdf`. Done.
120
+
121
+ ---
122
+
123
+ ## AI-driven workflow
124
+
125
+ The `skill/SKILL.md` file in this repo is the manual for any LLM. Paste it
126
+ into your Claude / ChatGPT / Gemini / Ollama system prompt and the model will
127
+ generate CorpDoc-compatible Markdown on demand.
128
+
129
+ **Example prompt to your AI:**
130
+
131
+ > "Using the CorpDoc skill, draft an offer for installing HVAC in a 2,000 m²
132
+ > warehouse for ClienteCorp. Budget around €45k. Include timeline and team
133
+ > section."
134
+
135
+ The AI writes the Markdown. You run `corpdoc render`. The PDF lands in your
136
+ clients' inbox 30 seconds later.
137
+
138
+ See the [AI Integration Guide](docs/ai-integration.md) for detailed workflows.
139
+
140
+ ---
141
+
142
+ ## Examples
143
+
144
+ A complete example is included in `examples/corpdoc-sample/` — a self-referential
145
+ demo using CorpDoc's own logo (forest + camel) that exercises every feature in one file.
146
+
147
+ ```bash
148
+ cd examples/corpdoc-sample
149
+ corpdoc render demo.md --config corpdoc.yml
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Project structure
155
+
156
+ ```
157
+ corpdoc/
158
+ ├── src/corpdoc/ # Python package
159
+ │ ├── api.py # Main CorpDoc class
160
+ │ ├── cli.py # Command-line interface
161
+ │ ├── colors.py # SVG color extraction
162
+ │ ├── parser.py # Markdown parser
163
+ │ ├── canvas.py # Header/footer drawing
164
+ │ ├── flowables.py # Cover page, custom flowables
165
+ │ └── styles.py # Paragraph and table styles
166
+ ├── skill/
167
+ │ └── SKILL.md # Instructions for any LLM
168
+ ├── examples/
169
+ │ └── corpdoc-sample/ # Self-referential demo
170
+ ├── assets/
171
+ │ ├── corpdoc-logo.svg # Brand mark (transparent — for in-product use)
172
+ │ └── corpdoc-logo-card.svg # Same logo with white card (for docs/README)
173
+ ├── docs/ # Extended documentation
174
+ └── tests/ # Unit tests
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Roadmap
180
+
181
+ - [x] **v0.3** — Core rendering, SVG color extraction, AI skill
182
+ - [x] **v0.4** — Native SVG rendering, auto-landscape for wide tables,
183
+ configurable cover styles, `highlight` color role, pastel cover
184
+ surfaces, hardened release pipeline (OIDC + pip-audit + Dependabot)
185
+ - [ ] **v0.5** — Mermaid diagram rendering via Quarto/Kroki fallback
186
+ - [ ] **v0.6** — DOCX export via Pandoc pipeline
187
+ - [ ] **v0.7** — Template gallery (offers, reports, memos, contracts)
188
+ - [ ] **v1.0** — Stable API, PyPI release, comprehensive test suite
189
+
190
+ See [CHANGELOG.md](CHANGELOG.md) for release history.
191
+
192
+ ---
193
+
194
+ ## Contributing
195
+
196
+ Contributions welcome! Areas we'd love help with:
197
+
198
+ - Additional document templates (legal briefs, academic papers, invoices)
199
+ - Language support beyond en/es/de/fr
200
+ - Better diagram rendering
201
+ - Integrations (VS Code extension, Obsidian plugin, GitHub Action)
202
+
203
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
204
+
205
+ ---
206
+
207
+ ## License
208
+
209
+ MIT — see [LICENSE](LICENSE). Use it for anything, commercial or otherwise.
210
+
211
+ ---
212
+
213
+ ## Credits
214
+
215
+ Built by [Alejandro Méndez](https://github.com/RoCCoCo13) because nobody should
216
+ spend 2 hours maquetting a proposal in Word when an AI can generate the
217
+ content in 30 seconds.
218
+
219
+ If CorpDoc saves you time, a ⭐ on GitHub goes a long way.
@@ -0,0 +1,80 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "corpdoc"
7
+ version = "0.4.0"
8
+ description = "Professional Corporate PDF Generator from Markdown + Logo"
9
+ readme = "README.md"
10
+ requires-python = ">=3.10"
11
+ license = { text = "MIT" }
12
+ authors = [
13
+ { name = "Alejandro Méndez", email = "roccoco13@gmail.com" },
14
+ ]
15
+ keywords = [
16
+ "pdf", "markdown", "corporate", "branding", "documents",
17
+ "reports", "proposals", "ai", "llm"
18
+ ]
19
+ classifiers = [
20
+ "Development Status :: 4 - Beta",
21
+ "Intended Audience :: End Users/Desktop",
22
+ "Intended Audience :: Developers",
23
+ "License :: OSI Approved :: MIT License",
24
+ "Operating System :: OS Independent",
25
+ "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.10",
27
+ "Programming Language :: Python :: 3.11",
28
+ "Programming Language :: Python :: 3.12",
29
+ "Topic :: Office/Business",
30
+ "Topic :: Text Processing :: Markup :: Markdown",
31
+ "Topic :: Printing",
32
+ ]
33
+ dependencies = [
34
+ "reportlab>=4.0",
35
+ "Pillow>=10.0",
36
+ "PyYAML>=6.0",
37
+ "mistune>=3.0",
38
+ # Pinned < 1.6 because 1.6.0 added a hard dep on rlpycairo → pycairo,
39
+ # which requires libcairo system libs (no Linux wheels exist). We only
40
+ # use svglib's classic svg2rlg path, which 1.5.x supports cleanly.
41
+ "svglib>=1.5,<1.6",
42
+ ]
43
+
44
+ [project.optional-dependencies]
45
+ dev = [
46
+ "pytest>=7.0",
47
+ "pytest-cov>=4.0",
48
+ "ruff>=0.1",
49
+ ]
50
+ mermaid = [
51
+ "requests>=2.28",
52
+ "cairosvg>=2.6",
53
+ ]
54
+
55
+ [project.urls]
56
+ Homepage = "https://github.com/RoCCoCo13/corpdoc"
57
+ Documentation = "https://github.com/RoCCoCo13/corpdoc/tree/main/docs"
58
+ Repository = "https://github.com/RoCCoCo13/corpdoc"
59
+ Issues = "https://github.com/RoCCoCo13/corpdoc/issues"
60
+ Changelog = "https://github.com/RoCCoCo13/corpdoc/blob/main/CHANGELOG.md"
61
+
62
+ [project.scripts]
63
+ corpdoc = "corpdoc.cli:main"
64
+
65
+ [tool.setuptools]
66
+ package-dir = { "" = "src" }
67
+
68
+ [tool.setuptools.packages.find]
69
+ where = ["src"]
70
+
71
+ [tool.setuptools.package-data]
72
+ corpdoc = ["*.yml", "templates/*"]
73
+
74
+ [tool.ruff]
75
+ line-length = 100
76
+ target-version = "py310"
77
+
78
+ [tool.pytest.ini_options]
79
+ testpaths = ["tests"]
80
+ python_files = ["test_*.py"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,19 @@
1
+ """
2
+ CorpDoc — Professional Corporate PDF Generator from Markdown + Logo.
3
+
4
+ Turn a Markdown file and a corporate logo into a branded PDF with cover page,
5
+ version history, table of contents, headers, footers, and auto-styled tables.
6
+
7
+ Basic usage:
8
+ from corpdoc import CorpDoc
9
+
10
+ doc = CorpDoc(config='corpdoc.yml')
11
+ doc.render('report.md', output='report.pdf')
12
+ """
13
+
14
+ __version__ = "0.4.0"
15
+
16
+ from corpdoc.api import CorpDoc
17
+ from corpdoc.colors import extract_colors_from_svg, assign_roles
18
+
19
+ __all__ = ["CorpDoc", "extract_colors_from_svg", "assign_roles", "__version__"]