Skip to main content

NeonLoc

A blazingly fast, cyber-styled source code counter. Count your lines with pure edge.

PyPI version

NeonLoc Logo

Installation

Install directly from PyPI:

pip install neonloc

From source:

git clone https://github.com/debeski/neonloc.git
cd neonloc
pip install .

Usage

Simply run neonloc in your terminal and pass a directory. By default, it will use the current directory (.).

neonloc .

Or target a specific folder:

neonloc /path/to/project

List line metrics by layout-aware paths:

neonloc . -L auto

Use -L files, --list-loc dirs, or --list-loc both to force file, directory, or combined LOC tables. When -L is passed, NeonLoc shows only the detailed path table view plus the final scan summary. Tame large listings with --depth N (dirs mode), --top/--top-dirs/--top-languages N, and --sort loc|name|code|comments|ratio (files mode).

Export the scan result as JSON + text report:

neonloc . -e

Writes timestamped result_<timestamp>.json/.txt files under the scanned directory's .neonloc folder (never overwritten).

Export a standalone HTML report:

neonloc . --html report.html

Other useful flags:

neonloc . -D              # file-size distribution, empty/minimal files, largest files
neonloc . -X              # duplicate-code detection (normalized line-hash matching)
neonloc . --git           # branch, HEAD commit, author, uncommitted diffstat
neonloc . --since 30d     # daily LOC trend from Git history (also accepts w/m/y)
neonloc . -q              # print only the total LOC count, for scripting
neonloc . --no-banner --no-color  # script-friendly output

Configure defaults with a .neonloc.toml file in the scanned directory, so neonloc . just works:

[scan]
respect_gitignore = true
include_hidden = false
include_generated = false

[output]
color = true
banner = true

[thresholds]
large_file = 500
huge_file = 1000

Features

  • Categorized Metrics: Distinct, color-coded tables for Code, Documentation, Config, Data, Markup, and Style, each with a Code / Comment / Blank ratio column.
  • Cyber Aesthetic: Pure neon glory in your terminal, rendered with Rich.
  • Lightning Fast: Scans and parses directories in the blink of an eye.
  • Language Support: Python, JavaScript, TypeScript, Go, C/C++, C#, Rust, Swift, Kotlin, HTML, Jinja/Django, XML/SVG, CSS, YAML, JSON, SQL, CSV, Markdown, Text, Bash, Ruby, Java, PHP, Vue, Svelte, TOML, INI/Config, Dockerfile, and common ignore files (.gitignore, etc.).
  • Deep Metrics: Counts true code logic, comments, blanks, and total lines.
  • Path LOC Tables: Optional file and directory tables replace the generic category report, with auto choosing flat, modular, or mixed layout output. Supports depth limiting, top-N caps, and sorting.
  • Project Health: Always-on panel with code ratio, average file size, largest file, empty/huge-file counts, and warnings — plus a FILE READ ERRORS table for any file NeonLoc couldn't analyze (never silently skipped).
  • File Size Distribution & Duplication: -D shows size buckets, empty/minimal files, and the largest files; -X detects duplicated code blocks across files.
  • Git Integration: --git shows branch/commit/author/diffstat; --since shows a daily LOC trend derived from Git history.
  • Config File: Drop a .neonloc.toml in your project to set scan, output, and threshold defaults.
  • Export Files: -e/--export writes timestamped JSON + text reports to .neonloc/; --html writes a standalone, self-contained HTML report.
  • Scripting Friendly: -q/--quiet, --no-banner, --no-color.

View on PyPIView on GitHub

Download files

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

Source Distribution

neonloc-0.6.3.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

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

neonloc-0.6.3-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file neonloc-0.6.3.tar.gz.

File metadata

  • Download URL: neonloc-0.6.3.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for neonloc-0.6.3.tar.gz
Algorithm Hash digest
SHA256 3e75f81412b262d42cb5806c957b5047e2545df0d85e810700aae23221f7707f
MD5 239ea5a53c26547128689cd54d7340c2
BLAKE2b-256 323843f8a3ff55240288735af853a8aa8a5a5911cd4445ea12c592552eaac131

See more details on using hashes here.

Provenance

The following attestation bundles were made for neonloc-0.6.3.tar.gz:

Publisher: release.yml on debeski/neonloc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neonloc-0.6.3-py3-none-any.whl.

File metadata

  • Download URL: neonloc-0.6.3-py3-none-any.whl
  • Upload date:
  • Size: 23.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for neonloc-0.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8a961eb2c7519eb3ba5a98f640fb5270a8082c25a3064d1a917095243b42dafc
MD5 c1e96b6b433847627062162b205d0024
BLAKE2b-256 ab8d76cdb08c7e946919342a4c003e8c9214222a752b5b59cfc33c4cab101a8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for neonloc-0.6.3-py3-none-any.whl:

Publisher: release.yml on debeski/neonloc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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