Reaching mid-term

Mid-term is almost here (27 of June) and there’s a lot completed, but there’s much yet to be done.

What’s next?

The uploadTool is almost complete, it does its job. However, there are many bears lacking requirements, as they run scripts, or stuff, which is not easy to use, since people use a lot of platforms we can simply not make bears for.

How are we going to do this?

For the pip, npm and gem requirements, we will simply give the command to the user, upload the bears on PyPi and try to run that command once the user installed it. This should work regardless of platform, supposing you have pip, npm or gem installed.

What about the others?

For the others there is conda (http://conda.pydata.org/docs/). Conda packages are pretty much like PyPi packages, that work on any platform. For that, we can simply pack those scripts or compiled dependencies of bears into conda packages for all 3 important platforms (OS X, Linux, Windows) and when the user grabs that bear that has a conda requirement, it will automatically install that for him. This conda requirement is going to be a class pretty much like PipRequirement or GoRequirement.

Once this is done, this process should be ready, and I can move on to the installation part of the bears, with the nice installation tool and so on.

Advertisements

UploadTool

The next important step in my project is creating an upload tool.

This tool will take every single bear one by one and upload it.

How will I do this?

Simple. Say we are in coala-bears/bears/. Now here’s where the script is. I basically want to create an upload/ folder, where I will have all the bears ready to upload. The tool takes every bear, one by one, creates a subdirectory in the upload/ folder, that subdirectory having the bear’s name, where it will place the setup.py file and the requirements for that bear, and then uploads it.

An example

Let’s say we have bear Test. We will create¬†upload/Test/setup.py, upload/Test/Test/Test.py, upload/Test/requirements.txt. This way we will have the bear done and ready to be uploaded on PyPi.

The trick

The setup.py and the requirements.txt files will be automatically generated based on each bear’s requirements and name, fitting it perfectly.