yafowil.bootstrap 2.0.0
Bootstrap Styles for YAFOWIL
License: Simplified BSD
Requires Python: >=3.10

yafowil.bootstrap
=================

.. image:: https://img.shields.io/pypi/v/yafowil.bootstrap.svg
    :target: https://pypi.python.org/pypi/yafowil.bootstrap
    :alt: Latest PyPI version

.. image:: https://img.shields.io/pypi/dm/yafowil.bootstrap.svg
    :target: https://pypi.python.org/pypi/yafowil.bootstrap
    :alt: Number of PyPI downloads

.. image:: https://github.com/conestack/yafowil.bootstrap/actions/workflows/test.yml/badge.svg
    :target: https://github.com/conestack/yafowil.bootstrap/actions/workflows/test.yml
    :alt: Test yafowil.bootstrap

**bootstrap styles integration** for for `YAFOWIL <http://pypi.python.org/pypi/yafowil>`_
- Yet Another Form Widget Library.

This package provides themes for Bootstrap 3, 4 and 5.

In order to select one of the bootstrap versions, ``configure_factory`` must be
called with the desired theme name:

.. code-block:: python

    from yafowil.bootstrap import configure_factory

    # bootstap3, bootstrap4, bootstrap5
    configure_factory('bootstrap5')

Included Bootstrap distributions:

* Bootstrap 3.4.1
* Bootstrap 4.6.0
* Bootstrap 5.1.0

``yafowil.bootstrap`` 2.0 is a transitional version. in 3.0 the bootstrap
distributions will be removed as resource delivery is planned to be changed
to ``webresource``.


Detailed Documentation
======================

If you're interested to dig deeper: The
`detailed YAFOWIL documentation <http://docs.yafowil.info>`_ is available.
Read it and learn how to create your example application with YAFOWIL forms
in 15 minutes.


Source Code
===========

The sources are in a GIT DVCS with its main branches at
`github <http://github.com/conestack/yafowil.bootstrap>`_.

We'd be happy to see many forks and pull-requests to make YAFOWIL even better.


Contributors
============

- Robert Niederrreiter
- Jens Klein
- Johannes Raggam
- Peter Holzer


Changes
=======

2.0.0 (2026-02-03)
------------------

- Refactor package layout to use ``pyproject.toml`` and implicit namespace packages.
  [rnix]

- Add Makefile.
  [lenadax]

- Configure tests to run with pytest.
  [lenadax]


2.0.0a2 (2024-04-30)
--------------------

- Update BS4 resources to latest 4.6.2
  [petschki]

- Update BS5 resources to latest 5.3.3
  [petschki]

- Fix CSS class for <select>.
  [petschki]


2.0.0a1 (2023-05-15)
--------------------

- Factory configuration and macro registration is no longer done automatically
  due to the multi-theme feature. It must be configured in your code using
  ``yafowil.bootstrap``. In order to do so do
  ``from yafowil.bootstrap import configure_factory``. Next call it with the
  name of the desired theme ``configure_factory('bootstrap3')``.
  [jensens]

- Add support for Bootstrap 4 and 5 using theme ``bootstrap[4|5]``.
  The Bootstrap 3 theme is still available as ``bootstrap3``.
  Latter provides a legacy fallback as ``bootstrap`` which will be removed in
  future versions.
  [jensens, agitator]


1.3.3 (2025-10-28)
------------------

- Pin upper versions of dependencies.
  [rnix]


1.3.2 (2022-12-05)
------------------

- Release wheel.
  [rnix]

- Remove empty doctest.
  [rnix]


1.3.1 (2017-11-13)
------------------

- Use ``bs_field_class`` callback for ``field.class`` property when registering
  ``array`` macro.
  [rnix]


1.3 (2017-03-01)
----------------

- Use ``yafowil.utils.entry_point`` decorator.
  [rnix]

- Cleanup macro registration.
  [rnix]


1.2 (2015-01-23)
----------------

- Use ``configure`` entry point for theme configuration.
  [rnix]

- Rename resource group ``bootstrap`` to ``bootstrap.dependencies``.
  [rnix]

- Remove bootstrap macros for yafowil and set factory defaults for common
  widgets where appropriate.
  [rnix]

- Update to bootstrap 3.2.
  [rnix]


1.1
---

- Register the bootstrap.js javascript too.
  [thet]


1.0
---

- make it work
  [rnix, jensens, thet, et al.]


License
=======

Copyright (c) 2012-2021, BlueDynamics Alliance, Austria, Germany, Switzerland
Copyright (c) 2021-2025, Yafowil Contributors
All rights reserved.

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.