# Developer Quick Start Guide

**URL:** <https://forums.plex.tv/t/developer-quick-start-guide/5368>\
**Category:** Dev/API Corner\
**Tags:** plugin-dev\
**Created:** [September 16, 2010, 5:35pm UTC](https://forums.plex.tv/t/developer-quick-start-guide/5368 "2010-09-16T17:35:03Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ndaversa](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/ndaversa/32/89310_2.png) [@ndaversa](https://forums.plex.tv/u/ndaversa)\
**Post date:** [September 16, 2010, 5:35pm UTC](https://forums.plex.tv/t/developer-quick-start-guide/5368/1 "2010-09-16T17:35:03Z")

</div>

Information on how to get an environment setup to develop plugins
Hey all,  
  
I'm a developer with c/c++/java/obj-c/etc background. Although I have never touched Python it seems rather friendly.  
  
I know there is really no documentation to go off of, but I wanted to get some getting started info with respect to plug-in development.  
  
I currently have plans to expand the EyeTV Scanner Plug-in (make it more robust, handle Series where applicable and fallback to Movie as a last resort) and perhaps a find videos in RAR archives scanner, so we can use the Plex iOS app to stream stuff even if you haven't extracted the video yet (usecase: downloads wrapped in rars currently being seeded).  
  
I wanted to know a few basics and perhaps consolidate some of the information here so others can get started quickly, so perhaps if anyone has the time they could explain how to do the following (I'm familiar with some of these, but for the sake of completeness):  
  
1. Where to save my .py file so the Plex Media Server picks it up.  
2. What libraries to include? (as a boilerplate)  
3. Where can I see compiler/syntax errors for my script?  
4. Where can I find what commands can be made to the Plex Media Server (easiest way considering there is currently no documentation).  
  
Thanks  
ND

---

<div class="post-metadata">

**Author:** ![sander1](https://avatars.discourse-cdn.com/v4/letter/s/4bbf92/32.png) [@sander1](https://forums.plex.tv/u/sander1)\
**Post date:** [September 16, 2010, 7:04pm UTC](https://forums.plex.tv/t/developer-quick-start-guide/5368/2 "2010-09-16T19:04:43Z")

</div>

Hi ND!

> [@](#):
>
> I know there is really no documentation to go off of, but I wanted to get some getting started info with respect to plug-in development.

  
Although the docs may not be 100% complete and are written for the v1 framework, there's a lot of info to find there already (v2 framework changes are very small, so the docs are still very usable):  
http://dev.plexapp.com/docs/  
http://wiki.plexapp.com/index.php/Plugin\_development  
  
  

> [@](#):
>
> [...]and perhaps a find videos in RAR archives scanner, so we can use the Plex iOS app to stream stuff even if you haven't extracted the video yet (usecase: downloads wrapped in rars currently being seeded).

  
Before starting on RAR stuff, have a look at this topic: http://forums.plexapp.com/index.php?/topic/17211-transprar-rar-workaround-for-plex-9/  
  
  

> [@](#):
>
> I wanted to know a few basics and perhaps consolidate some of the information here so others can get started quickly, so perhaps if anyone has the time they could explain how to do the following (I'm familiar with some of these, but for the sake of completeness):  
> 1. Where to save my .py file so the Plex Media Server picks it up.

  
Plugin bundles ([bundle info](http://dev.plexapp.com/docs/Bundle.html)) are saved in \*~/Library/Application Support/Plex Media Server/Plug-ins\*  
  
  

> [@](#):
>
> 2. What libraries to include? (as a boilerplate)

  
For v1 framework:  

```auto

from PMS import *

```

  
For v2 framework: nothing, this is done automatically  
  
  

> [@](#):
>
> 3. Where can I see compiler/syntax errors for my script?

  
[list=1]  
[\*]For \*\*v1\*\* framework include this in your Info.plist file:  

```auto

<key>PlexPluginDebug</key><br />
<string>1</string>

```

  
For \*\*v2\*\* framework include this in your Info.plist file:  

```auto

<key>PlexPluginConsoleLogging</key><br />
<string>1</string>

```

  
[\*]Then run PMS from Terminal:  

```auto

/usr/bin/killall Plex\ Media\ Server<br />
<br />
~/Library/Application\ Support/Plex/Plex\ Media\ Server.app/Contents/MacOS/Plex\ Media\ Server woof

```

  
or check the Console for plugin output.[/list]  
  

> [@](#):
>
> 4. Where can I find what commands can be made to the Plex Media Server (easiest way considering there is currently no documentation).

  
Not sure what you meant with this...?  
  
Tip: have a look at existing plugins ([Github repo](http://github.com/plexinc-plugins)).

---

<div class="post-metadata">

**Author:** ![ndaversa](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/ndaversa/32/89310_2.png) [@ndaversa](https://forums.plex.tv/u/ndaversa)\
**Post date:** [September 16, 2010, 7:14pm UTC](https://forums.plex.tv/t/developer-quick-start-guide/5368/3 "2010-09-16T19:14:36Z")

</div>

Thanks for the quick response.  
  
  
  
To rephrase the last question…  
  
  
  
I have seen some other scanners, eg. [EyeTV](http://forums.plexapp.com/index.php?/topic/17054-eyetv-plex-9/page __view__ findpost __p__ 108672). I see the calls to Media.Episode() there, wanted to know if that is documented anywhere.  
  
  
  
Thanks  
  
ND

> [@](#):
>
> Hi ND!  
>   
>   
> Although the docs may not be 100% complete and are written for the v1 framework, there's a lot of info to find there already (v2 framework changes are very small, so the docs are still very usable):  
> http://dev.plexapp.com/docs/  
> http://wiki.plexapp.com/index.php/Plugin\_development  
>   
>   
>   
> Before starting on RAR stuff, have a look at this topic: http://forums.plexapp.com/index.php?/topic/17211-transprar-rar-workaround-for-plex-9/  
>   
>   
>   
> Plugin bundles ([bundle info](http://dev.plexapp.com/docs/Bundle.html)) are saved in \*~/Library/Application Support/Plex Media Server/Plug-ins\*  
>   
>   
>   
> For v1 framework:  
> 
> ```auto
> 
> from PMS import *
> 
> ```
> 
>   
> For v2 framework: nothing, this is done automatically  
>   
>   
>   
> [list=1]  
> [\*]For \*\*v1\*\* framework include this in your Info.plist file:  
> 
> ```auto
> 
> <key>PlexPluginDebug</key><br />
> <string>1</string>
> 
> ```
> 
>   
> For \*\*v2\*\* framework include this in your Info.plist file:  
> 
> ```auto
> 
> <key>PlexPluginConsoleLogging</key><br />
> <string>1</string>
> 
> ```
> 
>   
> [\*]Then run PMS from Terminal:  
> 
> ```auto
> 
> /usr/bin/killall Plex\ Media\ Server<br />
> <br />
> ~/Library/Application\ Support/Plex/Plex\ Media\ Server.app/Contents/MacOS/Plex\ Media\ Server woof
> 
> ```
> 
>   
> or check the Console for plugin output.[/list]  
>   
>   
> Not sure what you meant with this...?  
>   
> Tip: have a look at existing plugins ([Github repo](http://github.com/plexinc-plugins)).

---

<div class="post-metadata">

**Author:** ![RomanTPA](https://avatars.discourse-cdn.com/v4/letter/r/bb73d2/32.png) [@RomanTPA](https://forums.plex.tv/u/RomanTPA)\
**Post date:** [October 12, 2010, 12:16pm UTC](https://forums.plex.tv/t/developer-quick-start-guide/5368/4 "2010-10-12T12:16:50Z")

</div>

i know python basics and want to take a shot at making a plug in.  
  
where could i find some sample code for a plug in for website that streams movies or uses flash?  
  
  
  
Thank You   
  
RK

---

<div class="post-metadata">

**Author:** ![jwray](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/jwray/32/99832_2.png) [@jwray](https://forums.plex.tv/u/jwray)\
**Post date:** [October 12, 2010, 3:23pm UTC](https://forums.plex.tv/t/developer-quick-start-guide/5368/5 "2010-10-12T15:23:30Z")

</div>

All the existing plugin code is available on github. One repository per plugin:  
  
  
  
[Plex Plug-ins · GitHub](http://github.com/plexinc-plugins)  
  
  
  
Jonny

> [@](#):
>
> i know python basics and want to take a shot at making a plug in.  
> where could i find some sample code for a plug in for website that streams movies or uses flash?  
>   
> Thank You   
> RK

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [December 20, 2019, 8:46pm UTC](https://forums.plex.tv/t/developer-quick-start-guide/5368/6 "2019-12-20T20:46:17Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
