ref-man-py


Nameref-man-py JSON
Version 0.7.1 PyPI version JSON
download
home_pagehttps://github.com/akshaybadola/ref-man-py
SummaryRef Man Python Module
upload_time2023-07-20 04:50:39
maintainer
docs_urlNone
authorAkshay
requires_python>=3.7,<4.0
licenseAGPL-3
keywords emacs semanticscholar bibliography ref-man
VCS
bugtrack_url
requirements PyYAML Flask requests lxml beautifulsoup4 psutil common-pyutil
Travis-CI No Travis.
coveralls test coverage No coveralls.
            * 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 AGPL 3.0 (or later). See LICENSE.md in this repo. To learn more
  about AGPL see https://www.gnu.org/licenses/agpl-3.0.en.html.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/akshaybadola/ref-man-py",
    "name": "ref-man-py",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7,<4.0",
    "maintainer_email": "",
    "keywords": "emacs,semanticscholar,bibliography,ref-man",
    "author": "Akshay",
    "author_email": "akshay.badola.cs@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/34/18/22e32cbab4f46e500b7db14d83e54f63ce495a0bfc4ff79b4dd2a196ea81/ref-man-py-0.7.1.tar.gz",
    "platform": null,
    "description": "* ref-man-py\n\n  Python Module for ~ref-man~ (See https://github.com/akshaybadola/ref-man).\n\n  Network requests and xml parsing can be annoying in emacs, so ref-man uses a\n  separate python process for efficient (and sometimes parallel) fetching of\n  network requests.\n\n* Features\n\n** Persistent Service with Flask\n   - Can easily integrate with other applications\n   - Parallel fetching of large number of entries from supported websites\n     (DBLP, ArXiv etc.)\n\n** HTTP integration with Semantic Scholar API (https://www.semanticscholar.org/product/api)\n   - Fetch with multiple IDs like arxiv, ACL etc.\n   - Local files based cache to avoid redundant requests\n   - +Fetches all metadata in one go (Will change soon as Semantic Scholar is\n     updating its API)+\n   - Now uses the Semantic Scholar Graph API\n\n** Experimental (and undocumented) Semantic Scholar Search API\n   - Mostly gleaned through analyzing network requests. Helpful for searching\n     articles.\n\n** HTTP integration with DBLP and ArXiv\n   - Supports multiple parallel requests for batch updates\n\n** Fetch PDF from a given URL\n   - Easier to fetch using python than with Emacs's callbacks\n\n** Option for proxying requests\n   - Particularly useful for PDFs if you're tunneling to your institution from\n     home or some other location and the article you want is with institutional\n     (IP based) access only.\n\n* Roadmap\n\n** More Tests\n   - Coverage is low.\n   - Need to remove some code which isn't used.\n   - Some parts need to be rewritten.\n\n** Change to new Semantic Scholar API (*Done*)\n   Semantic Scholar is changing its API. See https://www.semanticscholar.org/product/api\n   we should migrate to new ~graph/v1/paper~ API.\n\n** Integrate ~common_pyutil.net.Get~\n   It has support for progress tracking. Helpful when network is slow and when\n   downloading large files.\n\n** ASGI server\n   With websockets for better Async integration.\n\n** Integrate more services\n   There're semi-working/broken functions for CrossRef and some other services in\n   ~ref-man~. They can be exported to python perhaps.\n\n* Wishlist\n\n** Serve Org files on the fly as html\n   Will help in integrating a larger userbase. Perhaps also with a py-to-lisp\n   (hy like maybe) interface so that elementary scripting on the org backend can\n   be done.\n\n** Ultimately integrate ~pndconf~ also\n   A document preparation toolchain (See https://github.com/akshaybadola/pndconf),\n   which is integrated with ~ref-man~.\n\n* License\n\n  All the code in this repo except for external services and libraries are\n  licensed under AGPL 3.0 (or later). See LICENSE.md in this repo. To learn more\n  about AGPL see https://www.gnu.org/licenses/agpl-3.0.en.html.\n",
    "bugtrack_url": null,
    "license": "AGPL-3",
    "summary": "Ref Man Python Module",
    "version": "0.7.1",
    "project_urls": {
        "Homepage": "https://github.com/akshaybadola/ref-man-py"
    },
    "split_keywords": [
        "emacs",
        "semanticscholar",
        "bibliography",
        "ref-man"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8cf1da566b1f252a2d2991aa5c5a7c23095dadba220a644bd729f538bb15734",
                "md5": "7cfba3c2a0bb05a3fc2a9504e118528e",
                "sha256": "cfcb01902fe785dfbba8b11c12e26a6dde4ff8993795092992b4d38f3389b269"
            },
            "downloads": -1,
            "filename": "ref_man_py-0.7.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7cfba3c2a0bb05a3fc2a9504e118528e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7,<4.0",
            "size": 55761,
            "upload_time": "2023-07-20T04:50:42",
            "upload_time_iso_8601": "2023-07-20T04:50:42.014952Z",
            "url": "https://files.pythonhosted.org/packages/c8/cf/1da566b1f252a2d2991aa5c5a7c23095dadba220a644bd729f538bb15734/ref_man_py-0.7.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "341822e32cbab4f46e500b7db14d83e54f63ce495a0bfc4ff79b4dd2a196ea81",
                "md5": "20f0c1ee3ba9c7d3d2f5f5b0f0d20621",
                "sha256": "f9846aca6cf06cbe2434a18c510abe2f2a43a76efcf7fffbbcd1344267889d08"
            },
            "downloads": -1,
            "filename": "ref-man-py-0.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "20f0c1ee3ba9c7d3d2f5f5b0f0d20621",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7,<4.0",
            "size": 50785,
            "upload_time": "2023-07-20T04:50:39",
            "upload_time_iso_8601": "2023-07-20T04:50:39.936060Z",
            "url": "https://files.pythonhosted.org/packages/34/18/22e32cbab4f46e500b7db14d83e54f63ce495a0bfc4ff79b4dd2a196ea81/ref-man-py-0.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-20 04:50:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "akshaybadola",
    "github_project": "ref-man-py",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "5.4.1"
                ]
            ]
        },
        {
            "name": "Flask",
            "specs": [
                [
                    ">=",
                    "1.1.2"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.24.0"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    ">=",
                    "4.6.4"
                ]
            ]
        },
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    ">=",
                    "4.9.1"
                ]
            ]
        },
        {
            "name": "psutil",
            "specs": [
                [
                    ">=",
                    "5.8.0"
                ]
            ]
        },
        {
            "name": "common-pyutil",
            "specs": [
                [
                    ">=",
                    "0.8.0"
                ]
            ]
        }
    ],
    "lcname": "ref-man-py"
}
        
Elapsed time: 0.08843s