python interface for interacting with flashbots mempool dumpster
Project description
absorb 🧽🫧🫧
absorb makes it easy to 1) collect, 2) manage, 3) query, and 4) customize datasets from nearly any data source
🚧 this is a preview release of beta software, and it is still under active development 🚧
Features
- limitless dataset library: access to millions of datasets across 20+ diverse data sources
- intuitive cli+python interfaces: collect or query any dataset in a single line of code
- maximal modularity: built on open standards for frictionless integration with other tools
- easy extensibility: add new datasets or data sources with just a few lines of code
Contents
Installation
basic installation
uv tool install paradigm_absorb
install with all extras
uv tool install paradigm_absorb[test,datasources,interactive]
install from source
git clone git@github.com:paradigmxyz/absorb.git
uv tool install --editable .[test,datasources,interactive]
Example Usage
Example Command Line Usage
# collect dataset and save as local files
absorb collect kalshi
# list datasets that are collected or available
absorb ls
# show schemas of dataset
absorb schema kalshi
# create new custom dataset
absorb new custom_dataset
# upload custom dataset
absorb upload custom_dataset
Example Python Usage
import absorb
# collect dataset and save as local files
absorb.collect('kalshi.metrics')
# get schemas of dataset
schema = absorb.get_schema('kalshi.metrics')
# query dataset eagerly, as polars DataFrame
df = absorb.query('kalshi.metrics')
# query dataset lazily, as polars LazyFrame
lf = absorb.query('kalshi.metrics', lazy=True)
# upload custom dataset
absorb.upload('source.table')
Supported Data Sources
🚧 under construction 🚧
absorb collects data from each of these sources:
- 4byte function and event signatures
- allium crypto data platform
- bigquery crypto ETL datasets
- binance trades and OHLC candles on the Binance CEX
- blocknative Ethereum mempool archive
- chain_ids chain id's
- coingecko token prices
- cryo EVM datasets
- defillama DeFi data
- dune tables and queries
- fred federal macroeonomic data
- git commits, authors, and file diffs of a repo
- growthepie L2 metrics
- kalshi prediction market metrics
- l2beat L2 metrics
- mempool dumpster Ethereum mempool archive
- snowflake generalized data platform
- sourcify verified contracts
- tic usa treasury department data
- tix price feeds
- vera verified contract archives
- xatu many Ethereum datasets
To list all available datasets and data sources, type absorb ls on the command line.
To display information about the schema and other metadata of a dataset, type absorb help <DATASET> on the command line.
Output Format
absorb uses the filesystem as its database. Each dataset is stored as a collection of parquet files, either on local disk or in the cloud.
Datasets can be stored in any location on your disks, and absorb will use symlinks to organize those files in the ABSORB_ROOT tree.
the ABSORB_ROOT filesystem directory is organized as:
{ABSORB_ROOT}/
datasets/
<source>/
tables/
<datatype>/
{filename}.parquet
table_metadata.json
repos/
{repo_name}/
absorb_config.json
Configuration
absorb uses a config file to specify which datasets to track.
Schema of absorb_config.json:
{
'version': str,
'tracked_tables': list[TableDict],
'use_git': bool,
'default_bucket': {
'rclone_remote': str | None,
'bucket_name': str | None,
'path_prefix': str | None,
'provider': str | None,
},
}
schema of dataset_config.json:
{
'source_name': str,
'table_name': str,
'table_class': str,
'parameters': dict[str, JSONValue],
'table_version': str,
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paradigm_absorb-0.3.1.tar.gz.
File metadata
- Download URL: paradigm_absorb-0.3.1.tar.gz
- Upload date:
- Size: 71.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36f58bca04286672c9a1322dbcecaf7ad911cfcdb2c54669ef1f7e54e689211f
|
|
| MD5 |
748a8155ab95b37d1431f5f2c0e93538
|
|
| BLAKE2b-256 |
93aedb3dbbc248b838c28a2ffd865847403a64249b04493bc046d6880009e02d
|
File details
Details for the file paradigm_absorb-0.3.1-py3-none-any.whl.
File metadata
- Download URL: paradigm_absorb-0.3.1-py3-none-any.whl
- Upload date:
- Size: 104.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42c269e2bb7f7f2e14690b6c1b8ac68417e48d913b4ff68c804211c79d701e68
|
|
| MD5 |
5cc7793e0c82522cd94f7d41943dddf8
|
|
| BLAKE2b-256 |
a08437b8c34ecb0cdb6fed60a6d8643642d836fe4fd0aeeb180f90c82afdadaa
|