DevAssistant 0.11.0

Long time no see, everyone! Even though it may appear that nothing much has happened in the world of DevAssistant, nothing is further from the truth. We have been working on improving DevAssistant features and planning new ones. We’re all looking forward to having the version 1.0 out, which will be a big milestone in DevAssistant’s life, but that’s still many weeks away, so in order to bring some of the features to you already, we release one more incremental update in the meantime.

Continue reading

Improving DevAssistant: 100 GitHub Stars Beer Competition!

At the DevConf conference in Brno, we announced the 100 GitHub Stars Beer Competition. Slavek, DevAssistant’s Benevolent Dictator for Life, will reward with a beer (or an appropriate substitute drink) anyone who does one of the contributions specified in this e-mail on the mailing list before the star counter on GitHub hits 100 stars.

More details in the message found at

The competition is running with some 80 stars on the counter, and winners will be announced when 100 stars are reached.

Contribute to DevAssistant to win!

DevAssistant 0.10.1 + COPR

Hello everyone, here we are with another bug fix update. Ordinarily, it takes us a bit longer to issue updates, but this time, it’s a little different. For the first time in DevAssistant’s history, we are providing a COPR repository, which means that you can get the latest and greatest DevAssistant even with Fedora releases that are otherwise frozen, and where pushing a fundamentally new version into mainline distros could break the setup for some users. To get this done, we needed to tweak DevAssistant a little, so that’s what 0.10.1 is about.

In terms of user experience, it is nearly the same as version 0.10.0. Some error outputs are nicer, and we tweaked the documentation a bit. The assistants that you run can also have multiple positional arguments now, which makes things prettier and somewhat more logical in certain cases.

The main reason why this release was issued in the first place is the dependency on Docker. As we learnt the hard way, Docker isn’t present on some architectures as we’d expect it to be. For this reason, we decided to drop the hard dependency on docker-py, and made DevAssistant fail gracefully instead, in case it can’t find the docker python API present. For you as the user, this means that if you’re not using a packaged version of DevAssistant (e. g. from the mentioned COPR repository), you will have to install docker-py yourself. In most cases, that will be solved by running:

pip install docker-py --user 

If you prefer the Python 3 variant of DevAssistant, you replace pip with whatever your Python 3 version of pip is – most likely something like pip3. The --user switch at the end means that docker-py is installed in your home directory instead of system-wide. We strongly discourage installing things with pip outside of your home directory, as they can easily collide with packages installed through your system package manager.

The COPR repository

Besides the Python Package Index, DevAssistant 0.10.1 is available for installation from a COPR repository usable on Fedora 21 and Rawhide. In this repository, there are all the packages needed to install this version of DevAssistant on your Fedora machine. The instructions for enabling the repository are shown at the repo’s homepage, linked above.

When the repository is enabled, you can choose what to install in terms of DevAssistant’s user interfaces. If you install the devassistant package as usual, you’ll get both the interfaces, just like you did up till now. Additionally, the Assistant packages that were shipped in previous versions of DA will be installed as well, but in separate packages. You can also opt to install only the command-line frontend instead, which is contained in the package devassistant-cli. We expect this option to be popular with skilled users or users who prefer graphical toolkits other than GTK+. Alternatively, you can install only the GUI in the package devassistant-gui. Bear in mind, though, that this option doesn’t allow you to install new Assistants with the da pkg install command, for obvious reasons, and neither of the UI-only packages installs the Assistants.

In addition to DevAssistant, an assortment of RPM-packaged DAPs is also present. If you then prefer to install packages with your system package manager, or you only have the GUI version of DevAssistant, you can use this option to retrieve new Assistants.

As usual, we greatly appreciate your feedback about the new version.

DevAssistant 0.10.0 Released

Dear friends of all things free software, DevAssistant is back with a new release! It has been over two months, and such a time would make you think that something big has been in the works. It has.

All this time, we haven’t been sitting idle with our hands behind our backs, and so we can have the biggest announcement so far: The DevAssistant Package Index is officially on, and you can install packages right from DevAssistant. Not enough? Here’s another one: You can write Assistants in other languages than YAML. Still not enough? We have greatly improved Docker integration and introduced built-in support for Docker container orchestration with Vagrant.

Continue reading

DevAssistant Container Support

As you may have noticed, DevAssistant has historically focussed on setting up the developer’s development on bare metal, or the actual operating system, if you will. Even now, this is a very popular way to develop your applications across languages. However, with the ascent of Linux Containers and Docker, it makes more and more sense to support development in a container, which is later deployed to production without further changes. This is the reason why we took up the challenge and built a proof-of-concept Django Assistant script (or simply Assistant), which is an example of a new functionality that will add significantly to the way DevAssistant works. Continue reading

DevAssistant 0.9.2 Released – Colors & Bugfixes

Hello everyone, here we go with another batch of juicy DevAssistant-y goodness. In version 0.9.2, there were some ugly bugs fixed, most concerning back-end, and one very nice thing added: log colors. This way, if you encounter a nasty error or a warning, you’ll be able to spot them immediately due to their different coloring. Of course, if you redirect DA’s output into a file, all the color formatting will be stripped. The full list of changes can be viewed in CHANGELOG.

This is also the first release that diverges from master in the new release cycle that we talked about when v0.9.0 was out. Currently, there is some heavy development being done on the master branch, which we don’t want to include in the stable version, so if you want the latest and greatest, you can check out our new GitHub page.

This new version of DevAssistant is available on GitHub, and in Fedora 20, 21, and Rawhide.

DevAssistant 0.9.1 Released – Our new logo

Ladies and gentlemen, here we are again with a new release. This time, an obligatory batch of bugfixes made its way into the release, but the headlines are stolen by the fact that DevAssistant has a new logo! And it is a proper one. It was crafted by the magnificent Mo, and through this post, we would like to thank her immensely.

DevAssistant Logo

The new DevAssistant logo.

The full info about the logo’s meanings etc. will be detailed at Mo’s blog, but in short, we can say that it is meant to symbolise a set square (or protractor triangle in US English), which is used in drawing boards, the letters D and A (for DevAssistant) and when put together in large numbers, the logo makes a scaffolding pattern, also related to developing.

The new version can be downloaded from Python Package Index as usual. However, if you want to have the nice GTK icon, you need to use the packaged version in Fedora (Available in rawhide, and also in updates-testing repository of Fedora 20. It will soon be available in the mainline repo.).

Problems with Github Keys

So Github has decided to make Finer-grained OAuth scopes for SSH keys.

Generally, it is a great idea, but not really backwards incompatible. The Github OAuth tokens previously generated by DevAssistant will no longer work, since they don’t have the correct scope. And guess what, there is no way to change the scope when authenticating via an OAuth token.

To make long story short, all tokens previously generated by DevAssistant are broken. The recommended approach is to delete “github user” and “github token” entries in your ~/.gitconfig to be able to generate new ones (when you get DevAssistant build that fixes this bug).

We have a patch that makes DevAssistant work with the new scopes – it’s upstream and we also backported it to Fedora 20 DevAssistant build. We’re not planning to release maintenance 0.8.1 with this fix, unless some people actually ask us to (do ask us if you really want this!).

DevAssistant 0.8.0 Released – Now What?

DevAssistant 0.8.0 was released yesterday, bringing some cool stuff. In the past two months, we’ve been concentrating on making our inner APIs stable, so that everyone could easily create his own command runner or package manager or improve DevAssistant code otherwise. It was our main goal for version 0.8.0 and it seems we’ve done good.

Of course we haven’t forgotten about end users of DevAssistant: “assistant writers”, who write their own assistants, and “assistant users”, who use DevAssistant to actually do the stuff.

So while in 0.8.0 we’ve done most of the work to satisfy “assistant writers”, in 0.9.0 we will do the opposite – provide as much visible functionality for “assistant users” as possible.

Continue reading