mirror of
https://github.com/ivuorinen/aeonview.git
synced 2026-03-17 21:59:58 +00:00
refactor: modernize to Python 3 with OOP structure and comprehensive tests (#2)
* 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.
This commit is contained in:
90
.github/CONTRIBUTING.md
vendored
Normal file
90
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
# Contributing to aeonview
|
||||
|
||||
Thanks for your interest in contributing to **aeonview**!
|
||||
This guide will help you get started.
|
||||
|
||||
## 🛠 Project Setup
|
||||
|
||||
1. Clone the repository:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/ivuorinen/aeonview.git
|
||||
cd aeonview
|
||||
```
|
||||
|
||||
2. Set up your environment:
|
||||
|
||||
```bash
|
||||
uv sync --all-groups
|
||||
```
|
||||
|
||||
3. Install pre-commit hooks:
|
||||
|
||||
```bash
|
||||
uv run pre-commit install
|
||||
```
|
||||
|
||||
## ✅ Development Workflow
|
||||
|
||||
- Make sure your changes are **well-tested**.
|
||||
- Use `make check` to run linting and tests.
|
||||
- Follow the existing coding style (Ruff will enforce it).
|
||||
- All new features must include documentation.
|
||||
|
||||
## 🧪 Running Tests
|
||||
|
||||
```bash
|
||||
make test
|
||||
```
|
||||
|
||||
## 🧹 Formatting & Linting
|
||||
|
||||
```bash
|
||||
make format # auto-format code
|
||||
make lint # check for lint errors
|
||||
```
|
||||
|
||||
## ✅ Submitting a Pull Request
|
||||
|
||||
1. Create a feature branch:
|
||||
|
||||
```bash
|
||||
git checkout -b feature/my-new-feature
|
||||
```
|
||||
|
||||
2. Commit your changes:
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "feat: add support for X"
|
||||
```
|
||||
|
||||
3. Push and open a pull request:
|
||||
|
||||
```bash
|
||||
git push origin feature/my-new-feature
|
||||
```
|
||||
|
||||
4. Follow the PR template and link any relevant issues.
|
||||
|
||||
## 📋 Commit Message Guidelines
|
||||
|
||||
Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/):
|
||||
|
||||
Examples:
|
||||
|
||||
- `feat: add monthly video generation`
|
||||
- `fix: handle invalid date error`
|
||||
- `docs: update usage instructions`
|
||||
|
||||
## 🙏 Code of Conduct
|
||||
|
||||
We expect contributors to follow our [Code of Conduct](CODE_OF_CONDUCT.md).
|
||||
|
||||
## Questions?
|
||||
|
||||
Feel free to open an issue or start a discussion!
|
||||
|
||||
Thanks for helping make Aeonview better 💜
|
||||
|
||||
<!-- vim: ft=md sw=2 ts=2 tw=72 fo=cqt wm=0 et :-->
|
||||
Reference in New Issue
Block a user