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 \.

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. 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. 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.3.tar.gz (26.3 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.3-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_ntfs_quick_index-0.1.3.tar.gz
  • Upload date:
  • Size: 26.3 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.3.tar.gz
Algorithm Hash digest
SHA256 1511eb08bd0e49c7e4bfc0b4b758d8108cac7c15ad6176dfafd60eab35e44287
MD5 04920433fe4933248bb63a95abe89cdd
BLAKE2b-256 1fdcfc51bde4b0ad782d0b263e952054f18a7dfa2638327cc9d6e84286c82057

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_ntfs_quick_index-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 abab010b92c960406e7b7ab4b2e5004b32a6698d352dae737f72c94bd43e408b
MD5 975de39dec03fc2f33e9d61d4f67bed2
BLAKE2b-256 63cc43f405916d0bf7eb2995135a0f4cf1ef6a66bfdce79c99fec759d16cb700

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