Pytoolbox

Latest version: v14.8.5

Safety actively analyzes 714860 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 11

10.4.0

Not secure
Features

* Add module `django.models.metaclass`
* Add module `django.views.utils`
* Add module `enum`
* Add modules in `multimedia.exif`:
* `brand`
* `camera`
* `equipement`
* `image`
* `lens`
* `photo`
* `tag`
* Add module `rest_framework.metadata.mixins`
* Add mixin `django.models.mixins.PublicMetaMixin`
* Add decorator `decorators.cached_property`
* Add decorator `decorators.hybridmethod`
* Add functions in `django.models.utils`:
* `get_related_manager`
* `get_related_model`
* `try_get_field`
* Add function `types.get_properties`

Fixes and enhancements

* Handle 24h+ hour format in `datetime.str_to_datetime`
* Module `django.forms.utils` imports from `django.forms.utils` module
* Fix `ReloadMixin` popping update_fields!
* Refactor class `multimedia.exif.metadata.Metadata` (use newest classes)
* Split module `multimedia.ffmpeg`
* Fix `ffmpeg`'s' `mock` class

10.3.0

Compatibility breaks

* Remove module `rest_framework.v2`
* Refactor (optimize) `unittest.FilterByTagsMixin`

Minor compatibility breaks

* Rename module `exception` to `exceptions`
* Rename module `rest_framework.v3` to `rest_framework`
* Rename some attributes of `multimedia.ffmpeg` classes

Features

* Add many modules:
* `atlassian`
* `itertools`
* `module` (yes!)
* `selenium`
* `signals`
* `states`
* `string`
* `voluptuous`
* Add class `argparse.Range`
* Add function `argparse.multiple`
* Add function `collections.{merge_dicts, swap_dict_of_values}`
* Add decorator `decorators.run_once`
* Add modules and mixins in `django\*` module
* Add value `encoding.binary_type`
* Add function `humanize.naturalfrequency`
* Add function `types.isiterable`
* Add classes `types.{DummyObject,MissingType}`
* Add object `types.Missing instance of MissingType`
* Add mixins `unittest.{InMixin,InspectMixin}`
* Add class `unittest.Asserts`
* Add object `unittest.asserts`

Fixes and enhancements

* Countless fixes and enhancements
* Follow `os.path` import best practices
* Make `multimedia.ffmpeg` private functions public

10.2.0

Compatibility breaks

* Add `EncodeStatistics` and refactor `FFmpeg.encode()`

Minor compatibility breaks

* Merge `django.template` tags & filters into 1 file
* Split `FFmpeg` class to `FFmpeg` + `FFprobe` classes

Features

* Add module `django.exceptions`
* Add `static_abspath` Django template tag
* Add class `django.forms.mixins.EnctypeMixin`
* Add class `django.models.mixins.AlwaysUpdateFieldsMixin`
* Add class `django.models.mixins.AutoForceInsertMixin`
* Add class `django.models.mixins.AutoUpdateFieldsMixin`
* Add class `django.models.mixins.MapUniqueTogetherIntegrityErrorToValidationErrorMixin`
* Add class `django.models.mixins.RelatedModelMixin`
* Add class `django.models.mixins.UpdatePreconditionsMixin`
* Add class `django.storage.ExpressTemporaryFileMixin`
* Add class `django.test.mixins.FormWizardMixin`
* Add class `django.views.mixins.InitialMixin`
* Add class `logging.ColorizeFilter`
* Add function `collections.flatten_dict`
* Add function `datetime.multiply_time`

Fixes and enhancements

* Avoid hardcoding `\n`
* Module `console`: Write to given stream
* Module `datetime`: Make API more consistent
* Module `multimedia.ffmpeg`:
* Split `FFmpeg` class in `FFmpeg` and `FFprobe`
* Add `EncodeState` & `EncodeStatistics` classes
* Do some analysis before launching `ffmpeg` subprocess
* Fix progress if sub-clipping
* Improve handling of `media` argument
* Miscellaneous improvements
* Module `subprocess`: Import Popen from psutil if available
* Refactor function `django.signals.create_site`

10.0.0

Compatibility breaks

* Method `multimedia.ffmpeg.FFmpeg.encode` always yields at start

Features

* Add some mixins in `rest_framework.v*.views.mixins`

Fixes and enhancements

* Add class `multimedia.ffmpeg.EncodingState`

9.7.2

Minor compatibility breaks

* Function `filesystem.get_bytes` returns a generator
* Rename all functions with `_to_` instead of `2` (e.g. `str2time` -> `str_to_time`)
* Rename some methods of the class `ffmpeg.FFmpeg`
* Change signature of `console` module's functions

Features

* Add module `comparison`
* Add module `regex`
* Add module `types`
* Add class `filesystem.TempStorage`
* Add function `exception.get_exception_with_traceback`
* Add function `humanize.natural_int_key`
* Add function `console.progress_bar`

Fixes and enhancements

* Add `streams` methods to `ffmpeg.FFmpeg`
* Improve `ffmpeg` module (add `Media` class for inputs/outputs)
* Improve `network.http.download_ext` (Can download in chunks + progress callback)
* Improve `filesystem.get_bytes` + `crypto.*` to read a file in chunks (if `chunk_size` is set)

9.4.2

Features

* Add module `humanize`
* Add module `django.models.query.mixins`
* Add module `django.test.runner.mixins`

Fixes and enhancements

* Add `__all__` to make the API explicit
* Add method `get_media_framerate` to `FFmpeg` class
* Add module `private` (with `_parse_kwargs_string`)
* `network` module: Cleaner usage of `string.format()`
* Refactor module `humanize` + add `naturalfilesize`
* Improve `humanize` functions to handle `[0-1]` range + big numbers

Page 8 of 11

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.