A package for easily interacting with remote crews via the Masumi protocol.
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
Masumi Crewai Python Package
This package provides an interface for handling payments via the Masumi Node using asynchronous API requests. It simplifies the process of creating payment requests, checking payment statuses, and completing payments on the Cardano blockchain.
Features
- Asynchronous Payment Handling: Supports creating, checking, and completing payments.
- Configurable Network Selection: Works on different Cardano networks (default:
PREPROD). - Automated Payment Monitoring: Built-in function for tracking payment status.
- Secure API Authentication: Uses API keys for authorization.
Installation
To install the package, use:
pip install masumi-crewai
Or install from source:
git clone https://github.com/masumi-network/pip-masumi-crewai.git
cd pip-masumi-crewai
pip install .
Usage
1. Importing and Configuring the Payment Client
from masumi_crewai import Payment, Amount
from masumi_crewai.config import Config
import asyncio
# Initialize configuration
config = Config(payment_api_key="your_api_key", payment_service_url="https://api.masumi.network")
# Define the payment amount
amounts = [Amount(amount=1000000, unit="lovelace")]
# Create a Payment instance
payment = Payment(agent_identifier="agent_123", amounts=amounts, config=config)
2. Creating a Payment Request
async def create_payment():
submit_time = "2025-02-05T12:00:00Z" # Example timestamp
response = await payment.create_payment_request(submit_result_time=submit_time)
print(response)
asyncio.run(create_payment())
3. Checking Payment Status
async def check_status():
status = await payment.check_payment_status()
print(status)
asyncio.run(check_status())
4. Completing the Payment
async def complete():
tx_hash = "your_transaction_hash_here"
result = await payment.complete_payment(hash=tx_hash)
print(result)
asyncio.run(complete())
5. Monitoring Payment Status
async def monitor_status():
async def callback(status):
print("Payment status update:", status)
await payment.start_status_monitoring(callback)
asyncio.run(monitor_status())
To stop monitoring:
payment.stop_status_monitoring()
Configuration
The package requires an API key and service URL for the Masumi Payment Service. These should be stored in a Config object:
from masumi_crewai.config import Config
config = Config(
payment_api_key="your_api_key_here",
payment_service_url="https://api.masumi.network"
)
Requirements
- Python 3.7+
aiohttpfor async HTTP requests
Current Smart Contract Addresses
- Preprod: addr_test1wqarcz6uad8l44dkmmtllud2amwc9t0xa6l5mv2t7tq4szgagm7r2
- Mainnet: addr1wyarcz6uad8l44dkmmtllud2amwc9t0xa6l5mv2t7tq4szgxq0zv0
Contributing
Contributions are welcome! To contribute:
- Fork the repository.
- Make your changes.
- Submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contact
For any questions or issues, please open an issue on the GitHub repository.
Project details
Release history Release notifications | RSS feed
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 masumi_crewai-0.1.10.tar.gz.
File metadata
- Download URL: masumi_crewai-0.1.10.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d71c9eaac98c7f7a85a2e69f23bc000a6d3d1b05777532692eebd72e541fa99
|
|
| MD5 |
26860e8b865d5e526876d06b7716d9fe
|
|
| BLAKE2b-256 |
22d7a5193da5e92bc8d3aa8175cd5af670d84e559b39b2f17033be99496ba89c
|
File details
Details for the file masumi_crewai-0.1.10-py3-none-any.whl.
File metadata
- Download URL: masumi_crewai-0.1.10-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40b6b4f16edd8e2a119efc34f1407eecbeceedf367e8491e63432670deac9cc7
|
|
| MD5 |
42f29b4fc5b04abdc8bac38aa90b77c6
|
|
| BLAKE2b-256 |
1dd741c8c1e868c970491a776960c2a76618507d324549b17d3971093043b43a
|