/KvDeveloper

KvDeveloper is a PyPI module designed to streamline the development of Kivy and KivyMD applications. Inspired by Expo CLI for React Native, KvDeveloper provides starter templates and essential functionalities to kickstart your projects with ease.

Primary LanguagePythonMIT LicenseMIT

KvDeveloper

  _  __      ____                 _                       
 | |/ /_   _|  _ \  _____   _____| | ___  _ __   ___ _ __ 
 | ' /\ \ / / | | |/ _ \ \ / / _ \ |/ _ \| '_ \ / _ \ '__|
 | . \ \ V /| |_| |  __/\ V /  __/ | (_) | |_) |  __/ |   
 |_|\_\ \_/ |____/ \___| \_/ \___|_|\___/| .__/ \___|_|   
                                         |_|              

PyPI version Supported Python versions Downloads Code style: Black

GitHub stars GitHub forks GitHub repo size GitHub issues

KvDeveloper is a PyPI module designed to streamline the development of Kivy and KivyMD applications. Inspired by Expo CLI for React Native, it offers starter templates and essential functionalities to kickstart your projects with ease. With features like predefined templates, MVC architecture support, and customizable options, KvDeveloper simplifies creating robust and organized Kivy projects. It supports Python 3.1+, Kivy 2.2.0+, and KivyMD 1.1.1+, making it a versatile tool for developers looking to enhance their Kivy development workflow.

Community and Support

Discord Stack Overflow Reddit GitHub Discussions

YouTube Admin YouTube KvDeveloper

Join the KvDeveloper community to get support, share your projects, and collaborate with other developers. Here are some ways you can connect with us:

Documentation: Read the documentation.

If you encounter any issues or have questions, feel free to reach out to the community or submit an issue on GitHub.

Features

  • Starter Templates: Quickly create new Kivy and KivyMD projects with predefined templates.
  • Layouts: Build standard screens rapidly with prebuilt designs. Add layouts to any screen with a single command, making the development process faster and more efficient.
  • MVC Structure: Includes templates with Model-View-Controller (MVC) architecture. (recommended KivyMD==1.1.1)
  • Navigation and Toolbar: Templates with built-in navigation and toolbar screens.
  • Customizable: Easily extend and customize the templates and layouts to fit your project needs.
  • Build Workflows and Jupyter Notebooks: Generates build workflows for github based conversions and jupyter notebooks for colab based converions.

Installation

  • Install KvDeveloper using pip:

    pip install kvdeveloper
  • Install development version using pip (requires git installation):

    pip install git+https://github.com/Novfensec/KvDeveloper.git@main

Requirements

  • Python>=3.9

  • kivy>=2.0.0 (recommended kivy==2.3.0)

  • kivymd>=2.0.0 (recommended kivymd==2.0.1.dev0)

  • pillow>=10.0.0

  • typer>=0.12.3

  • rich>=13.7.1

  • markdown2>=2.5.0

  • pyqt5

  • pyqtwebengine

Usage

  • Create a new KivyMD project with a blank template:

    kvdeveloper create TestProject --template blank
  • Create a new KivyMD project with navigation and toolbar with MVC architecture.:

    kvdeveloper create TestProject --template nav_toolbar --structure MVC
  • Add a screen with a specific layout (e.g., Auth type 1):

    kvdeveloper add-screen TestScreen --layout auth1
  • Add a layout to an existing screen (e.g., Home type 1):

    kvdeveloper add-layout home1 --name_screen TestScreen Test1Screen
  • Add bootstrap like customizable components to the project directly:

    kvdeveloper add-component Container ResponsiveGrid ITDCard
  • Create a new customizable components:

    kvdeveloper create-component MyComponent
  • Register all custom fonts and components to Kivy bases:

    kvdeveloper register
  • Get info about the template used for the project:

    kvdeveloper show-readme TestProject
  • Generate github buildozer workflows for android conversion:

    kvdeveloper config-build-setup android --external github

    Sample Repository: Sample-KivyMD-App

  • Generate jupyter notebook for colab based android conversion [Contains commands to import your app folder from your personal drive!]:

    kvdeveloper config-build-setup android --external colab

Templates

  • Blank Template: A minimal template with the basic structure.

  • Navigation Toolbar Template: A template with navigation and toolbar screens.

  • Navigation Dock Template: A template navigation and toolbar screens with BottomNavigation, HomeScreen, LoginScreen and SettingsScreen components.

  • MVC Architecture: A template add-on following the MVC architecture.

Components

Create customizable bootstrap like components directly in your project.

  • Container: A responsive container with pre-defined padding calculations.

  • ResponsiveGrid: A responsive grid with pre-defined column calculations.

  • ITDCard (Image Title Description Card): A responsive boostrap like card with image aspect-ratio calculations.

Contributing

We welcome contributions from the community! If you're interested in contributing to KvDeveloper or its documentation, please read our Contributing Guidelines.

You can contribute by:

  • Reporting bugs or suggesting features in the Issues section.
  • Submitting pull requests to improve the documentation or the KvDeveloper tool.
  • Helping with translations or writing new guides.

For more detailed instructions, please visit our Contributing page.

Acknowledgements

Kivy

KivyMD

License

KvDeveloper is released under the MIT License. You're free to use, modify, and distribute this software as long as you adhere to the terms of the license.

Contact

For any inquiries, please contact us at novfensec@protonmail.com.