All Projects → enricobacis → Wos

enricobacis / Wos

Licence: mit
📚 Web of Science python client

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Wos

Pykrakenapi
A python implementation of the Kraken API.
Stars: ✭ 124 (-18.42%)
Mutual labels:  api-client
Netsuite Php
NetSuite PHP API Client with namespaces and autoloading
Stars: ✭ 136 (-10.53%)
Mutual labels:  api-client
Thehive4py
Python API Client for TheHive
Stars: ✭ 143 (-5.92%)
Mutual labels:  api-client
Cloudflare Rs
Rust library for the Cloudflare v4 API
Stars: ✭ 126 (-17.11%)
Mutual labels:  api-client
Messaging Apis
Messaging APIs for multi-platform
Stars: ✭ 1,754 (+1053.95%)
Mutual labels:  api-client
Mockbin
Mock, Test & Track HTTP Requests and Response for Microservices
Stars: ✭ 1,782 (+1072.37%)
Mutual labels:  api-client
Pyetrade
Python E-Trade API Wrapper
Stars: ✭ 120 (-21.05%)
Mutual labels:  api-client
Piazza Api
Unofficial Client for Piazza's Internal API
Stars: ✭ 149 (-1.97%)
Mutual labels:  api-client
Pynynab
a python client for the new YNAB
Stars: ✭ 133 (-12.5%)
Mutual labels:  api-client
Virustotalnet
A full implementation of the VirusTotal 2.0 API
Stars: ✭ 142 (-6.58%)
Mutual labels:  api-client
Bigcommerce Api Php
Connect PHP applications with the Bigcommerce Platform
Stars: ✭ 128 (-15.79%)
Mutual labels:  api-client
Vsphere Automation Sdk Java
Java samples, language bindings, and API reference documentation for vSphere, VMC, and NSX-T using the VMware REST API
Stars: ✭ 132 (-13.16%)
Mutual labels:  api-client
Chorale
Chorale is a set of tools for interacting with Notion and Notion content.
Stars: ✭ 140 (-7.89%)
Mutual labels:  api-client
Anyapi
AnyAPI is a library that helps you to write any API wrappers with ease and in pythonic way.
Stars: ✭ 126 (-17.11%)
Mutual labels:  api-client
Mega.py
Python library for the https://mega.nz/ API.
Stars: ✭ 145 (-4.61%)
Mutual labels:  api-client
Kraken Php
Official Kraken.io library for PHP - https://kraken.io
Stars: ✭ 121 (-20.39%)
Mutual labels:  api-client
Laravel Api Explorer
API explorer for laravel applications
Stars: ✭ 138 (-9.21%)
Mutual labels:  api-client
Routeros Api Php
Mikrotik RouterOS API PHP client for your applications
Stars: ✭ 152 (+0%)
Mutual labels:  api-client
Algoliasearch Client Go
⚡️ A fully-featured and blazing-fast Go API client to interact with Algolia.
Stars: ✭ 147 (-3.29%)
Mutual labels:  api-client
Dropbox api
Ruby client library for Dropbox API v2
Stars: ✭ 142 (-6.58%)
Mutual labels:  api-client

wos

SOAP Client for querying the Web of Science database

Description

|travis| |readthedocs| |license| |version| |downloads| |stars|

.. |travis| image:: https://travis-ci.org/enricobacis/wos.svg?branch=master :target: https://travis-ci.org/enricobacis/wos .. |readthedocs| image:: https://readthedocs.org/projects/wos/badge/ :target: https://wos.readthedocs.io/ .. |license| image:: https://img.shields.io/github/license/enricobacis/wos :target: https://github.com/enricobacis/wos/blob/master/LICENSE .. |version| image:: https://img.shields.io/pypi/v/wos?color=blue :target: https://pypi.org/project/wos/ .. |downloads| image:: https://img.shields.io/pypi/dm/wos :target: https://pypi.org/project/wos/ .. |stars| image:: https://img.shields.io/github/stars/enricobacis/wos?style=social :target: https://github.com/enricobacis/wos

Web of Science (previously Web of Knowledge) is an online subscription-based scientific citation indexing service maintained by Thomson Reuters.

wos is a python SOAP Client (both API and command-line tool) to query the WOS database in order to get XML data from a query using the WWS access.

Installation

The package has been uploaded to PyPI_, so you can install the package using pip:

pip install wos

Documentation

This README and the documentation for the classes and methods can be accessed on ReadTheDocs_.

Usage

You can use the wos command to query the Web of Science API. If you want to access data that needs to be accessed using the premium API, you also have to authenticate using your username and password.

usage: wos [-h] [--close] [-l] [-u USER] [-p PASSWORD] [-s SID]
           {query,doi,connect} ...

Query the Web of Science.

positional arguments:
  {query,doi,connect}   sub-command help
    query               query the Web of Science.
    doi                 get the WOS ID from the DOI.
    connect             connect and get an SID.

optional arguments:
  -h, --help            show this help message and exit
  --close               Close session.
  --proxy PROXY         HTTP proxy
  --timeout TIMEOUT     API timeout
  -l, --lite            Wos Lite
  -v, --verbose         Verbose

authentication:
  API credentials for premium access.

  -u USER, --user USER
  -p PASSWORD, --password PASSWORD
  -s SID, --sid SID

You can use the WOS Lite API using the --lite parameter (for each query).

You can also authenticate using the session id (SID). In fact the sessions are not closed by the command line utility. Example:

.. code::

$ wos --user JohnDoe --password 12345 connect
Authenticated using SID: ABCDEFGHIJKLM

$ wos --sid ABCDEFGHIJKLM query 'AU=Knuth Donald' -c1
Authenticated using SID: ABCDEFGHIJKLM
<?xml version="1.0" ?>
<records>
    <REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters">
        <UID>WOS:000287850200007</UID>
        <static_data>
            <summary>
                <EWUID>
                    <WUID coll_id="WOS"/>
                    <edition value="WOS.SCI"/>
                </EWUID>
                <pub_info coverdate="MAR 2011" has_abstract="N" issue="1"
                          pubmonth="MAR" pubtype="Journal" pubyear="2011"
                          sortdate="2011-03-01" vol="33">
                    <page begin="33" end="45" page_count="13">33-45</page>
                </pub_info>
                <titles count="6">
                    <title type="source">MATHEMATICAL INTELLIGENCER</title>
....

$ wos --sid ABCDEFGHIJKLM doi '10.1007/s00283-010-9170-7'
10.1007/s00283-010-9170-7

Check the user_query_ documentation to understand how to create query strings.

Example

Obviously you can also use the python client programmatically:

.. code:: python

from wos import WosClient
import wos.utils

with WosClient('JohnDoe', '12345') as client:
    print(wos.utils.query(client, 'AU=Knuth Donald'))

APIs

In wos 0.1.11+, the WosClient class can access the following APIs.

  • retrieve [lite <https://help.incites.clarivate.com/wosWebServicesLite/WebServiceOperationsGroup/WebServiceOperations/g2/retrieve.html>__ / premium <https://help.incites.clarivate.com/wosWebServicesExpanded/WebServiceOperationsGroup/WSPremiumOperations/wokSearchGroup/retrieve.html>__]

  • retrieveById [lite <https://help.incites.clarivate.com/wosWebServicesLite/WebServiceOperationsGroup/WebServiceOperations/g2/retrieveById.html>__ / premium <https://help.incites.clarivate.com/wosWebServicesExpanded/WebServiceOperationsGroup/WSPremiumOperations/wokSearchGroup/retrieveById.html>__]

  • search [lite <https://help.incites.clarivate.com/wosWebServicesLite/WebServiceOperationsGroup/WebServiceOperations/g2/search.html>__ / premium <https://help.incites.clarivate.com/wosWebServicesExpanded/WebServiceOperationsGroup/WSPremiumOperations/wokSearchGroup/search.html>__]

  • citedReferences [premium <https://help.incites.clarivate.com/wosWebServicesExpanded/WebServiceOperationsGroup/WSPremiumOperations/wokSearchGroup/citedReferences.html>__]

  • citedReferencesRetrieve [premium <https://help.incites.clarivate.com/wosWebServicesExpanded/WebServiceOperationsGroup/WSPremiumOperations/wokSearchGroup/citedRefRetrieve.html>__]

  • citingArticles [premium <https://help.incites.clarivate.com/wosWebServicesExpanded/WebServiceOperationsGroup/WSPremiumOperations/wokSearchGroup/citingArticles.html>__]

  • relatedRecords [premium <https://help.incites.clarivate.com/wosWebServicesExpanded/WebServiceOperationsGroup/WSPremiumOperations/wokSearchGroup/relatedRecords.html>__]

[FAQ] I cannot connect ...

I am not affiliated with Thomson Reuters. The library leverages the Web of Science WWS_ API (Web Services Premium or Lite), which is a paid service offered by Thomson Reuters. This means that your institution has to pay for the Web of Science Core Collection access. The simple registration to Web of Knowledge / Web of Science does not entitle you to access the WWS API service.

So if you receive errors like No matches returned for Username or No matches returned for IP, these errors are thrown directly by the WWS API server. This means that the library is correctly communicating with the server, but you do not have access to the Web Services API. I do understand that you can access the WOS website from your network, but the website access and the API access (used in this project) are two separated products, and the website access does not imply the API access, since Thomson Reuters bills them separately. This project does not scrape the website (which would violate the terms of usage) but invokes the WWS APIs offered by Thomson Reuters. Thus there is nothing this project can do to help you.

If you think this is an error and you should be entitled to access the services, please contact Thomson Reuters support first and verify if you have the WWS access. Please open an issue ONLY when you have (1) verified with Thomson Reuters support that you have WWS access; (2) verified that you are connected from the correct network.

.. _ReadTheDocs: https://wos.readthedocs.io/ .. _PyPI: https://pypi.python.org/project/wos .. _user_query: https://help.incites.clarivate.com/wosWebServicesLite/WebServiceOperationsGroup/WebServiceOperations/g2/user_query.html .. _WWS: http://wokinfo.com/products_tools/products/related/webservices/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].