PYTHON INTEGRATION
DATAMIMIC Entity Services enable the definition, bundling, and reuse of domain-specific data generation logic—such as for personal data, addresses, internet, or banking.
They allow data dat generation directly through Python code.
Entity Services are parameterized and attribute-driven, similar to entities in Domain Generators (e.g., PersonService
corresponds to a Person
entity).
Basic Usage
Create one object
| from datamimic_ce.domains.common.services import PersonService
# get object service
person_service = PersonService()
# use object service to generate object (Person)
person = person_service.generate()
# get attribute of generated object
name = person.name # Jose Ayers
given_name = person.given_name # Jose
family_name = person.family_name # Ayers
age = person.age # 64
|
Create multi objects (as list)
| person_service = PersonService()
persons = person_service.generate_batch(10)
for person in persons:
name = person.name
given_name = person.given_name
family_name = person.family_name
age = person.age
|
Provided Entity Services
- PersonService
- CountryService
- CityService
- AddressService
- CompanyService
- ProductService
- OrderService
- BankService
- BankAccountService
- CreditCardService
- HospitalService
- DoctorService
- MedicalProcedureService
- MedicalDeviceService
- PatientService
- InsuranceCompanyService
- InsurancePolicyService
- InsuranceCoverageService
- InsuranceProductService
- AdministrationOfficeService
- EducationalInstitutionService
- PoliceOfficerService
Custom Domain Factory
User can create a custom one using DataMimicTestFactory
1
2
3
4
5
6
7
8
9
10
11
12 | <setup>
<!-- customer.xml -->
<generate name="customer" count="10">
<!-- Basic customer info -->
<variable name="person" entity="Person(min_age=21, max_age=67)"/>
<key name="id" generator="IncrementGenerator"/>
<key name="first_name" script="person.given_name"/>
<key name="last_name" script="person.family_name"/>
<key name="email" script="person.email"/>
<key name="status" values="'active', 'inactive', 'pending'"/>
</generate>
</setup>
|
| from datamimic_ce.factory.datamimic_test_factory import DataMimicTestFactory
customer_factory = DataMimicTestFactory("datamimic.xml", "customer")
customer = customer_factory.create()
customer["id"] # 1
customer["first_name"] # Jose
customer["last_name"] # Ayers
|