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.4.tar.gz (27.4 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.4-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_ntfs_quick_index-0.1.4.tar.gz
  • Upload date:
  • Size: 27.4 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.4.tar.gz
Algorithm Hash digest
SHA256 a8902b8aad8655c3f068db48e95ad7fc06a10162eb884498b1c63cb53443cc25
MD5 68d234cfe199f26b8863059f8e9a6551
BLAKE2b-256 ff2395342e681efcf59ae1af2f6017f41186875fe36dfaa09914dbaff37a4d2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_ntfs_quick_index-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 de9032b63df779723fa94453d999301de7a75f5ba75b61c90743956049ae57f9
MD5 76a2ca941c8ac030c159d61251be0507
BLAKE2b-256 a9d5e5bae9dacc9f2e9888d48f19242ef1036158516b7e0634bd18f5b7f8853f

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