# Subgrounds
<!-- [![GitHub Actions](https://github.com/0xPlaygrounds/subgrounds/workflows/CI/badge.svg)](https://github.com/0xPlaygrounds/subgrounds/actions) -->
[![PyPI](https://img.shields.io/pypi/v/subgrounds.svg)](https://pypi.org/project/subgrounds/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/subgrounds.svg)](https://pypi.org/project/subgrounds/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![CI](https://github.com/0xPlaygrounds/subgrounds/actions/workflows/main.yml/badge.svg)](https://github.com/0xPlaygrounds/subgrounds/actions/workflows/main.yml)
<br>
[![Discord](https://img.shields.io/discord/896944341598208070?color=7289DA&label=discord&logo=discord&logoColor=fff)](https://discord.gg/gMSSh5bjvk)
[![Twitter Follow](https://img.shields.io/badge/Playgrounds-Analytics-31fa1f2Playgrounds0x?color=%231fa1f2&logo=Twitter&logoColor=1fa1f2&style=flat)](https://twitter.com/Playgrounds0x)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/0xPlaygrounds/subgrounds/blob/main/examples/notebook.ipynb)
[![Github Codepsaces](https://img.shields.io/badge/Github-Codespaces-24292f.svg?logo=Github)](https://codespaces.new/0xPlaygrounds/subgrounds-template?quickstart=1)
<!-- start elevator-pitch -->
An intuitive Python library for interfacing with subgraphs and GraphQL.
## Features
- **Simple**: Leverage a Pythonic API to easily build queries and transformations without the need for raw GraphQL manipulation.
- **Automated**: Automatically handle pagination and schema introspection for effortless data retrieval.
- **Powerful**: Create sophisticated queries using the `SyntheticFields` transformation system.
<!-- end elevator-pitch -->
## Resources
- [**Docs**](http://docs.playgrounds.network/): User guide and API documentation
- [**Snippets**](https://github.com/0xPlaygrounds/subgrounds/tree/main/examples): A list of examples showcasing Subgrounds integration with Dash and Plotly
- [**Examples**](http://docs.playgrounds.network/subgrounds/examples/): An ever growing list of projects created by our community members and team
- [**Videos**](https://docs.playgrounds.network/subgrounds/videos/): Video workshops on Subgrounds
## Installation
> Subgrounds **requires** atleast Python 3.10+
Subgrounds is available on PyPi. To install it, run the following:<br>
`pip install subgrounds`.
Subgrounds also comes bundled with extra modules that may require extra libraries. You can get all functionality of `subgrounds` via the following:<br>
`pip install subgrounds[all]`.
## Simple example
<!-- start simple-example -->
```python
>>> from subgrounds import Subgrounds
>>> sg = Subgrounds()
>>> # Load
>>> aave_v2 = sg.load_subgraph("https://api.thegraph.com/subgraphs/name/messari/aave-v2-ethereum")
>>> # Construct the query
>>> latest_markets = aave_v2.Query.markets(
... orderBy=aave_v2.Market.totalValueLockedUSD,
... orderDirection='desc',
... first=5,
... )
>>> # Return query to a dataframe
>>> sg.query_df([
... latest_markets.name,
... latest_markets.totalValueLockedUSD,
... ])
markets_name markets_totalValueLockedUSD
0 Aave interest bearing STETH 1.522178e+09
1 Aave interest bearing WETH 1.221299e+09
2 Aave interest bearing USDC 8.140547e+08
3 Aave interest bearing WBTC 6.615692e+08
4 Aave interest bearing USDT 3.734017e+08
```
<!-- end simple-example -->
## About Us
Playgrounds Analytics is a data solutions company providing serverless on-chain data infrastructures and services for data teams, analysts, and engineers. Checkout us out [here](https://playgrounds.network/) to learn more!
## Acknowledgments
This software project would not be possible without the support of The Graph Foundation. You can learn more about The Graph and its mission [here](https://thegraph.com/).
Raw data
{
"_id": null,
"home_page": "https://github.com/0xPlaygrounds/subgrounds",
"name": "subgrounds",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "graph,subgrounds,graphql,subgraph",
"author": "cvauclair",
"author_email": "cvauclair@playgrounds.network",
"download_url": "https://files.pythonhosted.org/packages/68/72/4b88963bb913be689bdb12762ccd9ed90f05d84c2dcf13947e482585252e/subgrounds-1.8.1.tar.gz",
"platform": null,
"description": "# Subgrounds\n<!-- [![GitHub Actions](https://github.com/0xPlaygrounds/subgrounds/workflows/CI/badge.svg)](https://github.com/0xPlaygrounds/subgrounds/actions) -->\n[![PyPI](https://img.shields.io/pypi/v/subgrounds.svg)](https://pypi.org/project/subgrounds/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/subgrounds.svg)](https://pypi.org/project/subgrounds/)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![CI](https://github.com/0xPlaygrounds/subgrounds/actions/workflows/main.yml/badge.svg)](https://github.com/0xPlaygrounds/subgrounds/actions/workflows/main.yml)\n<br>\n\n[![Discord](https://img.shields.io/discord/896944341598208070?color=7289DA&label=discord&logo=discord&logoColor=fff)](https://discord.gg/gMSSh5bjvk)\n[![Twitter Follow](https://img.shields.io/badge/Playgrounds-Analytics-31fa1f2Playgrounds0x?color=%231fa1f2&logo=Twitter&logoColor=1fa1f2&style=flat)](https://twitter.com/Playgrounds0x)\n\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/0xPlaygrounds/subgrounds/blob/main/examples/notebook.ipynb)\n[![Github Codepsaces](https://img.shields.io/badge/Github-Codespaces-24292f.svg?logo=Github)](https://codespaces.new/0xPlaygrounds/subgrounds-template?quickstart=1)\n\n<!-- start elevator-pitch -->\nAn intuitive Python library for interfacing with subgraphs and GraphQL.\n\n## Features\n- **Simple**: Leverage a Pythonic API to easily build queries and transformations without the need for raw GraphQL manipulation.\n- **Automated**: Automatically handle pagination and schema introspection for effortless data retrieval.\n- **Powerful**: Create sophisticated queries using the `SyntheticFields` transformation system.\n<!-- end elevator-pitch -->\n\n## Resources\n- [**Docs**](http://docs.playgrounds.network/): User guide and API documentation\n- [**Snippets**](https://github.com/0xPlaygrounds/subgrounds/tree/main/examples): A list of examples showcasing Subgrounds integration with Dash and Plotly\n- [**Examples**](http://docs.playgrounds.network/subgrounds/examples/): An ever growing list of projects created by our community members and team\n- [**Videos**](https://docs.playgrounds.network/subgrounds/videos/): Video workshops on Subgrounds\n\n## Installation\n> Subgrounds **requires** atleast Python 3.10+\n\nSubgrounds is available on PyPi. To install it, run the following:<br>\n`pip install subgrounds`.\n\nSubgrounds also comes bundled with extra modules that may require extra libraries. You can get all functionality of `subgrounds` via the following:<br>\n`pip install subgrounds[all]`.\n\n## Simple example\n<!-- start simple-example -->\n```python\n>>> from subgrounds import Subgrounds\n\n>>> sg = Subgrounds()\n\n>>> # Load\n>>> aave_v2 = sg.load_subgraph(\"https://api.thegraph.com/subgraphs/name/messari/aave-v2-ethereum\")\n\n>>> # Construct the query\n>>> latest_markets = aave_v2.Query.markets(\n... orderBy=aave_v2.Market.totalValueLockedUSD,\n... orderDirection='desc',\n... first=5,\n... )\n\n>>> # Return query to a dataframe\n>>> sg.query_df([\n... latest_markets.name,\n... latest_markets.totalValueLockedUSD,\n... ])\n markets_name markets_totalValueLockedUSD\n0 Aave interest bearing STETH 1.522178e+09\n1 Aave interest bearing WETH 1.221299e+09\n2 Aave interest bearing USDC 8.140547e+08\n3 Aave interest bearing WBTC 6.615692e+08\n4 Aave interest bearing USDT 3.734017e+08\n```\n<!-- end simple-example -->\n\n\n## About Us\nPlaygrounds Analytics is a data solutions company providing serverless on-chain data infrastructures and services for data teams, analysts, and engineers. Checkout us out [here](https://playgrounds.network/) to learn more!\n\n\n## Acknowledgments\nThis software project would not be possible without the support of The Graph Foundation. You can learn more about The Graph and its mission [here](https://thegraph.com/).\n\n",
"bugtrack_url": null,
"license": "",
"summary": "A Pythonic data access layer for applications querying data from The Graph Network.",
"version": "1.8.1",
"project_urls": {
"Homepage": "https://github.com/0xPlaygrounds/subgrounds",
"Repository": "https://github.com/0xPlaygrounds/subgrounds"
},
"split_keywords": [
"graph",
"subgrounds",
"graphql",
"subgraph"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "95191233e136e93bf901098a70a33ea666b7926b65b574cf8dea593612451e53",
"md5": "78a1796147dc6be1aafc003d979fde95",
"sha256": "057f5629f332a7c592a0821f35d7c0f7e36572cbdfcf6e5df8b388d076baca0c"
},
"downloads": -1,
"filename": "subgrounds-1.8.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "78a1796147dc6be1aafc003d979fde95",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 73749,
"upload_time": "2023-11-10T22:08:11",
"upload_time_iso_8601": "2023-11-10T22:08:11.087221Z",
"url": "https://files.pythonhosted.org/packages/95/19/1233e136e93bf901098a70a33ea666b7926b65b574cf8dea593612451e53/subgrounds-1.8.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "68724b88963bb913be689bdb12762ccd9ed90f05d84c2dcf13947e482585252e",
"md5": "6bba71a47495738bdbac72199b08c3aa",
"sha256": "9dd4e18615f76d33550c63f0a1ed5b0548262040651869805456d0f97dfd3d54"
},
"downloads": -1,
"filename": "subgrounds-1.8.1.tar.gz",
"has_sig": false,
"md5_digest": "6bba71a47495738bdbac72199b08c3aa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 60641,
"upload_time": "2023-11-10T22:08:12",
"upload_time_iso_8601": "2023-11-10T22:08:12.791901Z",
"url": "https://files.pythonhosted.org/packages/68/72/4b88963bb913be689bdb12762ccd9ed90f05d84c2dcf13947e482585252e/subgrounds-1.8.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-10 22:08:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "0xPlaygrounds",
"github_project": "subgrounds",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "subgrounds"
}