Skip to main content

A simple package to simplify interfacing with tron energy lending RESTful API

Project description

Tron-Energy

Tron-Energy is a Python package that simplifies interaction with the Tron energy lending RESTful API. It provides a clean and easy-to-use interface for placing energy orders, estimating costs, and managing your API usage on the Tron network. The package ensures secure communication with the API by handling signature creation and request authentication.

Installation

To install the Tron-Energy package, run the command:

pip install tron_energy

Ensure you have Python 3.6 or higher installed.

Usage

To use the Tron-Energy package, start by importing the necessary classes and creating an instance of the TronEnergy class.

Here’s an example of how you might use Tron-Energy to estimate the cost of an energy order and then place the order:

from tron_energy import TronEnergy

# Initialize the TronEnergy client
client = TronEnergy(api_key='your-api-key', api_secret='your-api-secret')

# Retrieve public data
public_data = await client.get_public_data()
print(public_data)

# Estimate the cost of an energy order
estimate = client.estimate_order(
    energy_amount=100_000,
    period='1H'
)
print(estimate)

# Place the energy order
order_response = client.place_order(
    receive_address="TR7NHnXw5423f8j766h899234567890",
    energy_amount=100_000,
    period='1H'
)
print(order_response)

Asynchronous Usage

In addition to the synchronous interface, Tron-Energy provides an asynchronous version for applications requiring non-blocking I/O operations. The asynchronous class, AsyncTronEnergy, allows you to make API requests without blocking your event loop.

Here’s an example of how to use the asynchronous AsyncTronEnergy class:

import asyncio
from tron_energy import AsyncTronEnergy

async def main():
    # Initialize the AsyncTronEnergy client
    client = AsyncTronEnergy(api_key='your-api-key', api_secret='your-api-secret')

    try:
        # Retrieve public data
        public_data = await client.get_public_data()
        print(public_data)

        # Estimate the cost of an energy order
        estimate = await client.estimate_order(
            energy_amount=100_000,
            period='1H'
        )
        print(estimate)

        # Place the energy order
        order_response = await client.place_order(
            receive_address="TR7NHnXw5423f8j766h899234567890",
            energy_amount=100_000,
            period='1H'
        )
        print(order_response)
    finally:
        # Close the session to clean up resources
        await client.close()

# Run the asynchronous main function
asyncio.run(main())

Or use the Python context manager:

import asyncio
from tron_energy import AsyncTronEnergy

async def main():
    # Initialize the AsyncTronEnergy client
    async with AsyncTronEnergy(api_key='your-api-key', api_secret='your-api-secret') as client:
        # Retrieve public data
        public_data = await client.get_public_data()
        print(public_data)

        # Estimate the cost of an energy order
        estimate = await client.estimate_order(
            energy_amount=100_000,
            period='1H'
        )
        print(estimate)

        # Place the energy order
        order_response = await client.place_order(
            receive_address="TR7NHnXw5423f8j766h899234567890",
            energy_amount=100_000,
            period='1H'
        )
        print(order_response)

# Run the asynchronous main function
asyncio.run(main())

Testing

The package includes unit tests to ensure that all functionalities work as expected. You can run the tests using the following command:

  1. Clone the repository:

    git clone https://github.com/Ephraim-Akolo/Tron-Energy
    
  2. Navigate to the project directory:

    cd TRON-ENERGY
    
  3. Install the required dependencies:

    pip install -r requirements.txt
    
  4. Run the following command to test

    python -m unittest
    

The tests cover various functionalities, including placing orders, estimating orders, and recycling orders. Mocking is used to simulate API responses.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Acknowledgements

This package was inspired by and partially based on the examples and guidelines in the Tron Energy API Documentation. We appreciate the comprehensive resources provided by the Tron Energy team.

Contributing

Contributions are welcome! If you have suggestions for improvements or new features, please open an issue or submit a pull request.


Feel free to reach out with any questions or feedback!

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

tron_energy-0.2.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

Tron_Energy-0.2.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file tron_energy-0.2.0.tar.gz.

File metadata

  • Download URL: tron_energy-0.2.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for tron_energy-0.2.0.tar.gz
Algorithm Hash digest
SHA256 02d6f9360a4481405a883b7547ab60c26feda5b7eccaf67b353c447445508d99
MD5 ec8c93029317a8d891acf29b3836d6dd
BLAKE2b-256 87109f49b9343bd90a467ad5afe7c2bbb446669bf97158ad1eae76274ae4d1e7

See more details on using hashes here.

File details

Details for the file Tron_Energy-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: Tron_Energy-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for Tron_Energy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0aff7c3fd1d5bf5f1ecc4a770caff51acd08ef05c93f052b626146435f89bb17
MD5 0e313338aa37bd8508df64b95f375c1c
BLAKE2b-256 9f8e8d3b2cc057f52dc5c8eafa7b1b4ba1e1ad39b62e2424c53f974b56d9c578

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page