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.
Metadata
Release files for pylibfinder 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pylibfinder-0.2.4.tar.gz | 9.4 kB | Details |
Built distributions (wheels)
Total release size: 412.2 kB
Release files / pylibfinder-0.2.4.tar.gz
| Download URL | pylibfinder-0.2.4.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e153609a92d7a97aacbf3d7b56e64a136c2d6728872337abc53837ddde410491
|
|
BLAKE2b-256 checksum How to use checksums |
7cfb99a43bd0fa1a44490d3ebab7574097b8c44b98d07f2d1530feeafbf3d7a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 29.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
b82715f92290017817c8ee625cc45580b8b8a95514c141fc1eb8594ce8d9cc86
|
|
BLAKE2b-256 checksum How to use checksums |
2d15155e3b0d6230b7dab4c112693568401094abf1e18c1db7077b2b2dfd9d1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 30.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
de3d1aea3461f9f6cf3cf8d5736f8405fdf16f7ec1281b139281a83b2a6031e8
|
|
BLAKE2b-256 checksum How to use checksums |
631aa25bac5ad84fd36b7241303d59d4bb479b526c1ed75cf62b81b39db68254
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | pylibfinder-0.2.4-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
58222ed04d10148bcafe82f43b5237db9e0ec96dbd2bf83da04b8bc64d752a43
|
|
BLAKE2b-256 checksum How to use checksums |
19dedcfbdf8fac35821d8f41fea8c3e3fee2ce247b710a528f4dbc0e7d42d27b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 27.0 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a84a449ef83f92f901a1ffa13d8891f515cbf74a856e67d51439a1414397630f
|
|
BLAKE2b-256 checksum How to use checksums |
00354b80bdd2b23c27d60b8555ecc3936e752a8eb880bbfa28f6b6a318fd564b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 28.3 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
3d991957b16b0e74600803a99f7b831438f5fb8f9dd50697947504c78ba828a4
|
|
BLAKE2b-256 checksum How to use checksums |
995ac46e17267076696b8a126b9b65465c7f4cbe1dc266db8d65923edc9daed4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pylibfinder-0.2.4-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.1 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
79f4fa2d8baab887bc47d3e89fc9a42819b5686657bd1fbd19f5c97601c49bf3
|
|
BLAKE2b-256 checksum How to use checksums |
9874789b0f053559708d3e9c1a6bb48e59aed151cbe510eb21797f016a457cfb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 27.0 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
90cadb9472ab4921a9601c8d8f4191e2468cde8f568238dbc99184d33329d219
|
|
BLAKE2b-256 checksum How to use checksums |
4a23dc075bcb2f4b612df24d117e67c4d82e0cef257b1c5c2698aa7541a7ecf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 28.0 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
fde618a0cf0e5519cd95a22b20e67c61dde33b5f7e1e0edd9e041d701233868c
|
|
BLAKE2b-256 checksum How to use checksums |
756d7660c461873b3c6cb65b03e5c6aa775f7b9b3f52ba3b3c4bc09d7254263f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pylibfinder-0.2.4-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
838f9e262981427a93737a6b712ff5a29f635ff577b9f1fe1b7659c8af1fe8ab
|
|
BLAKE2b-256 checksum How to use checksums |
f2e4f2cca365a2cb963dd8fe8d7995e1c6d438f8c029ba88365ecc829b70c451
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 27.0 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ad2a77e146c492aa92d76f516abacfe2e7de1d087dd8f803c66851f6c0ac410
|
|
BLAKE2b-256 checksum How to use checksums |
056c610604df55a9097842dff4c03ba1d4588c51b0c478776edc083286667bdc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 27.6 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
132335f562a731c6f9859d913071d0f52f01f9384fcc7451ae970f1ea5bdf3e8
|
|
BLAKE2b-256 checksum How to use checksums |
df442c8f1a5c385cfc193cfb2cec3a948636863d8ac12d67618c887a116a200e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pylibfinder-0.2.4-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.1 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
db5d4e948bddd706c48046980f95b2937e51f093781296a593ef991eb19779c4
|
|
BLAKE2b-256 checksum How to use checksums |
afd8a4c1d9dda1c3740b531a1afff836d3a16cc76d1f632252e0074bc60a0dda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 26.1 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
2f38b12846ee77aad588c309253ae4db07867d26ff3e0217c91903cb85457bfb
|
|
BLAKE2b-256 checksum How to use checksums |
f4ab84fd4888b406b40e78d3abc0bf9a883832800dc388b96cf08d27d4d26fdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 26.8 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
3f575cf3437e467d6ef2a7bfce67c90d2f7aa4e63d02d55da6889ab670210819
|
|
BLAKE2b-256 checksum How to use checksums |
a169001fd07c8da617fbb6213bf5fd04c671b6044ef0c0316f56b2f461e8eaf0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pylibfinder-0.2.4-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.0 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
eb2c09517ac9c11669e275304dee3362e24959042c16093fa3f10ec41103efb8
|
|
BLAKE2b-256 checksum How to use checksums |
6454dcf7e7c5606c405bba150c8452d13e4d19dc65fc23bf7ebe2b3763c5acd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 25.8 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a732bdec744ee70e9be14b748747bd8788e1c2ceb00f66107eecebfde7219c4f
|
|
BLAKE2b-256 checksum How to use checksums |
52f843a75dcb0418e86b1a118ebc6b2c8e4311e4cab19659aa04f03bbcf62029
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | pylibfinder-0.2.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 26.2 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
59e34eefb68dc4d61237959a94ac668b854ea4da1b3c29ea353e789d6ad653be
|
|
BLAKE2b-256 checksum How to use checksums |
863d426839e127c74794b504f341e4a9b419602dff65fa83d87d1f852c8d88df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|
Release files / pylibfinder-0.2.4-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | pylibfinder-0.2.4-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 12.0 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
dd8d576e5a32639883a488c31ae2fd67a344d69c1676af941fe50fb323f0fc65
|
|
BLAKE2b-256 checksum How to use checksums |
5fda65f1617abe2da03d49a07b10163a8da598f564da0ffe2c1c750815dccc1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.24
|