# Python Resources

If you are new to Python or programming in general there are lots of resources online to catering to all experience levels. Once you have the basics, a simple Skill can be a great way to try them out in a real project.

Mycroft uses Python 3 and as of December 2019 supports Python 3.5-3.7.

The following are a collection of resources recommended by members of our Community. If you know of other great resources please let us know in the [Dev channel of Mycroft Chat](https://chat.mycroft.ai/community/channels/dev).

## Video Tutorials

### Python Virtual Environments

{% embed url="<https://www.youtube.com/watch?v=QXJZRDYjo7E>" %}
Video Tutorial: Python Virtual Environments
{% endembed %}

### Python Package Management

{% embed url="<https://www.youtube.com/watch?v=noKRb5uoE-Q>" %}
Video Tutorial: Python Package Management
{% endembed %}

## Books

### Think Python

"[Think Python](https://greenteapress.com/wp/think-python-2e/) is an introduction to Python programming for beginners. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters."

The book is available to purchase through normal retailers, or to download for free from [Green Tea Press](https://greenteapress.com/wp/think-python-2e/)

### Automate the Boring Stuff with Python

"In [Automate the Boring Stuff with Python](https://automatetheboringstuff.com/), you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand-no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and impressive feats of automation."

## Courses

### FreeCodeCamp.org Video Tutorial

[This video tutorial](https://www.youtube.com/watch?v=rfscVS0vtbw) will give you a full introduction into all of the core concepts in python. The entire video runs for almost 4 and a half hours so better grab a coffee before you get started!

### LearnPython.org by DataCamp

[The LearnPython.org interactive tutorial](https://www.learnpython.org/) walks you through all the basics of Python and provides interactive coding challenges to put it into practice.

### TutorialsPoint Python Tutorial

[A comprehensive written tutorial from TutorialsPoint.com](https://www.tutorialspoint.com/python) covering both the basics and more advanced topics.

## Documentation

Books and courses are great to get started but once you have the basics you often just need good documentation to point you in the right direction. The official Python documentation can be found at: <https://docs.python.org/3/>

For an alternative view of this same documentation, try [DevDocs.io](https://devdocs.io/python~3.7/).

If you're a little more visual, check out this [Python Cheat Sheet](https://websitesetup.org/python-cheat-sheet/) that covers all the basics.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mycroft-ai.gitbook.io/docs/skill-development/introduction/python-resources.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
