braboj / tutorial-python

Awesome Python!
2 stars 2 forks source link
python tutorial

Awesome Python!

by Branimir Georgiev, Vasil Andreev, Yorden Dragnev, Hristyan Grigorov, and others.

1. Getting Started

1.1. Install the prerequisites

1.2. Clone the repository

git clone https://github.com/braboj/tutorial-python.git

1.3. Open the project in PyCharm

  1. Open PyCharm
  2. Select File -> Open
  3. Navigate to the project folder
  4. Select the tutorial-python folder

1.4. Install the AsciiDoc plugin

  1. Click Open
  2. Select File -> Settings
  3. Select Plugins
  4. Click Marketplace
  5. Search for AsciiDoc
  6. Click Install
  7. Click Restart IDE

2. Deploying the PDF file

2.1. Install ruby on Windows

  1. Open a new terminal as administrator
  2. Install Chocolatey (https://chocolatey.org/install)
  3. Install ruby with choco install ruby

2.2. Install ruby on Linux

  1. Install ruby with sudo apt install ruby-full
  2. Test with ruby --version

2.3. Install asciidoctor

  1. Restart or open a new terminal as administrator
  2. Install asciidoctor with gem install asciidoctor
  3. Test with asciidoctor --version

2.4. Install ascidoctor-pdf

  1. Restart or open a new terminal as administrator
  2. Install asciidoctor-pdf with gem install asciidoctor-pdf --pre
  3. Test with asciidoctor-pdf --version

2.5. Generate the PDF file

  1. Open a terminal
  2. Navigate to the project folder
  3. Run asciidoctor-pdf --theme ./Assets/pdf/themes/my-theme.yml BOOK.adoc -o ./Build/AWESOME_PYTHON.pdf
  4. The PDF file is located in the root folder
  5. Commit and tag the commit with the version number
  6. Push the commit and the tag to GitHub
  7. Create a release on GitHub

3. Project Description

3.1. Project Purpose

This tutorial offers a comprehensive tutorial for the Python programming language. The tutorial is written in the AsciiDoc format. The tutorial is divided into five parts:

The first three parts are covering the Python Programming language. The last two parts are covering the Python ecosystem. The tutorial is designed to be read in order. However, each part is self-contained and can be read separately.

3.2. Project Structure

ROOT
  ├───Assets
  │   ├───audio
  │   ├───images
  │   └───videos
  │  
  ├───Part A - Basics
  │   └───Chapter 01 - ...
  │       ├───assets
  │       ├───exercises
  │       ├───examples
  │       └───snippets
  │
  ├───Part B - Advanced
  ├───Part C - Expert
  ├───Part D - Roadmaps
  └───Part E - Libraries

4. Project Conventions

4.1. File Naming

4.2. Commit Messages

Examples:

* (`#19`) - Add the operator precedence examples
* [`#####`] - Move the image assets to a dedicated folder

4.3. Issue Naming

Examples:

* [Part A, Ch. 1] - Do this (with context)
* Do that (without context)

4.4. Pull Requests