PyCodemark – a full-featured code review tool for Python.
Project description
Codemark
Codemark is a full-featured Python code review tool that detects style issues, missing docstrings, and other code quality problems. It supports terminal, JSON, and SARIF output for CI integration and is extensible via plugins.
Features
- Detect missing docstrings, PEP8 violations, and clarity issues
- JSON and SARIF output for CI pipelines
- Plugin system for custom checks
- Pre-commit integration
- Configurable via
pyproject.toml
Installation
- Clone the repository:
git clone <your-repo-url>
cd codemark
- Create a Python 3.13 virtual environment:
python3.13 -m venv .venv
source .venv/bin/activate
Install dependencies with Poetry:
poetry install
Usage Basic code review:
codemark review src/
Output in JSON:
codemark review src/ --format json
Output in SARIF (for CI):
codemark review src/ --format sarif
Plugins
Add custom checks under src/codemark/plugins/. Each plugin must have a run(file_path, config) function returning a list of issues.
Example plugin: plugins/sample_plugin.py
Pre-commit Integration
Add to your .pre-commit-config.yaml:
repos:
- repo: local
hooks:
- id: codemark name: codemark-review entry: codemark review --format terminal language: system types: [python]
Install pre-commit hooks:
pre-commit install
CI Integration (GitHub Actions)
See .github/workflows/codemark.yml for a ready-to-use example that runs Codemark on every push or pull request and uploads SARIF results to GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pycodemark-0.2.1.tar.gz.
File metadata
- Download URL: pycodemark-0.2.1.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/25.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a278bf216327c236ea0750f4bc9c6d5b5c2f3eb760614b282e8af479a99ac16
|
|
| MD5 |
91fb652140aeb8d37bdc6fee7a2f4012
|
|
| BLAKE2b-256 |
cc19b5e7d41946dc533050189edec0122f948746abbe233f381297a0fa53be10
|
File details
Details for the file pycodemark-0.2.1-py3-none-any.whl.
File metadata
- Download URL: pycodemark-0.2.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/25.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33a6822f267effd3d97d48911099bc283cc21dc98c970150c3535196585dfec5
|
|
| MD5 |
871737339b29a588ccb9bc210f214eea
|
|
| BLAKE2b-256 |
2c5adca191d5ef64a69a268b574b48967386545aeb92d596aff1892b381bf86f
|