# SciDock
[![PyPI - Version](https://img.shields.io/pypi/v/scidock)](https://pypi.org/project/scidock)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/scidock)](https://pypi.org/project/scidock)
[![Test with PyTest](https://github.com/kgleba/scidock/actions/workflows/test.yml/badge.svg)](https://github.com/kgleba/scidock/actions/workflows/test.yml)
[![Lint with Ruff](https://github.com/kgleba/scidock/actions/workflows/lint.yml/badge.svg)](https://github.com/kgleba/scidock/actions/workflows/lint.yml)
SciDock is a CLI tool designed to provide a user-friendly interface for finding, downloading and managing scientific articles of your interest!
## Installation
The most preferred installation method is via [pipx](https://pipx.pypa.io), which enhances all of the benefits of the CLI application while running in an isolated environment.
```shell
pipx install scidock
```
If you don't want to install pipx, you can just run:
```shell
pip install scidock
```
Note: you must have Python 3.12+ installed!
If you want to install the application manually or plan to contribute to the project, consider the "development installation" option (see next section). Otherwise, skip it without a second thought.
### Development installation
After installing [Poetry](https://python-poetry.org/docs/#installation) on your system, run these commands:
```shell
git clone https://github.com/kgleba/scidock.git
cd scidock
poetry shell
poetry install
```
## Usage
To **initialize** a repository (and set it as a default), run:
```shell
scidock init /path/to/repository
```
To perform a **search**, execute:
```shell
scidock search 'query'
```
Note that the reason we do not explicitly ask you to provide author name/title/abstract/etc. but rather provide a free-form query is that all of this work is done in the background by Natural Language Processing models.
You can also use the `--extend` option to expand the search field (e.g., to search through abstracts). By default it is disabled, and search with free-form query is limited to titles.
The dividing line in the search engine results deserves special attention. Behind it are the works that most closely match the query and, as we think, will be most useful to you.
To try and **download** the paper with a known DOI, execute:
```shell
scidock download 'DOI'
```
To set up a **proxy** (see the ["Supported Resources"](#supported-resources) section for use cases), use `scidock config`:
```shell
scidock config proxy PROXY_TYPE IP PORT
```
where `PROXY_TYPE` is either `http` or `socks5` (depending on the type of proxy you are using).
For example:
```shell
scidock config proxy socks5 127.0.0.1 1080
```
You can now force other commands (like `search` and `download`) to make the appropriate network requests through the proxy by passing the `--proxy` flag
To **open** locally stored PDFs in your standard viewer, run with free-form request:
```shell
scidock open 'query'
```
Planning to introduce **new features** soon: e.g. to `cite` any of the papers stored in the local database.
Aesthetically pleasing demos will also appear here soon :D
## Supported resources
✔️ [CrossRef](https://www.crossref.org/) (for searching through an enormous database with extensive metadata for each entry)
✔️ [arXiv](https://arxiv.org/) (for searching and downloading freely published preprints)
✔️ [Sci-Hub](https://sci-hub.ru/) (for downloading paywalled PDFs by given DOI; might require a proxy though)
✔️ Some resources that are known to publish works with open access: [IEEE](https://ieeexplore.ieee.org), [IntechOpen](https://www.intechopen.com/) and [MDPI](https://www.mdpi.com/)
❌ [Google Scholar](https://scholar.google.com/) (yet)
❌ [CyberLeninka](https://cyberleninka.ru/) (for Russian queries)
❌ [GeneralIndex](https://archive.org/details/GeneralIndex)
❌ Anna's Archive
## Limitations
- Proxies do not support authentication
- Performance still requires attention
- Some parts of the system are still poorly configurable or not configurable at all
Don't hesitate to open [issues](https://github.com/kgleba/scidock/issues) as the project is still in beta testing!
Raw data
{
"_id": null,
"home_page": "https://github.com/kgleba/scidock",
"name": "scidock",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "research, science, free science, cli",
"author": "kgleba",
"author_email": "kgleba@yandex.ru",
"download_url": "https://files.pythonhosted.org/packages/1f/7c/9ca053db4958897c9bf9870097c31f87a2350e32bfcae148dfcfd99a7286/scidock-0.1.2.tar.gz",
"platform": null,
"description": "# SciDock\n\n[![PyPI - Version](https://img.shields.io/pypi/v/scidock)](https://pypi.org/project/scidock)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/scidock)](https://pypi.org/project/scidock)\n[![Test with PyTest](https://github.com/kgleba/scidock/actions/workflows/test.yml/badge.svg)](https://github.com/kgleba/scidock/actions/workflows/test.yml)\n[![Lint with Ruff](https://github.com/kgleba/scidock/actions/workflows/lint.yml/badge.svg)](https://github.com/kgleba/scidock/actions/workflows/lint.yml)\n\nSciDock is a CLI tool designed to provide a user-friendly interface for finding, downloading and managing scientific articles of your interest! \n\n## Installation\n\nThe most preferred installation method is via [pipx](https://pipx.pypa.io), which enhances all of the benefits of the CLI application while running in an isolated environment.\n\n```shell\npipx install scidock\n```\n\nIf you don't want to install pipx, you can just run:\n\n```shell\npip install scidock\n```\n\nNote: you must have Python 3.12+ installed!\n\nIf you want to install the application manually or plan to contribute to the project, consider the \"development installation\" option (see next section). Otherwise, skip it without a second thought.\n\n### Development installation\n\nAfter installing [Poetry](https://python-poetry.org/docs/#installation) on your system, run these commands:\n\n```shell\ngit clone https://github.com/kgleba/scidock.git\ncd scidock\npoetry shell\npoetry install\n```\n\n## Usage\n\nTo **initialize** a repository (and set it as a default), run:\n\n```shell\nscidock init /path/to/repository\n```\n\nTo perform a **search**, execute:\n\n```shell\nscidock search 'query'\n```\n\nNote that the reason we do not explicitly ask you to provide author name/title/abstract/etc. but rather provide a free-form query is that all of this work is done in the background by Natural Language Processing models.\n\nYou can also use the `--extend` option to expand the search field (e.g., to search through abstracts). By default it is disabled, and search with free-form query is limited to titles.\n\nThe dividing line in the search engine results deserves special attention. Behind it are the works that most closely match the query and, as we think, will be most useful to you.\n\nTo try and **download** the paper with a known DOI, execute:\n\n```shell\nscidock download 'DOI'\n```\n\nTo set up a **proxy** (see the [\"Supported Resources\"](#supported-resources) section for use cases), use `scidock config`:\n\n```shell\nscidock config proxy PROXY_TYPE IP PORT\n```\n\nwhere `PROXY_TYPE` is either `http` or `socks5` (depending on the type of proxy you are using).\n\nFor example:\n\n```shell\nscidock config proxy socks5 127.0.0.1 1080\n```\n\nYou can now force other commands (like `search` and `download`) to make the appropriate network requests through the proxy by passing the `--proxy` flag\n\nTo **open** locally stored PDFs in your standard viewer, run with free-form request:\n\n```shell\nscidock open 'query'\n```\n\nPlanning to introduce **new features** soon: e.g. to `cite` any of the papers stored in the local database.\n\nAesthetically pleasing demos will also appear here soon :D\n\n## Supported resources\n\n\u2714\ufe0f [CrossRef](https://www.crossref.org/) (for searching through an enormous database with extensive metadata for each entry)\n\n\u2714\ufe0f [arXiv](https://arxiv.org/) (for searching and downloading freely published preprints) \n\n\u2714\ufe0f [Sci-Hub](https://sci-hub.ru/) (for downloading paywalled PDFs by given DOI; might require a proxy though)\n\n\u2714\ufe0f Some resources that are known to publish works with open access: [IEEE](https://ieeexplore.ieee.org), [IntechOpen](https://www.intechopen.com/) and [MDPI](https://www.mdpi.com/)\n\n\u274c [Google Scholar](https://scholar.google.com/) (yet)\n\n\u274c [CyberLeninka](https://cyberleninka.ru/) (for Russian queries)\n\n\u274c [GeneralIndex](https://archive.org/details/GeneralIndex)\n\n\u274c Anna's Archive\n\n## Limitations\n\n- Proxies do not support authentication\n- Performance still requires attention\n- Some parts of the system are still poorly configurable or not configurable at all\n\nDon't hesitate to open [issues](https://github.com/kgleba/scidock/issues) as the project is still in beta testing!",
"bugtrack_url": null,
"license": null,
"summary": "CLI interface for finding, downloading and managing scientific articles",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/kgleba/scidock",
"Repository": "https://github.com/kgleba/scidock"
},
"split_keywords": [
"research",
" science",
" free science",
" cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a765d5c772a75e6b2179956551fb7c5790c11740ebe570119e373255412e1616",
"md5": "d523d2ef45d4aced00ca26d7d45db94b",
"sha256": "0c1bc83971fdd7878caffa31ca7032171cfd2c80837bfca5fb7ed1760a29d158"
},
"downloads": -1,
"filename": "scidock-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d523d2ef45d4aced00ca26d7d45db94b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 20024,
"upload_time": "2024-07-07T15:46:01",
"upload_time_iso_8601": "2024-07-07T15:46:01.167096Z",
"url": "https://files.pythonhosted.org/packages/a7/65/d5c772a75e6b2179956551fb7c5790c11740ebe570119e373255412e1616/scidock-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1f7c9ca053db4958897c9bf9870097c31f87a2350e32bfcae148dfcfd99a7286",
"md5": "b69b2ac59ba533801e3325ec8a527d75",
"sha256": "150632ab15b10c180b89b777dc34e8dc500ff62d08fb629cfe2fad6c085acf31"
},
"downloads": -1,
"filename": "scidock-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "b69b2ac59ba533801e3325ec8a527d75",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 17304,
"upload_time": "2024-07-07T15:46:02",
"upload_time_iso_8601": "2024-07-07T15:46:02.820728Z",
"url": "https://files.pythonhosted.org/packages/1f/7c/9ca053db4958897c9bf9870097c31f87a2350e32bfcae148dfcfd99a7286/scidock-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-07 15:46:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kgleba",
"github_project": "scidock",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "scidock"
}