Skip to content

Commit f693fa5

Browse files
feat: release v0.1.0a1 — Phase 1 initial alpha (#1)
1 parent bb13063 commit f693fa5

119 files changed

Lines changed: 25720 additions & 112 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# =========================
2+
# Root
3+
# =========================
4+
root = true
5+
6+
# =========================
7+
# Default rules
8+
# =========================
9+
[*]
10+
charset = utf-8
11+
end_of_line = lf
12+
insert_final_newline = true
13+
trim_trailing_whitespace = true
14+
15+
# =========================
16+
# Python
17+
# =========================
18+
[*.{py,pyi}]
19+
indent_style = space
20+
indent_size = 4
21+
22+
# =========================
23+
# YAML
24+
# =========================
25+
[*.{yml,yaml}]
26+
indent_style = space
27+
indent_size = 2
28+
29+
# =========================
30+
# JSON / TOML
31+
# =========================
32+
[*.{json,toml}]
33+
indent_style = space
34+
indent_size = 2
35+
36+
# =========================
37+
# Markdown
38+
# =========================
39+
[*.md]
40+
trim_trailing_whitespace = false

.gitattributes

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# =========================
2+
# Enforce LF everywhere
3+
# =========================
4+
* text=auto eol=lf
5+
6+
# =========================
7+
# Binary files (never modify)
8+
# =========================
9+
*.png binary
10+
*.jpg binary
11+
*.jpeg binary
12+
*.gif binary
13+
*.pdf binary
14+
*.ico binary
15+
16+
# =========================
17+
# Python cache / compiled
18+
# =========================
19+
*.pyc binary
20+
21+
# =========================
22+
# Jupyter notebooks
23+
# (avoid noisy diffs)
24+
# =========================
25+
*.ipynb text eol=lf
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug in PlotStyle
4+
labels: bug
5+
assignees: ''
6+
---
7+
8+
## Before You File
9+
10+
- [ ] I searched existing issues and this hasn't been reported yet
11+
- [ ] I can reproduce this on the latest version of PlotStyle
12+
13+
## What happened?
14+
15+
A short description of the bug. What went wrong?
16+
17+
## How to reproduce it
18+
19+
Steps to trigger the bug:
20+
21+
1. Run the following code:
22+
23+
```python
24+
import plotstyle
25+
26+
# Paste the smallest example that shows the problem
27+
```
28+
29+
2. See the error or unexpected result
30+
31+
## What did you expect?
32+
33+
What should have happened instead?
34+
35+
## What actually happened?
36+
37+
What you saw instead. Paste the full error message or traceback if there is one:
38+
39+
```
40+
Paste error output here
41+
```
42+
43+
## Screenshots or figures
44+
45+
If the bug is visual (wrong styling, bad export, broken layout), attach a screenshot or the exported figure.
46+
47+
## Severity
48+
49+
- [ ] Crash / exception
50+
- [ ] Wrong output (incorrect styling or data)
51+
- [ ] Visual glitch (layout, spacing, colors)
52+
- [ ] Performance issue
53+
- [ ] Other
54+
55+
## Environment
56+
57+
- PlotStyle version: (run `python -c "import plotstyle; print(plotstyle.__version__)"`)
58+
- matplotlib version: (run `python -c "import matplotlib; print(matplotlib.__version__)"`)
59+
- Python version: (run `python --version`)
60+
- OS: (e.g. Windows 11, Ubuntu 22.04, macOS 14)
61+
62+
**Optional dependencies (if related to the bug):**
63+
64+
- Pillow version:
65+
- seaborn version:
66+
- fonttools version:
67+
68+
## Which part of PlotStyle is affected?
69+
70+
Check any that apply:
71+
72+
- [ ] Applying a journal style (`plotstyle.use()`)
73+
- [ ] Figure creation (`plotstyle.figure()` / `plotstyle.subplots()`)
74+
- [ ] Exporting or saving (`plotstyle.savefig()` / `plotstyle.export_submission()`)
75+
- [ ] Validation (`plotstyle.validate()`)
76+
- [ ] Color or accessibility tools
77+
- [ ] CLI (`plotstyle` command)
78+
- [ ] A specific journal spec (which one?)
79+
- [ ] Something else
80+
81+
## Additional context
82+
83+
Add any other context here. For example: does this only happen with a certain journal, file format, or backend?
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
name: New Journal Spec
3+
about: Request or submit a new journal specification
4+
labels: specs, enhancement
5+
assignees: ''
6+
---
7+
8+
## Before You File
9+
10+
- [ ] I checked that this journal doesn't already have a spec in PlotStyle
11+
12+
## Journal info
13+
14+
- **Journal name:**
15+
- **Publisher:**
16+
- **Author/figure guidelines URL:**
17+
18+
## Figure dimensions
19+
20+
If you can find these in the guidelines, please fill them in. All values in millimetres.
21+
22+
- Single-column width (mm):
23+
- Double-column / full-width (mm):
24+
- Maximum figure height (mm):
25+
26+
## Typography
27+
28+
- Required font(s): (e.g. Helvetica, Arial, Times New Roman)
29+
- Font type (serif or sans-serif):
30+
- Minimum font size (pt):
31+
- Maximum font size (pt):
32+
- Panel label style: (e.g. bold lowercase **a**, **b**, **c** or parenthesized **(a)**, **(b)**, **(c)**)
33+
34+
## Export and file format
35+
36+
- Accepted formats: (e.g. PDF, EPS, SVG, TIFF, PNG)
37+
- Minimum DPI for raster images:
38+
- Color space: (RGB or CMYK)
39+
- Must fonts be embedded? Yes / No / Not sure
40+
- Must text stay editable in vector files? Yes / No / Not sure
41+
42+
## Color and accessibility
43+
44+
- Are there color combinations the journal says to avoid? (e.g. red/green)
45+
- Does the journal require colorblind-friendly figures? Yes / No / Not sure
46+
- Does the journal require figures to work in grayscale? Yes / No / Not sure
47+
48+
## Line weights
49+
50+
- Minimum line weight (pt): (often 0.5 pt, check the guidelines)
51+
52+
## Notes
53+
54+
Anything else worth knowing? For example:
55+
- Special rules that don't fit the fields above
56+
- Differences between sub-journals under the same publisher
57+
- Things the guidelines are vague or contradictory about
58+
59+
## Willing to submit a PR?
60+
61+
- [ ] Yes, I'd like to create the `.toml` spec file myself
62+
- [ ] No, but I've provided enough info for someone else to do it
63+
64+
If you're submitting a PR, see the [Contributing guide](../../CONTRIBUTING.md#adding-a-new-journal) for how to create a spec file.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: Spec Inaccuracy
3+
about: Report an error or outdated information in an existing journal specification
4+
labels: bug, specs
5+
assignees: ''
6+
---
7+
8+
## Before You File
9+
10+
- [ ] I checked the journal's official figure preparation guidelines before filing this
11+
12+
## Which spec is affected?
13+
14+
- **Journal name:**
15+
- **Figure preparation guidelines URL:** (link to the official source you used)
16+
17+
## What is wrong?
18+
19+
Describe what the current spec says and why it is incorrect or outdated.
20+
21+
| Field | Current value in spec | Correct value | Source |
22+
|---|---|---|---|
23+
| (e.g. single_column_mm) | 85 | 88 | [Author guidelines, section 3](url) |
24+
25+
Add as many rows as needed.
26+
27+
## Why do you think it changed?
28+
29+
- [ ] The journal updated its guidelines (approximately when?)
30+
- [ ] The spec was always wrong
31+
- [ ] Not sure
32+
33+
## Willing to submit a PR?
34+
35+
- [ ] Yes, I'll fix the `.toml` spec file myself
36+
- [ ] No, but the table above has everything needed to fix it
37+
38+
If you're submitting a PR, see the [Contributing guide](../../CONTRIBUTING.md#adding-a-new-journal) for how to edit a spec file.
39+
40+
## Additional context
41+
42+
Anything else worth noting - e.g. the inaccuracy only affects a certain article type, sub-journal, or file format.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
## What does this PR do?
2+
3+
A short summary of what changed. One or two sentences is fine.
4+
5+
## Motivation
6+
7+
What problem does this solve, or what feature does it add? Link to any relevant issue or discussion.
8+
9+
## Related issues
10+
11+
- Closes #
12+
- Related to #
13+
14+
## How was this tested?
15+
16+
Describe how you verified the change works. For example:
17+
18+
- Ran `pytest` and all tests pass
19+
- Added new tests in `tests/...`
20+
- Tested manually with `plotstyle.use("nature")` and checked the output
21+
22+
## Type of change
23+
24+
- [ ] Bug fix
25+
- [ ] New feature
26+
- [ ] New or updated journal spec
27+
- [ ] Documentation update
28+
- [ ] Refactor (no behavior change)
29+
- [ ] Other: ___
30+
31+
## Checklist
32+
33+
- [ ] `pytest` passes
34+
- [ ] `ruff check src/ tests/` passes
35+
- [ ] `mypy src/plotstyle/` passes
36+
- [ ] I added or updated tests for this change (if applicable)
37+
- [ ] I updated the docs (if this changes the public API)
38+
39+
**If adding or updating a journal spec:**
40+
41+
- [ ] Ran `python scripts/validate_all_specs.py`
42+
- [ ] Included a link to the journal's official figure preparation guidelines
43+
44+
## Breaking changes
45+
46+
Does this change break any existing behavior? If so, describe what breaks and what users need to do.
47+
48+
(Write "None" if there are no breaking changes.)
49+
50+
## Focus for reviewers
51+
52+
Is there a specific part of this PR you'd like reviewers to pay close attention to? (Optional)
53+
54+
## Additional context
55+
56+
Screenshots, notes, or follow-up work that's still needed.

0 commit comments

Comments
 (0)