Metadata-Version: 2.4
Name: kivy_garden.ebs.panels
Version: 2.0.0
Summary: Panel widgets and infrastructure used by the EBS GUI stack.
Project-URL: Homepage, https://github.com/ebs-universe/kivy_garden.ebs.panels
Project-URL: Issues, https://github.com/ebs-universe/kivy_garden.ebs.panels/issues
Project-URL: Source, https://github.com/ebs-universe/kivy_garden.ebs.panels
Author-email: Chintalagiri Shashank <shashank.chintalagiri@gmail.com>
License: Copyright (c) 2019- Kivy Team and other contributors
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in
        all copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
        THE SOFTWARE.
License-File: LICENSE.txt
Keywords: kivy,kivy-garden,widgets
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: colorthief
Requires-Dist: kivy-garden-ebs-core
Requires-Dist: kivy>=2.3
Provides-Extra: ci
Requires-Dist: coveralls; extra == 'ci'
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: hatch; extra == 'dev'
Requires-Dist: hatch-vcs; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: docs
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Description-Content-Type: text/markdown

Core Widgets for EBS Kivy GUIs and Widgets
==========================================

[![Github Build Status](https://github.com/chintal/ebs-widgetset-kivy/workflows/Garden%20flower/badge.svg)](https://github.com/chintal/ebs-widgetset-kivy/actions)

This library provides a collection of reusable widgets and pure python 
widget-infrastructure. These are used internally by the EBS GUI stack. 
Most things here are trivially reusable and easily replicated in kv 
directly. 

It is unlikely you'd ever want to use this library directly. In most 
cases, it would be simpler to just use this library as a collection of 
examples and reimplement elements as needed.

I'm just parcelling it out into its own package for convenience and to 
be able to publish other more complex widgets. Other EBS kivy widgets 
assume that this library is available, and when they do, the dependency 
will be explicit in the other widget's setup.py.

See https://kivy-garden.github.io/flower/ for the rendered flower docs.

Please see the garden [instructions](https://kivy-garden.github.io) for 
how to use kivy garden flowers.


Why Pure Python
---------------

EBS widgets are generally designed to be used in a context that has a 
twisted reactor, and need to interact with existing twisted codebases. 
kv can certainly do the job in most (if not all) cases, but I find it 
more comfortable having everything in python. 

Doing this does have its drawbacks : 

  - It results in much more verbose code.
  - It is entirely possible it is slower than kv (I have not checked)
  - Getting good examples is harder, and the chorus of 'Use kv instead' 
  is unavoidable.

It does have (mostly subjective) advantages too, though :

  - Not having to think in kv, especially when the gui is only a small 
  part of a much larger application and a lot of the gui is dynamically 
  generated.
  - Explicit is better than implicit. Being able to easily look through
  the bindings has made tracking down strange behaviors easier.  
  

Library Contents
----------------

The core widget infrastructure provided by this library includes:

  - Colors :
    - Color Manipulation Utilities
      - color_set_alpha
      - Gradient
    - GuiPalette class
    - BackgroundColorMixin and its many derivatives:
      - ColorBoxLayout
      - RoundedColorBoxLayout
      - other color primitives to be added as needed
  - Labels : 
    - WrappingLabel
    - ColorLabel
    - SelfScalingLabel
    - SelfScalingColorLabel
  - Images :
    - SizeProofImage
    - BleedImage
  - Buttons : 
    - BleedImageButton
    - RoundedBleedImageButton
  - Animations : 
    - CompositeAnimationManager
    

Derived EBS Kivy Widgets 
------------------------

Published Derived Widgets

  - [MarqueeLabel](https://github.com/ebs-universe/kivy_garden.ebs.marquee)
  - [CefBrowser](https://github.com/ebs-universe/kivy_garden.ebs.cefkivy)
  - [Clocks](https://github.com/ebs-universe/kivy_garden.ebs.clocks)
    - SimpleDigitalClock
  - [ImageGallery](https://github.com/ebs-universe/kivy_garden.ebs.gallery)
  - [PDFPlayer](https://github.com/ebs-universe/kivy_garden.ebs.pdfplayer)

Unrelated other widgets (no kivy_garden.ebs dependency)

  - [ProgressSpinner](https://github.com/ebs-universe/kivy_garden.ebs.progressspinner)

CI
--

Every push or pull request run the [GitHub Action](https://github.com/kivy-garden/flower/actions) CI.
It tests the code on various OS and also generates wheels that can be released on PyPI upon a
tag. Docs are also generated and uploaded to the repo as well as artifacts of the CI.


TODO
-------

* add your code

Contributing
--------------

Check out our [contribution guide](CONTRIBUTING.md) and feel free to improve the flower.

License
---------

This software is released under the terms of the MIT License.
Please see the [LICENSE.txt](LICENSE.txt) file.

How to release
===============

See the garden [instructions](https://kivy-garden.github.io/#makingareleaseforyourflower) for how to make a new release.
