# OmnivoreQL: Omnivore API client for Python
![OmnivoreQL Icon](https://github.com/yazdipour/OmnivoreQL/assets/8194807/d51d462d-4f5a-4031-980e-1faa5ca3f6e0)
This is a Python client for the [Omnivore API](https://omnivore.app).
[![Tests](https://github.com/yazdipour/OmnivoreQL/actions/workflows/test.yml/badge.svg)](https://github.com/yazdipour/OmnivoreQL/actions/workflows/test.yml)
[![PyPI version](https://badge.fury.io/py/omnivoreql.svg)](https://pypi.org/project/omnivoreql/)
## How to use
To use omnivoreql in your Python project, you can follow these steps:
Install the omnivoreql package using pip:
```bash
pip install omnivoreql
```
Import the package into your project and Create a new instance of the client:
```python
from omnivoreql import OmnivoreQL
omnivoreql_client = OmnivoreQL("your_api_token_here")
```
Use the methods of the OmnivoreQL class to interact with the Omnivore API.
```python
profile = omnivoreql_client.get_profile()
saved_page = omnivoreql_client.save_url("https://www.google.com")
saved_page_with_label = omnivoreql_client.save_url("https://www.google.com", ["label1", "label2"])
articles = omnivoreql_client.get_articles()
username = profile['me']['profile']['username']
slug = articles['search']['edges'][0]['node']['slug']
articles = omnivoreql_client.get_article(username, slug)
subscriptions = omnivoreql_client.get_subscriptions()
labels = omnivoreql_client.get_labels()
from omnivoreql import CreateLabelInput
omnivoreql_client.create_label(CreateLabelInput("label1", "#00ff00", "This is label description"))
```
## Documentation
* Main Omnivore graphql schema is in: [schema.graphql](https://github.com/omnivore-app/omnivore/blob/main/packages/api/src/schema.ts)
* To contribute to this project: [CONTRIBUTING.md](docs/CONTRIBUTING.md)
* To more know about Release process: [RELEASE.md](docs/RELEASE.md), [PYPI.md](docs/PYPI.md)
## Support
If you find this project useful, you can support it by becoming a sponsor. Your contribution will help maintain the project and keep it up to date.
[![GitHub stars](https://img.shields.io/github/stars/yazdipour/omnivoreql.svg?style=social&label=Star)](https://github.com/yazdipour/omnivoreql/stargazers)
[![Github Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/yazdipour)
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Star History
Check out our growth in the community:
[![Star History Chart](https://api.star-history.com/svg?repos=yazdipour/OmnivoreQL&type=Date)](https://star-history.com/#yazdipour/OmnivoreQL&Date)
Raw data
{
"_id": null,
"home_page": "https://github.com/yazdipour/OmnivoreQL",
"name": "omnivoreql",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3",
"maintainer_email": null,
"keywords": "omnivore api readlater graphql gql client",
"author": "Shahriar Yazdipour",
"author_email": "git@yazdipour.com",
"download_url": "https://files.pythonhosted.org/packages/49/b7/6f3900c10634182c07a9ced71bfa59a6026cfcc07a3b727c93d1c37768df/omnivoreql-0.3.4.tar.gz",
"platform": "any",
"description": "# OmnivoreQL: Omnivore API client for Python\n\n![OmnivoreQL Icon](https://github.com/yazdipour/OmnivoreQL/assets/8194807/d51d462d-4f5a-4031-980e-1faa5ca3f6e0)\n\nThis is a Python client for the [Omnivore API](https://omnivore.app).\n\n\n[![Tests](https://github.com/yazdipour/OmnivoreQL/actions/workflows/test.yml/badge.svg)](https://github.com/yazdipour/OmnivoreQL/actions/workflows/test.yml)\n[![PyPI version](https://badge.fury.io/py/omnivoreql.svg)](https://pypi.org/project/omnivoreql/)\n\n## How to use\n\nTo use omnivoreql in your Python project, you can follow these steps:\n\nInstall the omnivoreql package using pip:\n\n```bash\npip install omnivoreql\n```\n\nImport the package into your project and Create a new instance of the client:\n\n```python\nfrom omnivoreql import OmnivoreQL\n\nomnivoreql_client = OmnivoreQL(\"your_api_token_here\")\n```\n\nUse the methods of the OmnivoreQL class to interact with the Omnivore API. \n\n```python\nprofile = omnivoreql_client.get_profile()\n\nsaved_page = omnivoreql_client.save_url(\"https://www.google.com\")\nsaved_page_with_label = omnivoreql_client.save_url(\"https://www.google.com\", [\"label1\", \"label2\"])\n\narticles = omnivoreql_client.get_articles()\n\nusername = profile['me']['profile']['username']\nslug = articles['search']['edges'][0]['node']['slug']\narticles = omnivoreql_client.get_article(username, slug)\n\nsubscriptions = omnivoreql_client.get_subscriptions()\n\nlabels = omnivoreql_client.get_labels()\nfrom omnivoreql import CreateLabelInput\nomnivoreql_client.create_label(CreateLabelInput(\"label1\", \"#00ff00\", \"This is label description\"))\n```\n\n## Documentation\n\n* Main Omnivore graphql schema is in: [schema.graphql](https://github.com/omnivore-app/omnivore/blob/main/packages/api/src/schema.ts)\n* To contribute to this project: [CONTRIBUTING.md](docs/CONTRIBUTING.md)\n* To more know about Release process: [RELEASE.md](docs/RELEASE.md), [PYPI.md](docs/PYPI.md)\n\n## Support\n\nIf you find this project useful, you can support it by becoming a sponsor. Your contribution will help maintain the project and keep it up to date.\n\n[![GitHub stars](https://img.shields.io/github/stars/yazdipour/omnivoreql.svg?style=social&label=Star)](https://github.com/yazdipour/omnivoreql/stargazers)\n[![Github Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/yazdipour)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Star History\n\nCheck out our growth in the community:\n\n[![Star History Chart](https://api.star-history.com/svg?repos=yazdipour/OmnivoreQL&type=Date)](https://star-history.com/#yazdipour/OmnivoreQL&Date)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Omnivore API Client for Python",
"version": "0.3.4",
"project_urls": {
"Bug Tracker": "https://github.com/yazdipour/OmnivoreQL/issues",
"Homepage": "https://github.com/yazdipour/OmnivoreQL",
"Source Code": "https://github.com/yazdipour/OmnivoreQL"
},
"split_keywords": [
"omnivore",
"api",
"readlater",
"graphql",
"gql",
"client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bc78a8a730c3344cdcb11df97468fb01f1d27f9167cc3d96e9776680c9bb5448",
"md5": "6fa7c9fe9e578127cd69e776383d7f65",
"sha256": "c2c6b19cdbdaeaf70047c92baba681561abd2b5c3e150f8634b3ff12d87a574b"
},
"downloads": -1,
"filename": "omnivoreql-0.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6fa7c9fe9e578127cd69e776383d7f65",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 23933,
"upload_time": "2024-07-12T14:35:12",
"upload_time_iso_8601": "2024-07-12T14:35:12.025286Z",
"url": "https://files.pythonhosted.org/packages/bc/78/a8a730c3344cdcb11df97468fb01f1d27f9167cc3d96e9776680c9bb5448/omnivoreql-0.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "49b76f3900c10634182c07a9ced71bfa59a6026cfcc07a3b727c93d1c37768df",
"md5": "d70c8840995f822e753b64877ca90cf5",
"sha256": "d4e152bbb05f1cad0c8671dd106e3bb7a7445637d201f36a8c102921d4854c98"
},
"downloads": -1,
"filename": "omnivoreql-0.3.4.tar.gz",
"has_sig": false,
"md5_digest": "d70c8840995f822e753b64877ca90cf5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3",
"size": 21299,
"upload_time": "2024-07-12T14:35:15",
"upload_time_iso_8601": "2024-07-12T14:35:15.781540Z",
"url": "https://files.pythonhosted.org/packages/49/b7/6f3900c10634182c07a9ced71bfa59a6026cfcc07a3b727c93d1c37768df/omnivoreql-0.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-12 14:35:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yazdipour",
"github_project": "OmnivoreQL",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "python-dotenv",
"specs": []
},
{
"name": "gql",
"specs": [
[
">=",
"3.5.0"
]
]
},
{
"name": "requests-toolbelt",
"specs": [
[
">=",
"1.0.0"
]
]
}
],
"lcname": "omnivoreql"
}