Skip to content

Commit 1efcebc

Browse files
committed
first commit
0 parents  commit 1efcebc

28 files changed

Lines changed: 3204 additions & 0 deletions
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: Bug report
3+
about: Report a reproducible OCR, layout, packaging, or CLI problem
4+
title: "[bug] "
5+
labels: bug
6+
---
7+
8+
## Summary
9+
10+
Describe the problem in one or two sentences.
11+
12+
## Environment
13+
14+
- OS:
15+
- Python version:
16+
- Tesseract version:
17+
- Command used:
18+
19+
## Input
20+
21+
Describe the input image style and attach a safe-to-share sample if possible.
22+
23+
## Expected result
24+
25+
What did you expect to happen?
26+
27+
## Actual result
28+
29+
What actually happened?
30+
31+
## Notes
32+
33+
Include screenshots, terminal output, or other context that will help reproduce the issue.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: Feature request
3+
about: Suggest an improvement to OCR quality, PPTX output, developer experience, or packaging
4+
title: "[feature] "
5+
labels: enhancement
6+
---
7+
8+
## Problem
9+
10+
What is missing or frustrating today?
11+
12+
## Proposed change
13+
14+
What would you like `png2pptx` to do?
15+
16+
## Why it matters
17+
18+
How would this improve real use of the project?
19+
20+
## Extra context
21+
22+
Add mockups, examples, or references if they help explain the request.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Summary
2+
3+
-
4+
5+
## Testing
6+
7+
- [ ] `pytest -q`
8+
- [ ] smoke-tested the CLI if behavior changed
9+
10+
## Checklist
11+
12+
- [ ] docs updated when behavior or defaults changed
13+
- [ ] tests added or updated when behavior changed
14+
- [ ] no local/generated artifacts were committed by accident
15+
- [ ] limitations or tradeoffs are called out if relevant

.github/workflows/ci.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
test:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
python-version: ["3.10", "3.11", "3.12"]
14+
15+
steps:
16+
- name: Check out code
17+
uses: actions/checkout@v4
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v5
21+
with:
22+
python-version: ${{ matrix.python-version }}
23+
24+
- name: Install Tesseract
25+
run: |
26+
sudo apt-get update
27+
sudo apt-get install -y tesseract-ocr
28+
29+
- name: Install dependencies
30+
run: |
31+
python -m pip install --upgrade pip
32+
python -m pip install -e ".[dev]"
33+
34+
- name: Run tests
35+
run: pytest -q
36+
37+
package:
38+
runs-on: ubuntu-latest
39+
needs: test
40+
41+
steps:
42+
- name: Check out code
43+
uses: actions/checkout@v4
44+
45+
- name: Set up Python
46+
uses: actions/setup-python@v5
47+
with:
48+
python-version: "3.11"
49+
50+
- name: Build distribution artifacts
51+
run: |
52+
python -m pip install --upgrade pip build
53+
python -m build

.gitignore

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Current local/generated paths observed in this repo:
2+
# - .venv/
3+
# - .pytest_cache/
4+
# - build/
5+
# - png2pptx.egg-info/
6+
# - .artifacts/
7+
8+
# Python caches
9+
__pycache__/
10+
*.py[cod]
11+
12+
# Virtual environments
13+
.venv/
14+
venv/
15+
env/
16+
17+
# Test and tool caches
18+
.pytest_cache/
19+
.mypy_cache/
20+
.ruff_cache/
21+
.coverage
22+
htmlcov/
23+
24+
# Editors
25+
.vscode/
26+
.idea/
27+
28+
# Packaging artifacts
29+
build/
30+
dist/
31+
*.egg-info/
32+
pip-wheel-metadata/
33+
34+
# Local/session artifacts
35+
.artifacts/
36+
37+
# Generated outputs and diagnostics
38+
output*.pptx
39+
sample_output.pptx
40+
examples/sample_output.pptx
41+
result*.pptx
42+
*_fast.pptx
43+
*_aggressive*.pptx
44+
*_tuned*.pptx
45+
*_quality*.pptx
46+
*_clean.png
47+
*_clean_preview.png
48+
debug_overlay.png
49+
50+
# OS files
51+
.DS_Store
52+
Thumbs.db

CODE_OF_CONDUCT.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Code of Conduct
2+
3+
## Our standard
4+
5+
This project aims to be welcoming, respectful, and constructive.
6+
7+
Please:
8+
9+
- be respectful in disagreement
10+
- assume good intent
11+
- give feedback on code and ideas, not people
12+
- avoid harassment, discrimination, or personal attacks
13+
14+
## Unacceptable behavior
15+
16+
Unacceptable behavior includes:
17+
18+
- abusive or insulting language
19+
- harassment or intimidation
20+
- discriminatory remarks
21+
- doxxing or sharing private information without permission
22+
- repeated bad-faith disruption of discussions or review
23+
24+
## Enforcement
25+
26+
Project maintainers may remove comments, issues, or contributions that do not
27+
support a healthy working environment. Repeated or severe violations may lead
28+
to temporary or permanent bans from project spaces.
29+
30+
## Reporting
31+
32+
If something happens that should be reviewed by a maintainer, open a minimal
33+
issue requesting contact without reposting harmful content in public.

CONTRIBUTING.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Contributing to png2pptx
2+
3+
Thanks for taking an interest in `png2pptx`.
4+
5+
## Scope
6+
7+
The current public release is a **v0.1 beta**. Contributions that improve reliability, documentation, packaging, tests, and visually obvious OCR/PPTX issues are the best fit right now.
8+
9+
If you want to propose a larger change, open an issue first so the direction is clear before you invest time in a big PR.
10+
11+
## Development setup
12+
13+
1. Install **Python 3.10+**
14+
2. Install **Tesseract OCR**
15+
3. Install the project in editable mode with development dependencies:
16+
17+
```bash
18+
pip install -e ".[dev]"
19+
```
20+
21+
## Run the test suite
22+
23+
```bash
24+
pytest -q
25+
```
26+
27+
## Useful smoke test
28+
29+
```bash
30+
png2pptx convert examples/sample_input.png -o sample_output.pptx
31+
```
32+
33+
## Pull request checklist
34+
35+
- keep changes scoped to the problem you are solving
36+
- update docs when behavior or defaults change
37+
- add or update tests when behavior changes
38+
- do not commit local environment files, build outputs, or one-off debug artifacts
39+
- call out any tradeoffs or limitations in the PR description
40+
41+
## Reporting OCR quality issues
42+
43+
When filing OCR/layout bugs, include:
44+
45+
- operating system
46+
- Python version
47+
- Tesseract version
48+
- the command you ran
49+
- what you expected vs what actually happened
50+
- a safe-to-share input image or screenshot if possible

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 png2pptx contributors
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.

0 commit comments

Comments
 (0)