Skip to main content

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.

Project description

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
    

    OR

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

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

    OR

    pip install https://github.com/Novfensec/KvDeveloper/archive/main.zip
    

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

OPTIONAL

  • 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.

  • LazyManager: A MDScreenManager class instance with lazy loading abilities.

  • LoadingLayout: A FloatLayout class instance with centralised MDCircularProgressIndicator widget.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kvdeveloper-2024.1.9.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

kvdeveloper-2024.1.9-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file kvdeveloper-2024.1.9.tar.gz.

File metadata

  • Download URL: kvdeveloper-2024.1.9.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for kvdeveloper-2024.1.9.tar.gz
Algorithm Hash digest
SHA256 33721bda273deb9b2459333068e0a57369ac31b8aad1d71125e00e72058532b4
MD5 bed52a20e1ff7804de08647621fbc62e
BLAKE2b-256 19012367a34b89b68815a830970aaed752f2f243c31234f32782a0816175c88c

See more details on using hashes here.

File details

Details for the file kvdeveloper-2024.1.9-py3-none-any.whl.

File metadata

  • Download URL: kvdeveloper-2024.1.9-py3-none-any.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for kvdeveloper-2024.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 c43eac8e3caa16989073a9cf7bcbcd0a82d007b2f4617f3363584c20c019d14d
MD5 bf51c94dabf1d8c3dbc14ecd034311f0
BLAKE2b-256 ff21246b4560ebea18d7bf1e6fd4c063fd707ad4dea5745a18046fb597b0ad39

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page