Change Log¶
2.9.1¶
2021-02-25
- Allow for the LIGHT view in AffiliationRetrieval() to retrieve fewer information.
- Allow for the METRICS, LIGHT and STANDARD views in AuthorRetrieval() to retrieve fewer information.
- In AuthorRetrieval().h_index and AuthorRetrieval().coauthor_count, return None instead of 0 as default value.
2.9¶
2021-02-11
- New slass SubjectClassifications() to interact with the Subject Classifications API.
- In CitationOverview(), add optional parameter citation to allow for exlusion of self-citations or those of books.
- Fix links in class docstrings.
2.8¶
2021-01-28
- Class ContentAffiliationRetrieval() has been renamed to AffiliationRetrieval(); ContentAffiliationRetrieval() will remain until 3.0 but it will raise a Warning.
- Add parameter years to SerialTitle(), to retrieve journal metrics for specific years.
- Fix documentation on InstToken.
- Fix bug with reading empty queries.
2.7.2¶
2020-12-08
- Fix bug with writing empty results of search classes.
- In AuthorRetrieval(), allow for kwds to be passed on to the retrieval.
- Update some documentation w.r.t. to differences between the API the website.
2.7.1¶
2020-11-30
- Always dump minified json.
- Introduce new exceptions: Scopus413Error and Scopus502Error.
- Change print dunder functions to allow for singleton counts.
- In ScopusSearch(), respect ‘count’ argument when passed as keyword.
- Update some documentation and fix internal links.
- In AuthorRetrieval(), fix bug with private variable.
2.7¶
2020-09-25
- Introduce new exception: Scopus414Error.
- In AuthorRetrieval(), add new property .alias.
- In AbstractRetrieval(), add new properties .subtype and .subtypedescription.
- Fix bug with kwds in all search classes accidentally not passed on requests.
2.6.3¶
2020-08-04
- In AbstractRetrieval(), add new properties .openaccess and .openaccessFlag.
- In AuthorSearch().__str__, fix bug with missing names.
- In AuthorRetrieval().__str__, fix bug with already removed property .journal-history.
- For all search classes, do not create an empty file when download=False.
2.6.2¶
2020-07-21
- In AuthorRetrieval(), remove property .journal-history as it was removed from the API.
- Fix bug with duplicate entries in multi-page search results with cursors.
2.6.1¶
2020-07-14
- Show date of retrieval when printing any class object.
- Refactor some of the information when printing class objects.
- Fix bug related to missing requests header with empty results.
- Fix bug with missing source history when printing an AuthorRetrieval() object.
2.6¶
2020-07-10
- Add support for multiple keys in the configuration file, and replace depleted keys automatically.
- In all classes, add methods .get_key_remaining_quota() and .get_key_reset_time() to get the remaining calls of the current key and the time when the current key will be reset, relative to the last actual request.
- Provide link examples in reference of each class.
- In ScopusSearch().results, use empty strings for missing affiliations (e.g. non-org profile affiliations) when information in concatenated.
- Fix bug in ScopusSearch().results when affiliation information has the wrong type (e.g. boolean).
2.5¶
2020-05-25
- New class SerialSearch() to search via the Serial Title API.
- Add new exception Scopus403Error for forbidden access.
- Fix bug with AuthorRetrieval().get_coauthors() only returning the first 25 results.
- Fix bug with progress bar in search classes not showing.
2.4¶
2020-04-15
- PlumXMetrics class to access the PlumX Metrics API.
- Fix and update the str dunder functions of all classes.
- Fix bug with raising a ScopusException when the resulting json is malformatted.
2.3.2¶
2020-03-29
- In AuthorRetrieval().estimate_uniqueness(), allow for args and fix documentation.
- Fix bug with missing file modification time stamp.
2.3.1¶
2020-03-29
- In AuthorRetrieval().get_coauthors(), return None instead of empty list when there are no coauthors.
- Improve warning and error messages.
- Improve all documentation.
2.3¶
2020-03-22
- Support for python 2.7 has ended.
- Introduce Base() class from which all classes inherit the following two methods: .get_cache_file_age() and .get_cache_file_mdate().
- In all classes, refresh parameter accepts an integer which will refresh the cached file if the last modification date is longer than that number of days ago.
- Provide extensive affiliation information in AuthorRetrieval().affiliation_current and AuthorRetrieval().affiliation_history as namedtuples.
- Provide more robust example of the “Download Machine” in the documentation.
- Fix typos and formatting errors in the documentation.
- In AbstractRetrieval().__str__, fix bug due to missing authors and affiliations.
2.2.2¶
2019-12-29
- EIDs starting with “1-s2.0-” are automatically detected as EID as well.
- In ScopusSearch().results add field “subtypeDescription”.
- In AbstractRetrieval().idxterms return None instead of empty lists.
- In AbstractRetrieval().confdate return None instead of list with tuples with None.
- Add UserWarning for change of type of AuthorRetrieval().affiliation_current and AuthorRetrieval().affiliation_history.
2.2.1¶
2019-09-09
- Add user agent string to evaluate usage.
- Fix bug with missing journal metrics in SerialTitle().
2.2¶
2019-08-21
- Add parameters integrity_fields and integrity_action to all search classes to avoid KeyErrors of missing fields.
- Add progress bar to all search classes indicating download progress.
- Fix bug with missing entries in author-group list in AbstractRetrieval().
2.1.3¶
2019-07-16
- Fix bug detecting DOIs without slash in AbstractRetrieval().
- Fix bug related to creating the config file.
2.1.2¶
2019-07-09
- Fix bugs arising from passing duplicate parameters through kwds in Search classes.
- Fix bug in AbstractRetrieval().references with duplicte volume/issue information from Scopus.
- Fix bug with wrong object type when using AuthorRetrieval().get_coauthors().
2.1.1¶
2019-06-26
- New properties for AbstractRetrieval(): pii and pubmed_id.
- Improve documentation (AbstractRetrieval().idxterms and download machine).
- Fix bug forcing the presence of the package scopus.
2.1.0¶
2019-06-17
- Rename package to pybliometrics.
- In all search classes, properties return None if download=False instead of raising an error.
2.0.1¶
2019-06-08
- In AbstractRetrieval().references, add field “type” for the status of the parsed reference.
- Raise proper Scopus.exception even when no Scopus-supplied error message exists.
- In AbstractRetrieval(), update docstrings.
- Fix bug related to creating the config when the config doesn’t exist.
- Fix bug when using AbstractRetrieval() in Python 2.
2.0¶
2019-05-28
- Cache files in subfolders according to the used view.
- Add method .estimate_uniqueness() to AuthorRetrieval() to estimate how unique an author profile is.
- Use error message provided by Scopus for ScopusErrors.
- Add tip how to deal with “KeyError: ‘eid’”.
- Remove deprecated classes, modules, parameters and attributes. Removed deprecated classes are ScopusAbstract(), ScopusAffiliation(), ScopusAuthor() and report(). Removed deprecated parameters are start and max_entries in AuthorSearch() and AffiliationSearch(). Removed deprecated attributes include only ScopusSearch.EIDS.
1.6.1¶
2019-05-14
- Add support for proxies.
- In AbstractRetrieval.correspondence, turn values into proper strings.
- Fix bug when creating the config file.
1.6¶
2019-05-09
- SerialTitle() class to access the Serial Title API.
- In all search classes, add method .get_results_size() to return the number of matches.
- In all search classes, add boolean parameter download to not download the results (but get the number of matches anyways).
- In AbstractRetrieval().authogroup, rename field “city-group” to “city” and add new fields: “dptid”, “postalcode”, “addresspart”.
- In AbstractRetrieval().authorgroup, fix bug with missing affiliation information.
- In all search classes, remove deprecated paramter start.
1.5¶
2019-05-16
- Add parameter subscriber to ScopusSearch() class to set request parameters to maximum values depending on view.
- Add support for cursor-navigation in searches.
- Add __citation__ dunder.
- Allow for the REF view in AbstractRetrieval() to obtain detailed information on referenced items.
- New properties for AuthorRetrieval(): historical_identifier and status.
- Allow ScopusSearch() to pass on kwds as query params.
- Deprecate start and max_entries parameters in AffiliationSearch() and AuthorSearch().
- Deprecate start parameter in ScopusSearch() class.
- Fix bug with ContentAffiliationRetrieval().__str__.
- Fix bugs in AbstractRetrieval() related to missing information obtained from Scopus.
1.4.3¶
2019-02-12
- Fix bug with empty value in AbstractRetrieval().language.
- Add matplotlib as requirement.
1.4.2¶
2019-02-05
- Fix bug with TypeErrors when navigating a path in the json.
- Fix bug with missing author information in AbstractRetrieval().authors.
- Fix bug with missing title in AbstractRetrieval().title.
1.4.1¶
2019-01-24
- Add citation.
- Render reports class deprecated.
- Add str-dunder function for CitationOverview() class.
1.4¶
2019-01-17
- Use number of results from first search query rather than from separate query.
- Write empty file if search is empty.
- In ScopusSearch().results, add new fields: affilname, affiliation_city, affiliation_country, article_number, author_count, authkeywords, eIssn, description, fund_acr, fund_no, fund_sponsor, pubmed_id.
- In ScopusSearch().results, rename the following fields: names to author_names, authid to author_ids, afid to author_afids.
- In ScopusSearch(), add parameter view to specify the view and number of entries per query run.
- In AbstractRetrieval().affiliation, AbstractRetrieval().authorgroup, AbstractRetrieval().authors, AbstractRetrieval().subject_areas, AffiliationSearch().affiliations, AuthorRetrieval().classificationgroup, AuthorRetrieval().journal_history, AuthorRetrieval().name_variants, AuthorSearch().authors, CitationOverview().authors and ScopusSearch().results return None if the result list is empty, instead of an empty list.
- In AbstractRetrieval().chemicals, fix bug with missing values for cas-registry-number.
- Allow for the STANDARD view in ScopusSearch() to increase number of results per query.
- Refactor all classes internally for maintainability and readability.
- Register project with Code Climate.
1.3.1¶
2018-12-11
- Extend tests for ScopusSearch().
- Fix bug with zero search results.
- Open cached search files in binary mode.
- Fix bug in AbstractRetrieval() with missing affiliation names in .authorgroup.
1.3¶
2018-12-04
- Fix bugs related to empty values or missing keys in AuthorRetrieval() (.affiliation_history, .get_coauthors(), .journal_history, .name_variant, referred_name, .subject_area) and in ScopusSearch() (.results).
- Introduce Retrieval() superclass for all retrieval and content classes.
- Refactor Search() superclass and all search classes internally.
- Implement scopus-specific exceptions.
1.2¶
2018-10-24
- In AbstractRetrieval(), users can now initate the class with DOI, Scopus ID, PII or Pubmed ID. Parameter EID has hence been deprecatd in favor of the new parameter identifier.
- New properties for AbstractRetrieval(): chemicals, contributor_group, funding, funding_text, isbn, sequencebank.
- In ContentAffiliationRetrieval(), return `None rather than empty dict when no address is provided.
- In AbstractRetrieval().confsponsor, return `None when no confsponsor is provided.
- In ScopusSearch().results, return “afid” as part of namedtuple.
- Fix bug in AbstractRetrieval().authorgroup related to affiliation groups without authors.
- Fix bug in AbstractRetrieval().affiliation related to affiliations without Scopus ID.
- Fix bugs in ScopusSearch().results with duplicate authors, missing titles and unusual coverDates.
- AuthorRetrieval() warns User via UserWarnings if the supplied author ID is outdated or if it has been forwarded to a new profile.
1.0¶
2018-10-06
- New class AbstractRetrieval() to replace ScopusAbstract(), with the following properties renamed: affiliations: affiliation, bibtex: get_bibtex(), citationLanguage: language, citationType: srctype, citingby_url: citingby_link, html: get_html(), ris: get_ris(), latex: get_latex(), scopus_url: scopus_link, subjectAreas: subject_areas.
- New class AuthorRetrieval() to replace ScopusAuthor(), with the following properties renamed: author_id: identifier, coauthor_url: coauthor_link, current_affiliation: affiliation_current, firstname: given_name, hindex: h_index, lastname: surname, name: indexed_name, ncited_by: cited_by_count, ncoauthors: coauthor_count, ndocuments: document_count, publication_history: journal_history.
- New class ContentAffiliationRetrieval() to replace ScopusAffiliation(), with the following properties renamed: api_url: self_link, nauthors: author_count, ndocuments: document_count, name: affiliation_name, org_url: org_URL, scopus_id: identifier.
- Rewrite class ScopusSearch(): new property results, cache search results in json format with hex-ed filename and new method get_eids(), which replaces property EIDS.
- Use config.ini to store API Key (and if necessary, InstToken) as well as directories.
- Migration Guide to update code from scopus 0.x to 1.x
0.10¶
2018-08-14
- In ScopusAuthor(), refactor generating abstracts lists into get_journal_abstract().
- New properties for ScopusAbstract(): citedby_url and scopus_url.
- New property for ScopusAffiliation(): state.
- Correct property citedby_url from ScopusAuthor().
- In all retrieval classes, remove underscore properties.
0.9¶
2018-07-23
- SearchAffiliation() to access the Affiliation Search API.
- Fix bug occuring with fields of length one in Author search.
- ScopusAbstract() returns abstract keywords if present.
- Refactor search classes to inherit from common auxiliary class.
- ScopusAffiliation() now accepts EID as well.
0.8¶
2018-06-18
- ScopusAuthor() now accepts EID as well.
- Fix bug occuring with non-existent journal abbreviations.
- SearchAuthor() class to access the Author Search API.
- Fix links in examples.
0.7¶
2018-04-27
- Use https instead of http wherever possible.
- Add support for InstToken Authentication via config file.
- Redirect DOI links to preferred resolver.
0.5¶
2017-09-28
- New properties for ScopusAuthor(): publication_history and subject_areas.
- Update namespace in ScopusAbstract() to retrieve affiliation information.
- Complete affiliation information in ScopusAbstract().
0.4.2¶
2017-08-23
- Fix bug with generating my_scopus.py on Python 3.
- In ScopusAbstract(), do not raise TypeErrors for information not present in current view.
0.4¶
2017-08-20
- Use refresh_affiliation parameter in ScopusAuthor.
- Improve background service to load user’s API key.
- Ask user for API key if it can’t be found.
- New property for ScopusAbstract(): citation_count.
0.3.0¶
2017-08-02
- Few bugfixes.
- New property for ScopusAbstract(): abstract.
- Change latex key in ScopusAbstract().bibtex to <FirstauthorYearTitlefirstwordTitlelastword>.
- Raise ValueError in ScopusAbstract() if .bibtex or .ris is called on an item whose aggregationType is not Journal.
- Improved docstrings for ScopusAbstract().
- New properties for ScopusAffiliation(): api_url, date_created, org_type, org_domain, org_url.
- In ScopusAffiliation, the affiliation_id returns the Scopus Affiliation ID from the result rather than the used aff_id.
0.2.1¶
2017-07-21
- Some bugfixes.
- Examples for all classes.
- Fix typos in docstrings.
- In ScopusAuthor(), the author_id returns the Scopus Author ID from the result rather than the used author_id.
0.2.0¶
2017-04-05
- Several bugfixes.
- Docstrings for all classes according to numpy standard.
- Outsourced help functions in module utils.
- Import classes in __init__ to allow top level import.
- New methods for ScopusAuthor(): n_yearly_publications().
- New properties for ScopusAbstract(): citationType, citationLanguage, refcount, references, subjectAreas, website.
- Raising exception when download status is not ok.
- Python2.7 compatibility.