publication-fetcher is a composer package that imports publication lists from multiple sources such as BibTex file, Google Scholar, EndNote file, PubMed identifers and DOIs.
publication-fetcher both offers an API and a CLI to import publications.
composer require proximify/publication-fetcher
or create a project:
composer create-project proximify/publication-fetcher
Note: If you install publication-fetcher as dependency (i.e. installing with the require option), you have to create the binary files manually. To do that, go to C folder under src and run "make" command.
The publication-fetcher imports from bibtex, Google Scholar (bibtex) and endnode files. Sample bibtex and endnodes files are available docs folder.
use Proximify\PublicationFetcher\PublicationFetcher; $importer = new PublicationFetcher(); $type = 'bibtex'; $source = 'PATH_TO_FILE; $res = $importer->importPublications($type, $source); print_r($res);
It also fetches publications from PubMed references (i.e. PubMed ids)
print('Importing from Pubmed:'); $type = 'pubmed'; $sources = [28375682, 20813019]; foreach ($sources as $source) { $res = $importer->importPublications($type, $source); print_r($res); }
and DOIs:
print('Importing from DOI:'); $type = 'doi'; $source = 'DOI: 10.1177/0741713611402046 DOI:10.18653/v1/P17-1152'; $res = $importer->importPublications($type, $source); print_r($res);
publication-fetcher offers a CLI, a web interface and a test suite for testing purposes.
CLI:
composer import-pubs
Test suite
php dev/tests/Test.php
You can also use the web interface for testing under the dev folder:
php -S localhost:8000 -t dev/www
Note: Please set the correct path for the autoloader.php under the dev/www/api/index.php and dev/tests/Test.php. Otherwise, the test script will fail.
Publication fetcher component was created by using UNIWeb's publication importing system which includes features like reference deduplication. Deduplication process involves ignoring references already in user's CV. Features like this requires direct access to the database which is not supported by this component yet.
A possible future work would be creating another component (i.e. publication importer) which both employs publication fetcher and deduplicater components to prevent importing references that currently exists in database.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to and actually do, grant us the rights to use your contribution. For details, visit our Contributor License Agreement.
When you submit a pull request, we will determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided. You will only need to do this once across all repos using our CLA.
This project has adopted the Proximify Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact support@proximify.com with any additional questions or comments.
Copyright (c) Proximify Inc. All rights reserved.
Licensed under the MIT license.
publication-fetcher is made by Proximify. We invite the community to participate.