Ref Man Python Module
Project description
* ref-man-py
Python Module for ~ref-man~ (See https://github.com/akshaybadola/ref-man).
Network requests and xml parsing can be annoying in emacs, so ref-man uses a
separate python process for efficient (and sometimes parallel) fetching of
network requests.
* Features
** Persistent Service with Flask
- Can easily integrate with other applications
- Parallel fetching of large number of entries from supported websites
(DBLP, ArXiv etc.)
** HTTP integration with Semantic Scholar API (https://www.semanticscholar.org/product/api)
- Fetch with multiple IDs like arxiv, ACL etc.
- Local files based cache to avoid redundant requests
- +Fetches all metadata in one go (Will change soon as Semantic Scholar is
updating its API)+
- Now uses the Semantic Scholar Graph API
** Experimental (and undocumented) Semantic Scholar Search API
- Mostly gleaned through analyzing network requests. Helpful for searching
articles.
** HTTP integration with DBLP and ArXiv
- Supports multiple parallel requests for batch updates
** Fetch PDF from a given URL
- Easier to fetch using python than with Emacs's callbacks
** Option for proxying requests
- Particularly useful for PDFs if you're tunneling to your institution from
home or some other location and the article you want is with institutional
(IP based) access only.
* Roadmap
** More Tests
- Coverage is low.
- Need to remove some code which isn't used.
- Some parts need to be rewritten.
** Change to new Semantic Scholar API (*Done*)
Semantic Scholar is changing its API. See https://www.semanticscholar.org/product/api
we should migrate to new ~graph/v1/paper~ API.
** Integrate ~common_pyutil.net.Get~
It has support for progress tracking. Helpful when network is slow and when
downloading large files.
** ASGI server
With websockets for better Async integration.
** Integrate more services
There're semi-working/broken functions for CrossRef and some other services in
~ref-man~. They can be exported to python perhaps.
* Wishlist
** Serve Org files on the fly as html
Will help in integrating a larger userbase. Perhaps also with a py-to-lisp
(hy like maybe) interface so that elementary scripting on the org backend can
be done.
** Ultimately integrate ~pndconf~ also
A document preparation toolchain (See https://github.com/akshaybadola/pndconf),
which is integrated with ~ref-man~.
* License
All the code in this repo except for external services and libraries are
licensed under the MIT License. See ~LICENSE.md~ in this repo.
Some commits in the repository may be under a different license. If you use
those, you would have see the details of that License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ref_man_py-0.8.0.tar.gz
(27.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ref_man_py-0.8.0.tar.gz.
File metadata
- Download URL: ref_man_py-0.8.0.tar.gz
- Upload date:
- Size: 27.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.13.3 Linux/6.13.8-200.fc41.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8506886608cd021fac569112c2ee5cfc52e1409412aa38be0fa2fd41a896182
|
|
| MD5 |
463353c28b6e0b3a8b777666a5520eba
|
|
| BLAKE2b-256 |
fe40c2f98ddc2fbfa8a7d644d69726a2129be9bd0228c480cd95384da8822fce
|
File details
Details for the file ref_man_py-0.8.0-py3-none-any.whl.
File metadata
- Download URL: ref_man_py-0.8.0-py3-none-any.whl
- Upload date:
- Size: 29.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.13.3 Linux/6.13.8-200.fc41.x86_64
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8106ace65c37eb791309766ebdaf439919bcc23c4581cdafb9f41ec3380ffbc
|
|
| MD5 |
602bd94c147520d475448e6a43ff3fe2
|
|
| BLAKE2b-256 |
873d2d18886267b45bf57bf7feaa8982849d53dc750946d748db074ddf9747eb
|