Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython

scieloapi is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
 
Links
License
BSD License
Dependencies

scieloapi.py

Thin wrapper around the SciELO Manager RESTful API.

[![Build Status](https://travis-ci.org/scieloorg/scieloapi.py.png?branch=master)](https://travis-ci.org/scieloorg/scieloapi.py)

Usage example:

import scieloapi

client = scieloapi.Client('some.user', 'some.api_key')

for journal in client.journals.all():
print journal['id'], journal['title']
How to install

You can install it via pip, directly from the github repo:

pip install -e git+git://github.com/scieloorg/scieloapi.py.git#egg=scieloapi

Or from PyPi (more stable):

pip install scieloapi
Basics

When a Client instance is initialized, the process automaticaly instrospects the API server in order to make available only the endpoints part of the specified API version. The API version may be passed as keyword argument version when creating the Client instance. If ommited, the highest version is used.

>>> client = scieloapi.Client('some.user', 'some.api_key', api_uri='http://manager.scielo.org/api/', version='v1')

Listing available endpoints:

>>> client.endpoints
[u'pressreleases', u'users', u'sections', u'sponsors', u'collections', u'changes', u'apressreleases', u'uselicenses', u'journals', u'issues']
>>>

Listing all items of an endpoint:

>>> for journal in client.journals.all(): print journal['title']
...
Acta Médica Costarricense
Acta Pediátrica Costarricense
Actualidades Investigativas en Educación
Adolescencia y Salud
Agronomía Costarricense
Agronomía Mesoamericana
Annali dell'Istituto Superiore di Sanità
Arquivos em Odontologia
Brazilian Journal of Oral Sciences
Bulletin of the World Health Organization
Cadernos de Saúde Pública
>>>

Listing items matching some params:

>>> for journal in client.journals.filter(collection='saude-publica'): print journal['title']
...
Annali dell'Istituto Superiore di Sanità
Bulletin of the World Health Organization
Cadernos de Saúde Pública
Ciência & Saúde Coletiva
Gaceta Sanitaria
MEDICC Review
Revista Brasileira de Epidemiologia
Revista Cubana de Salud Pública
Revista de Salud Pública
>>>

Getting a specific item:

>>> journal = client.journals.get(62)
>>> journal['title']
u'Acta M\xe9dica Costarricense'
>>>
Use license

This project is licensed under FreeBSD 2-clause. See LICENSE for more details.

History

0.4 (2013-08-30)
  • Params are sorted by key before the GET request is dispatched. This minor change aims to improve server-side caching capabilities.

  • Minor changes to the API of the function httpbroker.get. It now accepts a auth kwarg to handle server-side authentication.

  • Minor changes to scieloapi.Connector: * A custom http broker can be passed as http_broker kwarg during init. * Http methods are created dinamically during initialization, with user credentials bound

    System Message: ERROR/3 (<string>, line 109)

    Unexpected indentation.

    into it. Api_key is no longer maintained by the instance.

  • Client.fetch_relations now accepts the param only to specify a subset of relations to fetch.

  • Now the User-Agent is set to scieloapi/:version.

  • The module scieloapi.scieloapi was renamed to scieloapi.core to make things clearer.

  • Added POST method capabilities on endpoints.

  • Added the exception exceptions.MethodNotAllowed to represent 405 status code.

0.3 (2013-08-02)
  • Added more unit tests (Now at 73% of code coverage).
  • Minor adjusts at setup.py installation script.
  • New exceptions to represent http status codes.
  • Better documentation at http://docs.scielo.org/projects/scieloapipy/.
0.2 (2013-07-26)
  • Slumber dependency was removed. The module scieloapi.httpbroker was created to deal with http requests and responses.
  • Better test reports now using Nosetests + coverage.
  • Added method Client.fetch_relations to fetch all first-level relations of a document and replace the value by the full document.

Subscribe to package updates

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.