Name | dipe JSON |
Version |
1.2.8
JSON |
| download |
home_page | None |
Summary | A Python toolkit for Solana agents |
upload_time | 2025-01-13 03:22:36 |
maintainer | None |
docs_url | None |
author | red-error |
requires_python | ==3.13.0 |
license | MIT |
keywords |
solana
sdk
blockchain
tools
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
![Dipe AI Banner](https://docs.dipe.ai/~gitbook/image?url=https%3A%2F%2F3556248016-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Ful9Supk3V2JefB5BD6IT%252Fuploads%252F2wumbMvYJL0ZdGrMp3ZZ%252Fbg%2520%2816%29.png%3Falt%3Dmedia%26token%3D35e2e457-06e7-4fcb-81a1-17e7ba902e7a&width=1248&dpr=1&quality=100&sign=2b46befc&sv=2)
# Dipe AI Agent Framework
A powerful toolkit for interacting with the Solana blockchain, providing easy-to-use functions for token operations, trading, and more. Now integrated with LangChain for enhanced functionality.
## Key Features
### Token Operations
- Transfer SOL & SPL tokens
- Check token balances
- Stake SOL
- Create custom SPL tokens
- Request faucet funds
- Burn tokens & close accounts
### Trading & Exchange Integration
- Seamless Jupiter Exchange integration
- Efficient token swaps with slippage control
- Raydium liquidity trading
### AI-Enhanced Blockchain Automation
- Leverage LangChain AI
- Automated token performance analysis
- Smart transaction monitoring
### Blockchain Data & Monitoring
- Monitor live transactions per second (TPS) on Solana
- Retrieve detailed token insights on Solana
### Special Features
- Launch SPL tokens on Solana with Pump.fun
- Create dynamic DLMM liquidity pools on Solana with Meteora
## Installation
```bash
pip install dipe
```
## Quick Start
```python
from dipe import SolanaAgentKit, create_solana_tools
# Initialize with private key and optional RPC URL
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
# Create LangChain tools
tools = create_solana_tools(agent)
```
## Usage Examples
### Fetch price of a token
```python
from dipe import SolanaAgentKit
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
# Get balance
balance = await agent.fetch_price("FKMKctiJnbZKL16pCmR7ig6bvjcMJffuUMjB97YD7LJs")
print(f"Price: {balance} SOL")
# Run the async function
import asyncio
asyncio.run(main())
```
### Swap Tokens
```python
from dipe import SolanaAgentKit
from solders.pubkey import Pubkey
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
signature = await agent.trade(
agent,
output_mint=Pubkey.from_string("target-token-mint"),
input_amount=100, # amount
input_mint=Pubkey.from_string("source-token-mint"),
slippage_bps=300 # 3% slippage
)
import asyncio
asyncio.run(main())
```
### Lend Tokens
```python
from dipe import SolanaAgentKit
from solders.pubkey import Pubkey
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
signature = await agent.lend_assets(
amount=100 # amount
)
import asyncio
asyncio.run(main())
```
### Stake SOL
```python
from dipe import SolanaAgentKit
from solders.pubkey import Pubkey
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
signature = await agent.stake(
amount=1 # amount in SOL
)
import asyncio
asyncio.run(main())
```
### Request Faucet Funds
```python
from dipe import SolanaAgentKit
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
response = await agent.request_faucet_funds()
print(response)
import asyncio
asyncio.run(main())
```
### Fetch Current TPS
```python
from dipe import SolanaAgentKit
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
tps = await agent.get_tps()
print(f"Current TPS: {tps}")
import asyncio
asyncio.run(main())
```
### Get Token Data by Ticker
```python
from dipe import SolanaAgentKit
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
token_data = await agent.get_token_data_by_ticker("SOL")
print(token_data)
import asyncio
asyncio.run(main())
```
### Get Token Data by Address
```python
from dipe import SolanaAgentKit
from solders.pubkey import Pubkey
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
token_data = await agent.get_token_data_by_address("your-token-mint-address")
print(token_data)
import asyncio
asyncio.run(main())
```
### Launch Pump Fun Token
```python
from dipe import SolanaAgentKit
from dipe.types import PumpfunTokenOptions
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
options = PumpfunTokenOptions(
# Add your options here
)
response = await agent.launch_pump_fun_token(
token_name="MyToken",
token_ticker="MTK",
description="This is a fun token",
image_url="https://example.com/image.png",
options=options
)
print(response)
```
### Create Meteora DLMM Pool
```python
from dipe import SolanaAgentKit
from solders.pubkey import Pubkey
from dipe.utils.meteora_dlmm.types import ActivationType
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
response = await agent.create_meteora_dlmm_pool(
bin_step=1,
token_a_mint=Pubkey.from_string("token-a-mint"),
token_b_mint=Pubkey.from_string("token-b-mint"),
initial_price=1.0,
price_rounding_up=True,
fee_bps=30,
activation_type=ActivationType.Timestamp,
has_alpha_vault=True,
activation_point=None
)
print(response)
import asyncio
asyncio.run(main())
```
### Buy Tokens with Raydium
```python
from dipe import SolanaAgentKit
from solders.pubkey import Pubkey
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
confirmed = await agent.buy_using_raydium(
pair_address=Pubkey.from_string("target-pair-address"), # The pair you want to buy from
sol_in=1, # Amount of SOL or input token to spend
slippage=300 # Maximum slippage in basis points (3% here)
)
print(f"Transaction confirmed: {confirmed}")
import asyncio
asyncio.run(main())
```
### Sell Tokens with Raydium
```python
from dipe import SolanaAgentKit
from solders.pubkey import Pubkey
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
confirmed = await agent.sell_using_raydium(
input_mint=Pubkey.from_string("source-token-mint"), # The token you want to sell
percentage=100,
slippage_bps=250 # Maximum slippage in basis points (2.5% here)
)
print(f"Transaction confirmed: {confirmed}")
import asyncio
asyncio.run(main())
```
### Burn and Close Token Account
```python
from dipe import SolanaAgentKit
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
response = await agent.burn_and_close_accounts("token-account-address")
print("Account burned and closed:", response)
import asyncio
asyncio.run(main())
```
### Batch burn and Close Token Account
```python
from dipe import SolanaAgentKit
async def main():
agent = SolanaAgentKit(
"your-wallet-private-key-as-base58",
"https://api.mainnet-beta.solana.com",
"your-openai-api-key"
)
token_accounts = ["token-account-address-1", "token-account-address-2"]
responses = await agent.multiple_burn_and_close_accounts(token_accounts)
print("Accounts burned and closed:", responses)
import asyncio
asyncio.run(main())
```
## API Reference
### Core Functions
#### `transfer(agent, to, amount, mint?)`
Transfer SOL or SPL tokens to a recipient.
#### `trade(agent, output_mint, input_amount, input_mint?, slippage_bps?)`
Swap tokens using Jupiter Exchange integration.
#### `get_balance(agent, token_address)`
Check SOL or token balance for the agent's wallet.
#### `lend_asset(agent, asset_mint, amount)`
Lend idle assets to earn interest with Lulo.
#### `stake(agent, amount)`
Stake SOL with Jupiter to earn rewards.
#### `request_faucet_funds(agent)`
Request faucet funds for testing purposes.
#### `deploy_token(agent, decimals)`
Deploy a new token with specified decimals.
#### `fetch_price(agent, token_id)`
Fetch the price of a token.
#### `get_tps(agent)`
Fetch the current transactions per second (TPS) on the Solana network.
#### `get_token_data_by_ticker(agent, ticker)`
Get token data by ticker.
#### `get_token_data_by_address(agent, mint)`
Get token data by address.
#### `launch_pump_fun_token(agent, token_name, token_ticker, description, image_url, options)`
Launch a Pump & Fun token with customizable options.
#### `create_meteora_dlmm_pool(agent, bin_step, token_a_mint, token_b_mint, initial_price, price_rounding_up, fee_bps, activation_type, has_alpha_vault, activation_point)`
Create a Meteora DLMM pool with various configurations.
#### `buy_using_raydium(agent, pair_address, sol_in, slippage)`
Buy tokens from Raydium liquidity pools.
#### `sell_using_raydium(agent, pair_address, percentage, slippage)`
Sell tokens using Raydium liquidity pools.
#### `burn_and_close_accounts(agent, token_account)`
Burns and closes token account.
#### `multiple_burn_and_close_accounts(agent, token_accounts)`
Burns and closes multiple token accounts.
## Dependencies
The toolkit relies on several key Solana and Metaplex libraries:
- solana-py
- spl-token-py
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
ISC License
## Security
This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.
Raw data
{
"_id": null,
"home_page": null,
"name": "dipe",
"maintainer": null,
"docs_url": null,
"requires_python": "==3.13.0",
"maintainer_email": null,
"keywords": "solana, sdk, blockchain, tools",
"author": "red-error",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/63/f8/2397b8d62e951faf8c0e00b184c5892dc4985dc73d00fcea6d5396998f32/dipe-1.2.8.tar.gz",
"platform": null,
"description": "![Dipe AI Banner](https://docs.dipe.ai/~gitbook/image?url=https%3A%2F%2F3556248016-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Ful9Supk3V2JefB5BD6IT%252Fuploads%252F2wumbMvYJL0ZdGrMp3ZZ%252Fbg%2520%2816%29.png%3Falt%3Dmedia%26token%3D35e2e457-06e7-4fcb-81a1-17e7ba902e7a&width=1248&dpr=1&quality=100&sign=2b46befc&sv=2)\n\n# Dipe AI Agent Framework\n\nA powerful toolkit for interacting with the Solana blockchain, providing easy-to-use functions for token operations, trading, and more. Now integrated with LangChain for enhanced functionality.\n\n## Key Features\n\n### Token Operations\n\n- Transfer SOL & SPL tokens\n- Check token balances\n- Stake SOL\n- Create custom SPL tokens\n- Request faucet funds\n- Burn tokens & close accounts\n\n### Trading & Exchange Integration\n\n- Seamless Jupiter Exchange integration\n- Efficient token swaps with slippage control\n- Raydium liquidity trading\n\n### AI-Enhanced Blockchain Automation\n\n- Leverage LangChain AI\n- Automated token performance analysis\n- Smart transaction monitoring\n\n### Blockchain Data & Monitoring\n\n- Monitor live transactions per second (TPS) on Solana\n- Retrieve detailed token insights on Solana\n\n### Special Features\n\n- Launch SPL tokens on Solana with Pump.fun\n- Create dynamic DLMM liquidity pools on Solana with Meteora\n\n## Installation\n\n```bash\npip install dipe\n\n```\n\n## Quick Start\n\n```python\nfrom dipe import SolanaAgentKit, create_solana_tools\n\n# Initialize with private key and optional RPC URL\nagent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n)\n\n# Create LangChain tools\ntools = create_solana_tools(agent)\n```\n\n## Usage Examples\n\n### Fetch price of a token\n\n```python\nfrom dipe import SolanaAgentKit\n\nasync def main():\nagent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n)\n\n # Get balance\n balance = await agent.fetch_price(\"FKMKctiJnbZKL16pCmR7ig6bvjcMJffuUMjB97YD7LJs\")\n print(f\"Price: {balance} SOL\")\n\n# Run the async function\nimport asyncio\nasyncio.run(main())\n\n```\n\n### Swap Tokens\n\n```python\nfrom dipe import SolanaAgentKit\n\nfrom solders.pubkey import Pubkey\n\nasync def main():\nagent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n)\n\nsignature = await agent.trade(\n agent,\n output_mint=Pubkey.from_string(\"target-token-mint\"),\n input_amount=100, # amount\n input_mint=Pubkey.from_string(\"source-token-mint\"),\n slippage_bps=300 # 3% slippage\n)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Lend Tokens\n\n```python\nfrom dipe import SolanaAgentKit\n\nfrom solders.pubkey import Pubkey\n\nasync def main():\nagent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n)\nsignature = await agent.lend_assets(\n amount=100 # amount\n)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Stake SOL\n\n```python\nfrom dipe import SolanaAgentKit\n\nfrom solders.pubkey import Pubkey\n\nasync def main():\nagent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n)\n\nsignature = await agent.stake(\n amount=1 # amount in SOL\n)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Request Faucet Funds\n\n```python\nfrom dipe import SolanaAgentKit\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n response = await agent.request_faucet_funds()\n print(response)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Fetch Current TPS\n\n```python\nfrom dipe import SolanaAgentKit\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n tps = await agent.get_tps()\n print(f\"Current TPS: {tps}\")\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Get Token Data by Ticker\n\n```python\nfrom dipe import SolanaAgentKit\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n token_data = await agent.get_token_data_by_ticker(\"SOL\")\n print(token_data)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Get Token Data by Address\n\n```python\nfrom dipe import SolanaAgentKit\nfrom solders.pubkey import Pubkey\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n token_data = await agent.get_token_data_by_address(\"your-token-mint-address\")\n print(token_data)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Launch Pump Fun Token\n\n```python\nfrom dipe import SolanaAgentKit\nfrom dipe.types import PumpfunTokenOptions\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n options = PumpfunTokenOptions(\n # Add your options here\n )\n\n response = await agent.launch_pump_fun_token(\n token_name=\"MyToken\",\n token_ticker=\"MTK\",\n description=\"This is a fun token\",\n image_url=\"https://example.com/image.png\",\n options=options\n )\n print(response)\n```\n\n### Create Meteora DLMM Pool\n\n```python\nfrom dipe import SolanaAgentKit\nfrom solders.pubkey import Pubkey\nfrom dipe.utils.meteora_dlmm.types import ActivationType\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n response = await agent.create_meteora_dlmm_pool(\n bin_step=1,\n token_a_mint=Pubkey.from_string(\"token-a-mint\"),\n token_b_mint=Pubkey.from_string(\"token-b-mint\"),\n initial_price=1.0,\n price_rounding_up=True,\n fee_bps=30,\n activation_type=ActivationType.Timestamp,\n has_alpha_vault=True,\n activation_point=None\n )\n print(response)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Buy Tokens with Raydium\n\n```python\nfrom dipe import SolanaAgentKit\nfrom solders.pubkey import Pubkey\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n confirmed = await agent.buy_using_raydium(\n pair_address=Pubkey.from_string(\"target-pair-address\"), # The pair you want to buy from\n sol_in=1, # Amount of SOL or input token to spend\n slippage=300 # Maximum slippage in basis points (3% here)\n )\n print(f\"Transaction confirmed: {confirmed}\")\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Sell Tokens with Raydium\n\n```python\nfrom dipe import SolanaAgentKit\nfrom solders.pubkey import Pubkey\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n confirmed = await agent.sell_using_raydium(\n input_mint=Pubkey.from_string(\"source-token-mint\"), # The token you want to sell\n percentage=100,\n slippage_bps=250 # Maximum slippage in basis points (2.5% here)\n )\n print(f\"Transaction confirmed: {confirmed}\")\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Burn and Close Token Account\n\n```python\nfrom dipe import SolanaAgentKit\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n response = await agent.burn_and_close_accounts(\"token-account-address\")\n print(\"Account burned and closed:\", response)\n\nimport asyncio\nasyncio.run(main())\n```\n\n### Batch burn and Close Token Account\n\n```python\nfrom dipe import SolanaAgentKit\n\nasync def main():\n agent = SolanaAgentKit(\n \"your-wallet-private-key-as-base58\",\n \"https://api.mainnet-beta.solana.com\",\n \"your-openai-api-key\"\n )\n\n token_accounts = [\"token-account-address-1\", \"token-account-address-2\"]\n responses = await agent.multiple_burn_and_close_accounts(token_accounts)\n print(\"Accounts burned and closed:\", responses)\n\nimport asyncio\nasyncio.run(main())\n```\n\n## API Reference\n\n### Core Functions\n\n#### `transfer(agent, to, amount, mint?)`\n\nTransfer SOL or SPL tokens to a recipient.\n\n#### `trade(agent, output_mint, input_amount, input_mint?, slippage_bps?)`\n\nSwap tokens using Jupiter Exchange integration.\n\n#### `get_balance(agent, token_address)`\n\nCheck SOL or token balance for the agent's wallet.\n\n#### `lend_asset(agent, asset_mint, amount)`\n\nLend idle assets to earn interest with Lulo.\n\n#### `stake(agent, amount)`\n\nStake SOL with Jupiter to earn rewards.\n\n#### `request_faucet_funds(agent)`\n\nRequest faucet funds for testing purposes.\n\n#### `deploy_token(agent, decimals)`\n\nDeploy a new token with specified decimals.\n\n#### `fetch_price(agent, token_id)`\n\nFetch the price of a token.\n\n#### `get_tps(agent)`\n\nFetch the current transactions per second (TPS) on the Solana network.\n\n#### `get_token_data_by_ticker(agent, ticker)`\n\nGet token data by ticker.\n\n#### `get_token_data_by_address(agent, mint)`\n\nGet token data by address.\n\n#### `launch_pump_fun_token(agent, token_name, token_ticker, description, image_url, options)`\n\nLaunch a Pump & Fun token with customizable options.\n\n#### `create_meteora_dlmm_pool(agent, bin_step, token_a_mint, token_b_mint, initial_price, price_rounding_up, fee_bps, activation_type, has_alpha_vault, activation_point)`\n\nCreate a Meteora DLMM pool with various configurations.\n\n#### `buy_using_raydium(agent, pair_address, sol_in, slippage)`\n\nBuy tokens from Raydium liquidity pools.\n\n#### `sell_using_raydium(agent, pair_address, percentage, slippage)`\n\nSell tokens using Raydium liquidity pools.\n\n#### `burn_and_close_accounts(agent, token_account)`\n\nBurns and closes token account.\n\n#### `multiple_burn_and_close_accounts(agent, token_accounts)`\n\nBurns and closes multiple token accounts.\n\n## Dependencies\n\nThe toolkit relies on several key Solana and Metaplex libraries:\n\n- solana-py\n- spl-token-py\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nISC License\n\n## Security\n\nThis toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python toolkit for Solana agents",
"version": "1.2.8",
"project_urls": {
"Homepage": "https://github.com/dipeai/dipe",
"Repository": "https://github.com/dipeai/dipe"
},
"split_keywords": [
"solana",
" sdk",
" blockchain",
" tools"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d23b2a43cb5927668c1e53c89b6e4704d12758060390c1b381530351c4d8ac71",
"md5": "35f14368e8e4da5a11a8435a294d1d52",
"sha256": "1cfb3d0e63f52c918289caacdf6f04ef9ce9162ad69acd094b376dd4fee25248"
},
"downloads": -1,
"filename": "dipe-1.2.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "35f14368e8e4da5a11a8435a294d1d52",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "==3.13.0",
"size": 63044,
"upload_time": "2025-01-13T03:22:32",
"upload_time_iso_8601": "2025-01-13T03:22:32.739268Z",
"url": "https://files.pythonhosted.org/packages/d2/3b/2a43cb5927668c1e53c89b6e4704d12758060390c1b381530351c4d8ac71/dipe-1.2.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "63f82397b8d62e951faf8c0e00b184c5892dc4985dc73d00fcea6d5396998f32",
"md5": "34470e4066938619400d75e95b37bbde",
"sha256": "1d9bbd4beb7aff1aa054f9f73df74b21753136724686664c9371b9eaeb7490aa"
},
"downloads": -1,
"filename": "dipe-1.2.8.tar.gz",
"has_sig": false,
"md5_digest": "34470e4066938619400d75e95b37bbde",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "==3.13.0",
"size": 48495,
"upload_time": "2025-01-13T03:22:36",
"upload_time_iso_8601": "2025-01-13T03:22:36.148252Z",
"url": "https://files.pythonhosted.org/packages/63/f8/2397b8d62e951faf8c0e00b184c5892dc4985dc73d00fcea6d5396998f32/dipe-1.2.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-13 03:22:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dipeai",
"github_project": "dipe",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "dipe"
}