Recent Releases of lintquarto
lintquarto - v0.5.0 - 2025-08-18
Package now supports pydoclint, adds conda-related tooling and optional dev dependencies. Code now uses type hints, and have add some version-specific test and installation skips.
Added
- pydoclint: Add support for a new linter:
pydoclint. - Environment: Add
grayskull,types-toml, and made a[dev]optional dependencies section inpyproject.toml. Add exclusions for particular python versions.
Changed
- Type hints: Add type hints to package, and then use
pydoclintandmypywhen linting docs and package. - CONTRIBUTING: Improvements include table of contents and instructions for conda upload.
- Documentation:
- Add conda badge and PyPI downloads badges.
- Add explanation for
mypyoutput containing files outside specified path. - Mentioned "code analysis tools" (rather than referring to
radonas a linter).
- Test: Utility function for skipping tests when unavailable on certain python versions.
- Python
Published by amyheather 6 months ago
lintquarto - v0.4.0 - 2025-08-14
Extended support for radon, incorporating commands for maintainability index, Halstead metrics, and raw code metrics. Also some additional tests and documentation improvements, and a few small fixes.
Added
- Radon: Extended support beyond
radon cc- now also supportsradon mi,radon halandradon raw- which required addition ofpreserve_line_countinQmdToPyConverter. - Tests:
- Add back testing for every linter (
test_back.py). - Add test using
check-dependencieswhich tests for missing or undeclared dependencies. - Add new tests related to radon changes (
test_preserve_line_count_false_removes_non_code(),test_radon_hal_preserve_line_effect()).
- Add back testing for every linter (
- Build: Add
tomlas required dependency
Changed
- Radon: Command for radon cc is now
radon-cc(wasradonbefore). - Documentation:
docs.yamlnow uses Python 3.12 (as one of the linters is unsupported in 3.13).- Improved readability of
CONTRIBUTING.md. - Correct statement about only specifying one linter per command in
README.md. - Add back in bold and gap for PyPI button.
Removed
- Tests: Removed some redundant
check_availabletests (which were actually already covered bycheck_supported).
Fixed
- File type: Fixed replacement of
.pywith.qmdin the output for some linters. - Tests: Include error in checkd output and remove line numbers for pytype. Add skip for
pytypeback-test for unsupported python versions. lint_package.sh: Only run pylint on files that exist intests/to prevent false error abouttests/__init__.py.
- Python
Published by amyheather 6 months ago
lintquarto - v0.3.0 - 2025-07-07
Major updates include support for multiple linters and file/directory exclusion, expanded testing, several fixes (e.g. false positive linter warnings, deletion of .py files, coverage badge), and the removal of pylama.
Added
- Exclude: Add an
-e/--excludeflag to exclude files/directories, with examples in documentation. - Multiple linters: Add option to run multiple linters using
-l/--linters. - Tests: Expanded to provide a comprehensive set of unit tests for the
args,converter,linelengthandlintersmodules, as well as integration and functional tests for the__main__module. - Test CI: GitHub actions workflow now runs tests on multiple Python versions (3.7-3.13).
Changed
- Converter: Changed conversion of quarto to python file from a function (
_qmd_lines_to_py_lines) to a class (QmdToPyConverter). - Command to run lintquarto: To run multiple linters, now required to use
-l/--lintersfor linters and-p/--pathsfor files and directories.
Removed
- Pre-commit: Removed, as it was not functioning as intended and a manual workflow is now preferred.
Pylama: Removed, since its supported linters are now integrated directly, and the others were either redundant or deprecated (#25).- Behind the scenes: removed as now more complex and decided better to just look at the code rahter than page in docs, more standard, and up to date, etc.
Fixed
- README: Display of coverage badge.
- Chunk options: Amends Quarto code chunk options from
#| ...to# | ...to avoid linting errors. - E305: Linters like
flake8will warn "Expected 2 blank lines after end of function or class (E305)" at the start of a quarto code cell, but this will never be true, so for those linters,noqa: E305is always appended. - E302: For functions/classes defined at the start of a quarto code cell, linters like
flake8will also warn "Expected 2 blank lines, found 0 (E302)". This will also not be true, so in those cases,noqa: E302is appended. - E501: When appending
noqa: E302,E305the line length can then become too long - "Line too long (82 > 79 characters) (E501)". Hence, this warning is disabled in these cases (where the line length was fine before, but not after adding the noqa comment). - Deletion of .py file: When creating the temporary python file, the converter would replace any of the same name in the directory. If not keeping, it would then delete it. This issue has been fixed, by appending the duplicate temporary filename (e.g.
file (1).py). - C0114:
pylintwill warn "missing-module-docstring / C0114" but this will never be relevant for a quarto file so has been disabled. - Errors in
convert_qmd_to_py: ForFileNotFoundErrorandPermissionError, corrected to alsoreturn None(as already done forException). - Coverage badge: Coverage badge is now pushed to the repository when generated in the tests GitHub action.
- Python
Published by amyheather 8 months ago
lintquarto - v0.2.0 - 2025-06-27
Major updates include expanded linter support, new Quarto documentation, and new CI/CD workflows.
Added
- Linter support: Added support for new Python linters:
pyflakes,ruff,pylama,vulture,pycodestyle,pyright,pyreflyandpytype. - Documentation:
- Introduced Quarto documentation site with getting started, API reference, user guide and detailed linter pages.
- Add the
downloadthisextension to allow download buttons in.qmdfiles. - Add a Makefile for building and previewing the documentation.
- CI/CD: Added GitHub actions to build documentation and run tests.
- Linting the package: Added scripts and a pre-commit hook to lint the package code and documentation.
- Environment: Created a stable version of the environment with pinned versions using Conda.
Changed
- Refactoring: Refactored and simplified main code and converter logic, and linted the package.
- README: Updated with new buttons and shield badges.
- CONTRIBUTING: Add instructions on releases, bug reports, dependency versions, testing, and linting.
- Environment: Add
jupyter,genbadge,pre-commit,pytest-covandquartodocto the environment.
Fixed
- README: Corrected links (PyPI, Zenodo, external images).
- Python
Published by amyheather 8 months ago
lintquarto - v0.1.0 - 2025-06-24
🌱 First release.
Added
- Lint Quarto markdown (
.qmd) files usingpylint,flake8, ormypy.
- Python
Published by amyheather 8 months ago