Edgy

Latest version: v0.23.0

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

Scan your dependencies

Page 1 of 7

0.23.0

Added

- Extension support via Monkay.

Changed

- Rework edgy to use Monkay.
- Imports are now lazy.
- Rework the migrate and shell system to simply use Monkay instance.
- Replace `get_registry_copy` by `get_migration_prepared_registry`.
- Breaking: migration configuration takes place in settings.
- Breaking: EdgyExtra and Migrate are replaced by `edgy.Instance` but are still available.
- Breaking: EdgyExtra is provided by the also obsolete Migrate.
- Breaking: `model_apps` is replaced by `preloads` but still available during the migration time.
- Breaking:
An automatic registration is assumed. See [Connection](connection.md) for examples.
- Breaking: `--app` or `EDGY_DEFAULT_APP` must point to a module which does the self-registration not an app instance anymore.
- Deprecate `edgy.conf.enums.EnvironmentType`. Esmeralds `EnvironmentType` or an own definition should be used instead.
- Deprecate `edgy.conf.module_import.import_string`. Use `monkay.load` instead.

Fixed

- Migrations with ManyToMany fields are broken.
- `get_engine_url_and_metadata` was broken for some operations (thanks kokoserver).
- IPAddressField was not exposed as edgy.IPAddressField.

Removed

- `edgy.conf.functional`. It was only used for configuration and is now superseeded by Monkay.

Contributors

Thanks a lot to kokoserver. He provided a *lot* of valuable bug reports and PRs.

0.22.0

Added

- Global constraints via meta.
- Allow functional indexes.
- Expose further parameters for UniqueConstraints.
- `no_copy` attribute for fields.

Changes

- Breaking: Factories pass now the kwargs as dict to get_pydantic_type, get_column_type, get_constraints.
This allows now modifying the arguments passed down to the field.
- Breaking: init_fields_mapping doesn't initializes the field stats anymore.
- Breaking: model rebuilds are executed lazily when calling init_fields_mapping not when assigning fields manually anymore.

Fixed

- Indexes and unique_together worked only for fields with columns of the same name.
- MigrateConfig has no get_registry_copy.
- Migrations have duplicate fks and crash.
- ContentTypes were not copyable.
- VirtualCascade was not automatically enabled.
- Improve lazyness by splitting in two variable sets.

0.21.2

Added

- PlaceholderField.
- StrictModel which forbids extra attributes.

Changed

- Validate on assignment is enabled.
- IPAddressField uses now pydantic validation and a simplified TypeDecorator.
- URLField is now validated.

Fixed

- Pydantic validators are fixed. Field based ones as well as model based ones.
- `__dict__` was wiped out when intializing a model.

0.21.1

Changed

- Breaking: from_kwargs doesn't require model or table anymore. It is simply ignored.

Fixed

- Q, and_, or_ support now complex kwargs like querysets.
- Failure querying when using proxy model table and kwargs.
- Proxy and main model use now the same tables.
This could have been a problem when filtering against table columns of the proxy table in a query from the main table.
- Queries operate now always on the main model not the proxy model.
- Stacklevel of performance warning was wrong.

0.21.0

Added

- Allow multi schema and database migrations.
- `metadata_by_url` dictionary.

Changed

- `metadata` of `registry` is now `metadata_by_name`.
- `hash_tablekey` uses a faster hash function.
- Migrate object provides now a function for getting a suitable registry copy for migrations.
- Change license to bsd-3.
- Proper deprecate unset autoincrement when using it with primary key. The behavior is already deprecated in the documentation.

Fixed

- `Migrate` executed `refresh_metadata` everytime causing reflected models to vanish.
- Fix edgy wrapping esmerald with the asgi helper causing esmeralds cli to disappear.

0.20.0

Added

- Add DurationField.
- Allow passing `max_digits` to FloatField.
- Add `local_or` function to QuerySets.

Changed

- Only the main table of a queryset is queryable via `model_class.columns.foo == foo`. Select related models have now an unique name for their path.
The name can be retrieved via `tables_and_models` or using `f"{hash_tablekey(...)}_{column}"`.
- Breaking: Alter tables_and_models to use the prefix as key with '' for the maintable and model.
- Breaking: Functions passed to filter functions reveive now a second positional parameter `tables_and_models`.
- `build_where_clause` conditionally uses a subquery.
- Rename QueryType to QuerySetType. The old name stays as an alias.
- The debug property of QuerySet named `sql` inserts now the blanks and uses the dialect.

Fixed

- Triggering load on non-existent field when reflecting.
- InspectDB mapping was incorrect.
- Fix query edge cases.
- Fix using related queries with update/delete.

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.