Skip to main content

open-harness

The full open-harness suite in a single pip install. Installs all five code-quality tools at once: linelens, dupelens, secretlens, testlens, scopelens.

Part of the open-harness monorepo. Español abajo.

Same suite, other ecosystems: the binaries shipped here are also published on npm (@open_harness/open-harness) for Node/TypeScript projects and on Packagist (open-harness/open-harness) for PHP/Composer projects. Pick the registry that matches your stack — the underlying tools and config formats are identical.

Install

pip install open-harness-suite

pip resolves the dependency tree and downloads the right native wheel per platform for each tool (Linux x86_64, macOS arm64, macOS x86_64, Windows x86_64).

What you get

Tool Purpose
linelens File length linter — flags files over a configurable line limit.
dupelens Code duplication detector (Rabin-Karp, language-agnostic).
secretlens Secret and credential detector (AWS keys, GitHub tokens, JWT, PEM, …).
testlens Test coverage detector — finds source files without tests, 9 languages.
scopelens Per-PR file- and line-budget gate over git — counts the branch-vs-base diff at pre-commit.

After install, all five binaries live in your venv's bin/:

linelens   check
dupelens   check
secretlens check
testlens   check --lang python
scopelens  check

Configure from pyproject.toml

Each tool will read its config from [tool.<name>] inside your pyproject.toml (planned, see roadmap). Today, configuration goes in <tool>.json files at the repo root:

// linelens.json
{ "default": { "maxLines": 100 } }

Precedence per tool: --config <path> > dedicated *.json > pyproject.toml table > built-in defaults.

Run all five as a single CI gate

# GitHub Actions / GitLab CI / etc.
- pip install open-harness-suite
- linelens   check --fail
- dupelens   check --fail
- secretlens check --fail
- testlens   check --fail --lang python
- scopelens  check --fail
# .pre-commit-config.yaml
repos:
  - repo: local
    hooks:
      - id: linelens
        name: linelens
        entry: linelens check --fail --no-color
        language: system
        pass_filenames: false
      - id: dupelens
        name: dupelens
        entry: dupelens check --fail --no-color
        language: system
        pass_filenames: false
      - id: secretlens
        name: secretlens
        entry: secretlens check --fail --no-color
        language: system
        pass_filenames: false
      - id: testlens
        name: testlens
        entry: testlens check --fail --lang python
        language: system
        pass_filenames: false

Per-tool docs

Each tool ships in three ecosystems with identical behavior. Pick the registry that matches your project's stack:

Tool PyPI (Python) npm (Node/TS) Packagist (PHP)
linelens open-harness-linelens @open_harness/linelens open-harness/linelens
dupelens open-harness-dupelens @open_harness/dupelens open-harness/dupelens
secretlens open-harness-secretlens @open_harness/secretlens open-harness/secretlens
testlens open-harness-testlens @open_harness/testlens open-harness/testlens
scopelens open-harness-scopelens @open_harness/scopelens open-harness/scopelens

Español

La suite completa de open-harness en un solo pip install. Instala los cinco tools de calidad de código: linelens, dupelens, secretlens, testlens, scopelens.

Parte del monorepo open-harness.

Instalación

pip install open-harness-suite

pip descarga automáticamente la wheel nativa correcta para tu plataforma por cada tool (Linux x86_64, macOS arm64, macOS x86_64, Windows x86_64).

Qué incluye

Los 5 binarios disponibles en el bin/ de tu venv tras el install: linelens, dupelens, secretlens, testlens, scopelens.

Configurá desde pyproject.toml

Cada tool leerá su config desde [tool.<name>] dentro de tu pyproject.toml (roadmap). Hoy la configuración va en archivos <tool>.json en la raíz del repo.

CI / pre-commit

Sirve con GitHub Actions, GitLab CI o el framework pre-commit (snippets arriba).

License

MIT — see the main repository.

Download files

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

Source Distribution

open_harness_suite-0.3.4.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

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

open_harness_suite-0.3.4-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file open_harness_suite-0.3.4.tar.gz.

File metadata

  • Download URL: open_harness_suite-0.3.4.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for open_harness_suite-0.3.4.tar.gz
Algorithm Hash digest
SHA256 f66081cc775a8cabc98a54d9d77c307377547ab9209c21c11112ea001df74b29
MD5 d456ef49a2bde4a8eec925cd9afc32c1
BLAKE2b-256 232c132821a3eee7ca4a82c0828257142bd31d2c0fe8ccb84017e04385a60326

See more details on using hashes here.

File details

Details for the file open_harness_suite-0.3.4-py3-none-any.whl.

File metadata

File hashes

Hashes for open_harness_suite-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2f35a7eca3d813725b8bdcd1c78ca2611c0191da68e16ddca00bf4a5787a2b93
MD5 93564e2f0edb616d83b97fdcf9a10035
BLAKE2b-256 95f9d2978e840cb62715458a27d0461cbed29204b7218029f30a955b470846ad

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.5

2 files

This release

0.3.4 This release

2 files

0.3.3

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page