mirror of
https://github.com/ivuorinen/aeonview.git
synced 2026-03-17 18:59:56 +00:00
* feat: full upgrade to python3, tests, etc. * chore: saving the wip state * chore(lint): fixed pyright errors, tests * chore(ci): install deps * chore(lint): fix linting * chore(lint): more linting fixes * chore(ci): upgrade workflows * fix(test): fix tests, tweak editorconfig * test: add helper path test and stub requests (#4) * fix: update paths and workflow (#5) * fix: update python version and improve cross-platform paths (#6) * fix: resolve MegaLinter YAML and markdown lint failures (#7) * fix: implement all CodeRabbit review comments (#8) * fix: apply CodeRabbit auto-fixes Fixed 3 file(s) based on 3 unresolved review comments. * fix: resolve MegaLinter editorconfig and pylint/pyright failures (#9) * feat: migrate to uv-managed project (#10) * feat: migrate to uv-managed project * fix: align Python version in pyproject.toml and CI setup-uv config * fix: ignore uv.lock in editorconfig, disable PYTHON_PYLINT/PYRIGHT in mega-linter, use uv for dep install (#11) * fix: ignore uv.lock in editorconfig and disable PYTHON_PYLINT/PYRIGHT in mega-linter * fix: update outdated comment in mega-linter config * fix: use uv instead of pip to install deps in mega-linter config * chore(deps): upgrade workflows * chore(ci): mega-linter config tweaks * chore(ci): mega-linter config tweaks * feat(deps): add pyright and pylint with non-overlapping config Add pyright>=1.1.0 and pylint>=3.0.0 as dev dependencies. Configure pyright for basic type checking (py3.13) and refine pylint message disables to avoid overlap with ruff's enabled rule sets. * feat(ci): re-enable pyright and pylint in mega-linter Remove PYTHON_PYLINT and PYTHON_PYRIGHT from DISABLE_LINTERS so mega-linter runs all three linters: ruff, pyright, and pylint. * fix: resolve pyright/pylint findings and apply ruff formatting Add encoding="utf-8" to read_text() calls in tests (pylint W1514). Apply ruff-format double-quote style consistently across both files. * chore(hooks): add editorconfig-checker and fix lines exceeding 80 chars Add editorconfig-checker pre-commit hook to catch line-length violations locally. Shorten docstrings in aeonview.py and aeonview_test.py that exceeded the 80-character editorconfig limit. Remove double-quote-string-fixer hook that conflicted with ruff-format. * fix(ci): configure mega-linter to use project configs for pyright/pylint Point mega-linter at pyproject.toml for both linters so they use our config instead of mega-linter's defaults. Add venvPath/venv to pyright so it resolves imports from the uv-created .venv. Disable pylint import-error since import checking is handled by pyright.
29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# Contributor Guidelines
|
|
|
|
## Development Workflow
|
|
|
|
- Use **Python 3.13** as defined in `.python-version`.
|
|
- Install dependencies with `uv sync --all-groups`.
|
|
- Use **pre-commit** for linting and testing:
|
|
- `uv run pre-commit run --files <changed files>`
|
|
- or `make check` to run `ruff` linting and tests.
|
|
- Run **ruff** for linting and formatting (`make lint`, `make format`).
|
|
- Run **pytest** for tests (`make test`).
|
|
- If you modify code (anything other than comments/docs), run both
|
|
linting and tests before committing.
|
|
- Aim for 100% coverage; add tests when adding or modifying code.
|
|
- Use `uv run pre-commit install` once to install git hooks.
|
|
- Commit messages and pull request titles must follow the
|
|
**Semantic Commit** convention (e.g. `fix:`, `feat:`).
|
|
- If Node packages are added, use **yarn** instead of npm.
|
|
|
|
## Repository Structure
|
|
|
|
- `aeonview.py` — main application code.
|
|
- `aeonview_test.py` — test suite using pytest.
|
|
- `projects/` — output directory used by the application.
|
|
- `.pre-commit-config.yaml` — hooks for linting and testing.
|
|
- `Makefile` — common commands (`format`, `lint`, `test`).
|
|
- `pyproject.toml` — project metadata and dependencies (managed by uv).
|
|
- `uv.lock` — locked dependency versions.
|