Skip to main content

Pseek is a Python library to search files, folders, and text

Project description

Pseek

Overview

A powerful command-line tool for searching files, directories, and content inside files efficiently. The tool supports searching by name, content, extensions, and more with advanced filtering options.

Features

  • Search in file & folder names
  • Search inside file contents
  • Highlight matches in terminal output
  • Optimized for speed with ThreadPoolExecutor
  • Cross-platform (Linux, macOS, Windows)

Installation

1️⃣ Install via pip (Recommended)

pip install pseek

2️⃣ Install from source

git clone https://github.com/ArianN8610/pysearch.git
cd pseek
pip install click==8.1.8

Usage

Run the command with a search query:

pseek <query> [options]

Examples

Search for a keyword in file & folder names

pseek "my_keyword" --path /path/to/search --file --directory

Search inside file contents

pseek "error" --path /var/logs --content

Search only in specific file types

pseek "TODO" --path ./projects --ext py --ext txt

Search by regex

pseek "error\d+" --regex

Command Options

Option Description
--path Base directory to search in (default: current directory .)
--file Search only in file names
--directory Search only in directory names
--content Search inside file contents
--ext, --exclude-ext Filter by file extension (e.g., .txt, .log)
--case-sensitive Make the search case-sensitive (except when --expr is enabled, in which case you can make it case sensitive by putting c before term: c"foo")
--regex Use regular expressions to search (except when --expr is enabled, in which case you can make it regex by putting r before term: r"foo")
--include, --exclude Limit search results to specific set of directories or files
--re-include, --re-exclude Limit search results to specific directories or files with regex
--word Match the whole word only (except when --expr is enabled, in which case you can make it match whole word by putting w before term: w"foo")
--expr Enable to write conditions in the query. Example: r"foo.*bar" and ("bar" or "baz") and not "qux" (To use regex, word, and case-sensitive features, you can use the prefixes r, w, and c before terms. Allowed modes: r, w, c, wc, cw, rc, cr. Examples: r"foo.*bar", wc"Foo", cr".*Foo", ...)
--max-size, --min-size Specify maximum and minimum sizes for files and directories
--full-path Display full path of files and directories
--no-content Only display files path for content search

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

pseek-2.2.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

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

pseek-2.2.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file pseek-2.2.0.tar.gz.

File metadata

  • Download URL: pseek-2.2.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for pseek-2.2.0.tar.gz
Algorithm Hash digest
SHA256 8ae41a253771880001729afd231a6d8d5d3f6d87d118a17bb22ac24d374b5987
MD5 87d1e2c92408abd384944f0d3559a96e
BLAKE2b-256 b02a5a1f4b5d16047810216578ae78abb1d2df41b63aa256c4b758ddd25ef59a

See more details on using hashes here.

File details

Details for the file pseek-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: pseek-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for pseek-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd4a7fb6c9c014d934817caa2844ad3e4a49b475a8c65d81db7aea1e55812972
MD5 ec63c2d34f6c0ae94cd96090081719d8
BLAKE2b-256 8231f01fe25b838cccc58ea4dc7bd35b02eeae9b7e71cfdf2d5583fbd0cac0f9

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