Skip to content

clarivate/wosjournals-python-client

Repository files navigation

Web of Science Journals API Python Client

Please visit Journals API in Clarivate Developer Portal

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: 1.0.0
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen

Requirements.

Python >=3.6

Installation & Usage

pip install

If the python package is hosted on a repository, you can install directly using:

pip install git+https://github.com/clarivate/wosjournals-python-client.git

(you may need to run pip with root permission: sudo pip install git+https://github.com/clarivate/wosjournals-python-client.git)

Then import the package:

import clarivate.wos_journals.client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import clarivate.wos_journals.client

Getting Started

Please follow the installation procedure and then run the following:

import time
import clarivate.wos_journals.client
from clarivate.wos_journals.client.api import journals_api
from clarivate.wos_journals.client.model.journal_list import JournalList
from pprint import pprint

# See configuration.py for a list of all supported configuration parameters.

configuration = clarivate.wos_journals.client.Configuration()
configuration.api_key['key'] = 'YOUR API KEY'

# Enter a context with an instance of the API client
with clarivate.wos_journals.client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = journals_api.JournalsApi(api_client)
    q = "cancer"  # str | Free-text search by journal name (e.g. *Nature Genetics*), JCR abbreviation (e.g. *NAT GENET*), publisher (e.g. *PUBLIC LIBRARY SCIENCE*) or [ISSN / eISSN code](https://www.issn.org/understanding-the-issn/what-is-an-issn/) (e.g. *1061-4036*)  The search logic is described in the section [Search](#search). (optional)
    edition = "SCIE"  # str | Filter by Web of Science Citation Index. The following indexes (editions) are presented: - SCIE - Science Citation Index Expanded - SSCI - Social Sciences Citation Index - AHCI - Arts & Humanities Citation Index - ESCI - Emerging Sources Citation Index  Multiple values are allowed, separated by a semicolon ( **;** ) (optional)
    category_code = None  # str | Filter journals by category identifiers.  Each journal in JCR is assigned to at least one of the subject categories, indicating a general area of science or the social sciences. Journals may be included in more than one subject category.  Multiple values are allowed, separated by a semicolon ( **;** ) (optional)
    jcr_year = 2020  # int | Filter by Journal Citation Report year (from 1997).  **NOTE:** The filter **jcrYear** is mandatory while using **jif**, **jifPercentile**, **jifQuartile**, and **jci** filters  Only one value is allowed. (optional)
    jif = "gte:0.0"  # str | Filter by [Journal Impact Factor](http://jcr.help.clarivate.com/Content/jcr3-glossary.htm) (JIF).  **NOTE:** The filter **jcrYear** is mandatory while using **jif** filter  Filter logic is described in the section [Filter by range](#range) (optional)
    jif_percentile = "gte:70 AND lte:90.0"  # str | Filter by [Journal Impact Factor Percentile](http://jcr.help.clarivate.com/Content/glossary-journal-impact-factor-percentile.htm), ranging from 0 to 100  **NOTE:** The filter **jcrYear** is mandatory while using **jifPercentile** filter  Filter logic is described in the section [Filter by range](#range) (optional)
    jif_quartile = "Q1"  # str | Filter by JIF quartile rank for a category, from highest to lowest based on their JIF value: <br />Q1 is represented by the top 25% of journals in the category; <br />Q2 is occupied by journals in the 25 to 50% group; <br />Q3 is occupied by journals in the 50 to 75% group; <br />Q4 is occupied by journals in the 75 to 100% group.  **NOTE:** The filter **jcrYear** is mandatory while using **jifQuartile** filter  Multiple values are allowed, separated by a semicolon ( **;** ) (optional)
    jci = "gte:0"  # str | Filter by [Journal Citation Indicator](http://jcr.help.clarivate.com/Content/jcr3-glossary.htm) (JCI).  **NOTE:** The filter **jcrYear** is mandatory while using **jci** filter  Filter logic is described in the section [Filter by range](#range) (optional)
    jci_quartile = "Q1"  # str | Filter by JCI quartile rank for a category, from highest to lowest based on their JCI value: Q1 is represented by the top 25% of journals in the category; Q2 is occupied by journals in the 25 to 50% group; Q3 is occupied by journals in the 50 to 75% group; Q4 is occupied by journals in the 75 to 100% group.  **NOTE:** The filter **jcrYear** is mandatory while using **jciQuartile** filter  Multiple values are allowed, separated by a semicolon ( **;** ) (optional)
    jci_percentile = "gte:70.0 AND lte:90.0"  # str | Filter by Journal Citation Indicator (JCI) percentile, ranging from 0 to 100  **NOTE:** The filter **jcrYear** is mandatory while using **jciPercentile** filter  Filter logic is described in the section [Filter by range](#range) (optional)
    page = 1  # int | Specifying a page to retrieve (optional) if omitted the server will use the default value of 1
    limit = 10  # int | Number of returned results, ranging from 0 to 50 (optional) if omitted the server will use the default value of 10

    # example passing only required values which don't have defaults set
    # and optional values
    try:
        # Search and filter across JCR Journals

        api_response_all_journals = api_instance.journals_get()
        api_response_filtered = api_instance.journals_get(q=q, edition=edition, jcr_year=jcr_year,
                                                 jif=jif, jif_percentile=jif_percentile, jif_quartile=jif_quartile,
                                                 jci=jci, jci_quartile=jci_quartile, jci_percentile=jci_percentile,
                                                 page=page, limit=limit)
        pprint(api_response_all_journals)
        pprint(api_response_filtered)
    except clarivate.wos_journals.client.ApiException as e:
        print("Exception when calling JournalsApi->journals_get: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://api.clarivate.com/apis/wos-journals/v1

Class Method HTTP request Description
CategoriesApi categories_get GET /categories Search and filter across the journal categories
CategoriesApi categories_id_cited_year_year_get GET /categories/{id}/cited/year/{year} Get journals that cite all journals in the category for the JCR year
CategoriesApi categories_id_citing_year_year_get GET /categories/{id}/citing/year/{year} Get journals that were cited by all journals from the category for the JCR year
CategoriesApi categories_id_get GET /categories/{id} Get a category
CategoriesApi categories_id_reports_year_year_get GET /categories/{id}/reports/year/{year} Get category metrics for a year
JournalsApi journals_get GET /journals Search and filter across JCR Journals
JournalsApi journals_id_cited_year_year_get GET /journals/{id}/cited/year/{year} Get journals that cite the journal for the JCR year
JournalsApi journals_id_citing_year_year_get GET /journals/{id}/citing/year/{year} Get journals that were cited by the journal for the JCR year
JournalsApi journals_id_get GET /journals/{id} Get journal by id
JournalsApi journals_id_history_get GET /journals/{id}/history Get journal changes by id
JournalsApi journals_id_reports_year_year_get GET /journals/{id}/reports/year/{year} Get journal metrics for a year

Documentation For Models

Documentation For Authorization

key

  • Type: API key
  • API key parameter name: X-ApiKey
  • Location: HTTP header

Author

Notes for Large OpenAPI documents

If the OpenAPI document is large, imports in clarivate.wos_journals.client.apis and clarivate.wos_journals.client.models may fail with a RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions:

Solution 1: Use specific imports for apis and models like:

  • from clarivate.wos_journals.client.api.default_api import DefaultApi
  • from clarivate.wos_journals.client.model.pet import Pet

Solution 2: Before importing the package, adjust the maximum recursion limit as shown below:

import sys
sys.setrecursionlimit(1500)
import clarivate.wos_journals.client
from clarivate.wos_journals.client.apis import *
from clarivate.wos_journals.client.models import *