معرفی شرکت ها


eventsourcing-axonserver-0.1.5


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Python package for eventsourcing with Axon Server
ویژگی مقدار
سیستم عامل -
نام فایل eventsourcing-axonserver-0.1.5
نام eventsourcing-axonserver
نسخه کتابخانه 0.1.5
نگهدارنده []
ایمیل نگهدارنده []
نویسنده John Bywater
ایمیل نویسنده john.bywater@appropriatesoftware.net
آدرس صفحه اصلی https://github.com/pyeventsourcing/eventsourcing-axonserver
آدرس اینترنتی https://pypi.org/project/eventsourcing-axonserver/
مجوز BSD 3-Clause
# Event Sourcing with Axon Server This package supports using the Python [eventsourcing](https://github.com/pyeventsourcing/eventsourcing) library with [Axon Server](https://developer.axoniq.io/axon-server). ## Installation Use pip to install the stable distribution from the Python Package Index. $ pip install eventsourcing-axonserver Please note, it is recommended to install Python packages into a Python virtual environment. ## Getting started Define aggregates and applications in the usual way. Please note, aggregate sequences in Axon Server are expected to start from position `0`, whereas the default for the library's `Aggregate` class is to start from `1`. So we need to set the `INITIAL_VERSION` attribute on the aggregate class to `0`. ```python from typing import Any, Dict from uuid import UUID from eventsourcing.application import Application from eventsourcing.domain import Aggregate, event class TrainingSchool(Application): def register(self, name: str) -> UUID: dog = Dog(name) self.save(dog) return dog.id def add_trick(self, dog_id: UUID, trick: str) -> None: dog = self.repository.get(dog_id) dog.add_trick(trick) self.save(dog) def get_dog(self, dog_id) -> Dict[str, Any]: dog = self.repository.get(dog_id) return {'name': dog.name, 'tricks': tuple(dog.tricks)} class Dog(Aggregate): INITIAL_VERSION = 0 @event('Registered') def __init__(self, name: str) -> None: self.name = name self.tricks = [] @event('TrickAdded') def add_trick(self, trick: str) -> None: self.tricks.append(trick) ``` Configure the application to use Axon Server. Set environment variable `PERSISTENCE_MODULE` to `'eventsourcing_axonserver'`, and set `AXONSERVER_URI` to the host and port of your Axon Server. ```python school = TrainingSchool(env={ "PERSISTENCE_MODULE": "eventsourcing_axonserver", "AXONSERVER_URI": "localhost:8124", }) ``` The application's methods may be then called, from tests and user interfaces. ```python # Register dog. dog_id = school.register('Fido') # Add tricks. school.add_trick(dog_id, 'roll over') school.add_trick(dog_id, 'play dead') # Get details. dog = school.get_dog(dog_id) assert dog["name"] == 'Fido' assert dog["tricks"] == ('roll over', 'play dead') ``` For more information, please refer to the Python [eventsourcing](https://github.com/johnbywater/eventsourcing) library and the [Axon Server](https://developer.axoniq.io/axon-server) project. ## Developers Clone the [project repository](https://github.com/johnbywater/eventsourcing), set up a virtual environment, and install dependencies. Use your IDE (e.g. PyCharm) to open the project repository. Create a Poetry virtual environment, and then update packages. $ make update-packages Alternatively, use the ``make install`` command to create a dedicated Python virtual environment for this project. $ make install Start Axon Server. $ make start-axon-server Run tests. $ make test Add tests in `./tests`. Add code in `./eventsourcing_axonserver`. Check the formatting of the code. $ make lint Reformat the code. $ make fmt Add dependencies in `pyproject.toml` and then update installed packages. $ make update-packages Stop Axon Server. $ make stop-axon-server


نیازمندی

مقدار نام
>=9.2.12,<9.3.0 eventsourcing
>=0.1.2,<0.2.0 axonclient


زبان مورد نیاز

مقدار نام
>=3.7,<4.0 Python


نحوه نصب


نصب پکیج whl eventsourcing-axonserver-0.1.5:

    pip install eventsourcing-axonserver-0.1.5.whl


نصب پکیج tar.gz eventsourcing-axonserver-0.1.5:

    pip install eventsourcing-axonserver-0.1.5.tar.gz