searchcode


Namesearchcode JSON
Version 0.2.1 PyPI version JSON
download
home_pagehttps://searchcode.com
SummaryPython SDK for Searchcode.
upload_time2024-11-23 11:37:55
maintainerNone
docs_urlNone
authorRichard Mwewa
requires_python<4.0,>=3.10
licenseGPLv3+
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"
}
        
Elapsed time: 0.41446s