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.1.tar.gz (5.0 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.1-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

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

Hashes for pycodemark-0.2.1.tar.gz
Algorithm Hash digest
SHA256 1a278bf216327c236ea0750f4bc9c6d5b5c2f3eb760614b282e8af479a99ac16
MD5 91fb652140aeb8d37bdc6fee7a2f4012
BLAKE2b-256 cc19b5e7d41946dc533050189edec0122f948746abbe233f381297a0fa53be10

See more details on using hashes here.

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

Hashes for pycodemark-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33a6822f267effd3d97d48911099bc283cc21dc98c970150c3535196585dfec5
MD5 871737339b29a588ccb9bc210f214eea
BLAKE2b-256 2c5adca191d5ef64a69a268b574b48967386545aeb92d596aff1892b381bf86f

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