Kaithem

Latest version: v0.86.0

Safety actively analyzes 666166 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 30

0.81.0

Changed

- :lock: New enumerate_endpoints permission required for things that could otherwise reveal the existance or nonexistance of an object without actually giving access to it.

Removed

- :coffin: Most widgets other than DataSource and APIWidget are finally gone. That was decade old unmaintained code, one of the last remaining bits of antigue code.

Added

- :sparkles: The [picodash](https://github.com/EternityForest/picodash) system replaces widgets with a much easier to use set of custom HTML elements. Documentation coming soon!
- :sparkles: Nicer error pages
- :hammer: Unit testing for the YAML upload/download, which used to be buggy.

Fixed

- :bug: Certain commands in chandler like sending a ding to a web player.
- :bug: Up/Dowload modules.

0.80.1

Fixed

- :bug: Even more sneaky camelcase and tag name normalization bugs!

Added

- :sparkles: LED element for chandler tag display.

0.80.0

Another breaking change heavy beta release. You can now have multiple Chandler boards
and JACK mixers.

The good news is that there are now no more major globally-configured objects,
which was the main issue with these breaking changes.

Removed

- :coffin: Remove ability to create new Mako user pages. Jinja2 all the way!
- :coffin: Tag point universes are gone
- :coffin: Remove non-chandler simple video signage
- :coffin: Special characters no longer allowed in resource names.

Fixed
- :bug: Fix loading event after external formatter messes with it.

Added
- :sparkles: Checkpoint cues. When a Chandler scene starts, it goes to the last cue it was in with the checkpoint flag. The checkpoints are saved to disk as soon as you enter.

- :sparkles: \_\_setup\_\_ cues. Chandler scenes go to this cue if it exists at start before going to any checkpoint.

- :sparkles: Button to add time to a running cue
- :sparkles: Print more logs
- :sparkles: Now you can add tag points directly to a scene as a value.
- :sparkles: Any module in your ~/kaithem/plugins folder will be imported at early
boot. This is part of the ongoing effort to enable creating content
outside the web UI.

- :sparkles: Configurable tag points are back! This time much simpler, as a resource plugin.
- :sparkles: Config files, resource top level keys, and tag points snake_case, enforced by auto conversion.


- :sparkles: :boom: Chandler boards and audio mixers are resources now. There's no global, and you can have multiple. Universes are global so that boards can share DMX interfaces, but resources are not.

Dev
- :hammer: Pages and Events moved to core plugin(Code refactor, no change for end users)

0.79.0

Development is advanced enough on the new overhaul that it makes sense
to start using the [GitFlow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) methodology.


- :coffin: Mako user pages are deprecated and will be removed
- :coffin: The `kaithem` object will likely be removed eventually. Replace with importable `kaithem.api` when in catches up on features.

- :coffin: :boom: Remove ALL web tag configurability.


Since this was a core feature, it will be back. But it was one of the worst parts of the codebase AND had bad UX, it was very much in need of a full rewrite.

For now it is not possible to set or override alerts. I normally *hate* rewrites, but believe this is really needed. You can create loggers already, they are their own separate resource type.

Tags, in newer editions, should have a single source of config, and the code for config should be separate from tag internals.

- :coffin: :boom: Remove freeboard.
It was a good run, but I'd rather focus on core code quality than maintain the customized fork, which in itself had become bloated. Similar functionality may come back, but really, Chandler handles those use cases.

- :sparkles: Switch from typeguard to Beartype.
- :sparkles: More unit testing
- :sparkles: Loggers are now a resource type that lives in modules, separate from tags.

- :coffin: Remove more old files
- :coffin: Remove all references to custom `recur` library, use more standard dateutil+recurrent
- :sparkles: \_\_schedule\_\_ special cue skips ahead through a chain of cues with time lengths, to the one matching the current time best.
- :bug: fix broken shuffle:* special cue
- :coffin: Must explicity specify a type for all display tags

- :lipstick: Move help to inside the tools page
- :hammer: Many features moved to included core plugins, but still work exactly as before.

- :bug: Fix module import/export
- :bug: Fix back button taking user to old version of event

0.78.1

This is mostly just about the install scripts and a few leftover bugs. A lot has changed on Pi OS with Wayland!

There was a huge amount of old stuff to clean up, but now that so much of the custom and unusual code is gone, I expect future versions to be much more reliable, compatible,
and easier to maintain.


- :bug: Fix broken time lengths in chandler
- :bug: Fix short web media files endless looping
- :hammer: unit testing
- :sparkles: Don't run integrated selftest when running unit tests
- :coffin: Remove the sdmon cache service from linux-tweaks.sh, integrate that feature instead.
- :coffin: Don't intercept sound for the chrome kiosk
- :sparkles: Move linux package cleanup util to new uninstall-bloatware.sh script
- :sparkles: Move installing utilities to new install-utilities.sh script

- :bug: Fix various helper script compatibility issues.
- :bug: Restore world maps and web console that the new linter accidentally broke...
- :bug: Fix external modules being loaded with wrong name
- :bug: Icemedia 0.1.12, works correctly in venv on pi
- :bug: The tmpfs on /tmp was too small to run pipx reliably.
- :bug: Fix some kind of dependency conflict with attr

Tested on
OS: Debian GNU/Linux 12 (bookworm) aarch64
Host: Raspberry Pi 4 Model B Rev 1.2

OS: Ubuntu 22.04.3 LTS x86_6

0.78.0

This is another pretty heavy breaking change release. Nearly every file has been touched.


I was not going to release this so early. There may be bugs. YMMV.
Consider it early alpha. However, it does seem to work just fine.

However I discovered that the old installer was unreliably due to
some kind of virtualenv behavior where it decides to randomly use
/venv/local/bin instead of /venv/bin.

To fix this, we are moving to pipx and Poetry, eliminating almost all the custom
installation related code.

To do so I had to get rid of --system-site-packages
completely. This change broke gstreamer, but there is a fix!

Thanks :heart: to [happyleavesaoc](https://github.com/happyleavesaoc/gstreamer-player/) for discovering
a way to make gstreamer work in a virtualenv. All you need to do is symlink the gi package
into your site-packages! Kaithem now does this automatically on Debian and probably most everything
else.

In an unrelated bit of news, I discovered that a huge number of things were not loading due to
https://github.com/python/cpython/issues/91216. Kaithem now contains a workaround for it in tweaks.py.
and can load things affected by the bug.


- :bug: Fix unused subdevice nuisance method resolution error
- :coffin::boom: Remove old baresip code
- :coffin::boom: Remove kaithem.midi API
- :coffin::boom: Remove the image map creator util
- :coffin::boom: Remove kaithem.time.accuracy, lantime, hour, month, day, second, minute, dayofweek
- :coffin::boom: Remove kaithem.sys.shellex, shellexbg, which
- :coffin::boom: Remove kaithem.events.when and kaithem.events.after
- :coffin: Remove nixos config that was probably outdated. It's in the log if ya need it!
- :boom: Default storage dir is now ~/kaithem no matter how you install it

- :hammer: Split off the sound stuff in a separate libary [IceMedia](https://github.com/EternityForest/icemedia) meant for easy standalone use.

- :hammer: Split off internal scheduling and state machines to [Scullery](https://github.com/EternityForest/scullery) meant for easy standalone use.
- :hammer: Move to pyproject.toml
- :hammer: Move to a pipx based install process
- :recycle: A very large amount of old code is gone
- :recycle: Start moving to a proper dialog generation class instead of ad-hoc templates.s
- :lipstick: Add badges(CC0 licensed)
- :lipstick: Slim down the readme

Page 2 of 30

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.