Metadata-Version: 2.1 Name: ampdup Version: 0.12.0 Summary: A type-hinted async python mpd client library. Home-page: https://gitlab.com/tarcisioe/ampdup License: MIT Keywords: mpd,type,async Author: Tarcisio Eduardo Moreira Crocomo Author-email: tarcisio.crocomo+pypi@gmail.com Requires-Python: >=3.7,<4.0 Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Project-URL: Repository, https://gitlab.com/tarcisioe/ampdup Description-Content-Type: text/markdown ampdup ====== A type-hinted async python mpd client library. Summary ======= `ampdup` is an async/await based MPD library. It is fully type-hinted and MPD responses are typed as well, so it is able to play nicely with `mypy` and autocompletion such as what is provided by `jedi`. Examples ======== First a basic usage example. `make()` returns a connected client as a context manager that handles disconnection automatically. ```python async def main(): async with MPDClient.make('localhost', 6600) as m: await m.play() ``` The IdleClient class provides the `idle()` function. Since `ampdup` is `async`/`await`-based this loop can easily run concurrently with other operations. ``` async def observe_state(): async with IdleClient.make('localhost', 6600) as i: while True: changed = await i.idle() handle_changes(changed) ``` Todo ==== - [ ] Support command lists. - [ ] Support connecting through Unix socket. - [ ] Support the more obscure MPD features such as partitions.