Library to spot a keyword as a function inside python stdlib
Project description
pylibfinder (supports Python 3.10 to 3.14 on POSIX)
pylibfinder is a Python library that allows you to spot a keyword as a python object inside the Python standard library.
It provides a convenient way to search for objects that match a given keyword within the standard library modules.
With pylibfinder, you can easily identify the modules and objects that are available in Python and gain insights into their usage and availability.
This library is designed to assist developers in finding relevant objects and understanding the Python standard library better.
Installation
For stable version
pip install pylibfinder
For development
Recommended (Easy setup):
cd pylibfinder
pip install -e . (installs in editable mode with proper Python headers detection)
make changes to src/pylibfinder.c
reinstall with pip install -e . to rebuild
open repl and test
Manual compilation:
macOS:
Install Homebrew Python: brew install python@3.13
Find Python include path: python3.13 -c "import sysconfig; print(sysconfig.get_path('include'))"
Compile: gcc -shared -o pylibfinder.so -fPIC -I /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13 src/pylibfinder.c src/module_scanner.c -lpython3.13
It will generate pylibfinder.so
Test in Python REPL: python3.13 -c "import pylibfinder; print(pylibfinder.find_similar('power'))
Linux:
Install Python dev package: sudo apt-get install python3.13-dev
Compile: gcc -shared -o pylibfinder.so -fPIC -I /usr/include/python3.13 src/pylibfinder.c src/module_scanner.c
It will generate pylibfinder.so
Test in Python REPL: python3.13 -c "import pylibfinder; print(pylibfinder.find_similar('power'))
Example
Semantic similarity search - Find similar functions:
>>> import pylibfinder
>>>
>>> # Search for 'power' to find math functions (default threshold 0.5)
>>> pylibfinder.find_similar('power')
[{'Module': 'builtins', 'Function': 'pow', 'Similarity': 0.6}, ...]
>>>
>>> # Search for 'print' with custom threshold
>>> result = pylibfinder.find_similar('print', 0.5)
>>> result[0]
{'Module': 'builtins', 'Function': 'print', 'Similarity': 1.0}
>>>
>>> # Find functions similar to 'parseInt' (Java function) with higher threshold
>>> pylibfinder.find_similar('parseInt', 0.6)
[{'Module': 're._parser', 'Function': '_parse_sub', 'Similarity': 0.6}]
>>>
>>> # Include private APIs (functions starting with _) in search results
>>> pylibfinder.find_similar('parse', 0.5, include_private=True)
[{'Module': 'builtins', 'Function': 'compile', 'Similarity': 0.5}, {'Module': 're._parser', 'Function': '_parse_sub', 'Similarity': 0.8}, ...]
>>>
Terminal User Interface (TUI)
Interactive Search with Beautiful UI:
To use the interactive terminal interface, install with the TUI extra:
pip install pylibfinder[tui]
Then launch the interactive TUI:
pylibfinder-tui
Features:
Beautiful Interactive Interface - Built with Textual for a modern TUI experience
Keyboard Navigation - Smooth and responsive controls
Color-Coded Results - Visual indicators for match quality:
Green: Excellent match (90%+)
Cyan: Good match (70%+)
Yellow: Fair match (50%+)
Red: Low match (<50%)
Progress Bars - Visual representation of similarity scores
Real-time Search - Search directly in the TUI interface
Usage:
Start the TUI: pylibfinder-tui
Type your keyword in the search box (e.g., power, print, parseInt)
Every keyword event sends request to the backend
View results in the formatted table
Press Ctrl+L to clear results or Ctrl+C to exit
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pylibfinder-0.2.4.tar.gz.
File metadata
- Download URL: pylibfinder-0.2.4.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e153609a92d7a97aacbf3d7b56e64a136c2d6728872337abc53837ddde410491
|
|
| MD5 |
8ec8e15e024be12b944c4244fea0e410
|
|
| BLAKE2b-256 |
7cfb99a43bd0fa1a44490d3ebab7574097b8c44b98d07f2d1530feeafbf3d7a8
|
File details
Details for the file pylibfinder-0.2.4-cp314-cp314t-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp314-cp314t-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 29.7 kB
- Tags: CPython 3.14t, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b82715f92290017817c8ee625cc45580b8b8a95514c141fc1eb8594ce8d9cc86
|
|
| MD5 |
07a88b5fc6c9139b8b4d031e0806f4e2
|
|
| BLAKE2b-256 |
2d15155e3b0d6230b7dab4c112693568401094abf1e18c1db7077b2b2dfd9d1e
|
File details
Details for the file pylibfinder-0.2.4-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 30.8 kB
- Tags: CPython 3.14t, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de3d1aea3461f9f6cf3cf8d5736f8405fdf16f7ec1281b139281a83b2a6031e8
|
|
| MD5 |
cc4b0caadb8c2c792ff51d6773d66ed6
|
|
| BLAKE2b-256 |
631aa25bac5ad84fd36b7241303d59d4bb479b526c1ed75cf62b81b39db68254
|
File details
Details for the file pylibfinder-0.2.4-cp314-cp314t-macosx_11_0_arm64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp314-cp314t-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.3 kB
- Tags: CPython 3.14t, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58222ed04d10148bcafe82f43b5237db9e0ec96dbd2bf83da04b8bc64d752a43
|
|
| MD5 |
253f7b1884d23b9d0e81b1a571e3137d
|
|
| BLAKE2b-256 |
19dedcfbdf8fac35821d8f41fea8c3e3fee2ce247b710a528f4dbc0e7d42d27b
|
File details
Details for the file pylibfinder-0.2.4-cp314-cp314-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp314-cp314-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 27.0 kB
- Tags: CPython 3.14, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a84a449ef83f92f901a1ffa13d8891f515cbf74a856e67d51439a1414397630f
|
|
| MD5 |
84abdc9620b83b8c59f13bcad047c546
|
|
| BLAKE2b-256 |
00354b80bdd2b23c27d60b8555ecc3936e752a8eb880bbfa28f6b6a318fd564b
|
File details
Details for the file pylibfinder-0.2.4-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 28.3 kB
- Tags: CPython 3.14, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d991957b16b0e74600803a99f7b831438f5fb8f9dd50697947504c78ba828a4
|
|
| MD5 |
7e5a37ad1f662cc6c956e2b7750261d7
|
|
| BLAKE2b-256 |
995ac46e17267076696b8a126b9b65465c7f4cbe1dc266db8d65923edc9daed4
|
File details
Details for the file pylibfinder-0.2.4-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.1 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79f4fa2d8baab887bc47d3e89fc9a42819b5686657bd1fbd19f5c97601c49bf3
|
|
| MD5 |
f812d37e09a4b1324430e5e58aa680e5
|
|
| BLAKE2b-256 |
9874789b0f053559708d3e9c1a6bb48e59aed151cbe510eb21797f016a457cfb
|
File details
Details for the file pylibfinder-0.2.4-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 27.0 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90cadb9472ab4921a9601c8d8f4191e2468cde8f568238dbc99184d33329d219
|
|
| MD5 |
ed0793c779043a95e2e9df557e2f40e9
|
|
| BLAKE2b-256 |
4a23dc075bcb2f4b612df24d117e67c4d82e0cef257b1c5c2698aa7541a7ecf6
|
File details
Details for the file pylibfinder-0.2.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 28.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fde618a0cf0e5519cd95a22b20e67c61dde33b5f7e1e0edd9e041d701233868c
|
|
| MD5 |
dcf402e079c6749d4b552d38199caf8b
|
|
| BLAKE2b-256 |
756d7660c461873b3c6cb65b03e5c6aa775f7b9b3f52ba3b3c4bc09d7254263f
|
File details
Details for the file pylibfinder-0.2.4-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.1 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
838f9e262981427a93737a6b712ff5a29f635ff577b9f1fe1b7659c8af1fe8ab
|
|
| MD5 |
e344ed71bce8466e07ad0f4d8acbc69b
|
|
| BLAKE2b-256 |
f2e4f2cca365a2cb963dd8fe8d7995e1c6d438f8c029ba88365ecc829b70c451
|
File details
Details for the file pylibfinder-0.2.4-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 27.0 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ad2a77e146c492aa92d76f516abacfe2e7de1d087dd8f803c66851f6c0ac410
|
|
| MD5 |
a0063b167b58e6cde3fa4dd6fc10ef79
|
|
| BLAKE2b-256 |
056c610604df55a9097842dff4c03ba1d4588c51b0c478776edc083286667bdc
|
File details
Details for the file pylibfinder-0.2.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 27.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
132335f562a731c6f9859d913071d0f52f01f9384fcc7451ae970f1ea5bdf3e8
|
|
| MD5 |
8668305c62b6ca4fe79b1703698dcdff
|
|
| BLAKE2b-256 |
df442c8f1a5c385cfc193cfb2cec3a948636863d8ac12d67618c887a116a200e
|
File details
Details for the file pylibfinder-0.2.4-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.1 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db5d4e948bddd706c48046980f95b2937e51f093781296a593ef991eb19779c4
|
|
| MD5 |
03b3a623a9d5bd54fa59df761d431178
|
|
| BLAKE2b-256 |
afd8a4c1d9dda1c3740b531a1afff836d3a16cc76d1f632252e0074bc60a0dda
|
File details
Details for the file pylibfinder-0.2.4-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 26.1 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f38b12846ee77aad588c309253ae4db07867d26ff3e0217c91903cb85457bfb
|
|
| MD5 |
fb31c8b5bcdd662ccaf53ccefdea5114
|
|
| BLAKE2b-256 |
f4ab84fd4888b406b40e78d3abc0bf9a883832800dc388b96cf08d27d4d26fdd
|
File details
Details for the file pylibfinder-0.2.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 26.8 kB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f575cf3437e467d6ef2a7bfce67c90d2f7aa4e63d02d55da6889ab670210819
|
|
| MD5 |
0160f38910bb0967a3161f3deda2f1d7
|
|
| BLAKE2b-256 |
a169001fd07c8da617fbb6213bf5fd04c671b6044ef0c0316f56b2f461e8eaf0
|
File details
Details for the file pylibfinder-0.2.4-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.0 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb2c09517ac9c11669e275304dee3362e24959042c16093fa3f10ec41103efb8
|
|
| MD5 |
2d02e6423f71ccb0fa8134f0dc31208d
|
|
| BLAKE2b-256 |
6454dcf7e7c5606c405bba150c8452d13e4d19dc65fc23bf7ebe2b3763c5acd7
|
File details
Details for the file pylibfinder-0.2.4-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 25.8 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a732bdec744ee70e9be14b748747bd8788e1c2ceb00f66107eecebfde7219c4f
|
|
| MD5 |
b992baa52f86cc1e650dd5f07177c6f7
|
|
| BLAKE2b-256 |
52f843a75dcb0418e86b1a118ebc6b2c8e4311e4cab19659aa04f03bbcf62029
|
File details
Details for the file pylibfinder-0.2.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
- Upload date:
- Size: 26.2 kB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59e34eefb68dc4d61237959a94ac668b854ea4da1b3c29ea353e789d6ad653be
|
|
| MD5 |
31e5637c6f2a607619021f5067c7e086
|
|
| BLAKE2b-256 |
863d426839e127c74794b504f341e4a9b419602dff65fa83d87d1f852c8d88df
|
File details
Details for the file pylibfinder-0.2.4-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: pylibfinder-0.2.4-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 12.0 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.24
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd8d576e5a32639883a488c31ae2fd67a344d69c1676af941fe50fb323f0fc65
|
|
| MD5 |
fb791da2604a5eb1c426740489bab5d3
|
|
| BLAKE2b-256 |
5fda65f1617abe2da03d49a07b10163a8da598f564da0ffe2c1c750815dccc1d
|