
Explore Kiwix fundamentals, a cross-platform, object-oriented framework that exports apps to Android and Windows, with Kiwix design language for interfaces and layouts like box, stack, float, and scatter.
Explore how to use box layout, anchor layout, float layout, grid layout, stack layout, page layout, relative layout, and scatter layout to arrange widgets in Kivy apps.
Set up your development environment by installing PyCharm community edition and Python 3.10, configure the Python path, create a virtual environment, and install Kiwi to verify with a version check.
Create a hello world app in Kivy by defining an app class and float layout interface. Link a Kivy language file to render hello world on a level with text.
Explore how button events trigger actions in kivy by using on_press and on_release, linking functions in interface and app classes to print messages in the terminal.
Learn to create and center text inputs in Kivy using size_hint and pause_hint for position, including center_x and center_y anchors, and respond to on_text_validate and on_focus events.
Learn to create Kivy widgets with Python using the interface class or app class, initialize with __init__, add a button with size_hint and center position, and bind on_press to actions.
Define a build method in the app class to create a label and a text input with a float layout, and compare interface class versus app class.
Create a Kivy app with a button, text input, and label in a float layout; press the button or enter to display the input on the label using build method.
Learn to convert a Python app to epcam apk using GitHub actions, Buildozer, and a Git workflow, including editing buildozer spec and retrieving artifacts.
Learn how the box layout arranges widgets in vertical or horizontal boxes and how orientation controls stacking. Adjust size hint, padding, and spacing to create responsive interfaces with multiple buttons.
Explore how size hint behaves in the Kivy box layout, including single vs multiple widgets, vertical vs horizontal orientation, and how 50/50 splits and percentages are calculated.
Learn to implement nested box layouts in kivy using custom big box layouts with backgrounds, import keyword, color and alpha settings, and precise height and orientation control for stacked interfaces.
Anchor layout lets you align children to borders or center along both axes using anchor X and anchor Y, demonstrated with top-right login and signup buttons inside a box layout.
Explore grid layout in Kivy, setting columns or rows to organize widgets in a matrix, then build a 3-column grid of buttons inside a box layout with a shuffle feature.
Access the grid layout's children by id, extract each button's text, and implement a 3x3 shuffle using nested loops, a reversed children list, and a text list.
Examine how the stack layout arranges widgets vertically or horizontally and fits many non-uniform children, unlike grid. Generate dynamic buttons in a stack layout to demonstrate responsive behavior and orientation.
Learn how to schedule tasks in kivy to auto-create buttons on startup using clock.schedule_once, initialize with __init__, and manage widget creation and clearing in box and stack layouts.
Learn to add scrolling in a Kivy app by wrapping a stack layout in a ScrollView and resizing the child with size_hint_y and min_height.
Discover page layout in Kivy, where every direct child becomes a new page without size hint and position hint, with configurable border and opacity, patch navigation, and simple multi-layout combinations.
Build the final text analyzer app in Python to measure polarity and subjectivity, demonstrating with sentences like I love coding and I hate coding, returning a negative -0.8.
Design an interface for a sentiment analyzer app with a heading, text input, two buttons (analyze and clear), and a result label, organized with nested box layouts.
Learn how to build an API using FastAPI to bridge the kivy interface with backend logic, expose a TextBlob analysis endpoint, and explore get, post, and docs.
Build and test a FastAPI post endpoint for analyzing sentences by defining request models, handling json payloads, and returning sentiment polarity and subjectivity using text blob.
Display sentiment analysis results on a label by extracting polarity and subjectivity, converting them to strings, and formatting them for the label, then discuss limitations and alternatives.
Learn how to deploy a fastapi api to vercel using vercel cli, npm, and vscode, including requirements.txt, vercel.json, renaming main to index, and testing a post method in the docs.
Buildozer specs:
requirements = python3==3.7.6,hostpython3==3.7.6, kivy, android, pillow, openssl, pyopenssl, httplib2, certifi
osx.python_version = 3.7.6
android.permissions = android.permission.INTERNET, android.permission.ACCESS_NETWORK_STATE,android.permission.ACCESS_WIFI_STATE
Explore checkboxes in kivy, build a responsive layout with box and anchor layouts, control size with size_hint and minimum size, and group options to allow only one selection with labels.
Create a kivy slider, bind on_value to update a label, and configure min, max, and step, then style with value_track color and a horizontal background image.
Master the screen manager in Kiwi to handle multiple screens, distinguish it from page layout, and switch between main and profile screens using box and anchor layouts.
Configure screen transitions in kivy using the screen manager and init method, adjusting direction, types such as slide or swipe, and duration to control navigation between screens.
Learn how to center and integrate a dropdown with the screen manager in a Kivy app, switching screens via a top-right account button and dismissing the dropdown after selection.
Create and customize popups in Kivy, defining a title and content, and control size and open or dismiss events. Design popup layouts with box layouts and multiple buttons.
Learn to build a two-screen todo app in kivy, with a scrollable grid of tasks, add and delete features, a popup for task title, and disk persistence.
Create a runtime popup with a vertical box layout, a text input, and a submit button to capture a title, dismiss the popup, and add the layout to the grid.
Design screen two as a details screen with a title, detail, and back button in a vertical layout, binding actions to display the clicked button’s text as the notice title.
Learn json storage in Kivy by creating a json file, storing data with put, retrieving it with get, and displaying it in a dynamic interface.
Learn to truncate long titles in a Kivy app, using a custom button with a key_name property to store the full key, and apply truncation for UI and data access.
Implement delete logic by uniquely identifying each layout with ids, mapping layouts to data keys, and removing the ui layout and its database entry when the delete button is pressed.
Refine the app user interface by updating fonts, icons, and colors, replacing text with images, adjusting backgrounds, and correcting spacing and padding in a Kivy layout.
Learn how to combine canvas with box layout to create custom layouts with background color, using size and position properties and the concept of self for proper canvas behavior.
Learn to build a circular button in kivy by combining button behavior, label, and a canvas ellipse, with a customizable bgcolor property and on_press events.
Create a customizable infographic widget in Kivy by wiring two ellipses, thickness, colors, and a bounded percentage to render a progress arc on a canvas.
Adopt an object oriented approach by dividing the project into modules and classes, starting with designing the user interface. Then outline the database structure and class diagrams.
Design a login interface with Kivy screen manager, linking a login class to the main interface, and arrange image, labels, text inputs, and a login button on a white background.
Implement a signup interface in a Kivy app, using a screen manager to switch from login to signup, with email, password, and confirm password fields and a signup button.
Design the home screen footer using a vertical box layout inside an anchor layout, featuring a month label, a custom text input, and a display effect button with precise spacing.
Replace a button label with a history icon in Kivy using a canvas and rectangle with history.png, adjust opacity, and fine-tune image position for the homepage.
Design the history screen with two box layouts, a top section and a scrollable white section containing a history label, and enable back navigation to the home screen.
Learn to connect a kivy app to rapid api's numbers api using python requests, fetch data with a get request, and display results by binding a button to the UI.
Implement a static insert_fact method to add email and fact into the fact table, link it with home.py, and retrieve the email via login.get_email to prepare history display.
Link the history screen to the database by using the static get_facts method to fetch facts by email and display them on a label when the history screen opens.
Bind the window on keyboard events to quit on back key, and use soft input mode below_target to keep inputs above the keyboard, with a class controlling the secondary color.
Buildozer specs:
source.include_exts = py,png,jpg,kv,atlas, ttf
requirements = python3==3.7.6,hostpython3==3.7.6, kivy, android, pillow, openssl, pyopenssl, httplib2, certifi,sqlite3
osx.python_version = 3.7.6
android.permissions = android.permission.WRITE_EXTERNAL_STORAGE, android.permission.READ_EXTERNAL_STORAGE, android.permission.INTERNET, android.permission.ACCESS_NETWORK_STATE,android.permission.ACCESS_WIFI_STATE
Learn to debug Android apps with ADB and logcat in Python by installing platform tools, enabling USB debugging, connecting devices, and filtering logs to see Python messages and crashes.
Connects the app with Azure MySQL database using MySQL Connector Python, configuring host, user, password, database, and SSL, while updating Buildozer spec to use minus instead of underscores.
Welcome to the Kivy Python course, where you will learn how to create cross-platform applications using the Kivy framework. Kivy is an open-source Python library that allows you to build interactive and responsive apps for desktop and mobile devices. In this course, you will learn the fundamentals of Kivy, how to use various widgets and layouts, integrate APIs and AI features, make games and data visualizer apps, and deploy your apps on different platforms.
The course is divided into nine sections covering different aspects of Kivy's development. Here is a brief overview of what you will learn in each section:
The first section is all about the Kivy Fundaments which will highlight the features and Behavior of the Kivy Framework.
In the second section, we’ll dive into coding and will understand some basic Kivy Widgets. By the end of this section, you’ll have your first app ready to be installed on your Android Devices.
The following section is all about layout and you’ll learn how to make responsive apps in Kivy using Kivy Layouts.
Forth section is the most exciting one since you’re going to learn a lot of new things. We’ll learn how to make APIs in Python using Fastapi, how to deploy them, how to integrate them with Kivy, and finally by the end of this, you’re going to have an AI-powered text analyzer app ready to be uploaded on PlayStore.
The fifth section will cover some complex Kivy Widgets including Dropdowns, Screen Managers and popups, etc.
In the sixth section, we’ll make our next app. But this time you’ll learn how to make a multiscreen app and how to read and write data on local storage of Desktop and Mobile Phones.
If you want to make Games using Kivy Framework then the seventh section will make your base since you’ll learn about Kivy graphics including canvas and different shapes.
We’re going to make a Desktop based Data Visualizer App using Kivy Python in the eighth section and you’ll learn how to use Graphs in Kivy.
In the ninth section, you will review some of the essential object-oriented programming concepts in Python that are relevant to Kivy's development. You will learn about classes, objects, inheritance, polymorphism, encapsulation, and abstraction in Python.
All the code files and resources of this course are available on GitHub. This course is designed for anyone who wants to learn how to create cross-platform applications using Python and Kivy. No prior knowledge of Kivy is required, but some basic knowledge of Python is assumed.
If you are ready to start your journey with Kivy Python, enroll now and I'll see you in the next video.