Name | searchcode JSON |
Version |
0.2.1
JSON |
| download |
home_page | https://searchcode.com |
Summary | Python SDK for Searchcode. |
upload_time | 2024-11-23 11:37:55 |
maintainer | None |
docs_url | None |
author | Richard Mwewa |
requires_python | <4.0,>=3.10 |
license | GPLv3+ |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<p align="center"><img src="https://github.com/user-attachments/assets/d28934e1-a1ab-4b6e-9d12-d64067a65a60"><br>Python SDK for <a href="https://searchcode.com">Searchcode</a>.<br><i>Search 75 billion lines of code from 40 million projects</i></p>
<p align="center"></p>
## Installation
```bash
pip install searchcode
```
## Documentation
### Code Search
Queries the code index and returns at most 100 results.
#### Params
- `query`: Search term (required).
- The following filters are textual and can be added into query directly
- Filter by file extention **ext:EXTENTION** e.g., _"gsub ext:erb"_
- Filter by language **lang:LANGUAGE** e.g., _"import lang:python"_
- Filter by repository **repo:REPONAME** e.g., _"float Q_rsqrt repo:quake"_
- Filter by user/repository **repo:USERNAME/REPONAME** e.g., _"batf repo:boyter/batf"_
- `page`: Result page starting at 0 through to 49
- `per_page`: Number of results wanted per page (max 100).
- `languages`: List of programming languages to filter by.
- `sources`: List of code sources (e.g., GitHub, BitBucket).
- `lines_of_code_gt`: Filter to sources with greater lines of code than supplied int. Valid values 0 to 10000.
- `lines_of_code_lt`: Filter to sources with less lines of code than supplied int. Valid values 0 to 10000.
- `callback`: Callback function (JSONP only)
> If the results list is empty, then this indicates that you have reached the end of the available results.
> To fetch all results for a given query, keep incrementing `page` parameter until you get a page with an empty results
> list.
#### Code Search Without Filters
```python
import searchcode as sc
search = sc.code_search(query="test")
for result in search.results:
print(result)
```
#### Filter by Language (Java and JavaScript)
```python
import searchcode as sc
search = sc.code_search(query="test", languages=["Java", "JavaScript"])
for result in search.results:
print(result.language)
```
#### Filter by Source (BitBucket and CodePlex)
```python
import searchcode as sc
search = sc.code_search(query="test", sources=["BitBucket", "CodePlex"])
for result in search.results:
print(result.filename)
```
#### Filter by Lines of Code (Between 500 and 1000)
```python
import searchcode as sc
search = sc.code_search(query="test", lines_of_code_gt=500, lines_of_code_lt=1000)
for result in search.results:
print(result)
```
#### With Callback Function (JSONP only)
```python
import searchcode as sc
search = sc.code_search(query="test", callback="myCallback")
print(search)
```
#### Response Attribute Definitions
| Attribute | Description |
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **searchterm** | Search term supplied to the API through the use of the `q` parameter. |
| **query** | Identical to `searchterm` and included for historical reasons to maintain backward compatibility. |
| **matchterm** | Identical to `searchterm` and included for historical reasons to maintain backward compatibility. |
| **page** | ID of the current page that the query has returned. This is a zero-based index. |
| **nextpage** | ID of the offset of the next page. Always set to the current page + 1, even if you have reached the end of the results. This is a zero-based index. |
| **previouspage** | ID of the offset of the previous page. If no previous page is available, it will be set to `null`. This is a zero-based index. |
| **total** | The total number of results that match the `searchterm` in the index. Note that this value is approximate. It becomes more accurate as you go deeper into the results or use more filters. |
| **language_filters** | Returns an array containing languages that exist in the result set. |
| **id** | Unique ID for this language used by searchcode, which can be used in other API calls. |
| **count** | Total number of results that are written in this language. |
| **language** | The name of this language. |
| **source_filters** | Returns an array containing sources that exist in the result set. |
| **id** | Unique ID for this source used by searchcode, which can be used in other API calls. |
| **count** | Total number of results that belong to this source. |
| **source** | The name of this source. |
| **results** | Returns an array containing the matching code results. |
| **id** | Unique ID for this code result used by searchcode, which can be used in other API calls. |
| **filename** | The filename for this file. |
| **repo** | HTML link to the location of the repository where this code was found. |
| **linescount** | Total number of lines in the matching file. |
| **location** | Location inside the repository where this file exists. |
| **name** | Name of the repository that this file belongs to. |
| **language** | The identified language of this result. |
| **url** | URL to searchcode's location of the file. |
| **md5hash** | Calculated MD5 hash of the file's contents. |
| **lines** | Contains line numbers and lines which match the `searchterm`. Lines immediately before and after the match are included. If only the filename matches, up to the first 15 lines of the file are returned. |
### Code Result
Returns the raw data from a code file given the code id which can be found as the `id` in a code search result.
#### Params
- `_id`: Unique identifier for the code file (required).
```python
import searchcode as sc
code = sc.code_result(4061576)
print(code)
```
### Related Results
Returns an array of results given a searchcode unique code id which are considered to be duplicates.
#### Params
- `_id`: Unique identifier for the code file (required).
```python
import searchcode as sc
related = sc.related_results(4061576)
print(related)
```
#### Response Attribute Definitions
| Attribute | Description |
|----------------|------------------------------------------------------------------------------------------|
| **reponame** | Name of the repository which this related result belongs to. |
| **source** | The source which this code result comes from. |
| **sourceurl** | URL to the repository this result belongs to. |
| **md5hash** | Calculated MD5 hash of the file's contents. |
| **location** | Location inside the repository where this file exists. |
| **language** | Name of the language which this file is identified to be. |
| **linescount** | Total number of lines in this file. |
| **id** | Unique ID for this code result used by searchcode, which can be used in other API calls. |
| **filename** | The filename for this file. |
## About Searchcode
Searchcode is a simple, comprehensive source code search engine that indexes billions of lines of code from open-source
projects,
helping you find real world examples of functions, API's and libraries in 243 languages across 10+ public code sources.
[Learn more](https://searchcode.com/about)
## Acknowledgements
This SDK is developed and maintained by [Richard Mwewa](https://gravatar.com/rly0nheart), in collaboration
with [Ben Boyter](https://boyter.org/about/), the creator of [Searchcode.com](https://searchcode.com).
Raw data
{
"_id": null,
"home_page": "https://searchcode.com",
"name": "searchcode",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Richard Mwewa",
"author_email": "rly0nheart@duck.com",
"download_url": "https://files.pythonhosted.org/packages/c5/05/f39e12dc7e26e5aa53cab5f658f552a804c77fc48f80f507116a45b4e3ea/searchcode-0.2.1.tar.gz",
"platform": null,
"description": "<p align=\"center\"><img src=\"https://github.com/user-attachments/assets/d28934e1-a1ab-4b6e-9d12-d64067a65a60\"><br>Python SDK for <a href=\"https://searchcode.com\">Searchcode</a>.<br><i>Search 75 billion lines of code from 40 million projects</i></p>\n<p align=\"center\"></p>\n\n## Installation\n\n```bash\n\npip install searchcode\n\n```\n\n## Documentation\n\n### Code Search\n\nQueries the code index and returns at most 100 results.\n\n#### Params\n\n- `query`: Search term (required).\n - The following filters are textual and can be added into query directly\n - Filter by file extention **ext:EXTENTION** e.g., _\"gsub ext:erb\"_\n - Filter by language **lang:LANGUAGE** e.g., _\"import lang:python\"_\n - Filter by repository **repo:REPONAME** e.g., _\"float Q_rsqrt repo:quake\"_\n - Filter by user/repository **repo:USERNAME/REPONAME** e.g., _\"batf repo:boyter/batf\"_\n- `page`: Result page starting at 0 through to 49\n- `per_page`: Number of results wanted per page (max 100).\n- `languages`: List of programming languages to filter by.\n- `sources`: List of code sources (e.g., GitHub, BitBucket).\n- `lines_of_code_gt`: Filter to sources with greater lines of code than supplied int. Valid values 0 to 10000.\n- `lines_of_code_lt`: Filter to sources with less lines of code than supplied int. Valid values 0 to 10000.\n- `callback`: Callback function (JSONP only)\n\n> If the results list is empty, then this indicates that you have reached the end of the available results.\n\n> To fetch all results for a given query, keep incrementing `page` parameter until you get a page with an empty results\n> list.\n\n#### Code Search Without Filters\n\n```python\n\nimport searchcode as sc\n\nsearch = sc.code_search(query=\"test\")\n\nfor result in search.results:\n print(result)\n```\n\n#### Filter by Language (Java and JavaScript)\n\n```python\n\nimport searchcode as sc\n\nsearch = sc.code_search(query=\"test\", languages=[\"Java\", \"JavaScript\"])\n\nfor result in search.results:\n print(result.language)\n```\n\n#### Filter by Source (BitBucket and CodePlex)\n\n```python\n\nimport searchcode as sc\n\nsearch = sc.code_search(query=\"test\", sources=[\"BitBucket\", \"CodePlex\"])\n\nfor result in search.results:\n print(result.filename)\n```\n\n#### Filter by Lines of Code (Between 500 and 1000)\n\n```python\n\nimport searchcode as sc\n\nsearch = sc.code_search(query=\"test\", lines_of_code_gt=500, lines_of_code_lt=1000)\n\nfor result in search.results:\n print(result)\n```\n\n#### With Callback Function (JSONP only)\n\n```python\nimport searchcode as sc\n\nsearch = sc.code_search(query=\"test\", callback=\"myCallback\")\nprint(search)\n```\n\n#### Response Attribute Definitions\n\n| Attribute | Description |\n|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **searchterm** | Search term supplied to the API through the use of the `q` parameter. |\n| **query** | Identical to `searchterm` and included for historical reasons to maintain backward compatibility. |\n| **matchterm** | Identical to `searchterm` and included for historical reasons to maintain backward compatibility. |\n| **page** | ID of the current page that the query has returned. This is a zero-based index. |\n| **nextpage** | ID of the offset of the next page. Always set to the current page + 1, even if you have reached the end of the results. This is a zero-based index. |\n| **previouspage** | ID of the offset of the previous page. If no previous page is available, it will be set to `null`. This is a zero-based index. |\n| **total** | The total number of results that match the `searchterm` in the index. Note that this value is approximate. It becomes more accurate as you go deeper into the results or use more filters. |\n| **language_filters** | Returns an array containing languages that exist in the result set. |\n| **id** | Unique ID for this language used by searchcode, which can be used in other API calls. |\n| **count** | Total number of results that are written in this language. |\n| **language** | The name of this language. |\n| **source_filters** | Returns an array containing sources that exist in the result set. |\n| **id** | Unique ID for this source used by searchcode, which can be used in other API calls. |\n| **count** | Total number of results that belong to this source. |\n| **source** | The name of this source. |\n| **results** | Returns an array containing the matching code results. |\n| **id** | Unique ID for this code result used by searchcode, which can be used in other API calls. |\n| **filename** | The filename for this file. |\n| **repo** | HTML link to the location of the repository where this code was found. |\n| **linescount** | Total number of lines in the matching file. |\n| **location** | Location inside the repository where this file exists. |\n| **name** | Name of the repository that this file belongs to. |\n| **language** | The identified language of this result. |\n| **url** | URL to searchcode's location of the file. |\n| **md5hash** | Calculated MD5 hash of the file's contents. |\n| **lines** | Contains line numbers and lines which match the `searchterm`. Lines immediately before and after the match are included. If only the filename matches, up to the first 15 lines of the file are returned. |\n\n### Code Result\n\nReturns the raw data from a code file given the code id which can be found as the `id` in a code search result.\n\n#### Params\n\n- `_id`: Unique identifier for the code file (required).\n\n```python\n\nimport searchcode as sc\n\ncode = sc.code_result(4061576)\nprint(code)\n```\n\n### Related Results\n\nReturns an array of results given a searchcode unique code id which are considered to be duplicates.\n\n#### Params\n\n- `_id`: Unique identifier for the code file (required).\n\n```python\n\nimport searchcode as sc\n\nrelated = sc.related_results(4061576)\nprint(related)\n```\n\n#### Response Attribute Definitions\n\n| Attribute | Description |\n|----------------|------------------------------------------------------------------------------------------|\n| **reponame** | Name of the repository which this related result belongs to. |\n| **source** | The source which this code result comes from. |\n| **sourceurl** | URL to the repository this result belongs to. |\n| **md5hash** | Calculated MD5 hash of the file's contents. |\n| **location** | Location inside the repository where this file exists. |\n| **language** | Name of the language which this file is identified to be. |\n| **linescount** | Total number of lines in this file. |\n| **id** | Unique ID for this code result used by searchcode, which can be used in other API calls. |\n| **filename** | The filename for this file. |\n\n## About Searchcode\n\nSearchcode is a simple, comprehensive source code search engine that indexes billions of lines of code from open-source\nprojects,\nhelping you find real world examples of functions, API's and libraries in 243 languages across 10+ public code sources.\n\n[Learn more](https://searchcode.com/about)\n\n## Acknowledgements\n\nThis SDK is developed and maintained by [Richard Mwewa](https://gravatar.com/rly0nheart), in collaboration\nwith [Ben Boyter](https://boyter.org/about/), the creator of [Searchcode.com](https://searchcode.com).\n\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "Python SDK for Searchcode.",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://searchcode.com",
"Repository": "https://github.com/rly0nheart/searchcode-sdk"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b6cde93f8a1b19913f7553d7d3de3f6618c8b468999a84f6dd56e67ddad060f1",
"md5": "6a7985c5329029bb9af8aa18a9b11540",
"sha256": "361cab909f136c388891d37d1cdf3bff22b377bc96715e0bfcf8e628b326b02f"
},
"downloads": -1,
"filename": "searchcode-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6a7985c5329029bb9af8aa18a9b11540",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 23231,
"upload_time": "2024-11-23T11:37:54",
"upload_time_iso_8601": "2024-11-23T11:37:54.116941Z",
"url": "https://files.pythonhosted.org/packages/b6/cd/e93f8a1b19913f7553d7d3de3f6618c8b468999a84f6dd56e67ddad060f1/searchcode-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c505f39e12dc7e26e5aa53cab5f658f552a804c77fc48f80f507116a45b4e3ea",
"md5": "b5c20fbf7108778da544152bfb619710",
"sha256": "a6677e46388743cc43c62536819c97ad83fb6010c78dafc86b0ee64efb20eec8"
},
"downloads": -1,
"filename": "searchcode-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "b5c20fbf7108778da544152bfb619710",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 24210,
"upload_time": "2024-11-23T11:37:55",
"upload_time_iso_8601": "2024-11-23T11:37:55.814622Z",
"url": "https://files.pythonhosted.org/packages/c5/05/f39e12dc7e26e5aa53cab5f658f552a804c77fc48f80f507116a45b4e3ea/searchcode-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-23 11:37:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rly0nheart",
"github_project": "searchcode-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "searchcode"
}