Skip to main content

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.

Metadata

Release files for kivy-garden.ebs.core 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kivy-garden.ebs.core 2.0.1
File Size Uploaded
kivy_garden_ebs_core-2.0.1.tar.gz 8.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kivy-garden.ebs.core 2.0.1
File Interpreter ABI Platform
kivy_garden_ebs_core-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 17.7 kB

Release files / kivy_garden_ebs_core-2.0.1.tar.gz

Download URL kivy_garden_ebs_core-2.0.1.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f45b18f3719a3734746654865c86fe5c3f963df9a6ebdf28cd36f31c1f95c119
BLAKE2b-256 checksum
How to use checksums
dd1c20d1e401f8ed80d2c40e743be4d78b0d14f4cdce4f6e251b81085b443b09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release files / kivy_garden_ebs_core-2.0.1-py3-none-any.whl

Download URL kivy_garden_ebs_core-2.0.1-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e262a79b55835558d65bdcb842d2f4c4e7896a759270001d45100e3ff720c691
BLAKE2b-256 checksum
How to use checksums
cb8b1a6b6695ff26527dcb3b6093d93d296be479d1cf0f597f56394b833460a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

1.3.7

1 release file

1.3.6

1 release file

1.3.5

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2

1 release file

1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page