[Soc-2016-dev] Weekly Report #02, Python Package Manager

Peter D. Cassetta peter at fingertipsoft.com
Sat Jun 4 06:55:52 CEST 2016


Hi all,

During this second week of GSoC, I've been working towards my goal for 
May 23 - Jun 3 as stated in my proposal: "Nail down the basics: solidify 
plans for finding version, downloading, and UI, then begin coding."

To that end, I've decided to use JSON (according to Sybren's suggestion) 
to communicate the available add-ons, versions, and the information 
which Blender's Add-ons tab displays for installed add-ons, such as 
author, description, support level, etc. This data will be contained 
within a single file, which will be cached by Blender, and (hopefully) 
requested from the server with If-Modified-Since and If-None-Match HTTP 
headers.

I've created an example for what this JSON file should look like; and it 
can be found on the wiki: 
https://wiki.blender.org/index.php/User:PeterCassetta/GSoC_2016/Server-Client_Plans#Server-Client_Communication 
(I would appreciate any thoughts/suggestions people might have.)

Since Github makes it pretty simple to access an individual raw file 
over HTTPS, I'm thinking I'll use Github to host an add-on index during 
GSoC. I'll be using a file hierarchy something like this:

index.json
example_addon_one/
   1.3.3.py
   1.4.0.py
example_addon_two/
   2.0.2.zip
   2.0.3.zip
   2.1.0.zip

I'll also create a simple script to automatically copy an add-on from a 
local addons/addons_contrib repo (and zip it if needed) to my local 
add-on index repo. This will be useful for me during testing, and later 
to those who moderate new updates to add-ons.

During the next two weeks I'll be creating a working prototype, allowing 
at least to check for updates and update an add-on.

Best,
Peter Cassetta



More information about the Soc-2016-dev mailing list