Skip to main content

A python package written in rust for code navigation features like text search, fuzzy search and go to definition/references

Project description

# Code Navigation Python Package

This Python package provides functionality for indexing and searching code repositories using Rust and PyO3. The package supports text search, fuzzy search, and retrieving token information and hoverable ranges from the code.

## Installation

To install the package, use the following command:

```sh
pip install code_navigation_python

Usage

Import the Package

import code_navigation_python

Functions

go_to

Retrieves token information for a given position in a file.

Parameters
  • root_path_str (str): The root path of the repository.
  • index_path_str (str): The path where the index is stored.
  • relative_path (str): The relative path of the file.
  • line (int): The line number.
  • start_index (int): The start index in the line.
  • end_index (int): The end index in the line.
Returns
  • str: Token information.
Example
result = code_navigation_python.go_to("/path/to/repo", "/path/to/index", "src/main.rs", 10, 0, 5)
print(result)

text_search

Performs a text search in the code repository.

Parameters
  • root_path_str (str): The root path of the repository.
  • index_path_str (str): The path where the index is stored.
  • query (str): The search query.
  • case_sensitive (bool): Whether the search should be case sensitive.
Returns
  • str: Search results.
Example
result = code_navigation_python.text_search("/path/to/repo", "/path/to/index", "search term", True)
print(result)

get_hoverable_ranges

Retrieves the hoverable ranges for a given file.

Parameters
  • root_path_str (str): The root path of the repository.
  • index_path_str (str): The path where the index is stored.
  • relative_path (str): The relative path of the file.
Returns
  • str: Hoverable ranges in JSON format.
Example
result = code_navigation_python.get_hoverable_ranges("/path/to/repo", "/path/to/index", "src/main.rs")
print(result)

License

This project is licensed under the Apache License.

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

code_navigation_python-0.0.2.tar.gz (90.6 kB view details)

Uploaded Source

Built Distribution

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

code_navigation_python-0.0.2-cp37-abi3-manylinux_2_34_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.7+manylinux: glibc 2.34+ x86-64

File details

Details for the file code_navigation_python-0.0.2.tar.gz.

File metadata

File hashes

Hashes for code_navigation_python-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1d52cf236854364b744b09aa6285cd881f5f6f83a0060f5e751e316e5942aa5d
MD5 4b47a5c502be2b86079566519205538d
BLAKE2b-256 bb0acc122c00992db83de83bd92e72840ef4dbc5550eca2062d86374f39c58cb

See more details on using hashes here.

File details

Details for the file code_navigation_python-0.0.2-cp37-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for code_navigation_python-0.0.2-cp37-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0e0e20aff9a5fcd4a4e5a51ee88751cea3b888fe036bda251c3a7344348b52ac
MD5 e3f7cf3b071c15b563e5b583c5a7845f
BLAKE2b-256 68ae0cde3ab098bd6214a0fa08478534234ef250b53cd38bc5fa25660c950f3a

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