Skip to main content

Fast NTFS indexing and search for Windows amd64.

Project description

py-ntfs-quick-index

Fast Windows NTFS indexing and search for amd64 machines.

pnqi uses NTFS MFT enumeration for initial indexing and the NTFS USN Journal for incremental refreshes. Indexes are stored as SQLite files named pnqi.index.sqlite in the volume root, for example C:\pnqi.index.sqlite.

Requirements

  • Windows only
  • amd64 / x86_64 CPU only
  • Administrator privileges
  • NTFS volumes only
  • Python 3.10+

The program elevates only at startup through py-admin-launch. Internal library calls require the already-elevated process and do not trigger additional UAC prompts.

Install

Install the latest release from PyPI:

python -m pip install py-ntfs-quick-index

Upgrade an existing install:

python -m pip install --upgrade py-ntfs-quick-index

For local development from a checkout:

python -m pip install -e .

CLI

Create or replace an index for a folder:

pnqi index C:\

Search with * wildcards. * matches any string, including \. Results are sorted by displayed size descending.

pnqi search "C:\Users\*\Desktop\*.pdf"

Show descendants sorted by recursive size:

pnqi sizes C:\Users --limit 100

Show only direct children:

pnqi sizes C:\Users --direct

CLI progress bars use tqdm, and Ctrl+C cancels cleanly.

GUI

pnqi-gui

The GUI supports creating indexes, searching wildcard paths, browsing indexed folders, and viewing recursive sizes. During long operations the interface is locked except for Cancel. Long tasks run in a worker process so NTFS MFT scans and indexed searches do not stall the Tk event loop. Search results stream back in small batches so large result sets remain cancellable, and the Max rows control limits how many sorted matches are displayed. Cancelled index builds write only to a temporary SQLite file and do not replace the existing index.

Build a GUI EXE

To build the GUI as a single-file Windows executable from a checkout:

scripts\build_gui_exe.bat

The script creates an isolated build virtual environment under .build, installs the current project and PyInstaller there, and writes dist\exe\pnqi-gui.exe. It does not change the Poetry package configuration or runtime dependencies.

Incremental Updates

On startup, and before searches or browsing, pnqi checks existing pnqi.index.sqlite files and replays USN Journal changes into SQLite. Folder sizes are maintained as recursive sums of all descendant files; older indexes are recalculated once when opened. If the USN Journal was recreated or no longer contains the required history, pnqi reports that the index must be recreated.

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

py_ntfs_quick_index-0.1.5.tar.gz (27.6 kB view details)

Uploaded Source

Built Distribution

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

py_ntfs_quick_index-0.1.5-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file py_ntfs_quick_index-0.1.5.tar.gz.

File metadata

  • Download URL: py_ntfs_quick_index-0.1.5.tar.gz
  • Upload date:
  • Size: 27.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.13.5 Windows/11

File hashes

Hashes for py_ntfs_quick_index-0.1.5.tar.gz
Algorithm Hash digest
SHA256 2666a2a2dabd76d87edcbe29de61405f5cf1c7538070369e341128ce9fca6d60
MD5 6d080b8b7a6467f9a863439f7d815e12
BLAKE2b-256 f17c9af51056ca652b163b49d9efd1f7448e59aac8133f02bcae9f350e8ae155

See more details on using hashes here.

File details

Details for the file py_ntfs_quick_index-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for py_ntfs_quick_index-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fbfb76b3f94edcdf11026035f3103c1061fb4f3390f50f0b56181defae2e8736
MD5 9ae772777d8b2e6573e3c5c70d681103
BLAKE2b-256 9dc9f5285c179c0d534d38f3f2fb6cd5cf74f6d20fcedee384b7779e39ebb7ea

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