[![Twitter](https://badgen.net/badge/icon/dipdup_io?icon=twitter&label=)](https://twitter.com/dipdup_io)
[![GitHub stars](https://img.shields.io/github/stars/dipdup-io/dipdup?color=2c2c2c&style=plain)](https://github.com/dipdup-io/dipdup)
[![PyPI monthly downloads](https://img.shields.io/pypi/dm/dipdup?color=2c2c2c)](https://pypi.org/project/dipdup/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dipdup?color=2c2c2c)](https://www.python.org)
[![License: MIT](https://img.shields.io/github/license/dipdup-io/dipdup?color=2c2c2c)](https://github.com/dipdup-io/dipdup/blob/next/LICENSE)
<br>
[![Latest stable release](https://img.shields.io/github/v/release/dipdup-io/dipdup?label=stable%20release&color=2c2c2c)](https://github.com/dipdup-io/dipdup/releases)
[![Latest pre-release](https://img.shields.io/github/v/release/dipdup-io/dipdup?include_prereleases&label=latest%20release&color=2c2c2c)](https://github.com/dipdup-io/dipdup/releases)
[![GitHub issues](https://img.shields.io/github/issues/dipdup-io/dipdup?color=2c2c2c)](https://github.com/dipdup-io/dipdup/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr/dipdup-io/dipdup?color=2c2c2c)](https://github.com/dipdup-io/dipdup/pulls)
<h3 align="center"><img src="https://actual-docs.interface-1bp.pages.dev/_nuxt/logo.9b02ab5e.svg" alt="DipDup logo"></h3>
DipDup is a Python framework for building smart contract indexers. It helps developers focus on business logic instead of writing a boilerplate to store and serve data. DipDup-based indexers are selective, which means only required data is requested. This approach allows to achieve faster indexing times and decreased load on underlying APIs.
- **Ready to build your first indexer?** Head to [Quickstart](https://dipdup.io/docs/quickstart).
- **Looking for examples?** Check out [Demo Projects](https://dipdup.io/docs/examples/demos) and [Built with DipDup](https://dipdup.io/docs/examples/built-with-dipdup) pages.
- **Want to participate?** Vote for [open issues](https://github.com/dipdup-io/dipdup/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc), join [discussions](https://github.com/dipdup-io/dipdup/discussions) or [become a sponsor](https://github.com/sponsors/dipdup-io).
- **Have a question?** Join our [Discord](https://discord.gg/aG8XKuwsQd) or tag @dipdup_io on [Twitter](https://twitter.com/dipdup_io).
This project is maintained by the [Baking Bad](https://bakingbad.dev/) team.
<br>
Development is supported by [Tezos Foundation](https://tezos.foundation/) and [OnlyDust](https://www.onlydust.xyz).
Raw data
{
"_id": null,
"home_page": null,
"name": "dipdup",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.12,>=3.11",
"maintainer_email": "Lev Gorodetskii <dipdup@drsr.io>, Vladimir Bobrikov <vladimir_bobrikov@pm.me>",
"keywords": "api backend blockchain crypto cryptocurrencies dapp declarative ethereum evm framework indexer indexers michelson scheduler sdk smart-contracts tezos tzkt web3",
"author": null,
"author_email": "Lev Gorodetskii <dipdup@drsr.io>, Vladimir Bobrikov <vladimir_bobrikov@pm.me>, Michael Zaikin <mz@baking-bad.org>",
"download_url": "https://files.pythonhosted.org/packages/ba/d3/165667f6a7365bf28ecc6d3f837e8e4042f4230ec8fe1c86a1d33ae48d92/dipdup-7.5.4.tar.gz",
"platform": null,
"description": "[![Twitter](https://badgen.net/badge/icon/dipdup_io?icon=twitter&label=)](https://twitter.com/dipdup_io)\n[![GitHub stars](https://img.shields.io/github/stars/dipdup-io/dipdup?color=2c2c2c&style=plain)](https://github.com/dipdup-io/dipdup)\n[![PyPI monthly downloads](https://img.shields.io/pypi/dm/dipdup?color=2c2c2c)](https://pypi.org/project/dipdup/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dipdup?color=2c2c2c)](https://www.python.org)\n[![License: MIT](https://img.shields.io/github/license/dipdup-io/dipdup?color=2c2c2c)](https://github.com/dipdup-io/dipdup/blob/next/LICENSE)\n<br>\n[![Latest stable release](https://img.shields.io/github/v/release/dipdup-io/dipdup?label=stable%20release&color=2c2c2c)](https://github.com/dipdup-io/dipdup/releases)\n[![Latest pre-release](https://img.shields.io/github/v/release/dipdup-io/dipdup?include_prereleases&label=latest%20release&color=2c2c2c)](https://github.com/dipdup-io/dipdup/releases)\n[![GitHub issues](https://img.shields.io/github/issues/dipdup-io/dipdup?color=2c2c2c)](https://github.com/dipdup-io/dipdup/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/dipdup-io/dipdup?color=2c2c2c)](https://github.com/dipdup-io/dipdup/pulls)\n\n<h3 align=\"center\"><img src=\"https://actual-docs.interface-1bp.pages.dev/_nuxt/logo.9b02ab5e.svg\" alt=\"DipDup logo\"></h3>\n\nDipDup is a Python framework for building smart contract indexers. It helps developers focus on business logic instead of writing a boilerplate to store and serve data. DipDup-based indexers are selective, which means only required data is requested. This approach allows to achieve faster indexing times and decreased load on underlying APIs.\n\n- **Ready to build your first indexer?** Head to [Quickstart](https://dipdup.io/docs/quickstart).\n\n- **Looking for examples?** Check out [Demo Projects](https://dipdup.io/docs/examples/demos) and [Built with DipDup](https://dipdup.io/docs/examples/built-with-dipdup) pages.\n\n- **Want to participate?** Vote for [open issues](https://github.com/dipdup-io/dipdup/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc), join [discussions](https://github.com/dipdup-io/dipdup/discussions) or [become a sponsor](https://github.com/sponsors/dipdup-io).\n\n- **Have a question?** Join our [Discord](https://discord.gg/aG8XKuwsQd) or tag @dipdup_io on [Twitter](https://twitter.com/dipdup_io).\n\nThis project is maintained by the [Baking Bad](https://bakingbad.dev/) team.\n<br>\nDevelopment is supported by [Tezos Foundation](https://tezos.foundation/) and [OnlyDust](https://www.onlydust.xyz).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Modular framework for creating selective indexers and featureful backends for dapps",
"version": "7.5.4",
"project_urls": {
"Documentation": "https://dipdup.io/docs",
"Homepage": "https://dipdup.io/",
"Repository": "https://github.com/dipdup-io/dipdup"
},
"split_keywords": [
"api",
"backend",
"blockchain",
"crypto",
"cryptocurrencies",
"dapp",
"declarative",
"ethereum",
"evm",
"framework",
"indexer",
"indexers",
"michelson",
"scheduler",
"sdk",
"smart-contracts",
"tezos",
"tzkt",
"web3"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b8d4ad4143260b85c078247e681434e58e57064efd72327de9f34c4c0512aae9",
"md5": "69ffccfdf596560008db046d8ab37fbc",
"sha256": "9f418f5d3ba6853d993cfab7f74ef6886f3f38acbf36935772edf7df3139fe5e"
},
"downloads": -1,
"filename": "dipdup-7.5.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "69ffccfdf596560008db046d8ab37fbc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.11",
"size": 629144,
"upload_time": "2024-04-09T23:15:03",
"upload_time_iso_8601": "2024-04-09T23:15:03.663714Z",
"url": "https://files.pythonhosted.org/packages/b8/d4/ad4143260b85c078247e681434e58e57064efd72327de9f34c4c0512aae9/dipdup-7.5.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bad3165667f6a7365bf28ecc6d3f837e8e4042f4230ec8fe1c86a1d33ae48d92",
"md5": "908081d34b287700325cdd54f3709d72",
"sha256": "48d9554235d8812ac75e482d485b563923a8d4b7177f572d2e1c6c5eec2280d7"
},
"downloads": -1,
"filename": "dipdup-7.5.4.tar.gz",
"has_sig": false,
"md5_digest": "908081d34b287700325cdd54f3709d72",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.11",
"size": 746226,
"upload_time": "2024-04-09T23:15:07",
"upload_time_iso_8601": "2024-04-09T23:15:07.207034Z",
"url": "https://files.pythonhosted.org/packages/ba/d3/165667f6a7365bf28ecc6d3f837e8e4042f4230ec8fe1c86a1d33ae48d92/dipdup-7.5.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-09 23:15:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dipdup-io",
"github_project": "dipdup",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": [
[
"==",
"3.9.3"
]
]
},
{
"name": "aiolimiter",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "aiosignal",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "aiosqlite",
"specs": [
[
"==",
"0.17.0"
]
]
},
{
"name": "annotated-types",
"specs": [
[
"==",
"0.6.0"
]
]
},
{
"name": "anyio",
"specs": [
[
"==",
"4.3.0"
]
]
},
{
"name": "apscheduler",
"specs": [
[
"==",
"3.10.4"
]
]
},
{
"name": "argcomplete",
"specs": [
[
"==",
"3.2.3"
]
]
},
{
"name": "async-lru",
"specs": [
[
"==",
"2.0.4"
]
]
},
{
"name": "asyncclick",
"specs": [
[
"==",
"8.1.7.2"
]
]
},
{
"name": "asyncpg",
"specs": [
[
"==",
"0.29.0"
]
]
},
{
"name": "attrs",
"specs": [
[
"==",
"23.2.0"
]
]
},
{
"name": "bitarray",
"specs": [
[
"==",
"2.9.2"
]
]
},
{
"name": "black",
"specs": [
[
"==",
"24.3.0"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.2.2"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.3.2"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.7"
]
]
},
{
"name": "colorama",
"specs": [
[
"==",
"0.4.6"
]
]
},
{
"name": "cytoolz",
"specs": [
[
"==",
"0.12.3"
]
]
},
{
"name": "datamodel-code-generator",
"specs": [
[
"==",
"0.25.5"
]
]
},
{
"name": "dnspython",
"specs": [
[
"==",
"2.6.1"
]
]
},
{
"name": "email-validator",
"specs": [
[
"==",
"2.1.1"
]
]
},
{
"name": "eth-abi",
"specs": [
[
"==",
"5.1.0"
]
]
},
{
"name": "eth-account",
"specs": [
[
"==",
"0.11.0"
]
]
},
{
"name": "eth-hash",
"specs": [
[
"==",
"0.7.0"
]
]
},
{
"name": "eth-keyfile",
"specs": [
[
"==",
"0.8.0"
]
]
},
{
"name": "eth-keys",
"specs": [
[
"==",
"0.5.0"
]
]
},
{
"name": "eth-rlp",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "eth-typing",
"specs": [
[
"==",
"4.1.0"
]
]
},
{
"name": "eth-utils",
"specs": [
[
"==",
"4.1.0"
]
]
},
{
"name": "frozenlist",
"specs": [
[
"==",
"1.4.1"
]
]
},
{
"name": "genson",
"specs": [
[
"==",
"1.2.2"
]
]
},
{
"name": "hexbytes",
"specs": [
[
"==",
"0.3.1"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.6"
]
]
},
{
"name": "inflect",
"specs": [
[
"==",
"5.6.2"
]
]
},
{
"name": "iso8601",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "isort",
"specs": [
[
"==",
"5.13.2"
]
]
},
{
"name": "jinja2",
"specs": [
[
"==",
"3.1.3"
]
]
},
{
"name": "jsonschema",
"specs": [
[
"==",
"4.21.1"
]
]
},
{
"name": "jsonschema-specifications",
"specs": [
[
"==",
"2023.12.1"
]
]
},
{
"name": "lru-dict",
"specs": [
[
"==",
"1.3.0"
]
]
},
{
"name": "markupsafe",
"specs": [
[
"==",
"2.1.5"
]
]
},
{
"name": "msgpack",
"specs": [
[
"==",
"1.0.8"
]
]
},
{
"name": "multidict",
"specs": [
[
"==",
"6.0.5"
]
]
},
{
"name": "mypy-extensions",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"1.26.4"
]
]
},
{
"name": "orjson",
"specs": [
[
"==",
"3.10.0"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.0"
]
]
},
{
"name": "parsimonious",
"specs": [
[
"==",
"0.10.0"
]
]
},
{
"name": "pathspec",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "platformdirs",
"specs": [
[
"==",
"4.2.0"
]
]
},
{
"name": "prometheus-client",
"specs": [
[
"==",
"0.20.0"
]
]
},
{
"name": "protobuf",
"specs": [
[
"==",
"5.26.1"
]
]
},
{
"name": "pyarrow",
"specs": [
[
"==",
"14.0.2"
]
]
},
{
"name": "pycryptodome",
"specs": [
[
"==",
"3.20.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
"==",
"2.6.4"
]
]
},
{
"name": "pydantic-core",
"specs": [
[
"==",
"2.16.3"
]
]
},
{
"name": "pyhumps",
"specs": [
[
"==",
"3.8.0"
]
]
},
{
"name": "pypika-tortoise",
"specs": [
[
"==",
"0.1.6"
]
]
},
{
"name": "pysignalr",
"specs": [
[
"==",
"1.0.0"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2024.1"
]
]
},
{
"name": "pyunormalize",
"specs": [
[
"==",
"15.1.0"
]
]
},
{
"name": "pywin32",
"specs": [
[
"==",
"306"
]
]
},
{
"name": "pyyaml",
"specs": [
[
"==",
"6.0.1"
]
]
},
{
"name": "referencing",
"specs": [
[
"==",
"0.34.0"
]
]
},
{
"name": "regex",
"specs": [
[
"==",
"2023.12.25"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.31.0"
]
]
},
{
"name": "rlp",
"specs": [
[
"==",
"4.0.0"
]
]
},
{
"name": "rpds-py",
"specs": [
[
"==",
"0.18.0"
]
]
},
{
"name": "ruamel-yaml",
"specs": [
[
"==",
"0.18.6"
]
]
},
{
"name": "ruamel-yaml-clib",
"specs": [
[
"==",
"0.2.8"
]
]
},
{
"name": "sentry-sdk",
"specs": [
[
"==",
"1.44.0"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"69.2.0"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.16.0"
]
]
},
{
"name": "sniffio",
"specs": [
[
"==",
"1.3.1"
]
]
},
{
"name": "sqlparse",
"specs": [
[
"==",
"0.4.4"
]
]
},
{
"name": "strict-rfc3339",
"specs": [
[
"==",
"0.7"
]
]
},
{
"name": "survey",
"specs": [
[
"==",
"4.5.4"
]
]
},
{
"name": "tabulate",
"specs": [
[
"==",
"0.9.0"
]
]
},
{
"name": "toolz",
"specs": [
[
"==",
"0.12.1"
]
]
},
{
"name": "tortoise-orm",
"specs": [
[
"==",
"0.20.0"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
"==",
"4.10.0"
]
]
},
{
"name": "tzdata",
"specs": [
[
"==",
"2024.1"
]
]
},
{
"name": "tzlocal",
"specs": [
[
"==",
"5.2"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.2.1"
]
]
},
{
"name": "web3",
"specs": [
[
"==",
"6.11.2"
]
]
},
{
"name": "websockets",
"specs": [
[
"==",
"12.0"
]
]
},
{
"name": "yarl",
"specs": [
[
"==",
"1.9.4"
]
]
}
],
"lcname": "dipdup"
}