Skip to content

Release v0.13.0 - #223

Merged
nsheff merged 50 commits into
masterfrom
dev
Feb 25, 2026
Merged

nsheff merged 50 commits into
masterfrom
dev

Conversation

@nsheff

@nsheff nsheff commented Feb 12, 2026 •

Copy link
Copy Markdown
Contributor

claude and others added 10 commits November 5, 2025 23:16
Converted all docstrings from reStructuredText format to Google-style format
across the entire codebase. This includes:

- Main pipestat module (pipestat.py) - 42 docstrings
- File backend (filebackend.py) - 22 docstrings
- DB backend files (dbbackend.py, db_helpers.py, db_parsed_schema.py) - 22 docstrings
- PEPHub backend (pephubbackend.py) - 11 docstrings
- Utility files (helpers.py, parsed_schema.py, reports.py, etc.) - 50+ docstrings
- Abstract backend and reader modules

Changes include:
- Converting :param/:return/:raise style to Args:/Returns:/Raises: sections
- Adding proper blank lines after summary lines
- Maintaining all existing documentation content and type information
- Ensuring consistent formatting across all docstrings

All files have been syntax-checked and compile successfully.
Added missing type hints to improve type safety and IDE support across
all major modules.

## helpers.py (9 functions)
- Added parameter and return type hints to all functions
- Changed Union[T, None] to Optional[T] for consistency
- Fixed List return type to List[str] in get_all_result_files

## backends/abstract.py (7 improvements)
- Added type hints to __init__ and all method parameters
- Added return types to count_records, link, and nested functions
- Changed Optional parameters from bare types to Optional[T]
- Fixed select_distinct columns parameter type

## parsed_schema.py (3 properties)
- Added return types to project_table_name, sample_table_name properties
- Added type hints to _get_data_type static method
- Added return type to file_like_table_name property

## pipestat.py (40+ improvements)
- Added Callable import and fixed all formatter parameter types
- Added return types to all decorators (check_dependencies, require_backend)
- Added parameter and return types to all magic methods
- Added return types to all regular methods and properties
- Changed Union[str, None] to Optional[str] for consistency
- Fixed result_formatter from staticmethod to Callable throughout

## backends/file_backend/filebackend.py (10 improvements)
- Added Optional[T] to all optional parameters
- Added return types to count_records, _htmlreportbuilder, get_nested_column
- Added all parameter types to _modify_history method
- Fixed Callable return type for get_operator

## backends/db_backend/dbbackend.py (8 improvements)
- Added return types to count_records, get_model, _create_orms methods
- Added Generator type hint to session property with proper import
- Added Optional[T] to optional parameters
- Added return types to _engine property

## backends/pephub_backend/pephubbackend.py (4 improvements)
- Added return type to count_records
- Added Optional[T] to optional parameters
- Fixed get_operator return type to str

All files pass Python syntax validation. Type hints are consistent with
the codebase style and improve IDE autocomplete and type checking support.
Applied black code formatter and fixed all ruff linting issues across
the codebase.

## Black formatting (4 files):
- pipestat/backends/abstract.py - Reformatted long function signatures
- pipestat/helpers.py - Reformatted function signatures to fit line length
- pipestat/backends/file_backend/filebackend.py - Reformatted long lines
- pipestat/pipestat.py - Reformatted decorator and method signatures

## Ruff linting fixes (22 issues):
- Fixed 4 bare except statements (E722) to use specific exception types:
  - backends/abstract.py: except FileExistsError
  - backends/file_backend/filebackend.py: except FileNotFoundError, except Exception
  - reports.py: except Exception (2 occurrences)
- Removed 13 unused imports automatically via ruff --fix
- Fixed 4 unused variables by prefixing with underscore or removing
- Left 1 acceptable wildcard import (F403) in pipestatreader/__init__.py

All modified files pass Python syntax validation.

Note: Full pytest run skipped due to missing test dependencies in environment,
but all files compile successfully.
…SEEJKpuR1MkqV1PRu

Convert docstrings to google style
@donaldcampbelljr

Copy link
Copy Markdown
Contributor

Fresh install fails due to yacman 0.9.5 not being released yet:

ERROR: No matching distribution found for yacman>=0.9.5

@nsheff

nsheff commented Feb 25, 2026

Copy link
Copy Markdown
Contributor Author

@donaldcampbelljr ok I think this is pretty much ready to go now.

@nsheff
nsheff merged commit a532f88 into master Feb 25, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants