Giter VIP home page Giter VIP logo

neukivy's Introduction

NeuKivy

demo

Neukivy is a collection of neumorphic widgets built with Kivy. The library is currently in its initial development so there isn't much yet. But hopefully it will grow into a library you can use to easily create neumorphic UI in python.

How to Install

  1. Neukivy requires the latest version of pillow to run. This dependency will eventually be removed.
python3 -m pip install --upgrade Pillow

Make sure you are running the latest version (8.2.0)

  1. Now install NeuKivy
pip install --upgrade git+git://github.com/Guhan-SenSam/NeuKivy.git

Support

Discord

Usage

There is a temporary examples directory that contains some code to help you understand the basic properties of NeuKivy better.

Things to Know

  1. I am just starting! NeuKivy is very young and still needs to grow by a lot to become of any practical use. Right now its more of a proof of concept and a demo rather than an actual usable library.

  2. All the properties have doc strings explaining what they do.

  3. I would love for your feedback and any ideas that you have for NeuKivy!

PERFORMANCE PROBLEMS

NeuKivy needs to compute two shadows for every widget that is displayed. A shadow's computation is slow due to the dependency of Pillow. Thus the library has been structured in a way so as to minimize the amount of needed shadow recomputes. As of now when a widget changes size or elevation the shadow is recomputed.

On a PC the impact is negligible but on Android, animations regarding widget sizes is very slow. It might be okay with a couple of small widgets. But anything more will cause frame drops.

Elevation changes do not affect performance as much, but also should not be animated as much as possible.

Currently work is being done to draw the shadows using glsl shaders. This would make redrawing the shadows very fast.

If you know anything about glsl shaders and creating super fast drop shadow shaders, your contributions are greatly welcome.(As I am not that experienced in glsl and it will take a long time to learn the language and the techniques.)

To sum everything up. NeuKivy can run on android as long as you don't animate a lot of widget sizes ;)

Widgets Available

  1. Button

    • Rectangular
    • Rounded Rectangle
    • Circular
  2. Icon Button

    • Rectangular

    • Rounded Rectangle

    • Circular

      buttons1

  3. Icon With Text Button

    (Can choose which side icon appears)

    • Rectangular

    • Rounded Rectangle

      buttons2

  4. Card

  5. Banner

  6. Sliders sliders

neukivy's People

Contributors

guhan-sensam avatar kengoon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.