Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

Introduction: what is pss?

You can think of pss as an enhanced grep designed to search inside source code files. pss is very similar to the Perl ack tool (see https://bitbucket.org/eliben/pss/wiki/PssAndAck).

Pre-requisites

pss needs only Python to run. It works with with Python versions 2.6, 2.7 and 3.2 on Linux and Windows. Some testing was done on on Mac OS X and FreeBSD as well.

Installing

When you unzip the source distribution, run:

> python setup.py install

Alternatively, pss can be installed from PyPi (Python package index):

> pip install pss

Running without installing

pss supports direct invocation even without installing it. This may be useful if you're on a machine without administrator rights, or want to experiment with a source distribution of pss.

Just unzip the pss distribution into some directory. Let's assume its full path is /path/to/pss. You can now run:

> /path/to/python /path/to/pss

And this will invoke pss as expected. This command can also be tied to an alias or placed in a shell (or batch) script for convenience.

How to use it?

pss is meant to be executed from the command line. Running it with no arguments or with -h will print a detailed usage message.

For some detailed usage examples, check out the Usage wiki page - https://bitbucket.org/eliben/pss/wiki/Usage.

License

pss is open-source software. Its code is in the public domain. See the LICENSE file for more details.

Recent activity

paul_ollis

Commits by paul_ollis were pushed to paul_ollis/pss

a6882dd - Made output sort files/dirs in consistent order. On my Linux and Windows installations, two tests failed. The reason being that the order of files and ...
paul_ollis

Commits by paul_ollis were pushed to paul_ollis/pss

a342a9a - Implicit --noheading for non-tty output. This makes pss behave more like ack, which uses the non-heading format when output is redirected or piped. Also suppressed ...
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.