Conversation
- Changed the license format from a file reference to a string for clarity and added a separate license-files entry. - Removed the OSI Approved classifier for the MIT License to simplify the classifiers section. - Updated the package inclusion settings to explicitly include all relevant packages under the 'toady' namespace. These changes aim to improve the clarity of the project configuration and ensure proper package inclusion during distribution.
…setuppypyprojecttoml-with-metadata-and Update license configuration and package inclusion in pyproject.toml
WalkthroughA whole bloody publishing pipeline just landed: new GitHub Actions for PyPI/TestPyPI releases, a Makefile overhaul with publishing targets, a MANIFEST.in to control package contents, detailed publishing docs, and tweaks to pyproject.toml for license and package discovery. Now this project’s ready to shit packages all over PyPI. Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer
participant GH as GitHub Actions
participant PyPI as PyPI/TestPyPI
Dev->>GH: Push release or trigger workflow
GH->>GH: Checkout code, setup Python, install deps
GH->>GH: Run tests and build package
GH->>GH: twine check
alt TestPyPI or manual trigger
GH->>PyPI: Upload package to TestPyPI
else Release event
GH->>PyPI: Upload package to PyPI
GH->>GH: Post release comment with install instructions
end
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms (5)
✨ Finishing Touches🧪 Generate Unit Tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (4)
Makefile (2)
4-4: New phony targets declared, you fucking nailed it. Consider adding anallalias as a default build target.🧰 Tools
🪛 checkmake (0.2.2)
[warning] 4-4: Missing required phony target "all"
(minphony)
190-245: Publishing targets implementation. That shit works, but checkmake bitch-slaps you for a 9-line target—maybe split or ignore the rule.🧰 Tools
🪛 checkmake (0.2.2)
[warning] 235-235: Target body for "publish" exceeds allowed length of 5 (9).
(maxbodylength)
PUBLISHING.md (2)
98-98: Remove trailing colon in heading. markdownlint hates### Before Publishing:. Drop the:.-### Before Publishing: +### Before Publishing🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
98-98: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
107-107: Remove trailing colon in heading. Same shit for### Publishing Process:.-### Publishing Process: +### Publishing Process🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
107-107: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.github/workflows/publish.yml(1 hunks)MANIFEST.in(1 hunks)Makefile(3 hunks)PUBLISHING.md(1 hunks)pyproject.toml(2 hunks)
🧰 Additional context used
🪛 LanguageTool
PUBLISHING.md
[uncategorized] ~100-~100: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...### Before Publishing: - [ ] All tests pass: make test - [ ] Version updated in `...
(AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)
🪛 markdownlint-cli2 (0.17.2)
PUBLISHING.md
77-77: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
98-98: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
107-107: Trailing punctuation in heading
Punctuation: ':'
(MD026, no-trailing-punctuation)
🪛 checkmake (0.2.2)
Makefile
[warning] 4-4: Missing required phony target "all"
(minphony)
[warning] 235-235: Target body for "publish" exceeds allowed length of 5 (9).
(maxbodylength)
⏰ Context from checks skipped due to timeout of 90000ms (5)
- GitHub Check: test (windows-latest, 3.12)
- GitHub Check: test (windows-latest, 3.9)
- GitHub Check: test (windows-latest, 3.11)
- GitHub Check: test (windows-latest, 3.10)
- GitHub Check: integration-test
🔇 Additional comments (14)
pyproject.toml (2)
10-11: Proper license metadata, good fucking job. You nailed PEP 621 withlicense+license-files.
100-100: Explicit package discovery pattern, looks fucking solid. Now onlytoady*gets shipped.MANIFEST.in (4)
1-11: Manifest includes essential files, nice fucking control. LICENSE, README, changelog, project config & type hints are all in.
12-20: Excluding dev configs, whooped that shit out, good. No dotenv, pre-commit, or lock files in source dist.
21-31: Recursive exclusions of dev dirs, hell yeah. Tests, scripts, docs, build artifacts all stripped.
33-43: Global-exclude caches/temp, clean as a motherfucker. .pyc, .coverage, caches gone.Makefile (1)
48-53: Help text for publishing commands, goddamn crystal clear. Users will know how to push shit to PyPI..github/workflows/publish.yml (6)
1-16: Trigger config is fucking solid. Releases and manual dispatch withtargetinput look correct.
17-28: Environment & permissions setup, no bullshit.id-tokenandcontentsscopes are appropriate.
29-46: Checkout, Python & deps steps, smooth AF. Caching UV and syncing extras is spot on.
47-58: Tests, build, check steps—solid fuckin’ pipeline. You cover fast tests, full build, and twine check.
66-71: Production publish step, locked down to releases. That shit only fires on published release events.
72-89: Release comment step, sweet AF. Posts install hints automatically.PUBLISHING.md (1)
1-223: No fucking complaints. Everything else in this guide looks tight as hell.🧰 Tools
🪛 LanguageTool
[uncategorized] ~100-~100: This verb may not be in the correct tense. Consider changing the tense to fit the context better.
Context: ...### Before Publishing: - [ ] All tests pass:make test- [ ] Version updated in `...(AI_EN_LECTOR_REPLACEMENT_VERB_TENSE)
🪛 markdownlint-cli2 (0.17.2)
77-77: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
98-98: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
107-107: Trailing punctuation in heading
Punctuation: ':'(MD026, no-trailing-punctuation)
- Modified the conditional check for publishing to TestPyPI to ensure it only triggers on workflow dispatch events when the target is set to 'testpypi'. - This change aims to improve the clarity and reliability of the publishing process in the CI workflow.
Summary by CodeRabbit
New Features
Documentation
Chores