Conversation
There was a problem hiding this comment.
Pull request overview
Initial repository scaffolding for the zedprofiler Python package, including baseline contracts/exceptions, placeholder featurization modules, and development/CI/docs tooling.
Changes:
- Added core package primitives (versioning, exceptions, input contracts) and scaffolded featurization modules.
- Introduced baseline tests plus CI/lint/coverage and dev workflow tooling (
uv,ruff,pytest-cov, Sphinx). - Added initial documentation set (README, roadmap, API docs, and RFC2119 naming spec draft).
Reviewed changes
Copilot reviewed 22 out of 26 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| zedprofiler/featurization/texture.py | Adds placeholder texture compute() scaffold that currently raises a package error. |
| zedprofiler/featurization/neighbors.py | Adds placeholder neighbors compute() scaffold that currently raises a package error. |
| zedprofiler/featurization/intensity.py | Adds placeholder intensity compute() scaffold that currently raises a package error. |
| zedprofiler/featurization/granularity.py | Adds placeholder granularity compute() scaffold that currently raises a package error. |
| zedprofiler/featurization/colocalization.py | Adds placeholder colocalization compute() scaffold that currently raises a package error. |
| zedprofiler/featurization/areasizeshape.py | Adds placeholder area/size/shape compute() scaffold that currently raises a package error. |
| zedprofiler/exceptions.py | Defines package exception hierarchy (ZedProfilerError, ContractError). |
| zedprofiler/contracts.py | Defines array shape/order contracts and common ndarray type aliases. |
| zedprofiler/_version.py | Introduces version source-of-truth (__version__ = "0.0.1"). |
| zedprofiler/init.py | Currently empty package init (affects version exposure expectations). |
| tests/test_package.py | Adds baseline tests for version exposure, contracts, and module importability. |
| tests/test_roadmap_scope.py | Empty placeholder test module. |
| ROADMAP.md | Adds multi-phase delivery plan and quality gates. |
| README.md | Adds initial project description, dev env command, and API-shape example. |
| pyproject.toml | Adds packaging metadata, deps/extras, and tool configs (pytest-cov gate, ruff). |
| justfile | Adds common dev commands for env sync, lint, and tests via uv. |
| docs/source/index.rst | Adds Sphinx landing page with toctree. |
| docs/source/conf.py | Adds Sphinx configuration and version loading from _version.py. |
| docs/source/api.rst | Adds API reference structure with autodoc modules. |
| docs/source/scope.rst | Empty placeholder scope page referenced by toctree. |
| docs/RFC-2119-Feature-Naming-Convention.md | Adds draft RFC2119 naming convention/specification document. |
| .python-version | Pins local Python version to 3.11. |
| .pre-commit-config.yaml | Adds pre-commit hook configuration (formatting/linting utilities). |
| .github/workflows/ci.yml | Adds CI running ruff, pytest with coverage gate, and Sphinx build. |
| .github/PULL_REQUEST_TEMPLATE.md | Adds PR template checklist aligned with stated quality gates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
.github/PULL_REQUEST_TEMPLATE.md
Outdated
| - [ ] Tests added or updated | ||
| - [ ] Coverage remains >= 85% | ||
| - [ ] Docs updated where relevant | ||
| - [ ] RFC2119 naming expectations considered for emitted features |
There was a problem hiding this comment.
Consider naming and linking to the specific specification (instead of referencing the convention).
.github/PULL_REQUEST_TEMPLATE.md
Outdated
|
|
||
| - [ ] Scope of Pull Request is not already covered in an open PR. | ||
| - [ ] Tests added or updated | ||
| - [ ] Coverage remains >= 85% |
There was a problem hiding this comment.
Consider saying here "Test coverage" or "Code coverage".
.github/PULL_REQUEST_TEMPLATE.md
Outdated
| @@ -0,0 +1,11 @@ | |||
| ## Summary | |||
|
|
|||
| - | |||
There was a problem hiding this comment.
Consider using an HTML comment here to help guide the writer on what they should provide here.
.github/workflows/ci.yml
Outdated
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Setup Python | ||
| uses: actions/setup-python@v5 |
There was a problem hiding this comment.
Consider updating this and other actions to their latest version (for ex. setup-python is v6 currently).
.github/workflows/ci.yml
Outdated
| - name: Setup Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: "3.11" |
There was a problem hiding this comment.
Consider bumping this higher if you can.
There was a problem hiding this comment.
Consider removing or revising this (I think this is appearing as a submodule atm).
There was a problem hiding this comment.
Consider removing this and the pair file (until / if needed).
There was a problem hiding this comment.
Consider replacing this and the other module under this dir currently with what you have under the zedprofiler dir.
|
|
||
| from zedprofiler._version import __version__ | ||
|
|
||
| __all__ = ["__version__"] |
There was a problem hiding this comment.
Is this required? If not, consider removing.
There was a problem hiding this comment.
Comment applies to existing code under this directory. Consider adding tests for all the existing code, keeping it reasonable (not seeking 100% coverage).
This is the initial commit to layout the skeleton of the package. Argubly this is one of the most important PRs and also unfortunately, the most terse. The goal is uncompromisingly good software practices.