Saravanan666/pypi-org huggingface dataset:
Package: aiomcstats
AiomcstatsGet information about minecraft servers.Asyncpixel is an open source asyncronous python wrapper for the hypixel api with 100% of all endpoints.🤖 🎨 🚀Docs·Feature request·Report a bug·Support:Discussions&Discord✨ FeaturesAsyncronous.Unlike other libraries Asyncpixel is fully asyncronous. This makes it perfect to use in your next discord bot or powerful website without having to worry about blocking.100% API coverage.Asyncpixel is currently the only python library with full coverage of the hypixel API meaning that no endpoints are left untouched and outof your reach.Pydantic models.All models are checked and validated byPydanticmeaning that the data is always in the correct format perfect for you to use.Available on pypi.Asyncpixel is available on pypi meaning no building from source just usepip install asyncpixelto use it in your project.🏁 Getting Started with AsyncpixelTo get started check out the documentation whichlives hereand is generously hosted by readthedocs.InstallationUse the package managerpipor your favourite tool to install asyncpixel.pipinstallasyncpixelExampleimportasyncpixelimportasyncioasyncdefmain():hypixel=asyncpixel.Hypixel("hypixel_api_key")profile=awaithypixel.profile("405dcf08b80f4e23b97d943ad93d14fd")print(profile)awaithypixel.close()asyncio.run(main())❗ Code of ConductObsidion-dev is dedicated to providing a welcoming, diverse, and harrassment-free experience for everyone. We expect everyone in the Obsidion-dev community to abide by ourCode of Conduct. Please read it.🙌 Contributing to AsyncpixelFrom opening a bug report to creating a pull request: every contribution is appreciated and welcomed. If you're planning to implement a new feature or change the library please create an issue first. This way we can ensure your work is not in vain.Not Sure Where to Start?A good place to start contributing, are theGood first issues.📝 LicenseAsyncpixel is open-source. The library is licensedGPL v3.💬 Get in touchIf you have a question or would like to talk with other Asyncpixel users, please hop over toGithub discussionsor join our Discord server:Discord chatroomContributors ✨Thanks goes to these wonderful people (emoji key):AjayACST🚧Alex💻🐛Damian Grzanka💻This project follows theall-contributorsspecification. Contributions of any kind welcome!
Package: aiomealie
Python: Homeassistant analyticsAsynchronous Python client for Mealie.AboutThis package allows you to fetch data from your Mealie instance.InstallationpipinstallaiomealieChangelog & ReleasesThis repository keeps a change log usingGitHub's releasesfunctionality. The format of the log is based onKeep a Changelog.Releases are based onSemantic Versioning, and use the format
ofMAJOR.MINOR.PATCH. In a nutshell, the version will be incremented
based on the following:MAJOR: Incompatible or major changes.MINOR: Backwards-compatible new features and enhancements.PATCH: Backwards-compatible bugfixes and package updates.ContributingThis is an active open-source project. We are always open to people who want to
use the code or contribute to it.We've set up a separate document for ourcontribution guidelines.Thank you for being involved! :heart_eyes:Setting up development environmentThis Python project is fully managed using thePoetrydependency manager. But also relies on the use of NodeJS for certain checks during development.You need at least:Python 3.11+PoetryNodeJS 12+ (including NPM)To install all packages, including all development requirements:npminstall
poetryinstallAs this repository uses thepre-commitframework, all changes
are linted and tested with each commit. You can run all checks and tests
manually, using the following command:poetryrunpre-commitrun--all-filesTo run just the Python tests:poetryrunpytestAuthors & contributorsThe content is byJoost Lekkerkerker.For a full list of all authors and contributors,
checkthe contributor's page.LicenseMIT LicenseCopyright (c) 2024 Joost LekkerkerkerPermission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Package: aiomeasures-fork
This library allows you to send metrics to your Datadog or Statsd server.
This works on Python >= 3.3 and relies on asyncio.Installation:python -m pip install aiomeasuresUsage:from aiomeasures import Datadog

client = Datadog('udp://127.0.0.1:6789')
client.incr('foo')
client.decr('bar', tags={'one': 'two'})
with client.timer('baz'):
    # long process
    passThe client will send metrics to agent as possible.
Package: aiomeilisearch
AioMeiliSearchThe MeiliSearch API asyncio client for PythonIntroductionAioMeilisearchis a asynchronous python client for MeiliSearch.MeiliSearchis an open source, blazingly fast and hyper relevant search-engine.
For more information about features in thisdocumentation.SummaryMeiliSearch's API is a standardRESTful HTTP API, so it comes with SDKs for all kinds of programing languages.
One official python client is calledmeilisearch-python,
it does a good job, with a great python http library calledrequests.async/awaitis new feature of python3.4+. In some cases we need to support this feature, so here we are.AioMeilisearchsupprts async/await, writed withaiohttp.Any python api in theMeiliSearch officia documenthas aawaitableversion byAioMeilisearch.Featureasync/awaitRequirementspython3.6+aiohttpInstallationpip3installaiomeilisearchUsageIndeximportaiomeilisearchclient=aiomeilisearch.Client('http://127.0.0.1:7700','masterKey')asyncdefcreate_index():# create a index, with primaryKey "id"# An index is where the documents are stored.returnawaitclient.create_index('movies',{'primaryKey':'id'})index=awaitcreate_index()Documentsasyncdefadd_documents():# add documents to indexdocuments=[{'id':1,'title':'Carol','genres':['Romance','Drama']},{'id':2,'title':'Wonder Woman','genres':['Action','Adventure']},{'id':3,'title':'Life of Pi','genres':['Adventure','Drama']},{'id':4,'title':'Mad Max: Fury Road','genres':['Adventure','Science Fiction']},{'id':5,'title':'Moana','genres':['Fantasy','Action']},{'id':6,'title':'Philadelphia','genres':['Drama']},]awaitindex.add_documents(documents)Get a documentawaitindex.get_document(1)Search documentsawaitclient.index("movies").search('飞天大盗')awaitclient.index("movies").search('The Great Gatsby',filter=["is_tv=True",["year=1925","year=2013"]])settingsawaitclient.index('movies').get_settings()awaitclient.index('movies').update_displayed_attributes(["id",'title','year'])awaitclient.index('movies').update_filterable_attributes(["year",'is_tv'])awaitclient.index('movies').update_searchable_attributes(['title','original_title',])...Demoshttps://github.com/ziyoubaba/aiomeilisearch/tree/main/demosDocumentationMeiliSearchall the python apis here. Don't forget 'await'.AioMeilisearch, Maybe later...LicenseUnder MIT license.Changelogversion 1.0.0based with theversion v0.23.0 of MeiliSearch.welcom contributionSource codeThe latest developer version is available in a GitHub repository:https://github.com/ziyoubaba/aiomeilisearch
Package: aio-meilisearch
AIO_MEILISEARCHAsync Wrapper over Meilisearch REST API with type hintspipinstallaio_meilisearchUsagefromtypingimportTypedDict,List,Optionalimporthttpxfromaio_meilisearchimport(MeiliSearch,MeiliConfig,Index,SearchResponse,)classMovieDict(TypedDict):id:strname:strgenres:List[str]url:stryear:inthttp=httpx.AsyncClient()meilisearch=MeiliSearch(meili_config=MeiliConfig(base_url='http://localhost:7700',private_key='PRIVATE_KEY',public_key='PUBLIC_KEY',),http_client=http,)index:Index[MovieDict]=awaitmeilisearch.create_index(name="movies",pk="id")awaitindex.update_settings({"searchableAttributes":["name","genres"],"displayedAttributes":["name","genres","id","url","year",],"attributesForFaceting":["genres","year"],})movie_list:List[MovieDict]=[{"name":"Oblivion","genres":["action","adventure","sci-fi"],"id":"tt1483013","url":"https://www.imdb.com/title/tt1483013/","year":2013,}]awaitindex.documents.add_many(movie_list)response:SearchResponse[MovieDict]=awaitindex.documents.search(query="action")ContributingPrerequisites:poetrynoxnox-poetryInstall them on your system:pipinstallpoetrynoxnox-poetryRun tests:nox
Package: aiomemcache
memcached client for asyncioaiomemcache is a minimal, pure python client for memcached, kestrel, etc.RequirementsPython >= 3.3asynciohttps://pypi.python.org/pypi/asyncio/Getting startedThe API looks very similar to the other memcache clients:import aiomemcache
mc = aiomemcache.Client("127.0.0.1", 11211, connect_timeout=5)
yield from mc.set(b"some_key", b"Some value")
value = yield from mc.get(b"some_key")
yield from mc.delete(b"another_key")CHANGES0.1 (02-04-2014)Initial release
Package: aiomemoize
aiomemoizeMemoize asyncio Python calls. Invalidation is manual/explicit for each set of arguments, although exceptions raised arenotcached. This can be used for coroutines, and functions that return a promise.Installationpip install aiomemoizeUsageFor a coroutine whose arguments are hashable, you can create amemoizedversion by passing it tomemoize. This returns a tuple of the memoized function, and a function to invalidate the cache on a per-item basis.For example, the belowimportasynciofromaiomemoizeimportmemoizeasyncdefmain():memoized,invalidate=memoize(coro)results=awaitasyncio.gather(*[memoized('a'),memoized('a'),memoized('b'),])print(results)invalidate('a')results=awaitasyncio.gather(*[memoized('a'),memoized('a'),memoized('b'),])print(results)awaitmemoized('a')asyncdefcoro(value):print('Inside coro',value)awaitasyncio.sleep(1)returnvalueloop=asyncio.get_event_loop()loop.run_until_complete(main())loop.close()will outputInside coro a
Inside coro b
['a', 'a', 'b']
Inside coro a
['a', 'a', 'b']
Package: aiomemoizeconcurrent
aiomemoizeconcurrentMemoize concurrent asyncio Python coroutine calls. This offers short-lived memoization: for any given set of arguments, the cache lasts only for the length of a single call.Installationpip install aiomemoizeconcurrentUsageFor a coroutine whose arguments are hashable, you can create amemoizedversion by passing it tomemoize_concurrent. Any concurrent calls to this version that have the same arguments will result in only asinglerun of original coroutine.For example, creating 3 concurrent invocations of a coroutine where 2 of them have identical argumentsimportasynciofromaiomemoizeconcurrentimportmemoize_concurrentasyncdefmain():memoized_coro=memoize_concurrent(coro)results=awaitasyncio.gather(*[memoized_coro('a'),memoized_coro('a'),memoized_coro('b'),])print(results)awaitmemoized_coro('a')asyncdefcoro(value):print('Inside coro',value)awaitasyncio.sleep(1)returnvalueloop=asyncio.get_event_loop()loop.run_until_complete(main())loop.close()will only runcorotwice, as shown by the outputInside coro a
Inside coro b
['a', 'a', 'b']Use casesThis can be used to memoize a function making calls to an API, and especially ifyou expect many concurrent calls;identical concurrent calls are idempotent;there are enough such calls that are identical to justify such a caching layer.It can also be used to avoid concurrency edge cases/race conditions with multiple tasks accessing shared resources. For example, multiple tasks may need to dynamically create shared UDP sockets. To ensure that this dynamic generation isn't called by multiple tasks at the same time for the same address, it can be wrapped withmemoize_concurrent.The functionmemoize_concurrentworks with both coroutines, and functions that return a future.
Package: aiomemoizettl
aiomemoizettlMemoize asyncio Python calls with a per-result TTLInstallationpip install aiomemoizettlUsageFor a coroutine whose arguments are hashable, you can create amemoizedversion by passing it tomemoize_ttl, along with a function that converts its return value to a TTL.For example, the belowimportasynciofromaiomemoizettlimportmemoize_ttlasyncdefmain():memoized=memoize_ttl(coro,get_ttl=lambdaresult:result['ttl'])results=awaitasyncio.gather(*[memoized(1),memoized(2),])awaitasyncio.sleep(1)results=awaitasyncio.gather(*[memoized(1),memoized(2),# Will used the cached value of `coro(2)`])asyncdefcoro(value):print('Inside coro',value)return{'ttl':value,'some-other':'data'}loop=asyncio.get_event_loop()loop.run_until_complete(main())loop.close()will outputInside coro 1
Inside coro 2
Inside coro 1
Package: aiomessenger
[![travis-ci][travis-image]][travis-url]    [![pypi-version][pypi-image]][pypi-url]    [![codecov][codecov-image]][codecov-url][travis-image]:https://travis-ci.org/stegben/aiomessenger.svg?branch=master[travis-url]:https://travis-ci.org/stegben/aiomessenger[pypi-image]:https://badge.fury.io/py/aiomessenger.svg[pypi-url]:https://badge.fury.io/py/aiomessenger[codecov-image]:https://codecov.io/gh/stegben/aiomessenger/branch/master/graph/badge.svg[codecov-url]:https://codecov.io/gh/stegben/aiomessengerHome-page:https://github.com/stegben/aiomessengerAuthor: cph
Author-email:stegben.benjamin@gmail.comLicense: UNKNOWN
Description: # aiomessenger[![travis-ci][travis-image]][travis-url]    [![pypi-version][pypi-image]][pypi-url]    [![codecov][codecov-image]][codecov-url][travis-image]:https://travis-ci.org/stegben/aiomessenger.svg?branch=master[travis-url]:https://travis-ci.org/stegben/aiomessenger[pypi-image]:https://badge.fury.io/py/aiomessenger.svg[pypi-url]:https://badge.fury.io/py/aiomessenger[codecov-image]:https://codecov.io/gh/stegben/aiomessenger/branch/master/graph/badge.svg[codecov-url]:https://codecov.io/gh/stegben/aiomessengerPlatform: UNKNOWN
Classifier: Programming Language :: Python :: 3.6
Package: aiomihome
aiomihomeAsyncio version ofhttps://github.com/Danielhiversen/PyXiaomiGatewayDescriptionThe API only includes a thin layer with out proper handling of devices or sensors with seprateLibrary consist of two classesServiceManage the multisocket interface to the xiaomi bridge and connecting to a gateway. Includes service for discovery of gatewaysGatewayHandles the connection to the gatewayThe bridge needs to be i local mode and key needs to be provided to communicate with the gatewayUsageCreate a new service object. The gateway config key is required to be able to communicate with the gateway. If discovery is used and only one gateway exist only key is needed, if several provide sid or host.See example folder for runnable code.Connect go gatewayRun auto discover:gateways_config=[{"host":"10.0.4.104","sid":"7811dcb07917","port":9898,"key":key}]service=XiaomiService(gateways_config=gateways_config)# Start the mulitcast socket listnerawaitservice.listen()# Run the auto discovergateways=awaitservice.discover()print("Number of gateways found:{}".format(len(gateways)))# Get first gatewaygateway=gateways[0]Directly connect to gateway:service=XiaomiService()# Start the mulitcast socket listnerawaitservice.listen()# Create a gatewate connetiongateway=awaitservice.add_gateway("10.0.4.104",9898,"7811dcb07917",key)Close conectionsawaitservice.close()Listnersasyncdefheartbeat_callback(data):print("HEARTBEAT RECIVED",data)asyncdefdevice_callback(data):print("Device data RECIVED",data)gateway.heartbeat_callback=heartbeat_callbackgateway.device_callback=device_callbackInteract with the gatewayPrint devicesprint("Turn on light")fordevice_type,devicesingateway.devices.items():print(device_type,len(devices))fordeviceindevices:print("     ",device['model'])print(device)forvalue_key,valueindevice['data'].items():print("         ",value_key,value)Set the gateway light# Redawaitgateway.set_color(255,0,0)awaitasyncio.sleep(1)# Greenawaitgateway.set_color(0,255,0)awaitasyncio.sleep(1)# Blueawaitgateway.set_color(0,0,255)awaitasyncio.sleep(1)# Offawaitgateway.turn_off_light()
Package: aiomirai
Async Mirai SDK for PythonAsync Mirai SDK for Python is a Python SDK with async I/O forMirai'sMirai API HTTPplugin.Inspired byCQHTTP Python Async SDKandMirai Framework for Python.InstallationpipinstallaiomiraiDocumentationSee athttps://aiomirai.solariar.tech鸣谢这些项目也很棒, 去他们的项目页看看, 点个Star以鼓励他们的开发工作, 毕竟没有他们也没有aiomirai.特别感谢mamoe给我们带来这些精彩的项目:mirai: 即mirai-core, 一个高性能, 高可扩展性的 QQ 协议库, 同时也是个很棒的机器人开发框架!mirai-console: 一个基于mirai开发的插件式可扩展开发平台, 我们的大多数开发工作基本上都在该项目上完成, 不得不称赞其带来的开发敏捷性.mirai-api-http: 为该项目提供http接口的mirai-console插件, 万物之源特别感谢NatriumLab给我们带来这些精彩的项目:python-mirai：一个以 OICQ(QQ) 协议驱动的高性能机器人开发框架 Mirai 的 Python 接口，本项目的灵感来源，参考了部分内容比如这个鸣谢特别感谢CQMOE给我们带来这些精彩的项目:python-aiocqhttp：酷Q 的 CQHTTP 插件 的 Python SDK 异步版本，本项目的主要代码及逻辑都在一定程度上参考了该项目特别感谢Koishi.js给我们带来这些精彩的项目：koishijs.github.io：本项目文档的部分内容使用了该项目中的 vue 组件And finally...Long Live Mirai
                 `-://+++//:-.                              
               -+o+o++oo+o+++////:-.`                       
           ``-o+/:+o:+++//++s+++/////:`                     
         `--/++//+os://+/::+o+::/:/--::.                    
         :://o/:-:o+:/`./-:+-.//:/://`:/:-.`                
        -+/+:o/--:/--:.`.:-.-+o/+o++:- +-`:/:-              
       ./::o:o+/+::.ohy:````-ss+/os+:`.-:` .--              
    ```.-/`+:++:/o/+++:.``````.`-o/:. -` ...```             
      `- -:/-`///+o+:````...-.`.:+/.``                      
     .-. ``:. ...::::--....``.-----..:.                     
     .:-.-    `....`----.-...-.---:.`--.`                   
  `..--::.    -.```...-:  `.--`-..-`-`-`..`                 
  ..:--...   `.--     `.-```.-  `..`. .....`                
   ....``-  `-...-      :-  `.`  `..`  -`-..`               
   `.:``./...`.```..``..//  `..   ..-.```.-```              
 `-:-:...-...``.`.````..//` ````  ../:    .`.``             
 ......     +:.```.   . //` `.`.  .://    ````.`            
  ....``  `.shy+.`.  `.`-/: `-`.. `+/-    -````.            
   .```.````/os/../  `---//` :``-  //.   `-`.```.`          
   .`````````..`..-` -+oo+/- .``.. :/.  ```..````-:`        
   .``.```````-.-`:  .-::-// .`.`-`./.    -:-.```-/.`       
   `.`.``````./-`/+`   `  -/``.:--.`/-  ./+..-```:/``-      
    `-.`````.` ``:++:   ` -/. `.`.. /:  .- `  ..-/-``.-.`   
     `.....`  ``  `-/`    ./-  .:- `:/`    .   --.```.....` 
              `            `   ` `  ``                      
          ``.`   ````  ``                 ``                
          /++/` `+++:  -.     ``   ```    `.                
          /+-+/ :/-+: `+/  -:...`.-.`.--  -:`               
          /+..+/+-.+: `+/  -:    .-..`-:` -:`               
          -/` -/- `/- `/:  --    .-....-` .-`
Package: aiomisc-dependency
Dependency injection plugin foraiomiscbuilt withaiodinelibrary and
support pytest fixture style dependency injection.Table of contentsInstallationHow to useRegister dependencyUse dependencyDependencies for dependenciesloopbuilt-in dependencyLICENSEInstallationInstalling from pypi:pip3installaiomiscaiomisc-dependencyHow to useRegister dependencyTo register dependency you can useaiomisc_dependency.dependencydecorator.fromaiomisc_dependencyimportdependency@dependencyasyncdefpg_engine():pg_engine=awaitcreate_engine(dsn=pg_url)yieldpg_enginepg_engine.close()awaitpg_engine.wait_closed()As you can see dependency can be async generator function. Code after yield
will be executed on teardown to correctly close the dependency.Coroutine functions, non async functions and generators are also supported.Use dependencyTo use dependency you need to add it’s name to__dependencies__property
for every service which depends on it. Specified dependencies will be injected
as service’s attributes on entrypoint startup. If needed to map the dependency
with a different name, then, use__dependencies_map__fromcontextlibimportsuppressfromtypesimportMappingProxyTypeimportaiohttpfromaiomisc.service.aiohttpimportAIOHTTPServiceclassHealthcheckService(AIOHTTPService):__dependencies__=('pg_engine',)asyncdefcreate_application(self):app=aiohttp.web.Application()app.add_routes([aiohttp.web.get('/ping',self.healthcheck_handler)])returnappasyncdefhealthcheck_handler(self,request):pg_status=Falsewithsuppress(Exception):asyncwithself.pg_engine.acquire()asconn:awaitconn.execute('SELECT 1')pg_status=Truereturnaiohttp.web.json_response({'db':pg_status},status=(200ifpg_statuselse500),)classRESTService(AIOHTTPService):__dependencies__=('pg_engine',)...classAnotherRESTService(AIOHTTPService):__dependencies_map__=MappingProxyType({'pg_engine':'engine'})...If any required dependency won’t be found on entrypoint startup,RuntimeErrorwill be raised.You can set a dependency manually by adding it to kw arguments on service
creation. This could be convenient in tests.fromunittestimportMockdeftest_rest_service():pg_engine_mock=Mock()service=RESTService(pg_engine=pg_engine_mock)...Dependencies for dependenciesYou can use dependencies as arguments for other dependencies. Arguments will
injected automatically.@dependencyasyncdefpg_connection(pg_engine):asyncwithpg_engine.acquire()asconn:yieldconnloopbuilt-in dependencyBuilt-inloopdependency can be used if your dependency requires
event loop instance.importaioredis@dependencyasyncdefredis_pool(loop):pool=aioredis.create_pool(redis_url,loop=loop)yieldpoolpool.close()awaitpool.wait_closed()LICENSEMIT
Package: aiomisc-entrypoint
Aiomisc EntrypointAlternative way to runaiomisc entrypointwith processors
added behavior to start and stop events of entrypoint and custom query logger.Basic usagefromaiomisc_entrypointimportEntrypointep=Entrypoint()ep.clear_environ()ep.change_user()ep.system_signals_listener()ep.register_services_in_context()ep.first_start_last_stop()ep.run_forever()Extended usagefromsignalimportSIGINT,SIGTERM,SIGKILLfromaiomiscimportServicefromaiomisc_entrypointimportEntrypointclassTestService(Service):asyncdefstart(self):...asyncdefmain():...services=(TestService(context_name='svc1'),TestService(context_name='svc2'),)ep=Entrypoint(*services)ep.clear_environ(lambdax:x.startwith('APP_'))ep.change_user('user')ep.system_signals_listener(SIGINT,SIGTERM,SIGKILL)ep.register_services_in_context()ep.first_start_last_stop()ep.run_until_complete(main())Release Notes:v1.0.1fix error with set loop forasyncio.EventinSysSignalListener
Package: aiomixcloud
Mixcloud API wrapper for Python and Async IOaiomixcloudis a wrapper library for theHTTP APIofMixcloud.  It supports asynchronous operation viaasyncioand specifically
theaiohttpframework.aiomixcloudtries to be abstract and independent of the API’s transient
structure, meaning it is not tied to specific JSON fields and resource types.
That is, when the API changes or expands, the library should be ready to
handle it.InstallationThe following Python versions are supported:CPython: 3.6, 3.7, 3.8, 3.9PyPy: 3.5Install viapip:pipinstallaiomixcloudUsageYou can start usingaiomixcloudas simply as:fromaiomixcloudimportMixcloud# Inside your coroutine:asyncwithMixcloud()asmixcloud:cloudcast=awaitmixcloud.get('bob/cool-mix')# Data is available both as attributes and itemscloudcast.user.namecloudcast['pictures']['large']# Iterate over associated resourcesforcommentinawaitcloudcast.comments():comment.urlA variety of possibilities is enabled duringauthorized usage:# Inside your coroutine:asyncwithMixcloud(access_token=access_token)asmixcloud:# Follow a useruser=awaitmixcloud.get('alice')awaituser.follow()# Upload a cloudcastawaitmixcloud.upload('myshow.mp3','My Show',picture='myshow.jpg')For more details see theusage pageof thedocumentation.LicenseDistributed under theMIT License.