Skip to main content

Panel widgets and infrastructure used by the EBS GUI stack.

Project description

Core Widgets for EBS Kivy GUIs and Widgets

Github Build Status

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

Unrelated other widgets (no kivy_garden.ebs dependency)

CI

Every push or pull request run the GitHub Action 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 and feel free to improve the flower.

License

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

How to release

See the garden instructions for how to make a new release.

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

kivy_garden_ebs_panels-2.2.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kivy_garden_ebs_panels-2.2.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file kivy_garden_ebs_panels-2.2.0.tar.gz.

File metadata

  • Download URL: kivy_garden_ebs_panels-2.2.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for kivy_garden_ebs_panels-2.2.0.tar.gz
Algorithm Hash digest
SHA256 395bc8b2b14efd3f3fbcc17a14c5ff12e6a43b45b17dc368d9bb3107ae0f1869
MD5 aa8fd12a9bc2ea99bdf6b8dd92ab07bf
BLAKE2b-256 b700f943a14cd820337e7dc27bc3f6e21ca399bd347aa24ccb61bec1bc3b893c

See more details on using hashes here.

File details

Details for the file kivy_garden_ebs_panels-2.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kivy_garden_ebs_panels-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e94f31a5fd6ae9429478410c27b4535395454fc417afd9ac584fa02cc9cbd487
MD5 ed354efe00f47c84439a35e7f4a8cfc5
BLAKE2b-256 ba8c88b1517a2974eb607bcc6ed1e1a4d92a8a205fcc13485e46b1dbf4455d41

See more details on using hashes here.

Supported by

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