Treibstoff
Treibstoff contains a set of useful javascript tools for writing browser based applications (or parts of it).
Detailed Documentation
The detailed treibstoff documentation is available here.
Source Code
The sources are in a GIT DVCS with its main branches at github.
Copyright
Copyright (c) 2021-2025 Cone Contributors
Contributors
Robert Niederreiter (Author)
Leopold Auersperg-Castell
Changes
2.0.1 (2026-10-31)
Extend the JS tests to 100 % coverage, all modules including bundles are loaded by the tests now. [rnix]
Update biome to 2.6 and add check and format targets running biome to include.mk. [rnix]
JS tooling: Commit pnpm-lock.yaml. Upgrade @web/test-runner to 1.0 and run the JS tests headless in Chromium via Playwright, installed in the JS CI workflow. Drop the accidental install dev dependency. Pin patched versions of vulnerable transitive dependencies via pnpm.overrides. [rnix]
Set PYTHON_MIN_VERSION in the Makefile to 3.10. [rnix]
2.0.0 (2026-10-24)
Complete package metadata: description, keywords, project urls and development status, audience and license classifiers. pyroma rated the package 0/10 without them. [rnix]
Re create the hidden form iframe on submit in AjaxForm. It is shared by every bound form and gets removed on a successful submit, so a form that was bound before that and has not been re rendered since pointed at a frame name the browser could no longer resolve - and submitting it opened a new tab instead of posting in place. [rnix]
Import node payloads owned by a foreign document in AjaxHandle.update instead of adopting them. Ajax form responses pass a live node from the response iframe, and Firefox never opens native <select> popups on adopted nodes. [rnix]
Split ajax.js into ssr js module. [lenadax]
Rework Spinner class to prevent persisting detached elements. [lenadax]
Unbind events on Motion reset_state method. [lenadax]
Unbind events on destroy method in create_listener subclass factory. [lenadax]
Move AjaxDestroy to ajaxdestroy module to prevent circular import dependency. [lenadax]
Fix widgets not being fully destroyed if rendered within an Overlay inside body. [lenadax]
Modify AjaxDestroy parse method to prevent DOM memory leaks. [lenadax]
Replace svg spinner with Bootstrap5 spinner. [lenadax]
1.0.0 (2026-02-03)
Refactor package layout to use pyproject.toml. [rnix]
0.4.0 (2024-02-12)
Use web test runner instead of deprecated karma. [rnix]
Deprecate usage of ts.ajax.request. ts.http_request shall be used instead. [rnix]
Rename AjaxSpinner to LoadingSpinner and move it to spinner module. [rnix]
Rename AjaxRequest to HTTPRequest and move it to request module. [rnix]
Introduce clock module. [rnix]
Events.trigger accepts arbitrary number of arguments passed to subscribers. [rnix]
0.3.0 (2023-05-18)
Fix instant binder function not to be called twice on page load if treibstoff document ready handler gets called after ajax.register. [rnix]
0.2.0 (2023-05-16)
Add object_by_path utility function. [rnix]
Add Ajax.attach. [rnix]
Add Visibility, Collapsible and Button widgets. [rnix]
Add query_elem, get_elem and set_visible utility functions. [rnix]
Add form module. [rnix]
Add listener module. [rnix]
Add websocket module. [rnix]
0.1.0 (2021-12-13)
Initial Release. [rnix]
License
Copyright (c) 2021-2025, Conestack Contributors
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Metadata
Release files for treibstoff 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| treibstoff-2.0.1.tar.gz | 70.4 kB | Without provenance | Details for treibstoff-2.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| treibstoff-2.0.1-py3-none-any.whl | Python 3 | none | any | Details for treibstoff-2.0.1-py3-none-any.whl |
Total release size: 101.1 kB
Release files / treibstoff-2.0.1.tar.gz
| Download URL | treibstoff-2.0.1.tar.gz |
|---|---|
| Size | 70.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5299abdeb54c11d079e8a895d6f7572fe19f651cd4baad35505de40d9a9dd3f1
|
|
BLAKE2b-256 checksum How to use checksums |
7a9910b7a54ce86c9776e6a5f7c35c8def093d1acc59bbf76d6665e744f8335e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Release files / treibstoff-2.0.1-py3-none-any.whl
| Download URL | treibstoff-2.0.1-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
77b12be2228d3d1ddeed0ca2ed2533db3c40f6d0ba3779f7c6d8536b9a84c469
|
|
BLAKE2b-256 checksum How to use checksums |
a0bc91c00bf4bfb0649634b3d0049bc8ffaf16ed89f72d1abc15adcee155d44c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.2
|
Security for treibstoff 2.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.