PHPackages                             proximify/publication-fetcher - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. proximify/publication-fetcher

ActiveUniweb-module

proximify/publication-fetcher
=============================

v1.1(5y ago)1162CPHP &gt;=7.1.0

Since Oct 27Pushed 5y ago2 watchersCompare

[ Source](https://github.com/Proximify/publication-fetcher)[ Packagist](https://packagist.org/packages/proximify/publication-fetcher)[ RSS](/packages/proximify-publication-fetcher/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

publication-fetcher
===================

[](#publication-fetcher)

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.

- [Table of contents](docs/toc.md)

Getting Started
---------------

[](#getting-started)

publication-fetcher both offers an API and a CLI to import publications.

Installation
------------

[](#installation)

```
    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.

API
---

[](#api)

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);
```

Testing
-------

[](#testing)

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.

Known Issues
------------

[](#known-issues)

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.

Future Work
-----------

[](#future-work)

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.

Contributing
------------

[](#contributing)

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  with any additional questions or comments.

License
-------

[](#license)

Copyright (c) Proximify Inc. All rights reserved.

Licensed under the MIT license.

publication-fetcher is made by Proximify. We invite the community to participate.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

2019d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1322822?v=4)[Proximify](/maintainers/proximify)[@Proximify](https://github.com/Proximify)

---

Top Contributors

[![mertmetin](https://avatars.githubusercontent.com/u/1769973?v=4)](https://github.com/mertmetin "mertmetin (21 commits)")

---

Tags

bibtexdoiendnotegooglescholarpubmed

### Embed Badge

![Health badge](/badges/proximify-publication-fetcher/health.svg)

```
[![Health](https://phpackages.com/badges/proximify-publication-fetcher/health.svg)](https://phpackages.com/packages/proximify-publication-fetcher)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
