Skip to main content

Boxine - bx_django_utils

Various Django utility functions

Quickstart

pip install bx_django_utils

Existing stuff

Here only a simple list about existing utilities. Please take a look into the sources and tests for deeper informations.

bx_django_utils.approve_workflow

Base model/admin/form classes to implement a model with draft/approve versions workflow

bx_django_utils.approve_workflow.admin

bx_django_utils.approve_workflow.forms

bx_django_utils.approve_workflow.models

bx_django_utils.data_types.gtin

ModelField, FormField and validators for GTIN/UPC/EAN numbers

bx_django_utils.data_types.gtin.form_fields
bx_django_utils.data_types.gtin.model_fields
bx_django_utils.data_types.gtin.validators

bx_django_utils.dbperf.cursor

bx_django_utils.dbperf.query_recorder

  • SQLQueryRecorder() - A context manager that allows recording SQL queries executed during its lifetime.

bx_django_utils.filename

bx_django_utils.humanize.pformat

  • pformat() - Better pretty-print-format using DjangoJSONEncoder with fallback to pprint.pformat()

bx_django_utils.humanize.time

  • human_timedelta() - Converts a time duration into a friendly text representation. (X ms, sec, minutes etc.)

bx_django_utils.models.manipulate

Utilities to manipulate objects in database via models:

  • create() - Create a new model instance with optional validate before create.
  • create_or_update() - Create a new model instance or update a existing one.

bx_django_utils.models.timetracking

bx_django_utils.stacktrace

bx_django_utils.templatetags.humanize_time

  • human_duration() - Verbose time since template tag, e.g.: <span title="Jan. 1, 2000, noon">2.0 seconds</span>

bx_django_utils.test_utils

Utilities / helper for writing tests.

bx_django_utils.test_utils.assert_queries

  • AssertQueries() - Assert executed database queries: Check table names, duplicate/similar Queries.

bx_django_utils.test_utils.datetime

bx_django_utils.test_utils.html_assertion

  • HtmlAssertionMixin() - Unittest mixin class with useful assertments around Django test client tests

bx_django_utils.test_utils.model_clean_assert

bx_django_utils.test_utils.users

bx_django_utils.view_utils.dynamic_menu_urls

  • DynamicViewMenu() - Simple storage for store information about views/urls to build a menu.

developing

To start developing e.g.:

~$ git clone https://github.com/boxine/bx_django_utils.git
~$ cd bx_django_utils
~/bx_django_utils$ make
help                 List all commands
install-poetry       install or update poetry
install              install via poetry
update               Update the dependencies as according to the pyproject.toml file
lint                 Run code formatters and linter
fix-code-style       Fix code formatting
tox-listenvs         List all tox test environments
tox                  Run pytest via tox with all environments
tox-py36             Run pytest via tox with *python v3.6*
tox-py37             Run pytest via tox with *python v3.7*
tox-py38             Run pytest via tox with *python v3.8*
tox-py39             Run pytest via tox with *python v3.9*
pytest               Run pytest
pytest-ci            Run pytest with CI settings
publish              Release new version to PyPi
makemessages         Make and compile locales message files
start-dev-server     Start Django dev. server with the test project
clean                Remove created files from the test project (e.g.: SQlite, static files)

You can start the test project with the Django developing server, e.g.:

~/bx_django_utils$ make start-dev-server

This is a own manage command, that will create migrations files from our test app, migrate, collectstatic and create a super user if no user exists ;)

If you like to start from stretch, just delete related test project files with:

~/bx_django_utils$ make clean

...and start the test server again ;)

License

MIT. Patches welcome!

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bx_django_utils-2.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bx_django_utils-2-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

Details for the file bx_django_utils-2.tar.gz.

File metadata

  • Download URL: bx_django_utils-2.tar.gz
  • Upload date:
  • Size: 29.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.5

File hashes

Hashes for bx_django_utils-2.tar.gz
Algorithm Hash digest
SHA256 7f1a877304ce38628122b537de272a39b92af2077cdf284e2abb59d7f50289bf
MD5 89e1a7e7b2790378b292d3c3ec7ad4ea
BLAKE2b-256 2497331ae59339b4d88e3b5acc842dbb94153ee8565fa2048d92f935c8b94b4f

See more details on using hashes here.

File details

Details for the file bx_django_utils-2-py3-none-any.whl.

File metadata

  • Download URL: bx_django_utils-2-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.5

File hashes

Hashes for bx_django_utils-2-py3-none-any.whl
Algorithm Hash digest
SHA256 928dd1659921688548702ffba165003b837bdeacd47d6ee2308e90989cb74395
MD5 a25fcf3106342aeb3e5e184fc497a652
BLAKE2b-256 5684897ad20024879135a012a9f5eaca30a75b13ed13933cd236185a0d726885

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page