Skip to main content

papers-without-code

Build Status Python Package Documentation

A Python package (and website) to automatically attempt to find GitHub repositories that are similar to academic papers.

Image of the Papers without Code web application homepage


Installation

Stable Release: pip install papers-without-code
Development Head: pip install git+https://github.com/evamaxfield/papers-without-code.git

Usage

Provide a DOI, SemanticScholarID, CorpusID, ArXivID, ACL, or URL from semanticscholar.org, arxiv.org, aclweb.org, acm.org, or biorxiv.org. DOIs can be provided as is. All other IDs should be given with their type, for example: doi:10.18653/v1/2020.acl-main.447 or CorpusID:202558505 or url:https://arxiv.org/abs/2004.07180.

CLI

pip install papers-without-code

pwoc query
# or pwoc path/to/file.pdf

Python

from papers_without_code import search_for_repos

search_for_repos("query")
# search_for_repos("path/to/file.pdf")

⚠️ Prior to using PWOC with a PDF you must be logged in to Docker CLI via docker login because we automatically fetch, spin up, and tear down containers for processing. ⚠️

How it Works

In short, we pass the query on to the Semantic Scholar search service (wrapped by danielnsilva/semanticscholar) which provides us basic details about the paper. We then use KeyBERT to extract keywords from the paper title and abstract. We then make multiple threaded requests to GitHub's API for repositories which match the keywords. Once we have all the possible repositories back, we rank them by similarity between the repository's README and the paper's abstract (or if not available, it's title).

When using Papers without Code locally and providing a filepath, the only change to this workflow, is keyword extraction. When local and providing a filepath, we use GROBID to extract keywords from the full text of the paper in addition to the title and abstract.

Documentation

For full package documentation please visit evamaxfield.github.io/papers-without-code.

Exploratory data analysis of the dataset used for testing

Development

See CONTRIBUTING.md for information related to developing the code.

MIT License

Metadata

Release files for papers-without-code 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for papers-without-code 0.3.0
File Size Uploaded
papers-without-code-0.3.0.tar.gz 12.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for papers-without-code 0.3.0
File Interpreter ABI Platform
papers_without_code-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.3 MB

Release files / papers-without-code-0.3.0.tar.gz

Download URL papers-without-code-0.3.0.tar.gz
Size 12.1 MB
Tags Source
SHA-256 checksum
How to use checksums
2286202843ec0f22ae8fe7d98d6cdd3b84382b2ce6b4a084f08a04b9603e680c
BLAKE2b-256 checksum
How to use checksums
6c60908b7a02c2a1ca0ba31b1b3c5f3e7f7e6674caac89f566aea408b74469f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release files / papers_without_code-0.3.0-py3-none-any.whl

Download URL papers_without_code-0.3.0-py3-none-any.whl
Size 12.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e70ab7ba97aabd58f86fade67b73202516daf63065fb520d142b77515dd18e8f
BLAKE2b-256 checksum
How to use checksums
73788a542757b2fff4170e2eea1854e8b27e57c67fe0b333547660c7ffc81f50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page