Skip to content

digreatbrian/kivystart

KivyStart

KivyStart Image

KivyStart is a Python package designed to streamline the creation of project structures for Kivy applications. It provides a standardized, modular, and scalable template to help you kickstart your Kivy projects efficiently.

πŸš€ Features

  • Standardized Project Structure – Ensures consistency across Kivy projects.
  • Pre-configured Files – Includes essential configuration and setup files for a smooth development experience.
  • MVC-Like Architecture – Encourages better code organization and separation of concerns.
  • Customizable Project Setup – Supports additional configurations for flexibility.

πŸ›  Installation

Clone the repository and install KivyStart:

git clone https://github.com/digreatbrian/kivystart
pip install ./kivystart 

πŸ“¦ Creating a New Kivy Project

To generate a new Kivy project using KivyStart, run:

python -m kivystart makeproject demo DemoApp 

# or

kivystart makeproject demo DemoApp

πŸ’‘ Want to explore more options?

Run the following command to see available flags and configurations:

python -m kivystart makeproject --help 

# or

kivystart makeproject --help

πŸ“‚ Project Structure

KivyStart generates a well-organized directory structure:

project_root/ 
β”œβ”€β”€ .git/ # (Optional) Git repository metadata 
β”œβ”€β”€ assets/ # Stores images, fonts, and icons 
β”œβ”€β”€ components/ # Reusable UI components 
β”‚ β”œβ”€β”€ main_container.py 
β”‚ β”œβ”€β”€ toolbar.py 
β”œβ”€β”€ controllers/ # Handles business logic & interactions 
β”œβ”€β”€ kv_files/ # Kivy (.kv) files for UI design 
β”‚ β”œβ”€β”€ main_container.kv 
β”‚ β”œβ”€β”€ main_toolbar.kv 
β”‚ β”œβ”€β”€ root_container.kv 
β”œβ”€β”€ models/ # Data models (manual implementation) 
β”œβ”€β”€ utils/ # Utility/helper functions 
β”œβ”€β”€ venv/ # (Optional) Virtual environment 
β”œβ”€β”€ buildozer.spec # (Optional) Configuration for Android packaging 
β”œβ”€β”€ main.py # Entry point of the Kivy application 
β”œβ”€β”€ README.md # Project documentation 
β”œβ”€β”€ requirements.txt # Dependencies list 
β”œβ”€β”€ theme.py # Defines global styles and themes 

πŸ” Folder & File Breakdown

πŸ“ .git/ (Optional)

Stores version control metadata when using Git.

πŸ“ assets/

Holds static resources like images, fonts, and icons.

πŸ“ components/

Contains reusable UI elements. Examples:

main_container.py – Main UI container.

toolbar.py – Application toolbar with buttons/navigation.

πŸ“ controllers/

Manages business logic and communication between UI and models. (Manual implementation required.)

πŸ“ kv_files/

Stores .kv files to define UI separately from Python logic. Examples:

main_container.kv – Layout for the main container.

main_toolbar.kv – Toolbar layout.

root_container.kv – Loads/manages other UI components.

πŸ“ models/

Stores data models for databases, APIs, or other structured data. (Manual implementation required.)

πŸ“ utils/

Includes helper functions for logging, error handling, etc.

πŸ“ venv/ (Optional)

A virtual environment for managing dependencies.

πŸ“„ buildozer.spec (Optional)

Configuration file for Buildozer, used to package the Kivy app into an APK (Android) or other formats.

πŸ“„ main.py

The entry point of the Kivy application.

πŸ“„ README.md

Project documentation, including setup, features, and usage.

πŸ“„ requirements.txt

Lists dependencies. Install them with:

pip install -r requirements.txt 

πŸ“„ theme.py

Defines global styles, colors, and fonts for the application.

🀝 Contributions Are Welcome!

We appreciate contributions to improve KivyStart! Feel free to submit issues, feature requests, or pull requests.

About

KivyStart helps you to quickly generate a Kivy app with a dynamic MVC-like structure

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages