ambient-toolbox

View on PyPIReverse Dependencies (0)

12.1.4 ambient_toolbox-12.1.4-py2.py3-none-any.whl

Wheel Details

Project: ambient-toolbox
Version: 12.1.4
Filename: ambient_toolbox-12.1.4-py2.py3-none-any.whl
Download: [link]
Size: 77378
MD5: 0cd0f45454d9df2bdec09afb695d5941
SHA256: f6b8a90874bd42b0fbc7d9567982aff1d127a2096b3c317a7297b2e1488003d7
Uploaded: 2025-03-21 11:35:15 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: ambient-toolbox
Version: 12.1.4
Summary: Python toolbox of Ambient Digital containing an abundance of useful tools and gadgets.
Author-Email: Ambient Digital <hello[at]ambient.digital>
Project-Url: Bugtracker, https://github.com/ambient-innovation/ambient-toolbox/issues
Project-Url: Changelog, https://ambient-toolbox.readthedocs.io/en/latest/features/changelog.html
Project-Url: Documentation, https://ambient-toolbox.readthedocs.io/en/latest/index.html
Project-Url: Homepage, https://github.com/ambient-innovation/ambient-toolbox/
Project-Url: Maintained by, https://ambient.digital/
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Framework :: Django :: 5.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Utilities
Requires-Dist: Django (>=4.2)
Requires-Dist: python-dateutil (>=2.5.3)
Requires-Dist: nh3 (<1,>=0.2); extra == "bleacher"
Requires-Dist: typer (~=0.12); extra == "dev"
Requires-Dist: pytest-django (~=4.9); extra == "dev"
Requires-Dist: pytest-mock (~=3.14); extra == "dev"
Requires-Dist: coverage (~=7.6); extra == "dev"
Requires-Dist: pre-commit (~=4.0); extra == "dev"
Requires-Dist: ruff (~=0.6); extra == "dev"
Requires-Dist: sphinx (~=7.1); extra == "dev"
Requires-Dist: sphinx-rtd-theme (~=2.0); extra == "dev"
Requires-Dist: m2r2 (==0.3.3.post2); extra == "dev"
Requires-Dist: mistune (<2.0.0); extra == "dev"
Requires-Dist: flit (~=3.9); extra == "dev"
Requires-Dist: keyring (~=25.4); extra == "dev"
Requires-Dist: ambient-package-update; extra == "dev"
Requires-Dist: gevent (~=23.9); extra == "dev"
Requires-Dist: httpx (~=0.27); extra == "dev"
Requires-Dist: freezegun (~=1.5); extra == "dev"
Requires-Dist: djangorestframework (>=3.8.2); extra == "drf"
Requires-Dist: graphene-django (>=2.2.0); extra == "graphql"
Requires-Dist: django-graphql-jwt (>=0.2.1); extra == "graphql"
Requires-Dist: sentry-sdk (>=1.19.1); extra == "sentry"
Requires-Dist: django-crispy-forms (>=1.4.0); extra == "view-layer"
Provides-Extra: bleacher
Provides-Extra: dev
Provides-Extra: drf
Provides-Extra: graphql
Provides-Extra: sentry
Provides-Extra: view-layer
Description-Content-Type: text/markdown
[Description omitted; length: 6281 characters]

WHEEL

Wheel-Version: 1.0
Generator: flit 3.9.0
Root-Is-Purelib: true
Tag: py2-none-any
Tag: py3-none-any

RECORD

Path Digest Size
ambient_toolbox/__init__.py sha256=MvrvXO4fpdm9bc3UkhbBrvqEpgMIzudASP0QGv5zYtM 120
ambient_toolbox/apps.py sha256=LgiFdX8GiGbHNrxNz6RgZLHiz1SlQ-Z7vT7MivtGe_E 1319
ambient_toolbox/context_manager.py sha256=pdfaMm8laNa6ColVS4vb6rnhlSGrCv7fwSz33wxHpAY 943
ambient_toolbox/context_processors.py sha256=oZ4LnMNZXk4Cm9HJ5o6UXYTyRjrLbVCy4EyYPimVWWg 205
ambient_toolbox/managers.py sha256=dg42IeeK0fDpMG0wDKjUFxw46MZzkFzLpT6w5v_8_Dg 3363
ambient_toolbox/models.py sha256=eesfmJ3N3s0apET_yT8oZ855PJbd0u-Tr19LBVCRFag 3059
ambient_toolbox/admin/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/admin/model_admins/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/admin/model_admins/classes.py sha256=fFibqQM1UsiZUIxjDP47t1qLGBmx9goyUT19zIAhTeI 1644
ambient_toolbox/admin/model_admins/inlines.py sha256=2RqWhBb8I-tVB9xZfMi1_BZsi1op4UOIjXavf9Jxz5E 824
ambient_toolbox/admin/model_admins/mixins.py sha256=oVE2QydzkAqMIUrQgcSqmg3tLqYq8GxMbOwDdgBDm08 5139
ambient_toolbox/admin/views/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/admin/views/forms.py sha256=vkkfbg_4neP7aGqnTwAMi6O1XpO7AOmf2Mvg51UpdGE 1117
ambient_toolbox/admin/views/mixins.py sha256=6113B1Dv31pLK00BeDYDIWZiGxivQfaDLh8ZY5QPvnA 2427
ambient_toolbox/autodiscover/__init__.py sha256=z2nS5mPfMiQFSAnYAKRppJ4Vvz0RVA85hlcRyZUS4sY 129
ambient_toolbox/autodiscover/logger.py sha256=5FYQeAsNiudHkJO5dt6JkFCIRniBFnTB-EPbfCt6eEk 271
ambient_toolbox/autodiscover/registry.py sha256=35HKFFlNMs_NkScf0lQjfG8--cxGkdFxkATxIjM6-24 5392
ambient_toolbox/autodiscover/settings.py sha256=-L4xEsKjKfBSFlC7q4v5VSr5u3Erpb00VaX7rzkoras 1280
ambient_toolbox/autodiscover/utils.py sha256=4808OIoFMq3vBlVBgLf5wODcWIg8UvJ7lwP-tvkRVgY 472
ambient_toolbox/drf/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/drf/fields.py sha256=euvYf9kiQBAQtNBg7oyLPaoHu7QvEljmOfhZ2D0DCA0 1031
ambient_toolbox/drf/serializers.py sha256=B7J0NacadAnYqEwFLzb0rBnPOJqC4f9h-2HYsNUKgXg 1145
ambient_toolbox/drf/tests.py sha256=4e5aMHv10AU0M83i1yqRenwTK4Vuz1zk-5qus6XDmEk 3241
ambient_toolbox/gitlab/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/gitlab/coverage.py sha256=b4M0IJnzaBzr6X94bCijZt1aN0nA42mVPNrPiPQEF6Y 13664
ambient_toolbox/graphql/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/graphql/forms/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/graphql/forms/mutations.py sha256=WYFISEvOqfljNQyfzeMHRMwJ6u-SqeNzhRbotNtwIeM 1684
ambient_toolbox/graphql/schemes/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/graphql/schemes/mutations.py sha256=Stb17fyWX4JTFi43FtEa7gEeFlx_XRH9N-cOKKki1o8 2065
ambient_toolbox/graphql/sentry/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/graphql/sentry/utils.py sha256=3znweUkT44h61wZ9dopVJ0Q_obDu4IQJDOZnkBMMYw0 419
ambient_toolbox/graphql/sentry/views.py sha256=9X5DzfkrDAlTzSXRHvdySgK0KcaiZ-OKuVmjJsn-Jlw 1342
ambient_toolbox/graphql/tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/graphql/tests/base_test.py sha256=EnOlENjBiusYCVa11rV4pKhMODdw9DwFKHjKQ1a4sk0 2193
ambient_toolbox/locale/de/LC_MESSAGES/django.mo sha256=kMjcn9KCN6OY4W1U4qqxhm8qw5i1j7pnkPvAnFSVj9k 1538
ambient_toolbox/locale/de/LC_MESSAGES/django.po sha256=4_-WMjbj0HhQ6M63HJCinLOs24BnxEU4V6sPxjqLIHo 2498
ambient_toolbox/mail/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/mail/backends/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/mail/backends/whitelist_smtp.py sha256=AY7VgLfts-FE7HGqoUssVRZBbO6TBTejeI-r3h9qMts 3232
ambient_toolbox/management/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/management/commands/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/management/commands/create_translation_file.py sha256=nKyPbvdn0vorYzCnq8TZe6k-e6cws0ISh30uKNQgbXU 2050
ambient_toolbox/management/commands/detect_ghost_tables.py sha256=p_WeiMaJYfWjMQsdfKIJBPrvPGDsEzDUbx1lVPvIVSk 838
ambient_toolbox/management/commands/install_permission_fixtures.py sha256=KPoFYMW7Add-zTaX8Tz_VCkDc9DUT3jFJWzlzkKVyyg 1789
ambient_toolbox/management/commands/validate_test_structure.py sha256=Pf6JyelJkAcNvZdaIKDpusOOp0Q_4PkodjweHHJpSWg 303
ambient_toolbox/management/commands/validate_translation_file_integrity.py sha256=PjSNGR7vsFs5h_37meig5nkHs1-iBIsztue4otJcu1g 2973
ambient_toolbox/middleware/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/middleware/current_request.py sha256=8g-phsXm-WEwMgKid8zYhtRgLwxnjXo4vdDTwTCLzUk 919
ambient_toolbox/middleware/current_user.py sha256=citokVC9_06UF1hehxbjDYX4vXnnBJBAzLFGvsVZN4M 1005
ambient_toolbox/mixins/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/mixins/bleacher.py sha256=SBLYMp9NzY74VgO2vI9XfcnKEgSm08zEo5nL86Yo6lk 2518
ambient_toolbox/mixins/models.py sha256=ic0Cio-ijWKoK1BAaXvvfkLR8FUb1UqIQmZQrMehgb4 1378
ambient_toolbox/mixins/validation.py sha256=1yMbidGhIMG2Xi23ZBAiGohDkQysIfLKNDjU2Cb--Xs 246
ambient_toolbox/permissions/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/permissions/fixtures/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/permissions/fixtures/declarations.py sha256=CvYLPTMEw2J74TxLt2MGSKG_ziMr5yhiKImFHuMwV4c 282
ambient_toolbox/permissions/fixtures/helpers.py sha256=8QilgJBi0zaG0KzTd0hlgY3KqhJz4e5X8lmF1VIkHLo 213
ambient_toolbox/permissions/fixtures/services.py sha256=EWGY5utse4a76FlEa9I9oBb13EltqBqh1CNIIzqr1WI 3282
ambient_toolbox/selectors/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/selectors/base.py sha256=ojceJAqEwaIMUfOjcbt5x7j1eS0iQiCDoPk9UT0zlsM 352
ambient_toolbox/selectors/permission.py sha256=Y3ILwFDa78Ji3r-Pced3gJGxKPU-TYyd_IUaZZXliTs 1061
ambient_toolbox/sentry/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/sentry/helpers.py sha256=LBdjEyV4wyjG9XU-kvAl_5auEj8NzuzPL7M7PjuMwag 2239
ambient_toolbox/services/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/services/custom_scrubber.py sha256=6uVYersLAG7EDr3lPlRgwS6ywr4qKdPdABygX-ivUNs 3612
ambient_toolbox/static_role_permissions/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/static_role_permissions/auth_backend.py sha256=hxCQoak2BEbeCjhNxoYe6huShm35MdOav1KyLjJUgLk 1758
ambient_toolbox/static_role_permissions/permissions.py sha256=kk5-cpI_gFK8JrCx-q-npodFrds83T_Il9ZQEX7_J7U 859
ambient_toolbox/static_role_permissions/settings.py sha256=-Ah6rO9enqQn0BBQ4cUZTzasxNKQiKTFkorDzxyw7-o 500
ambient_toolbox/static_role_permissions/system_check.py sha256=DS3HDsOUblJLTH0qCqDgA5vBknchHTUv9ddQyFsfFlY 2130
ambient_toolbox/system_checks/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/system_checks/model_field_name_conventions.py sha256=tzHhlFmKTOA_OD9TUI0Ckaa6IBASTy80OId8Kujyydw 3186
ambient_toolbox/system_checks/model_relation_conventions.py sha256=mqNZfQrtKV5Rc2nyMJSeA7NujlV7COiHrBp1NV6ngq4 2269
ambient_toolbox/templatetags/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/templatetags/ai_date_tags.py sha256=Host-Cj34z_7oItL6t12aBNeVHJb5r5deENHAmtnHTA 242
ambient_toolbox/templatetags/ai_email_tags.py sha256=fshXADF3vCzagXyLeZivbObZP7U3HUIFrESJMjS-pbk 672
ambient_toolbox/templatetags/ai_file_tags.py sha256=4-1tfQJaFZuWuxMBv29PbKlLv6vzD5NMgw-XlcbMmHg 823
ambient_toolbox/templatetags/ai_helper_tags.py sha256=Og7Qu6GlIdvACdxzrsZS04hoTslcrYCeS68DGEjau_M 185
ambient_toolbox/templatetags/ai_number_tags.py sha256=rxHL1_VDyzYAB9bJxh5vRdNPjUhK3PiknIBDvM5hWr0 1224
ambient_toolbox/templatetags/ai_object_tags.py sha256=nrPKiQP4LleZrKEIggYHMMwF2UNbABVTai_nG1MJMeM 384
ambient_toolbox/templatetags/ai_string_tags.py sha256=vYA-WRXSlNxOGgEmnpX2PuzdnmB32O2TEgxHcyJJeMs 654
ambient_toolbox/tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/tests/errors.py sha256=5T6Ld2oDbBqICr1oX-ytQDtcI16l6c97nJygXuW7DRY 58
ambient_toolbox/tests/mixins.py sha256=4gwJ5U-b9hGU7X2Bfg-USxZOWjzizBwafVvmsxqdQBU 5534
ambient_toolbox/tests/structure_validator/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/tests/structure_validator/settings.py sha256=m6J5TCgew7v8POlCOlHa-zJeVXVLteu928WWlLV2tDI 386
ambient_toolbox/tests/structure_validator/test_structure_validator.py sha256=HlnsiOmJ-iIoAIHFVxNIwytbl-tbMDrDR98VgbZemnQ 4634
ambient_toolbox/utils/__init__.py sha256=D33bw_udp_dwpYv6nUgsWplWCXIGB4WdLy1_rxAo7JQ 219
ambient_toolbox/utils/cache.py sha256=3QpUN2M9DoT4SOIVfgepGeGGd-mrjzR7HQaHe7QVqW8 127
ambient_toolbox/utils/date.py sha256=43IejK3i0X14eOyS6bYaFNZPBKXEvhT2CxCFsDPXgQM 7528
ambient_toolbox/utils/file.py sha256=csrQaQInlK96b6DtVUmOQWkLNyEsC9XX9BTVdfNtcZs 1437
ambient_toolbox/utils/log_whodid.py sha256=5FTnZJDjYaMbUtTymjmXaLmXOXtJubud-cN8SEPqCXY 343
ambient_toolbox/utils/math.py sha256=NXrthdzICpdzt-zyKDoVJqbv5BQ5zcVIUDKQQJnVrhM 574
ambient_toolbox/utils/model.py sha256=iggFz4J3-Apljk3FXrrKMt-S-QF6OnttwNMlx2DCB4A 2418
ambient_toolbox/utils/named_tuple.py sha256=6zbB44YiEeMN6IWq9m4EGjPyGJ5LKUxOJLJt7eHiy00 3990
ambient_toolbox/utils/string.py sha256=GtxCmBg_5vv9gzz5vwIPcrpvcYScfFk_fhknOTA8ZZA 3826
ambient_toolbox/validators/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/validators/auth_password/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/validators/auth_password/special_chars.py sha256=0Ou6cxwvCo9F-0KkP6zp2PKCNGfyrPqLZfs2cZ8fdWk 671
ambient_toolbox/view_layer/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/view_layer/form_mixins.py sha256=q6GTHNr7LbxZs000mlgGezaw3nIbNUdV79i9bdrN9jY 750
ambient_toolbox/view_layer/formset_mixins.py sha256=M1BmX_P3yvZx37nrx9H8PRIW_DFvicdUQeNHGs0unyc 485
ambient_toolbox/view_layer/formset_view_mixin.py sha256=QqI77eDCGNgXQ7fZObMG34dZStCrBqcNOZn14JXYAoo 2997
ambient_toolbox/view_layer/htmx_mixins.py sha256=r5mzlGW6kM6gEZ6pPBduQltSO2-fhn08GHcUy-vDTwc 1579
ambient_toolbox/view_layer/mixins.py sha256=RfkfOH_lxm7tg6NyeH7znIehqh4V0nLb1aO4gYrpFvc 2154
ambient_toolbox/view_layer/views.py sha256=Blrf7ttjZ5FksWZVHOa4llQSF207f2Oli7d3_QW06gM 1884
ambient_toolbox/view_layer/tests/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
ambient_toolbox/view_layer/tests/mixins.py sha256=-wW9yBDqDl4mLmGlw7WbdAyJ_lqrSeUoHFVmSMgOJKg 4158
ambient_toolbox-12.1.4.dist-info/LICENSE.md sha256=JqgeTLKCn_5fKQ7CMEKQWtmP6phMmgxjFNXspUCBxgA 1102
ambient_toolbox-12.1.4.dist-info/WHEEL sha256=Sgu64hAMa6g5FdzHxXv9Xdse9yxpGGMeagVtPMWpJQY 99
ambient_toolbox-12.1.4.dist-info/METADATA sha256=OBnp2E8HpWfcslf915JEXic0ajH3ZbBtSnRdmZDkwKc 9047
ambient_toolbox-12.1.4.dist-info/RECORD