# SCOPUS Caller
[![linux](https://github.com/vishalmhjn/scopus_caller/actions/workflows/main.yml/badge.svg?branch=master&event=push)](https://github.com/vishalmhjn/scopus_caller/actions/workflows/main.yml)
[![mac](https://github.com/vishalmhjn/scopus_caller/actions/workflows/mac.yml/badge.svg?branch=master&event=push)](https://github.com/vishalmhjn/scopus_caller/actions/workflows/mac.yml)
[![windows](https://github.com/vishalmhjn/scopus_caller/actions/workflows/windows.yml/badge.svg?branch=master&event=push)](https://github.com/vishalmhjn/scopus_caller/actions/workflows/windows.yml)
> âšī¸ _Scopus quickly finds relevant and authoritative research, identifies experts and provides access to reliable data,
> metrics and analytical tools. Be confident in progressing research, teaching or research direction and priorities
> â all from one database and with one subscription._
## What is _SCOPUS API_
_SCOPUS API_ allows the users to query its database for all the articles based on a specified keyword(s).
A user needs to create an account on [SCOPUS](https://www.elsevier.com/solutions/scopus) using your university or
personal account and generate the SCOPUS key.
The API specification can be seen at this [link](https://github.com/ElsevierDev/elsapy). Using this API, It is possible
to **retrieve title**,**authors**, **affiliation**, **DOI**, etc of the scientific articles. Further, depending on the
access level of the article and authorized API, the article's **abstract-text** can also be retrieved.
### Semantic Scholar API
Semantic Scholar also provides an API to retrieve the article's meta-data. It is possible to obtain abstracts by
specifying the DOI of the article. Abstracts for all SCOPUS database articles are not available from Semantic Scholar database.
## Installation
1. Create a virtual environment to install all packages in and activate the environment:
_(Make sure you are in the parrent folder of this project)_
```sh
# crate an environment called venv in this project
python3 -m venv ~/.scopus-caller
# activate the environment
source ~/.scopus-caller/bin/activate
```
2. Install the package
```sh
pip install scopus-caller
```
## Obtain the API Key
1. If you haven't created an account on [SCOPUS](https://dev.elsevier.com) yet, got to
[SCOPUS](https://www.elsevier.com/solutions/scopus) and create a private account or one via your university.
2. After being logged in, create a new API key [here](https://dev.elsevier.com/apikey/manage), name the label to your
likings and leave the website input field empty _(it is not important)_.
Carefully read and understand the "API
SERVICE AGREEMENT" and "Text and Data Mining (TDM) Provisions", before using the API and the retrieved data. These
will be presented to the user while generating the API.
3. Copy you API key and store it in a text file.
## Usage
Import the library and paste the API key. Then run the following code in **Python3** terminal or Jupyter notebook.
```sh
# import the module
import scopuscaller as sc
# paste the api here
api_key = ""
```
**Parameters of function _call_scopus.py_**:
Parameters:
- api_key (str): Your Elsevier API key for authentication.
- keywords (list of str): Keywords to search for in article titles and abstracts.
- year (int, optional): The publication year to filter the articles. Default is 2023.
**Example**:
The following command will search for articles with the search terms `transportation`, `road safety` and `machine learning` published before 2023 (inclusive).
```sh
# Obtain the articles
df = sc.get_titles(api_key, ["transportation", "road safety", "transfer learning"], 2023)
# Obtain the abstracts of the above articles. For abstracts, you need to specify the output of previous step as input and then run the following
df = sc.get_abstracts(df)
```
## Citing
This is based on the base script [Scopus-Query](https://github.com/nsanthanakrishnan/Scopus-Query), so kindly cite:
- Narayanan, S., & Antoniou, C. (2022). Electric cargo cycles - A comprehensive review. Transport Policy, 116 , 278â303.
doi:10.1016/j.tranpol.2021.12.011.
Further, to see examples of how the keywords are used, you may see the Supplementary information in the following publication:
- Vishal Mahajan, Nico Kuehnel, Aikaterini Intzevidou, Guido Cantelmo, Rolf Moeckel & Constantinos Antoniou (2022) Data
to the people: a review of public and proprietary data for transport models, Transport Reviews, 42:4, 415-440,
DOI: [10.1080/01441647.2021.1977414](https://www.tandfonline.com/doi/full/10.1080/01441647.2021.1977414?scroll=top&needAccess=true)
## License
Distributed under the MIT License.
Raw data
{
"_id": null,
"home_page": "https://github.com/vishalmhjn/scopus_caller",
"name": "scopus-caller",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "example,setuptools",
"author": "Vishal Mahajan",
"author_email": "vishal.mahajan@tum.de",
"download_url": "https://files.pythonhosted.org/packages/ac/03/83cd46bbe436c7a98387e6236d3bfe5abd0dc0c5af57bf213044d4096371/scopus_caller-0.1.4.tar.gz",
"platform": null,
"description": "# SCOPUS Caller\n\n[![linux](https://github.com/vishalmhjn/scopus_caller/actions/workflows/main.yml/badge.svg?branch=master&event=push)](https://github.com/vishalmhjn/scopus_caller/actions/workflows/main.yml)\n[![mac](https://github.com/vishalmhjn/scopus_caller/actions/workflows/mac.yml/badge.svg?branch=master&event=push)](https://github.com/vishalmhjn/scopus_caller/actions/workflows/mac.yml)\n[![windows](https://github.com/vishalmhjn/scopus_caller/actions/workflows/windows.yml/badge.svg?branch=master&event=push)](https://github.com/vishalmhjn/scopus_caller/actions/workflows/windows.yml)\n\n> \u2139\ufe0f _Scopus quickly finds relevant and authoritative research, identifies experts and provides access to reliable data,\n> metrics and analytical tools. Be confident in progressing research, teaching or research direction and priorities\n> \u2014 all from one database and with one subscription._\n\n## What is _SCOPUS API_\n\n_SCOPUS API_ allows the users to query its database for all the articles based on a specified keyword(s). \nA user needs to create an account on [SCOPUS](https://www.elsevier.com/solutions/scopus) using your university or\npersonal account and generate the SCOPUS key. \nThe API specification can be seen at this [link](https://github.com/ElsevierDev/elsapy). Using this API, It is possible\nto **retrieve title**,**authors**, **affiliation**, **DOI**, etc of the scientific articles. Further, depending on the\naccess level of the article and authorized API, the article's **abstract-text** can also be retrieved.\n\n### Semantic Scholar API\n\nSemantic Scholar also provides an API to retrieve the article's meta-data. It is possible to obtain abstracts by\nspecifying the DOI of the article. Abstracts for all SCOPUS database articles are not available from Semantic Scholar database.\n\n## Installation\n\n1. Create a virtual environment to install all packages in and activate the environment: \n _(Make sure you are in the parrent folder of this project)_\n\n ```sh\n # crate an environment called venv in this project\n python3 -m venv ~/.scopus-caller\n # activate the environment\n source ~/.scopus-caller/bin/activate\n ```\n\n2. Install the package\n\n ```sh\n pip install scopus-caller\n ```\n\n## Obtain the API Key\n\n1. If you haven't created an account on [SCOPUS](https://dev.elsevier.com) yet, got to\n [SCOPUS](https://www.elsevier.com/solutions/scopus) and create a private account or one via your university.\n2. After being logged in, create a new API key [here](https://dev.elsevier.com/apikey/manage), name the label to your\n likings and leave the website input field empty _(it is not important)_. \n Carefully read and understand the \"API\n SERVICE AGREEMENT\" and \"Text and Data Mining (TDM) Provisions\", before using the API and the retrieved data. These\n will be presented to the user while generating the API.\n3. Copy you API key and store it in a text file.\n\n## Usage\n\nImport the library and paste the API key. Then run the following code in **Python3** terminal or Jupyter notebook.\n\n```sh\n# import the module\nimport scopuscaller as sc\n\n# paste the api here\napi_key = \"\"\n```\n\n**Parameters of function _call_scopus.py_**:\n\nParameters:\n\n- api_key (str): Your Elsevier API key for authentication.\n- keywords (list of str): Keywords to search for in article titles and abstracts.\n- year (int, optional): The publication year to filter the articles. Default is 2023.\n\n**Example**:\n\nThe following command will search for articles with the search terms `transportation`, `road safety` and `machine learning` published before 2023 (inclusive).\n\n```sh\n# Obtain the articles\ndf = sc.get_titles(api_key, [\"transportation\", \"road safety\", \"transfer learning\"], 2023)\n\n# Obtain the abstracts of the above articles. For abstracts, you need to specify the output of previous step as input and then run the following\n\ndf = sc.get_abstracts(df)\n```\n\n## Citing\n\nThis is based on the base script [Scopus-Query](https://github.com/nsanthanakrishnan/Scopus-Query), so kindly cite:\n\n- Narayanan, S., & Antoniou, C. (2022). Electric cargo cycles - A comprehensive review. Transport Policy, 116 , 278\u2013303.\n doi:10.1016/j.tranpol.2021.12.011.\n\nFurther, to see examples of how the keywords are used, you may see the Supplementary information in the following publication:\n\n- Vishal Mahajan, Nico Kuehnel, Aikaterini Intzevidou, Guido Cantelmo, Rolf Moeckel & Constantinos Antoniou (2022) Data\n to the people: a review of public and proprietary data for transport models, Transport Reviews, 42:4, 415-440,\n DOI: [10.1080/01441647.2021.1977414](https://www.tandfonline.com/doi/full/10.1080/01441647.2021.1977414?scroll=top&needAccess=true)\n\n## License\n\nDistributed under the MIT License.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "This package allows the users to query its database for all the articles based on a specified keyword(s)",
"version": "0.1.4",
"project_urls": {
"Homepage": "https://github.com/vishalmhjn/scopus_caller"
},
"split_keywords": [
"example",
"setuptools"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0fffcf75ae0497cb32a6fac226c74b481be8834d6d40dd11c2f09c896dd23529",
"md5": "7d4b2117ca7703ee69518f568e31bdb3",
"sha256": "dbd72d0b480a3d47d57019f99236654ac927bc130a95d0076d6a2453d787dc70"
},
"downloads": -1,
"filename": "scopus_caller-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7d4b2117ca7703ee69518f568e31bdb3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 8347,
"upload_time": "2023-10-20T07:12:59",
"upload_time_iso_8601": "2023-10-20T07:12:59.477879Z",
"url": "https://files.pythonhosted.org/packages/0f/ff/cf75ae0497cb32a6fac226c74b481be8834d6d40dd11c2f09c896dd23529/scopus_caller-0.1.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ac0383cd46bbe436c7a98387e6236d3bfe5abd0dc0c5af57bf213044d4096371",
"md5": "17b4c16d69710d3beb4bdcbedd1b0ebb",
"sha256": "eea6d73f84f68db831778d0ed92e36015c20fc05effc3c0223dc446553353e32"
},
"downloads": -1,
"filename": "scopus_caller-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "17b4c16d69710d3beb4bdcbedd1b0ebb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 7334,
"upload_time": "2023-10-20T07:13:01",
"upload_time_iso_8601": "2023-10-20T07:13:01.247118Z",
"url": "https://files.pythonhosted.org/packages/ac/03/83cd46bbe436c7a98387e6236d3bfe5abd0dc0c5af57bf213044d4096371/scopus_caller-0.1.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-20 07:13:01",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vishalmhjn",
"github_project": "scopus_caller",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "scopus-caller"
}