Skip to main content

A testing ground for Keg related code and ideas.

Project description

https://circleci.com/gh/level12/keg-elements.svg?style=svg https://codecov.io/github/level12/keg-elements/coverage.svg?branch=master

Keg Elements is a collection of helpers and base classes for building apps with Keg or Keg extensions.

A Simple Example

For a simple example and a checklist of sorts for app setup, see the Getting Started guide in the docs.

Development

To develop on this project, begin by running our tests:

git clone https://github.com/level12/keg-elements keg-elements-src
cd keg-elements-src
tox

You can then examine tox.ini for insights into our development process. In particular, we:

  • use py.test for testing (and coverage analysis)

  • use flake8 for linting

Preview Readme

When updating the readme, use restview --long-description to preview changes.

Pre-commit Hooks

You should install the pre-commit hooks by running

pre-commit install

This will ensure that your code is ready for review.

Issues & Discussion

Please direct questions, comments, bugs, feature requests, etc. to: https://github.com/level12/keg-elements/issues

Changelog

0.5.30 released 2021-02-02

  • Add magnitude/range/type directives for random number generation in testing (a9ca44f)

  • Set up documentation on readthedocs.io (f68c812)

0.5.29 released 2021-01-29

  • Add RelationshipField and RelationshipMultipleField for generating select fields from ORM (8d90b5a)

  • Add form meta option include_required_foreign_keys for form generation (8d90b5a)

  • Add standard testing FormBase for field verification (2b0ee8a)

  • Allow model form subclasses to utilize the super’s FieldsMeta (84dcc1f)

  • Use blank FieldMeta object by default when no meta is given (2457605)

  • Provide a model mixin for generic id/value lookup tables (a392941)

  • Add testing_set_related entity method to wrap related object creation (e6fe3d9)

0.5.28 released 2020-11-13

  • Auto-generate form field options for enum columns (a074cd2)

  • Fix mssql CI (4ec0480)

  • Fix test model key cascade (53dd792)

  • Fix update_collection for models with unique constraints (900f3ec)

0.5.27 released 2020-06-09

  • Properly handle missing or empty config keys in Sentry filtering (bfb413b)

0.5.26 released 2020-06-09

  • Upgrade Sentry library and improve filtering of sensitive data in error reports (5c0afad)

  • Add alembic helper functions for common tasks (9440a4e)

  • Require numeric columns to specify scale and precision (d0e0260)

  • Improve form-level error handling (e590f2d)

0.5.25 released 2020-05-12

  • check translations in CI (3a01a93)

  • add GridView for convenient webgrid usage (a9deb06)

  • support wtforms 2.3+ (0d78557)

  • remove pytest from non-testing code (5e11b79)

0.5.24 released 2020-03-23

  • select all/none feature for MultiCheckbox fields (vanilla JS) (7a727b6)

0.5.23 released 2020-03-20

  • enable MultiCheckboxField usage in templates for bootstrap 3 (c1dba1b)

  • fix SA arrow column default timezone (3eea89d)

0.5.22 released 2020-02-27

  • Add missing class to checkbox input (4b4e44c)

0.5.21 released 2020-02-21

  • Add support for multi select checkbox form fields (fa21fa4)

  • allow columns to override their random data generation (a3445c1)

0.5.20 released 2020-02-03

  • Fix BS4 Field Description (a9d3479)

0.5.19 released 2019-11-19

  • Adds a U.S. state select field (3abd696)

  • Add type hint widget for use with form text inputs (fe089e0)

  • Use recommended classes and tag layout for rendering bootstrap 4 checkboxes (d20b084)

  • Add Python 3.8 support and drop support for Python 3.5 (d87b2db)

  • Exclude create/update timestamp fields from model form generation by default (012fe38)

0.5.18 released 2019-08-05

  • Prevent double rendering of hidden form inputs in template macros (e0b47dc)

0.5.17 released 2019-07-29

  • Skip arrow fields during form generation if default value set (95e26a6)

  • Add bootstrap 4 form template option (bc4efcd)

0.5.16 released 2019-07-09

  • db: Add SoftDeleteMixin (ebc25b9)

  • Enable Manual Ordering of Form Fields (#101) (00ce0b6)

  • Merge pull request #103 from level12/pre-commit-hook-setup (68b92d6)

0.5.15 released 2019-07-02

  • Add base class for enum types used by database entities (49e4cf3)

  • Improve random number generation in testing defaults for numeric columns (25321c1)

0.5.14 released 2019-06-28

  • Add features to form’s FieldMeta overrides and improve support for enum columns in model forms (c7ddf0d)

  • Drop 2.7 support and add 3.7 support (c7ddf0d)

  • Fix spelling errors (be0334f)

0.5.13 released 2019-06-17

  • Add additional testing helpers and fix float field form generation issue (4b725fd)

0.5.12 released 2019-02-07

  • Fix Deprecation Warnings and Remove Wheelhouse (7af6f55)

0.5.11 released 2018-11-20

  • Switch yield tests to loops to resolve pytest warning (a3e1b5c)

0.5.10 released 2018-11-13

  • Added template support for adding tab indexes when creating wtforms (f36997e)

  • Add support for multiple-column keys in ColumnCheck (8dc840b)

  • Add optional i18n support using morphi (46229a4)

0.5.9 released 2018-09-19

  • FEAT: Add additional metadata to the results of Form.fields_todict (2f863f1)

0.5.8 released 2018-07-19

  • Merge pull request #82 from level12/add-alphanumeric-validator (bbf43ec)

0.5.7 released 2018-06-19

  • Merge pull request #80 from level12/check-for-missing-app-ctx (1d0f3d8)

0.5.6 released 2018-04-30

  • FEAT: Automatically generate range validators for numeric fields in ModelForms (48a3827)

  • Improvements to the uniqueness form validator (29937c5)

0.5.5 released 2018-04-25

  • FEAT: Add custom Sentry client to filter out flask config object from reports (927e012)

0.5.4 released 2017-08-08

  • Use pyp to manage releases (5b11356)

  • FEAT: Add file/stream encryption methods (aeab61a)

0.5.3 - 2017-04-26

  • FEAT: Add DontCare for Easy Testing (28643d6)

0.5.2 - 2017-03-23

  • FEAT: Add additional utility functions (2e27a60)

  • BUG: Check all records when updating a collection (fffb7c8)

0.5.0 - 2016-12-19

  • FEAT: Create crypto primitives (5a981b5)

  • Refactor testing_create kwargs validation and ignore “_” prefixed keys (484d032)

0.4.2 - 2016-11-11

  • FEATURE: Verify kwargs correspond to columns and relationships in testing_create. (db533dd)

  • FEATURE: Add support for form-level validation. (GH-53)

0.4.1 - 2016-10-19

  • Add unique form validator (a0c7447)

0.4.0 - 2016-09-08

  • FEATURE: Port MethodsMixin with a number of helpful functions when working with SQLAlchemy ORM entities. (GH-49, GH-51)

  • FEATURE: Add a new TimeZone Column. (GH-50)

  • MAINTENANCE: Provide better testing support for polymorphic SQLAlchemy ORM entities. (GH-47)

  • BUG: Fix descriptions when implicitly rendering checkboxes (GH-48)

0.3.2 - 2016-08-03

  • Support dirty_check flag on form objects (GH-46)

0.3.1

  • Allow FieldMeta to override default widget and add extra validators (GH-38)

  • Allow customization of readonly and disabled attributes on input, select, and radio fields (GH-37)

  • Improve the logic for when to default a form field to RequiredBoolRadioField (GH-36)

  • Upgrades to the CI Environment

0.3.0

  • Allow static renders to be configured with custom macros. (GH-34)

  • Synchronize static templates with dynamic templates. (GH-31)

  • You can now give a field a description with a string or callback. (GH-23, GH-22)

  • Introduced a RequiredBoolRadioField for use with boolean columns. (GH-25)

  • Support randomly filling EmailTypes. (GH-24)

  • Support additional parameters for randomizing integers. (GH-19)

  • testing_create will randomly select a boolean value for SQLAlchemy boolean fields. (GH-28)

  • We now have a working CI. (GH-27)

  • Constraint tests will fail if all fields are not covered. (GH-21)

  • Introduced a new form-upload macro. (GH-18)

  • Static render now uses element.data unless it is a SelectField (GH-16)

  • MethodsMixin has a new to_dict method. (d83d93f)

  • MethodsMixin has a new ensure method. (e5687ed)

  • Fix bug where static renders would not output the label. (GH-33)

  • Fix property names when using automatic test cases. (GH-29)

  • Fix issue where we wouldn’t use a consistent json parser. (GH-13)

  • Fix a bug where polymorphic columns are included in testing_create. (147c23)

development version: 2015-07-28

  • Add db.mixins with DefaultColsMixin (id, Arrow lib UTC timestamps) and MethodsMixin (incomplete).

  • Some MethodsMixin methods now have support for commit/flush parameters.

  • Add .testing:EntityBase which uses named tuples to declare the checks needed and adds some additional logic.

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

KegElements-0.5.30.tar.gz (80.5 kB view details)

Uploaded Source

Built Distribution

KegElements-0.5.30-py2.py3-none-any.whl (89.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file KegElements-0.5.30.tar.gz.

File metadata

  • Download URL: KegElements-0.5.30.tar.gz
  • Upload date:
  • Size: 80.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.6.9

File hashes

Hashes for KegElements-0.5.30.tar.gz
Algorithm Hash digest
SHA256 f9808a8b4c57296fd020d2a31ee4104d7664c5ac11a191ea19b7dd326eb95d78
MD5 065d372613f82982dca95499bf37668a
BLAKE2b-256 9aea4857f8ae484c4d787768202a1844db3f621b8b75ccd258831da27c493a90

See more details on using hashes here.

Provenance

File details

Details for the file KegElements-0.5.30-py2.py3-none-any.whl.

File metadata

  • Download URL: KegElements-0.5.30-py2.py3-none-any.whl
  • Upload date:
  • Size: 89.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.6.9

File hashes

Hashes for KegElements-0.5.30-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 045a88496735746bb8011e026bf070d0d35ab1bb78125a3c2b0ef8b10fa92f75
MD5 045865ec6369e886b544dfb02e8bd589
BLAKE2b-256 e751c65cdff97842806bd3f41194b237535ceda5eac0261a4cd40110ff355413

See more details on using hashes here.

Provenance

Supported by

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