Conversation
cbouss
reviewed
Feb 24, 2026
Contributor
Author
|
I'll wait for this PR #173 because it removes grayskull. |
f58c780 to
bcc7ddb
Compare
Contributor
Author
Done. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this PR
This PR modernizes packaging and development configuration so metadata, tooling, and conda recipe behavior stay aligned.
Goal: reduce config drift and make build/test/lint flows more predictable.
Significant changes
1) Packaging + dependency alignment
pyproject.tomlruntime deps to match actual imports (click>=8.1.7,conda,conda-recipe-manager,ruamel.yaml, etc.).conda-recipe/meta.yaml, including keeping user-facing recipe deps (ruamel.yaml.jinja2,conda-build,grayskull).percy.commands.main,percy.render.*,percy.repodata.repodata,percy.updater.grayskull_sync).Why: avoid runtime/install mismatches and improve package confidence.
2) Config migration to
pyproject.toml.mypy.inito[tool.mypy]..pytest.inito[tool.pytest.ini_options].Makefileto usepyproject.tomlformake analyze..mypy.iniand.pytest.ini.Why: centralize tool config in a single modern location.
3) Optional dependency structure improvements
tests,lint) while preservingdevfor compatibility.include = ["percy", "percy.*"],exclude = ["percy.tests*"]).Why: clearer intent and safer packaging scope.
4) Pre-commit refresh + formatter stability
darker/blackchurn by pinning compatible Black and aligning line-length config.Why: broader quality coverage with stable formatter behavior.
5) Lint/type/doc cleanup in code
R0917(too-many-positional-arguments) in.pylintrc.Optionalimports reported by pylint.D200docstring formatting violations.typing.Hashableusage inpercy/types.pywithcollections.abc.Hashable.Why: reduce noisy lint failures and keep compatibility with newer tool versions.
6) Repo hygiene/docs updates
.gitignorewith a concise Python-dev baseline.conda build --python=3.11 conda-recipe/meta.yaml).Why: better onboarding and fewer accidental local artifact commits.
Validation performed
pre-commit run --all-filespre-commit run pylint --all-filespre-commit run pydocstyle --all-filesmake analyzeconda build --python=3.11 conda-recipe/meta.yaml✅ (build + import checks + recipe pytest passed)Note: Cursor AI was used for validations and the PR's initial comment.