Toolkit for easy searching and manipulation of python source code using redbaron.
Project description
Toolkit for easy searching and manipulation of python source code using redbaron.
Installation
pip install baroness
Usage
Searching
You can search through python code using the redbaron API on the commandline. By default baroness will search through all python files from the current directory down recursively. The search pattern is just regular python code that would work with redbaron. The top level node is called root.
For example to search for all name nodes with a value of bar:
baroness search 'root("name", value="bar")'
search is the default subcommand so you can write the same with:
baroness 'root("name", value="bar")'
For full usage look at baroness search --help:
usage: baroness search [-h] [--no-cache] [--parents PARENTS] [--no-color] [--no-linenos] pattern [files [files ...]] positional arguments: pattern Python redbaron code to search where `root` is the variable holding the tree files File names and/or glob pattern. Default to recursive search of python all files. optional arguments: -h, --help show this help message and exit --no-cache Do no use the cache in `.baroness` even if it exists --parents PARENTS Number of parents to go up on matched nodes. --no-color Do not color the output. --no-linenos Do not output the linenumbers.
Caching
Parsing python files to a baron fst can be time consuming for large code bases. Baroness can cache the baron fst as json files to save time when searching. By default caching isn’t enabled, but will be used if baroness finds a .baroness directory.
Saving/Initialising Cache
To enable caching (and initially create cache) you can use:
baroness cache save
For full usage look at baroness cache save --help:
usage: baroness cache save [-h] [--force] [FILE [FILE ...]] Save given files (all tree) to disk positional arguments: FILE Files to save to cache. optional arguments: -h, --help show this help message and exit --force Save over already existing cache files.
Clearing the Cache
To delete all .baroness directories recursively use:
baroness cache delete
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file baroness-1.1.0.tar.gz
.
File metadata
- Download URL: baroness-1.1.0.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97ee939dd64a371492e5b3d1d65ace40bcc8b3836c4852f63436ae2b3cebe593 |
|
MD5 | 60ca4de2c14b4926fedc8cf93cc60e27 |
|
BLAKE2b-256 | da72dd1a0077f323776054320fff96d58f7d070d37c5c2c231d038d4b82b2729 |
File details
Details for the file baroness-1.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: baroness-1.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52764096df81b949bbfe5dff12fc6098ea075b8e09517f9d05b7515a82d2f0da |
|
MD5 | f1171175db1d9eb6d5d4a553abedffba |
|
BLAKE2b-256 | 6a21ffb30fce93ec68e2780decdaec41a65de292252e4058dc561d7718cfe08d |