-
Notifications
You must be signed in to change notification settings - Fork 7
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: snakemake/snakemake-interface-common
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.17.4
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: snakemake/snakemake-interface-common
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.18.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 2 commits
- 17 files changed
- 2 contributors
Commits on Mar 27, 2025
-
feat: setup pixi, move to src layout, run ruff format once (#58)
This is the first iteration of PRs to start enforcing type annotations. The move to the src layout also helps with the finicky nature of pytest-cov While mypy type-checking is possible, there are currently ~50 issues to be addressed <details> <summary>mypy output</summary> ```console ➜ pixi run type-check ✨ Pixi task (type-check in dev): mypy src/ src/snakemake_interface_common/settings.py:15: error: Need type annotation for "skip" [var-annotated] src/snakemake_interface_common/settings.py:16: error: Generator has incompatible item type "SettingsEnumBase"; expected "TSettingsEnumBase" [misc] src/snakemake_interface_common/settings.py:20: error: Argument 1 to "_parse_choices_into" of "SettingsEnumBase" has incompatible type "list[str]"; expected "str" [arg-type] src/snakemake_interface_common/settings.py:24: error: Incompatible return value type (got "list[Never]", expected "set[TSettingsEnumBase]") [return-value] src/snakemake_interface_common/settings.py:24: error: Argument 1 to "_parse_choices_into" of "SettingsEnumBase" has incompatible type "list[str]"; expected "str" [arg-type] src/snakemake_interface_common/settings.py:27: error: Function is missing a type annotation for one or more arguments [no-untyped-def] src/snakemake_interface_common/settings.py:31: error: A function returning TypeVar should receive at least one argument containing the same TypeVar [type-var] src/snakemake_interface_common/settings.py:31: note: Consider using the upper bound "SettingsEnumBase" instead src/snakemake_interface_common/settings.py:32: error: Incompatible return value type (got "SettingsEnumBase", expected "TSettingsEnumBase") [return-value] src/snakemake_interface_common/settings.py:42: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/logging.py:7: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/attribute_types.py:23: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/attribute_types.py:27: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/attribute_types.py:30: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/exceptions.py:19: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/exceptions.py:39: error: Function is missing a type annotation for one or more arguments [no-untyped-def] src/snakemake_interface_common/exceptions.py:50: error: Incompatible types in assignment (expression has type "int | None", variable has type "int") [assignment] src/snakemake_interface_common/exceptions.py:51: error: Incompatible types in assignment (expression has type "Path | None", variable has type "Path") [assignment] src/snakemake_interface_common/exceptions.py:58: error: Incompatible types in assignment (expression has type "list[Any]", variable has type "tuple[Any, ...]") [assignment] src/snakemake_interface_common/exceptions.py:63: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/utils.py:7: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/utils.py:19: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/utils.py:22: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/utils.py:27: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/utils.py:38: error: Function is missing a type annotation for one or more arguments [no-untyped-def] src/snakemake_interface_common/utils.py:56: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/utils.py:72: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/utils.py:77: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:28: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:41: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:42: error: Invalid index type "str | None" for "dict[str, SettingsBase]"; expected type "str" [index] src/snakemake_interface_common/plugin_registry/plugin.py:45: error: Argument 1 to "get" of "dict" has incompatible type "str | None"; expected "str" [arg-type] src/snakemake_interface_common/plugin_registry/plugin.py:48: error: No overload variant of "get" of "dict" matches argument type "None" [call-overload] src/snakemake_interface_common/plugin_registry/plugin.py:48: note: Possible overload variants: src/snakemake_interface_common/plugin_registry/plugin.py:48: note: def get(self, str, /) -> SettingsBase | None src/snakemake_interface_common/plugin_registry/plugin.py:48: note: def get(self, str, SettingsBase, /) -> SettingsBase src/snakemake_interface_common/plugin_registry/plugin.py:48: note: def [_T] get(self, str, _T, /) -> SettingsBase | _T src/snakemake_interface_common/plugin_registry/plugin.py:57: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:78: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:87: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:113: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:172: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:173: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:195: error: Function is missing a type annotation for one or more arguments [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:211: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:217: error: Need type annotation for "kwargs_tagged" [var-annotated] src/snakemake_interface_common/plugin_registry/plugin.py:232: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:300: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/plugin.py:301: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/__init__.py:22: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/__init__.py:27: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/__init__.py:27: note: Use "-> None" if function does not return a value src/snakemake_interface_common/plugin_registry/__init__.py:56: error: Function is missing a type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/__init__.py:62: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/__init__.py:62: note: Use "-> None" if function does not return a value src/snakemake_interface_common/plugin_registry/__init__.py:80: error: Function is missing a return type annotation [no-untyped-def] src/snakemake_interface_common/plugin_registry/__init__.py:95: error: Function is missing a return type annotation [no-untyped-def] Found 50 errors in 7 files (checked 11 source files) ``` </details> I've also realized that there are some inconsistencies between some of the abstract classes and their concrete implementations in the `snakemake-interface-*-plugins` repos which need to be addressed. I will begin addressing these in a set of separate PRs and iterate over them. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Streamlined CI/CD workflows for package publishing and testing by updating dependency management and automation steps. - Enhanced repository configurations and ignore rules to support new build environments. - **Refactor** - Simplified internal method structures to boost maintainability without impacting functionality. - **Tests** - Improved quality control checks within test workflows for more consistent formatting and linting results. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Configuration menu - View commit details
-
Copy full SHA for 95d1d8d - Browse repository at this point
Copy the full SHA 95d1d8dView commit details
Commits on May 15, 2025
-
chore(main): release 1.18.0 (#60)
🤖 I have created a release *beep* *boop* --- ## [1.18.0](v1.17.4...v1.18.0) (2025-03-27) ### Features * setup pixi, move to src layout, run ruff format once ([#58](#58)) ([95d1d8d](95d1d8d)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for ed061c3 - Browse repository at this point
Copy the full SHA ed061c3View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v1.17.4...v1.18.0