# Execute external application

**URL:** <https://community.metabrainz.org/t/execute-external-application/523952>\
**Category:** MusicBrainz Picard\
**Tags:** picard-plugin-development, picard-plugins\
**Created:** [March 13, 2021, 9:33am UTC](https://community.metabrainz.org/t/execute-external-application/523952 "2021-03-13T09:33:51Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![outsidecontext](https://community.metabrainz.org/user_avatar/community.metabrainz.org/outsidecontext/32/90_2.png) [@outsidecontext](https://community.metabrainz.org/u/outsidecontext)\
**Post date:** [March 13, 2021, 10:41am UTC](https://community.metabrainz.org/t/execute-external-application/523952/2 "2021-03-13T10:41:21Z")

</div>

Sure, you can use the subprocess module for this as you suggested. The current replaygain plugin is an example for a plugin calling external tools, see [https://github.com/metabrainz/picard-plugins/blob/3365403797d92f80aad85a9342e854fa6801e56a/plugins/replaygain/](https://github.com/metabrainz/picard-plugins/blob/3365403797d92f80aad85a9342e854fa6801e56a/plugins/replaygain/) **init**.py#L82

Your very simple draft might already do for your needs. You get the full path to a file with `file.filename`.

---

_[View the full topic](https://community.metabrainz.org/t/execute-external-application/523952)._
