Skip to main content

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

  1. Clone the repository:
git clone <your-repo-url>
cd codemark
  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycodemark-0.2.0.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycodemark-0.2.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file pycodemark-0.2.0.tar.gz.

File metadata

  • Download URL: pycodemark-0.2.0.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/25.0.0

File hashes

Hashes for pycodemark-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5a1c52e72c8e1996efab96b1ba45fc56c0bf96d93eb0c4e1afdd7fc15f4e08dd
MD5 94aabca8b4f9bbd4debc828720563ddc
BLAKE2b-256 410cfb271b9db244cbaebec8689ca4b5aa4d9ffc30c34b7edde776d2969f33bd

See more details on using hashes here.

File details

Details for the file pycodemark-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pycodemark-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 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

Hashes for pycodemark-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 122a8897f2af4b3f19b05cf9493bb0e57af69fd3b6ecb824f97cf86e43e7b993
MD5 3bedc35a4d648a7de952f9b7eb323f52
BLAKE2b-256 4272b1b86b73c5c5135d8524833acf4e10ff0bb39d69e99407ec74964a78f447

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page