Protean

Latest version: v0.12.1

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

Scan your dependencies

Page 5 of 7

0.3.1

------------------

* Auto Traverse Domain Modules and load elements

0.3

----------------

* Add a `defaults` method as part of Container objects when assigned defaults in one field based on another
* Add support for Command Handlers
* Avoid raising `ValidationError` when loading data from data stores
* Add support for Elasticsearch as a repository
* Add support for using Redis as a broker with RQ background workers

0.2

-----------------

* New Request Object elements introduced to package information from API/views
* A base Container class introduced for all Protean data objects for uniformity in behavior
* Support for specifying Data Type of auto-generated Identities (String, Integer or UUID)
* Enhancements and fixes for Unit of Work functionality to work well with SQLAlchemy type database plugins
* Unit of Work transactions now control event publishing and release events to the stream only on a successful commit
* A Simplified element registration process to the domain
* Validation bug fixes in Aggregates, Entities and Value Objects
* Fully functional and configurable logs throughout Protean codebase
* Test case restructuring for clarity and isolation of configurations

0.1

----------------

* Full revamp of Protean codebase to adhere to DDD principles
* Add `Domain` Composition root, with support for the definition of multiple domains in a project
* Support for Domain Layer elements: Aggregates, Entities, Value Objects, Domain Services, and Events
* Support for Application Layer elements: Application Services, Data Transfer Objects, Repositories, Subscribers and Serializers
* Support annotations to register elements with Domain
* Complete revamping of Repository layer, and introduction of an underlying DAO layer
* Add Unit of Work capabilities to support ACID transactions
* Collapse SQLAlchemy and Flask implementations in Protean itself temporarily, until API stabilizes
* Rename `success` flag on Response to `is_successful`
* Rename `message` attribute in Response object to `errors` with a uniform structure in all error cases

0.0.11

-------------------

* Rename Repository abstract methods to be public (Ex. `_create_object` → `create`)
* Add `delete_all()` method to Entity to support Repository cleanup
* Add support for `raw` queries on Entity repositories
* Remove requirement for explicit Model definitions for Entities
* Move Model options into Entity `Meta` class
* Support for `pre_save` and `post_save` entity callbacks
* Replace `Pagination` with `ResultSet` because it is at Entity and Use Case level
* Replace `page` and `per_page` with `limit` and `offset`
* Add Command utility to generate Protean project template
* Provide command line utilities for `--version` and `test`
* Bug fix: Handled quotes and escape properly in string values in Dictionary repository
* Add documentation for Overriding Entity Life cycle methods
* Add ability to mark tests as slow and run slow tests in travis

0.0.10

-------------------

* Support for chained `update` and `delete` methods on Queryset
* Support for `update_all` method for mass updates on objects
* Support for `delete_all` method for mass deletion of objects
* Rename databases configuration key in Config file from ``REPOSITORIES`` to ``DATABASES``
* Fully expand the Provider class in configuration file, to avoid assuming a Provider class name
* Split ``Adapter`` class into ``Provider`` and ``Repository``, separating the concern of managing the database connection from performing CRUD operations on Entity data
* Expose configured databases as ``providers`` global variable
* Allow fetching new connection on demand of a new repository object via ``get_connection`` in ``providers``
* Rename ``Lookup`` class to ``BaseLookup``
* Associate Lookups with Concrete Provider classes
* Provide option to fully bake a model class in case it needs to be decorated for a specific database, via the ``get_model`` method in concrete Provider class
* Add support for Entity Namespaces
* Refactor Repository Factory for better consistency of registry

Page 5 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.