Saravanan666/pypi-org huggingface dataset:
Package: tronpy
tronpyTRON Python Client Library.DocumentationNote: in case you want to use cryptocurrency functions in an universal way or e.g. reliably calculate transaction fees for BTC, ETH, Tron and many others, check out theBitcartCC projectHow to usefromtronpyimportTronfromtronpy.keysimportPrivateKeyclient=Tron(network='nile')# Private key of TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3priv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))txn=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").build().inspect().sign(priv_key).broadcast())print(txn)# > {'result': True, 'txid': '5182b96bc0d74f416d6ba8e22380e5920d8627f8fb5ef5a6a11d4df030459132'}print(txn.wait())# > {'id': '5182b96bc0d74f416d6ba8e22380e5920d8627f8fb5ef5a6a11d4df030459132', 'blockNumber': 6415370, 'blockTimeStamp': 1591951155000, 'contractResult': [''], 'receipt': {'net_usage': 283}}Async ClientimportasynciofromtronpyimportAsyncTronfromtronpy.keysimportPrivateKey# private key of TMisHYBVvFHwKXHPYTqo8DhrRPTbWeAM6zpriv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))asyncdeftransfer():asyncwithAsyncTron(network='nile')asclient:print(client)txb=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").fee_limit(100_000_000))txn=awaittxb.build()print(txn)txn_ret=awaittxn.sign(priv_key).broadcast()print(txn_ret)# > {'result': True, 'txid': 'edc2a625752b9c71fdd0d68117802860c6adb1a45c19fd631a41757fa334d72b'}print(awaittxn_ret.wait())# > {'id': 'edc2a625752b9c71fdd0d68117802860c6adb1a45c19fd631a41757fa334d72b', 'blockNumber': 10163821, 'blockTimeStamp': 1603368072000, 'contractResult': [''], 'receipt': {'net_usage': 283}}if__name__=='__main__':asyncio.run(transfer())Or close async client manually:fromhttpximportAsyncClient,Timeoutfromtronpy.providers.async_httpimportAsyncHTTPProviderfromtronpy.defaultsimportCONF_NILEasyncdeftransfer():_http_client=AsyncClient(limits=Limits(max_connections=100,max_keepalive_connections=20),timeout=Timeout(timeout=10,connect=5,read=5))provider=AsyncHTTPProvider(CONF_NILE,client=_http_client)client=AsyncTron(provider=provider)print(client)priv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))txb=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").fee_limit(100_000_000))txn=awaittxb.build()print(txn)txn_ret=awaittxn.sign(priv_key).broadcast()print(txn_ret)print(awaittxn_ret.wait())awaitclient.close()if__name__=='__main__':asyncio.run(transfer())
Package: tronpy23
tronpyTRON Python Client Library.DocumentationHow to usefromtronpy23importTronfromtronpy23.keysimportPrivateKeyclient=Tron(network='nile')# Private key of TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3priv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))txn=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").build().inspect().sign(priv_key).broadcast())print(txn)# > {'result': True, 'txid': '5182b96bc0d74f416d6ba8e22380e5920d8627f8fb5ef5a6a11d4df030459132'}print(txn.wait())# > {'id': '5182b96bc0d74f416d6ba8e22380e5920d8627f8fb5ef5a6a11d4df030459132', 'blockNumber': 6415370, 'blockTimeStamp': 1591951155000, 'contractResult': [''], 'receipt': {'net_usage': 283}}Async Clientimportasynciofromtronpy23importAsyncTronfromtronpy23.keysimportPrivateKey# private key of TMisHYBVvFHwKXHPYTqo8DhrRPTbWeAM6zpriv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))asyncdeftransfer():asyncwithAsyncTron(network='nile')asclient:print(client)txb=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").fee_limit(100_000_000))txn=awaittxb.build()print(txn)txn_ret=awaittxn.sign(priv_key).broadcast()print(txn_ret)# > {'result': True, 'txid': 'edc2a625752b9c71fdd0d68117802860c6adb1a45c19fd631a41757fa334d72b'}print(awaittxn_ret.wait())# > {'id': 'edc2a625752b9c71fdd0d68117802860c6adb1a45c19fd631a41757fa334d72b', 'blockNumber': 10163821, 'blockTimeStamp': 1603368072000, 'contractResult': [''], 'receipt': {'net_usage': 283}}if__name__=='__main__':asyncio.run(transfer())Or close async client manually:fromhttpximportAsyncClient,Timeoutfromtronpy23.providers.async_httpimportAsyncHTTPProviderfromtronpy23.defaultsimportCONF_NILEasyncdeftransfer():_http_client=AsyncClient(limits=Limits(max_connections=100,max_keepalive_connections=20),timeout=Timeout(timeout=10,connect=5,read=5))provider=AsyncHTTPProvider(CONF_NILE,client=_http_client)client=AsyncTron(provider=provider)print(client)priv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))txb=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").fee_limit(100_000_000))txn=awaittxb.build()print(txn)txn_ret=awaittxn.sign(priv_key).broadcast()print(txn_ret)print(awaittxn_ret.wait())awaitclient.close()if__name__=='__main__':asyncio.run(transfer())
Package: tronpy-faris
tronpy_farisTRON Python Client Library.DocumentationHow to usefromtronpy_farisimportTronfromtronpy_faris.keysimportPrivateKeyclient=Tron(network='nile')# Private key of TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3priv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))txn=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").build().inspect().sign(priv_key).broadcast())print(txn)# > {'result': True, 'txid': '5182b96bc0d74f416d6ba8e22380e5920d8627f8fb5ef5a6a11d4df030459132'}print(txn.wait())# > {'id': '5182b96bc0d74f416d6ba8e22380e5920d8627f8fb5ef5a6a11d4df030459132', 'blockNumber': 6415370, 'blockTimeStamp': 1591951155000, 'contractResult': [''], 'receipt': {'net_usage': 283}}Async Clientimportasynciofromtronpy_farisimportAsyncTronfromtronpy_faris.keysimportPrivateKey# private key of TMisHYBVvFHwKXHPYTqo8DhrRPTbWeAM6zpriv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))asyncdeftransfer():asyncwithAsyncTron(network='nile')asclient:print(client)txb=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").fee_limit(100_000_000))txn=awaittxb.build()print(txn)txn_ret=awaittxn.sign(priv_key).broadcast()print(txn_ret)# > {'result': True, 'txid': 'edc2a625752b9c71fdd0d68117802860c6adb1a45c19fd631a41757fa334d72b'}print(awaittxn_ret.wait())# > {'id': 'edc2a625752b9c71fdd0d68117802860c6adb1a45c19fd631a41757fa334d72b', 'blockNumber': 10163821, 'blockTimeStamp': 1603368072000, 'contractResult': [''], 'receipt': {'net_usage': 283}}if__name__=='__main__':asyncio.run(transfer())Or close async client manually:fromhttpximportAsyncClient,Timeoutfromtronpy_faris.providers.async_httpimportAsyncHTTPProviderfromtronpy_faris.defaultsimportCONF_NILEasyncdeftransfer():_http_client=AsyncClient(limits=Limits(max_connections=100,max_keepalive_connections=20),timeout=Timeout(timeout=10,connect=5,read=5))provider=AsyncHTTPProvider(CONF_NILE,client=_http_client)client=AsyncTron(provider=provider)print(client)priv_key=PrivateKey(bytes.fromhex("8888888888888888888888888888888888888888888888888888888888888888"))txb=(client.trx.transfer("TJzXt1sZautjqXnpjQT4xSCBHNSYgBkDr3","TVjsyZ7fYF3qLF6BQgPmTEZy1xrNNyVAAA",1_000).memo("test memo").fee_limit(100_000_000))txn=awaittxb.build()print(txn)txn_ret=awaittxn.sign(priv_key).broadcast()print(txn_ret)print(awaittxn_ret.wait())awaitclient.close()if__name__=='__main__':asyncio.run(transfer())
Package: tronpytool
A Python API for interacting with the Tron (TRX)A Command-Line Interface frameworkYou can install it in a system-wide location via pip:sudopip3installtronpytoolOr install it locally usingvirtualenv:virtualenv-p/usr/bin/python3~/tronpytoolsource~/tronpytool/bin/activatepip3installtronpytoolUsageSpecify the API endpoints:Smart ContractfromtronpytoolimportHttpProviderfromtronpytoolimportTronfull_node=HttpProvider('https://api.trongrid.io')solidity_node=HttpProvider('https://api.trongrid.io')event_server=HttpProvider('https://api.trongrid.io')# option 1tron=Tron(full_node=full_node,solidity_node=solidity_node,event_server=event_server)# option 2tron_v2=Tron()# option 3tron_v3=Tron(default_address='TRWBqiqoFZysoAeyR1J35ibuyc8EvhUAoY',private_key='...')# option 4tron_v4=Tron().setNetwork('nile')Code compileIntegration of forge that can work perfectly with latest version with ONE LINE code.# !/usr/bin/env python# coding: utf-8importosfromtronpytoolimportTronBrew,Evmsolidity_files=["vault/token/RaceToken.sol",]ROOT='.../Documents/b95/devtron'FACTORY='$HOME/Documents/piplines/factoryabi'print("-----> job from here")print(ROOT)print("-----> now its ready to go")TronBrew(ROOT,FACTORY).setClassSolNames(solidity_files).setEvm(Evm.ISTANBUL).useForge().localTranspile()DocumentationRead the library manual by themanualDocumentation is available atdocs.Donations
Package: trontxsize
trontxsize - Calculate tron transaction size in bytesIn Tron (TRX) network, fee calculation algorithm is complex. And the most complex part of it is that it depends on transaction size.But there's no method existing to calculate itThis library does just this:importtrontxsizeprint(trontxsize.get_tx_size({"raw_data":...,"signatures":[...]))# matches bandwidth you see in block explorerHow does it work? The library pre-compiled a trimmed-down version of Tron protobuf and uses it directly to calculate transaction sizeCopyright and LicenseCopyright (C) 2022 MrNaif2018Licensed under theMIT License
Package: tronwallet-scriptopit
A Python API for interacting with the Tron (TRX)A Command-Line Interface frameworkYou can install it in a system-wide location via pip:sudopip3installtronapiOr install it locally usingvirtualenv:virtualenv-p/usr/bin/python3~/tronapisource~/tronapi/bin/activatepip3installtronapiUsageSpecify the API endpoints:Smart ContractfromtronapiimportTronfromsolcimportcompile_sourcefull_node='https://api.trongrid.io'solidity_node='https://api.trongrid.io'event_server='https://api.trongrid.io'tron=Tron(full_node=full_node,solidity_node=solidity_node,event_server=event_server)# or default (tron = Tron())# Solidity source codecontract_source_code='''
pragma solidity ^0.4.25;

contract Hello {
    string public message;

    function Hello(string initialMessage) public {
        message = initialMessage;
    }

    function setMessage(string newMessage) public {
        message = newMessage;
    }
}

'''compiled_sol=compile_source(contract_source_code)contract_interface=compiled_sol['<stdin>:Hello']hello=tron.trx.contract(abi=contract_interface['abi'],bytecode=contract_interface['bin'])# Submit the transaction that deploys the contracttx=hello.deploy(fee_limit=10**9,call_value=0,consume_user_resource_percent=1)Base ExamplefromtronapiimportTronlogging.basicConfig(level=logging.DEBUG,format="%(asctime)s-%(levelname)s-%(message)s")logger=logging.getLogger()full_node='https://api.trongrid.io'solidity_node='https://api.trongrid.io'event_server='https://api.trongrid.io'tron=Tron(full_node=full_node,solidity_node=solidity_node,event_server=event_server)account=tron.create_accountis_valid=bool(tron.trx.is_address(account.address.hex))logger.debug('Generated account: ')logger.debug('- Private Key: '+account.private_key)logger.debug('- Public Key: '+account.public_key)logger.debug('- Address: ')logger.debug('-- Base58: '+account.address.base58)logger.debug('-- Hex: '+account.address.hex)logger.debug('-- isValid: '+str(is_valid))logger.debug('-----------')transaction=tron.trx.get_transaction('757a14cef293c69b1cf9b9d3d19c2e40a330c640b05c6ffa4d54609a9628758c')logger.debug('Transaction: ')logger.debug('- Hash: '+transaction['txID'])logger.debug('- Transaction: '+json.dumps(transaction,indent=2))logger.debug('-----------')# Eventsevent_result=tron.trx.get_event_result('TGEJj8eus46QMHPgWQe1FJ2ymBXRm96fn1',0,'Notify')logger.debug('Event result:')logger.debug('Contract Address: TGEJj8eus46QMHPgWQe1FJ2ymBXRm96fn1')logger.debug('Event Name: Notify')logger.debug('Block Number: 32162')logger.debug('- Events: '+json.dumps(event_result,indent=2))More samples and snippets are available atexamples.DocumentationDocumentation is available atdocs.DonationsTRON: TRWBqiqoFZysoAeyR1J35ibuyc8EvhUAoY
Package: tronweb
A Python API for interacting with the Tron (TRX)A Command-Line Interface frameworkYou can install it in a system-wide location via pip:sudopip3installtronapiOr install it locally usingvirtualenv:virtualenv-p/usr/bin/python3~/tronapisource~/tronapi/bin/activatepip3installtronapiUsageSpecify the API endpoints:Smart ContractfromtronapiimportTronfromsolcimportcompile_sourcefull_node='https://api.trongrid.io'solidity_node='https://api.trongrid.io'event_server='https://api.trongrid.io'tron=Tron(full_node=full_node,solidity_node=solidity_node,event_server=event_server)# or default (tron = Tron())# Solidity source codecontract_source_code='''
pragma solidity ^0.4.25;

contract Hello {
    string public message;

    function Hello(string initialMessage) public {
        message = initialMessage;
    }

    function setMessage(string newMessage) public {
        message = newMessage;
    }
}

'''compiled_sol=compile_source(contract_source_code)contract_interface=compiled_sol['<stdin>:Hello']hello=tron.trx.contract(abi=contract_interface['abi'],bytecode=contract_interface['bin'])# Submit the transaction that deploys the contracttx=hello.deploy(fee_limit=10**9,call_value=0,consume_user_resource_percent=1)Base ExamplefromtronapiimportTronlogging.basicConfig(level=logging.DEBUG,format="%(asctime)s-%(levelname)s-%(message)s")logger=logging.getLogger()full_node='https://api.trongrid.io'solidity_node='https://api.trongrid.io'event_server='https://api.trongrid.io'tron=Tron(full_node=full_node,solidity_node=solidity_node,event_server=event_server)account=tron.create_accountis_valid=bool(tron.trx.is_address(account.address.hex))logger.debug('Generated account: ')logger.debug('- Private Key: '+account.private_key)logger.debug('- Public Key: '+account.public_key)logger.debug('- Address: ')logger.debug('-- Base58: '+account.address.base58)logger.debug('-- Hex: '+account.address.hex)logger.debug('-- isValid: '+str(is_valid))logger.debug('-----------')transaction=tron.trx.get_transaction('757a14cef293c69b1cf9b9d3d19c2e40a330c640b05c6ffa4d54609a9628758c')logger.debug('Transaction: ')logger.debug('- Hash: '+transaction['txID'])logger.debug('- Transaction: '+json.dumps(transaction,indent=2))logger.debug('-----------')# Eventsevent_result=tron.trx.get_event_result('TGEJj8eus46QMHPgWQe1FJ2ymBXRm96fn1',0,'Notify')logger.debug('Event result:')logger.debug('Contract Address: TGEJj8eus46QMHPgWQe1FJ2ymBXRm96fn1')logger.debug('Event Name: Notify')logger.debug('Block Number: 32162')logger.debug('- Events: '+json.dumps(event_result,indent=2))More samples and snippets are available atexamples.DocumentationDocumentation is available atdocs.DonationsTRON: TQ2386PsHYHQSYqLJd5RHSV2T6iVxHqy5e
Package: troop-sdk
Troop-sdkIntroductionTroop is an operation and maintenance automation infrastructure, a server centralized management system.Troop provides three ways to access core APIs.Python SDKTroop provides users with the ability to write custom tools to operation. Please refer toTroop SDK Reference.Directly request APIPlease refer toTroop API Reference.Command line toolsThe command line tool now facilitates users with easy access to use Troop.Installationpipinstalltroop-sdkDocumentationPlease see theDocumentationfor more details.
Package: troopwebhost-download
troopwebhost-downloaderDownloads the troopwebhost files needed to feed into flask-troopInstructions:copy .env.example to .envchange .env to be user-readable only (chmod go-r .env)log in to troopwebhost and inspect the page, look at the cookies and find the value for the cookie stored with "application_ID"edit .env to use your username and password and your application_ID for your trooprun export.pyresulting csv files will be in output/
Package: troopwebhost-exporter
troopwebhost-downloaderDownloads the troopwebhost files needed to feed into flask-troopInstructions:copy .env.example to .envchange .env to be user-readable only (chmod go-r .env)log in to troopwebhost and inspect the page, look at the cookies and find the value for the cookie stored with "application_ID"edit .env to use your username and password and your application_ID for your trooprun export.pyresulting csv files will be in output/
Package: troopy
TroopyCommand bus library for python. Makes using message bus pattern in your application easy.What is a command/message?Commands are objects, some kind of an imperative informing what behavior client expects from application.
Commands can bear some information (client's input) required to fulfill the job. It is recommended to use dataclasses
when you declare a command for your own convenience.What is a command handler?Command handler is a function or callable object, that accepts command as a parameter to perform specific task.Advantages of using command bus/message busCommand can be created anytime/anywhere by your client and as long as it is hand over to command bus it will be handledYou can slim your services layer and dependencies, as each handler perform one specific taskTesting your application can be more precise and easierFeaturesFast and simpleFlexible solution which can be used everywhereWorks well with dataclassesCustom factories for command handlersInstallationpip install troopyBasic UsagefromtroopyimportCommandBus,commandfromdataclassesimportdataclassclassHelloHandler:def__call__(self,command:"SignUp")->None:print("Hello user{command.username}!")@command(HelloHandler)# attach command to its handler@dataclassclassSayHello:username:strcommand_bus=CommandBus()command_bus.dispatch(SayHello(username="Tom"))HelloHandleris class which encapsulates our business logic (in this scenario welcomes user), any callable can be used
as a command handler, as long as it is a function or class declaration without__init__method.SayHellois a command class which carries some data it is attached toHelloHandlerwith@attachdecorator.@attachdecorator allows the library to understand which handler is responsible for which command. It is also possible
to usetroopy.MessageRouterdirectly to attach command to its handler (example available here)The above example will printHello user Tomas a result.Setting factory for command handlerIt is possible to use custom function for factoring command handlers, consider the following example:importsqlite3fromtroopyimportCommandBus,commandfromdataclassesimportdataclassdb=sqlite3.connect('example.db')classUserRegistrationHandler:def__init__(self,db):self.db=dbdef__call__(self,command:"RegisterUser")->None:cursor=self.db.cursor()cursor.execute("INSER INTO users VALUES (?, ?)",(command.username,command.password))self.db.commit()@command(UserRegistrationHandler)# attach command to its handler@dataclassclassRegisterUser:username:strpassword:strdefcommand_handler_factory(cls):returncls(db)command_bus=CommandBus(handler_factory=command_handler_factory)command_bus.dispatch(RegisterUser(username="Tom",password="secret"))As you can probably tellUserRegistrationHandlerrequires sqlite db connection in order to work properly, withcommand_handler_factorywe are able to provide this connection to the object, soRegisterUsercommand can be handled properly.For more examples please checkexamplesdirectory
Package: trophyfetcher
TrophyFetcherprovides a way to extract information from thePSN Public Trophieswebsite.
It usesSeleniumandPhantomJSto access the website and scrape it, therefore, there are
private information thatTrophyFetcheris not able to extract (everything that is not on the website).InstallationYou need to installPhantomJSto be able to useTrophyFetcher.
There are multiple ways to install it, such as withnpm.$npminstall-gphantomjsIf you do not havenpminstalled and do not want to install it, I recommend checking theirwebsiteto
look for other alternatives.To installTrophyFetcheritself, simply do:$pipinstalltrophyfetcherRemember that you needSeleniumas well, butpipwill most likely that care of that for you.TutorialAll you need to do is create aTrophyFetcherobject and call theuser_infomethod passing
the username of the user you want to extract information from.fromtrophyfetcherimportTrophyFetchertf=TrophyFetcher()extracted_info=tf.user_info('username')TrophyFetcherwill automatically log errors in a file calledtrophyfetcher_log.txt, but you
can turn that off by doing:fromtrophyfetcherimportTrophyFetchertf=TrophyFetcher()tf.logging_option(False)extracted_info=tf.user_info('username')If a problem occurs andSeleniumis not able to locate elements on the page,TrophyFetcherwill
raise aTimeoutExceptionand log (if logging is enabled) which element caused the error.
If that happens, it is most likely due to slow connection or a problem with the website, sinceTrophyFetcherwill wait until 30 seconds before it raises theTimeoutException.Finally, if everything goes well, you will receive an object in the following format (JSON):{"avatar_url":"https://avatar_example.png","bronze_trophies":"0","games_info":[{"bronze_trophies":"0","gold_trophies":"0","img_url":"https://game_example.png","name":"example","platform":"example platform","platinum_trophies":"0","progress":"0%","silver_trophies":"0"}],"gold_trophies":"0","level":"0","level_progress":"0","platinum_trophies":"0","silver_trophies":"0","trophies":"0"}
Package: tropicpy
tropicpyWelcome totropicpyrepository! Here you can find implementation of tropical cryptographic protocols and attacks.Currently available are protocols:Grigorie-Shpilrain (2014)Grigorie-Shpilrain (2019)and attacks:Kotov-Ushakov simple and general attacks on Grigorie-Shpilrain (2014) protocolRudy-Monico attack on Grigorie-Shpilrain (2019) protocolIsaac-Kahrobaei attack on Grigorie-Shpilrain (2019) protocol.How to use?If you wish to use protocols and attacks implemented in tropicpy you can install tropicpy package usingpip install tropicpyTo see examples of tropical operarations and cryptosystems runtropicpy_demo()
Package: tropipy
TropiPyTropiPay is an electronic wallet that allows you to execute the most common financial operations of the day to day. It is easy and safe. It technology protects your money and ensures it reaches its destination safely. With your TropiPay wallet,you can send remittances and execute the most common collection and payment operations, from paying at a store to sharing expenses with your friends.Remittances and family support.Transfers between bank accounts.Paying with your mobile phone.Share expenses with your friends.Top-up phone balance.Promotions and discounts every month.FOR SMALL COMPANIES AND BUSINESSES:
Tropipay offer online payment and collection solutions to international customers and global markets. Whether you are a business owner, professional, or freelancer, Tropipay is the ultimate financial tool.Transfers between bank accounts.Sale through social networks.E-commerce integration through API.Customized solutions for tourism companies.Cross Border payments globallyThis project is focused on create a simple python SDK for TropiPay, in order to facilitate the integration of the TropiPay platform with frameworks such asDjango,Flask, etc. Form more information seeTropiPay Weband ourwiki.Installpip install tropipypypi.orgDevelopContribute to us to improve our products and servicesDevelop Installgit clonehttps://github.com/ameksike/tropipy.gitcd tropipypip install -r requirements.txtpip show requestspip list -vDevelop Testpython -m unittest                        # One command to run them allpython -m unittest tests/test_login.py    # Selective run some test suiteExamplesConfigure the lib:TppSdk=TropiPy({"credential":{'id':'cf33a19425421dcdfc82d26af3b126d0','secret':'4a7eb4562e21eca14b9318d685950e3e','scope':'ALLOW_GET_PROFILE_DATA ALLOW_GET_BALANCE ALLOW_EXTERNAL_CHARGE'}})Login for get access token:result=TppSdk.get("Security").login()