b1sl-python 0.1.2__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/Makefile +2 -2
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/PKG-INFO +2 -2
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/README.md +1 -1
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/ROADMAP.md +7 -5
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/pyproject.toml +1 -1
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/__init__.py +6 -10
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/async_client.py +126 -81
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/async_rest_adapter.py +11 -2
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/base_adapter.py +26 -1
- b1sl_python-0.2.0/src/b1sl/b1sl/client.py +339 -0
- b1sl_python-0.2.0/src/b1sl/b1sl/exceptions/__init__.py +19 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/complex_types.py +261 -261
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/businesspartners.py +30 -30
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/finance.py +24 -24
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/general.py +225 -225
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/inventory.py +43 -43
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/production.py +19 -19
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/purchasing.py +3 -3
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/sales.py +16 -16
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/base.py +11 -1
- b1sl_python-0.2.0/src/b1sl/b1sl/resources/async_base.py +150 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/base.py +34 -8
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/odata.py +84 -2
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/rest_adapter.py +11 -2
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/fakes/fake_rest_adapter.py +5 -0
- b1sl_python-0.2.0/tests/unit/test_bool_serialisation.py +276 -0
- b1sl_python-0.2.0/tests/unit/test_model_resolution.py +246 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/test_odata_builder.py +2 -1
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/test_rest_adapter.py +1 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/uv.lock +1 -1
- b1sl_python-0.1.2/scratch/investigate_enum.py +0 -56
- b1sl_python-0.1.2/src/b1sl/b1sl/client.py +0 -133
- b1sl_python-0.1.2/src/b1sl/b1sl/resources/_generated/client_mixin.py +0 -3920
- b1sl_python-0.1.2/src/b1sl/b1sl/resources/async_base.py +0 -60
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/.env.example +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/.github/workflows/ci.yml +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/.github/workflows/publish.yml +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/.gitignore +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/LICENSE +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/configs/dev.json +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/configs/qa.json.example +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/adapter_protocol.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/config.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/config_manager.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/contrib/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/contrib/django/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/contrib/django/middleware/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/contrib/django/middleware/base.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/contrib/django/middleware/odata_decode_middleware.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/contrib/django/middleware/odata_transform_url_middleware.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/entities/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/environment.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/exceptions/exceptions.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/complex_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/businesspartners.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/finance.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/general.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/inventory.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/production.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/purchasing.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/_generated/entities/sales.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/fields/base.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/logging_utils.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/entities/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/enums.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_generated/resources/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/_overrides/inventory.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/odata_query_model.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/paginated_result.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/models/result.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/account_category.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/account_category_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/account_segmentation_categories.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/account_segmentations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/accounts_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/accrual_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/accrual_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/activities.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/activities_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/activity_locations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/activity_recipient_lists.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/activity_recipient_lists_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/activity_statuses.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/activity_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/additional_expenses.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/address_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/alert_managements.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/alternate_cat_num.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/alternative_items_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/approval_requests.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/approval_requests_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/approval_stages.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/approval_stages_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/approval_templates.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/approval_templates_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_capitalization.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_capitalization_credit_memo.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_capitalization_credit_memo_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_capitalization_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_classes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_classes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_depreciation_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_depreciation_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_manual_depreciation.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_manual_depreciation_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_retirement.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_retirement_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_transfer.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/asset_transfer_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/attachments2.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/attribute_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/attribute_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bank_charges_allocation_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bank_charges_allocation_codes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bank_pages.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bank_statements.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bank_statements_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/banks.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bar_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bar_codes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/batch_number_details.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bill_of_exchange_transactions.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bin_location_attributes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bin_location_attributes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bin_location_fields.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bin_location_fields_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bin_locations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bin_locations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/blanket_agreements.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/blanket_agreements_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/boe_document_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/boe_document_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/boe_instructions.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/boe_instructions_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/boe_lines_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/boe_portfolios.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/boe_portfolios_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bp_fiscal_registry_id.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bp_opening_balance_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/bp_priorities.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/branches.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/branches_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/brazil_beverage_indexers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/brazil_beverage_indexers_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/brazil_fuel_indexers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/brazil_fuel_indexers_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/brazil_multi_indexers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/brazil_numeric_indexers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/brazil_string_indexers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/budget_distributions.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/budget_scenarios.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/budgets.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/business_partner_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/business_partner_properties.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/business_partner_properties_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/business_partners.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/business_partners_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/business_places.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/campaign_response_type.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/campaign_response_type_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/campaigns.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/campaigns_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cash_discounts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cash_discounts_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cash_flow_line_items.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cash_flow_line_items_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/certificate_series.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/certificate_series_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/change_logs_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/chart_of_accounts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/check_lines_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/checksfor_payment.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/choose_from_list.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/closing_date_procedure.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cockpits.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cockpits_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/commission_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/company_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/contacts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/contract_templates.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_invoice.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_invoice_reversal.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_invoice_reversal_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_invoice_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_purchase_invoice.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_purchase_invoice_reversal.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_purchase_invoice_reversal_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/correction_purchase_invoice_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cost_center_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cost_center_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cost_element_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cost_elements.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/counties.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/counties_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/countries.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/countries_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/credit_card_payments.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/credit_cards.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/credit_lines_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/credit_notes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/credit_notes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/credit_payment_methods.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/currencies.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/customer_equipment_cards.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/customs_declaration.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/customs_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cycle_count_determinations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/cycle_count_determinations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dashboard_packages_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deductible_tax_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deductible_taxes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deduction_tax_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deduction_tax_hierarchies.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deduction_tax_sub_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deduction_tax_sub_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/delivery_notes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/delivery_notes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/departments.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/departments_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deposits.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/deposits_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/depreciation_areas.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/depreciation_areas_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/depreciation_type_pools.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/depreciation_type_pools_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/depreciation_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/depreciation_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/determination_criterias.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/determination_criterias_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dimensions.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dimensions_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/distribution_rules.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/distribution_rules_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dnf_code_setup.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dnf_code_setup_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/down_payments.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/down_payments_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/drafts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/drafts_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dunning_letters.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dunning_terms.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dunning_terms_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/dynamic_system_strings.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/electronic_communication_action_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/electronic_communication_actions_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/electronic_file_formats.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/electronic_file_formats_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/email_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/email_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_id_type.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_id_type_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_position.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_position_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_roles_setup.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_roles_setup_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_status.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_status_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_transfers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employee_transfers_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employees_info.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employment_category_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/employment_categorys.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/enhanced_discount_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/enhanced_discount_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/exceptional_event_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/exceptional_events.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/extended_translations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/extended_translations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/external_calls_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/external_reconciliations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/fa_account_determinations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/fa_account_determinations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/factoring_indicators.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/financial_years.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/financial_years_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/fiscal_printer.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/fiscal_printer_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/fixed_asset_items_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/form_preferences.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/formatted_searches.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/forms1099.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/gl_account_advanced_rules.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/gl_account_advanced_rules_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/goods_return_request.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/goods_return_request_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/gov_pay_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/gov_pay_codes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/gt_is_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/holidays.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/house_bank_accounts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/incoming_payments.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/india_hsn.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/india_hsn_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/industries.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/integration_packages_configure.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/integration_packages_configure_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/internal_reconciliations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/internal_reconciliations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/intrastat_configuration.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/intrastat_configuration_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_countings.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_countings_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_cycles.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_gen_entries.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_gen_entry_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_gen_exit_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_gen_exits.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_opening_balances.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_opening_balances_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_postings.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_postings_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_transfer_requests.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/inventory_transfer_requests_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/invoices.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/invoices_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/item_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/item_properties.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/items.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/journal_entries.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/journal_entry_document_type_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/journal_entry_document_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/journal_vouchers_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/knowledge_base_solutions.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/kp_is.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/kp_is_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/landed_costs.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/landed_costs_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/landed_costs_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/legal_data.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/length_measures.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/license_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/local_era.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/manufacturers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/material_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/material_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/material_revaluation.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/material_revaluation_fifo_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/material_revaluation_snb_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/messages.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/messages_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/mobile_add_on_setting.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/mobile_add_on_setting_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/mobile_app_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/multi_language_translations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nature_of_assessees.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nature_of_assessees_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/ncm_codes_setup.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/ncm_codes_setup_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nf_models.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nf_models_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nf_tax_categories.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nf_tax_categories_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nota_fiscal_cfop.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nota_fiscal_cst.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/nota_fiscal_usage.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/occurrence_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/occurrence_codes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/orders.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/orders_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/packages_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/partners_setups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/partners_setups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_blocks.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_blocks_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_calculation_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_drafts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_reason_code_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_reason_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_run_export.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_terms_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/payment_terms_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/pick_lists.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/pick_lists_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/pos_daily_summary.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/predefined_texts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/predefined_texts_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/price_lists.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/product_trees.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/production_orders.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/profit_centers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/profit_centers_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/project_management_configuration_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/project_management_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/project_management_time_sheet.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/project_managements.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/projects.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/projects_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_credit_notes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_credit_notes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_delivery_notes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_delivery_notes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_down_payments.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_down_payments_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_invoices.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_invoices_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_orders.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_orders_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_quotations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_quotations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_request_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_requests.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_returns.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_returns_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/purchase_tax_invoices.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/qr_code_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/query_auth_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/query_categories.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/query_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/queue.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/quotations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/quotations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/recurring_transaction_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/relationships.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/report_filter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/report_filter_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/report_layouts_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/report_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/report_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resource_capacities.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resource_capacities_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resource_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resource_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resource_properties.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resource_properties_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resources.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/resources_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/retorno_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/retorno_codes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/return_request.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/return_request_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/returns.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/returns_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/route_stages.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/route_stages_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_forecast.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunities.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_competitors_setup.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_competitors_setup_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_interests_setup.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_interests_setup_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_reasons_setup.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_reasons_setup_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_sources_setup.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_opportunity_sources_setup_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_persons.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_stages.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_tax_authorities.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_tax_authorities_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_tax_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sales_tax_invoices.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sbo_bob_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sections.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/sections_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/self_credit_memo_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/self_credit_memos.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/self_invoice_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/self_invoices.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/serial_number_details.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/series_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_origins.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_origins_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_problem_sub_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_problem_sub_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_problem_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_problem_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_solution_status.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_solution_status_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_status.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_status_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_call_types_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_calls.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_contracts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/service_tax_posting_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/shipping_types.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/short_link_mappings_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/special_prices.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/states.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/states_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/stock_takings.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/stock_transfer_draft_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/stock_transfer_drafts.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/stock_transfer_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/stock_transfers.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/target_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/target_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tax_code_determinations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tax_code_determinations_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tax_code_determinations_tcd.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tax_code_determinations_tcd_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tax_invoice_report.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tax_web_sites.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tax_web_sites_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/teams.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/termination_reason.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/termination_reason_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/territories.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tracking_notes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tracking_notes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/transaction_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/transaction_codes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/transportation_document.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tsr_exceptional_event_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/tsr_exceptional_events.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/unit_of_measurement_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/unit_of_measurement_groups_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/unit_of_measurements.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/unit_of_measurements_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_default_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_fields_md.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_keys_md.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_languages.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_menu_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_objects_md.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_permission_tree.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_queries.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/user_tables_md.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/users.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/users_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/value_mapping.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/value_mapping_communication.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/value_mapping_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/vat_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/vendor_payments.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/w_tax_type_code_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/w_tax_type_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/warehouse_locations.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/warehouse_sublevel_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/warehouse_sublevel_codes_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/warehouses.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_bookmark_tile_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_bookmark_tiles.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_dashboard_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_dashboards.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_form_setting_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_form_settings.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_launchpad_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_launchpads.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_listview_filter_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_listview_filters.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_notification_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_notifications.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_preference_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_preferences.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_recent_activities.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_recent_activity_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_variant_group_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_variant_groups.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_variant_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/web_client_variants.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/weight_measures.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/withholding_tax_codes.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/witholding_tax_definition.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/wizard_payment_methods.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/_generated/workflow_task_service.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/resources/udo.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/testing.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/tests/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/tests/test_01_settings.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/tests/test_02_rest_adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/tests/test_03_items_endpoint.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/tests/test_04_serialnumberdetails_endpoint.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/tests/test_observability.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/b1sl/tests/test_utils.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/contrib/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/contrib/django/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/contrib/django/base.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/contrib/django/odata_decode_middleware.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/contrib/django/odata_transform_url_middleware.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/py.typed +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/client.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/config.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/endpoints/serialnumberdetailodbc.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/exceptions/exceptions.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/main.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/models/result.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/models/serial.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/odbc_adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/tests/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/tests/test_01_settings.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/tests/test_02_odbc_adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/src/b1sl/saphdb/tests/test_04_serialnumberdetails_endpoint.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/conftest.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/fakes/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/fixtures/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/fixtures/mock_responses/items_list.json +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/fixtures/mock_responses/items_single.json +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/fixtures/test_data.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/integration/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/integration/cassettes/test_items_real/test_get_item_real.yaml +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/integration/cassettes/test_items_real/test_list_items_real.yaml +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/integration/conftest.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/integration/test_items_real.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/test_async_adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/test_b1sl_adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/test_middleware.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/test_saphdb_adapter.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/__init__.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/mocks/items_list.json +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/mocks/items_single.json +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/test_dry_run.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/test_items_mock.py +0 -0
- {b1sl_python-0.1.2 → b1sl_python-0.2.0}/tests/unit/test_service_calls.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: b1sl-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: A framework-agnostic Python SDK for SAP Business One Service Layer and SAP HANA. (Unofficial)
|
|
5
5
|
Project-URL: Homepage, https://github.com/operator-ita/b1sl-python
|
|
6
6
|
Project-URL: Repository, https://github.com/operator-ita/b1sl-python
|
|
@@ -48,7 +48,7 @@ Description-Content-Type: text/markdown
|
|
|
48
48
|
# b1sl-python
|
|
49
49
|
### Modern, async-first Python SDK for SAP Business One Service Layer.
|
|
50
50
|
|
|
51
|
-

|
|
52
52
|
|
|
53
53
|
[](https://www.python.org/downloads/)
|
|
54
54
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# b1sl-python
|
|
2
2
|
### Modern, async-first Python SDK for SAP Business One Service Layer.
|
|
3
3
|
|
|
4
|
-

|
|
5
5
|
|
|
6
6
|
[](https://www.python.org/downloads/)
|
|
7
7
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -16,8 +16,10 @@
|
|
|
16
16
|
**Proposal:**
|
|
17
17
|
- Implement a `BatchBuilder` utility that allows queuing operations and submitting them together to drastically reduce HTTP overhead for bulk sync processes.
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
-
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ✅ Recently Completed
|
|
22
|
+
|
|
23
|
+
- **OData Query Builder (Fluent API)**: Implemented Pythonic operator overloading on `F` schema constants.
|
|
24
|
+
- **Example Usage:** `client.items.filter((F.Item.on_hand > 5) & (F.Item.item_name.contains("QUESO")))`
|
|
25
|
+
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "b1sl-python"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.2.0"
|
|
8
8
|
description = "A framework-agnostic Python SDK for SAP Business One Service Layer and SAP HANA. (Unofficial)"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11,<3.13"
|
|
@@ -5,6 +5,7 @@ b1sl.b1sl — SDK for SAP B1 Service Layer (OData).
|
|
|
5
5
|
import logging
|
|
6
6
|
import warnings
|
|
7
7
|
|
|
8
|
+
from b1sl.b1sl import entities
|
|
8
9
|
from b1sl.b1sl.async_client import AsyncB1Client
|
|
9
10
|
from b1sl.b1sl.async_rest_adapter import AsyncRestAdapter
|
|
10
11
|
from b1sl.b1sl.base_adapter import HookContext, ObservabilityConfig
|
|
@@ -17,6 +18,11 @@ from b1sl.b1sl.resources.async_base import AsyncGenericResource
|
|
|
17
18
|
from b1sl.b1sl.resources.base import GenericResource, ODataQuery
|
|
18
19
|
from b1sl.b1sl.rest_adapter import RestAdapter
|
|
19
20
|
|
|
21
|
+
try:
|
|
22
|
+
from b1sl.b1sl import fields # type: ignore
|
|
23
|
+
except ImportError:
|
|
24
|
+
fields = None # type: ignore
|
|
25
|
+
|
|
20
26
|
try:
|
|
21
27
|
from pydantic import ArbitraryTypeWarning
|
|
22
28
|
|
|
@@ -27,16 +33,6 @@ except ImportError:
|
|
|
27
33
|
# Standard library pattern: prevent "No handlers could be found"
|
|
28
34
|
logging.getLogger("b1sl").addHandler(logging.NullHandler())
|
|
29
35
|
|
|
30
|
-
try:
|
|
31
|
-
from b1sl.b1sl import entities # type: ignore
|
|
32
|
-
except ImportError:
|
|
33
|
-
entities = None # type: ignore # Before code generation
|
|
34
|
-
|
|
35
|
-
try:
|
|
36
|
-
from b1sl.b1sl import fields # type: ignore
|
|
37
|
-
except ImportError:
|
|
38
|
-
fields = None # type: ignore
|
|
39
|
-
|
|
40
36
|
__all__ = [
|
|
41
37
|
"AsyncB1Client",
|
|
42
38
|
"B1Client",
|
|
@@ -12,13 +12,8 @@ if TYPE_CHECKING:
|
|
|
12
12
|
Activity,
|
|
13
13
|
BusinessPartner,
|
|
14
14
|
)
|
|
15
|
-
from b1sl.b1sl.models._generated.entities.
|
|
16
|
-
from b1sl.b1sl.models._generated.entities.general import Document, Payment, User
|
|
17
|
-
|
|
18
|
-
# Models for typing convenience aliases
|
|
15
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
19
16
|
from b1sl.b1sl.models._generated.entities.inventory import Item
|
|
20
|
-
from b1sl.b1sl.models._generated.entities.production import ProductionOrder
|
|
21
|
-
from b1sl.b1sl.models._generated.entities.sales import ServiceCall
|
|
22
17
|
from b1sl.b1sl.models.base import B1Model
|
|
23
18
|
from b1sl.b1sl.resources.async_base import AsyncGenericResource
|
|
24
19
|
from b1sl.b1sl.resources.udo import AsyncUDOResource
|
|
@@ -35,6 +30,12 @@ class AsyncB1Client:
|
|
|
35
30
|
AI Role: Recommended for modern web apps.
|
|
36
31
|
Use 'async with AsyncB1Client(config) as b1:' to ensure session cleanup.
|
|
37
32
|
|
|
33
|
+
Concurrency-Elite Aliases (Elite Citizens):
|
|
34
|
+
Only entities with ETag support are exposed as direct properties.
|
|
35
|
+
This ensures state-safety and clear architectural boundaries.
|
|
36
|
+
Objects without ETag support must be accessed via 'get_resource()'
|
|
37
|
+
or 'udo()'.
|
|
38
|
+
|
|
38
39
|
Example:
|
|
39
40
|
async with AsyncB1Client(config) as b1:
|
|
40
41
|
item = await b1.items.get("A0001")
|
|
@@ -59,9 +60,10 @@ class AsyncB1Client:
|
|
|
59
60
|
version (str): API version (defaults to 'v2').
|
|
60
61
|
session_id (str, optional): An existing B1SESSION cookie to reuse.
|
|
61
62
|
"""
|
|
63
|
+
self._logger = logger or logging.getLogger(f"b1sl.{self.__class__.__name__}")
|
|
62
64
|
self._adapter = AsyncRestAdapter(
|
|
63
65
|
config,
|
|
64
|
-
logger=
|
|
66
|
+
logger=self._logger,
|
|
65
67
|
version=version,
|
|
66
68
|
observability=observability,
|
|
67
69
|
session_id=session_id,
|
|
@@ -72,9 +74,6 @@ class AsyncB1Client:
|
|
|
72
74
|
def session_id(self) -> str | None:
|
|
73
75
|
"""
|
|
74
76
|
Retrieves the current SAP session ID.
|
|
75
|
-
|
|
76
|
-
Returns:
|
|
77
|
-
str: B1SESSION cookie value or None.
|
|
78
77
|
"""
|
|
79
78
|
return self._adapter.session_id
|
|
80
79
|
|
|
@@ -96,7 +95,6 @@ class AsyncB1Client:
|
|
|
96
95
|
|
|
97
96
|
Note:
|
|
98
97
|
Use ``with`` (sync CM), **not** ``async with``, even in async code.
|
|
99
|
-
This is correct Python — the CM guards a state variable, not I/O.
|
|
100
98
|
"""
|
|
101
99
|
return self._adapter.dry_run(enabled)
|
|
102
100
|
|
|
@@ -117,7 +115,6 @@ class AsyncB1Client:
|
|
|
117
115
|
async def __aenter__(self) -> AsyncB1Client:
|
|
118
116
|
"""
|
|
119
117
|
Entry point for the async context manager.
|
|
120
|
-
Logins and prepares the session.
|
|
121
118
|
"""
|
|
122
119
|
await self.connect()
|
|
123
120
|
return self
|
|
@@ -125,7 +122,6 @@ class AsyncB1Client:
|
|
|
125
122
|
async def __aexit__(self, exc_type, exc_val, exc_tb) -> None:
|
|
126
123
|
"""
|
|
127
124
|
Exit point for the async context manager.
|
|
128
|
-
Ensures logout and connection pool cleanup.
|
|
129
125
|
"""
|
|
130
126
|
await self.aclose()
|
|
131
127
|
|
|
@@ -149,145 +145,194 @@ class AsyncB1Client:
|
|
|
149
145
|
return DynamicResource(self._adapter)
|
|
150
146
|
|
|
151
147
|
# --------------------------------------------------------------------------
|
|
152
|
-
#
|
|
148
|
+
# Concurrency-Elite Aliases (First-Class Citizens with ETag support)
|
|
153
149
|
# --------------------------------------------------------------------------
|
|
154
150
|
|
|
151
|
+
# --- Master Data ---
|
|
152
|
+
|
|
155
153
|
@property
|
|
156
154
|
def items(self) -> "AsyncGenericResource[Item]":
|
|
157
|
-
"""
|
|
158
|
-
from b1sl.b1sl.models._generated.entities
|
|
159
|
-
|
|
155
|
+
"""Access the 'Items' entity (supports ETags)."""
|
|
156
|
+
from b1sl.b1sl.models._generated.entities import Item
|
|
160
157
|
return self.get_resource(Item, "Items")
|
|
161
158
|
|
|
162
159
|
@property
|
|
163
160
|
def business_partners(self) -> "AsyncGenericResource[BusinessPartner]":
|
|
164
|
-
"""
|
|
165
|
-
from b1sl.b1sl.models._generated.entities
|
|
166
|
-
BusinessPartner,
|
|
167
|
-
)
|
|
168
|
-
|
|
161
|
+
"""Access the 'BusinessPartners' entity (supports ETags)."""
|
|
162
|
+
from b1sl.b1sl.models._generated.entities import BusinessPartner
|
|
169
163
|
return self.get_resource(BusinessPartner, "BusinessPartners")
|
|
170
164
|
|
|
171
165
|
@property
|
|
172
|
-
def
|
|
173
|
-
"""
|
|
174
|
-
from b1sl.b1sl.models._generated.entities
|
|
166
|
+
def activities(self) -> "AsyncGenericResource[Activity]":
|
|
167
|
+
"""Access the 'Activities' entity (supports ETags)."""
|
|
168
|
+
from b1sl.b1sl.models._generated.entities import Activity
|
|
169
|
+
return self.get_resource(Activity, "Activities")
|
|
175
170
|
|
|
176
|
-
|
|
171
|
+
# --- Sales Documents ---
|
|
177
172
|
|
|
178
173
|
@property
|
|
179
174
|
def quotations(self) -> "AsyncGenericResource[Document]":
|
|
180
|
-
"""
|
|
175
|
+
"""Access the 'Quotations' entity (supports ETags)."""
|
|
181
176
|
from b1sl.b1sl.models._generated.entities.general import Document
|
|
182
|
-
|
|
183
177
|
return self.get_resource(Document, "Quotations")
|
|
184
178
|
|
|
185
179
|
@property
|
|
186
180
|
def orders(self) -> "AsyncGenericResource[Document]":
|
|
187
|
-
"""
|
|
181
|
+
"""Access the 'Orders' entity (supports ETags)."""
|
|
188
182
|
from b1sl.b1sl.models._generated.entities.general import Document
|
|
189
|
-
|
|
190
183
|
return self.get_resource(Document, "Orders")
|
|
191
184
|
|
|
192
185
|
@property
|
|
193
186
|
def delivery_notes(self) -> "AsyncGenericResource[Document]":
|
|
194
|
-
"""
|
|
187
|
+
"""Access the 'DeliveryNotes' entity (supports ETags)."""
|
|
195
188
|
from b1sl.b1sl.models._generated.entities.general import Document
|
|
196
|
-
|
|
197
189
|
return self.get_resource(Document, "DeliveryNotes")
|
|
198
190
|
|
|
199
191
|
@property
|
|
200
|
-
def
|
|
201
|
-
"""
|
|
192
|
+
def invoices(self) -> "AsyncGenericResource[Document]":
|
|
193
|
+
"""Access the 'Invoices' entity (supports ETags)."""
|
|
202
194
|
from b1sl.b1sl.models._generated.entities.general import Document
|
|
203
|
-
|
|
204
|
-
return self.get_resource(Document, "PurchaseOrders")
|
|
195
|
+
return self.get_resource(Document, "Invoices")
|
|
205
196
|
|
|
206
197
|
@property
|
|
207
|
-
def
|
|
208
|
-
"""
|
|
198
|
+
def returns(self) -> "AsyncGenericResource[Document]":
|
|
199
|
+
"""Access the 'Returns' entity (supports ETags)."""
|
|
209
200
|
from b1sl.b1sl.models._generated.entities.general import Document
|
|
201
|
+
return self.get_resource(Document, "Returns")
|
|
210
202
|
|
|
211
|
-
|
|
203
|
+
@property
|
|
204
|
+
def return_request(self) -> "AsyncGenericResource[Document]":
|
|
205
|
+
"""Access the 'ReturnRequest' entity (supports ETags)."""
|
|
206
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
207
|
+
return self.get_resource(Document, "ReturnRequest")
|
|
212
208
|
|
|
213
209
|
@property
|
|
214
|
-
def
|
|
215
|
-
"""
|
|
210
|
+
def credit_notes(self) -> "AsyncGenericResource[Document]":
|
|
211
|
+
"""Access the 'CreditNotes' entity (supports ETags)."""
|
|
216
212
|
from b1sl.b1sl.models._generated.entities.general import Document
|
|
213
|
+
return self.get_resource(Document, "CreditNotes")
|
|
217
214
|
|
|
218
|
-
|
|
215
|
+
@property
|
|
216
|
+
def down_payments(self) -> "AsyncGenericResource[Document]":
|
|
217
|
+
"""Access the 'DownPayments' entity (supports ETags)."""
|
|
218
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
219
|
+
return self.get_resource(Document, "DownPayments")
|
|
219
220
|
|
|
220
221
|
@property
|
|
221
|
-
def
|
|
222
|
-
"""
|
|
223
|
-
from b1sl.b1sl.models._generated.entities.general import
|
|
222
|
+
def goods_return_request(self) -> "AsyncGenericResource[Document]":
|
|
223
|
+
"""Access the 'GoodsReturnRequest' entity (supports ETags)."""
|
|
224
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
225
|
+
return self.get_resource(Document, "GoodsReturnRequest")
|
|
226
|
+
|
|
227
|
+
# --- Purchasing Documents ---
|
|
224
228
|
|
|
225
|
-
|
|
229
|
+
@property
|
|
230
|
+
def purchase_requests(self) -> "AsyncGenericResource[Document]":
|
|
231
|
+
"""Access the 'PurchaseRequests' entity (supports ETags)."""
|
|
232
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
233
|
+
return self.get_resource(Document, "PurchaseRequests")
|
|
226
234
|
|
|
227
235
|
@property
|
|
228
|
-
def
|
|
229
|
-
"""
|
|
230
|
-
from b1sl.b1sl.models._generated.entities.general import
|
|
236
|
+
def purchase_quotations(self) -> "AsyncGenericResource[Document]":
|
|
237
|
+
"""Access the 'PurchaseQuotations' entity (supports ETags)."""
|
|
238
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
239
|
+
return self.get_resource(Document, "PurchaseQuotations")
|
|
231
240
|
|
|
232
|
-
|
|
241
|
+
@property
|
|
242
|
+
def purchase_orders(self) -> "AsyncGenericResource[Document]":
|
|
243
|
+
"""Access the 'PurchaseOrders' entity (supports ETags)."""
|
|
244
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
245
|
+
return self.get_resource(Document, "PurchaseOrders")
|
|
233
246
|
|
|
234
247
|
@property
|
|
235
|
-
def
|
|
236
|
-
"""
|
|
237
|
-
from b1sl.b1sl.models._generated.entities.general import
|
|
248
|
+
def purchase_delivery_notes(self) -> "AsyncGenericResource[Document]":
|
|
249
|
+
"""Access the 'PurchaseDeliveryNotes' entity (supports ETags)."""
|
|
250
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
251
|
+
return self.get_resource(Document, "PurchaseDeliveryNotes")
|
|
238
252
|
|
|
239
|
-
|
|
253
|
+
@property
|
|
254
|
+
def purchase_invoices(self) -> "AsyncGenericResource[Document]":
|
|
255
|
+
"""Access the 'PurchaseInvoices' entity (supports ETags)."""
|
|
256
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
257
|
+
return self.get_resource(Document, "PurchaseInvoices")
|
|
240
258
|
|
|
241
|
-
|
|
259
|
+
@property
|
|
260
|
+
def purchase_returns(self) -> "AsyncGenericResource[Document]":
|
|
261
|
+
"""Access the 'PurchaseReturns' entity (supports ETags)."""
|
|
262
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
263
|
+
return self.get_resource(Document, "PurchaseReturns")
|
|
242
264
|
|
|
243
265
|
@property
|
|
244
|
-
def
|
|
245
|
-
"""
|
|
246
|
-
from b1sl.b1sl.models._generated.entities.
|
|
266
|
+
def purchase_credit_notes(self) -> "AsyncGenericResource[Document]":
|
|
267
|
+
"""Access the 'PurchaseCreditNotes' entity (supports ETags)."""
|
|
268
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
269
|
+
return self.get_resource(Document, "PurchaseCreditNotes")
|
|
247
270
|
|
|
248
|
-
|
|
271
|
+
@property
|
|
272
|
+
def purchase_down_payments(self) -> "AsyncGenericResource[Document]":
|
|
273
|
+
"""Access the 'PurchaseDownPayments' entity (supports ETags)."""
|
|
274
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
275
|
+
return self.get_resource(Document, "PurchaseDownPayments")
|
|
249
276
|
|
|
250
|
-
# ---
|
|
277
|
+
# --- Inventory & Specialized ---
|
|
251
278
|
|
|
252
279
|
@property
|
|
253
|
-
def
|
|
254
|
-
"""
|
|
255
|
-
from b1sl.b1sl.models._generated.entities.
|
|
280
|
+
def inventory_gen_entries(self) -> "AsyncGenericResource[Document]":
|
|
281
|
+
"""Access the 'InventoryGenEntries' entity (supports ETags)."""
|
|
282
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
283
|
+
return self.get_resource(Document, "InventoryGenEntries")
|
|
256
284
|
|
|
257
|
-
|
|
285
|
+
@property
|
|
286
|
+
def inventory_gen_exits(self) -> "AsyncGenericResource[Document]":
|
|
287
|
+
"""Access the 'InventoryGenExits' entity (supports ETags)."""
|
|
288
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
289
|
+
return self.get_resource(Document, "InventoryGenExits")
|
|
258
290
|
|
|
259
|
-
|
|
291
|
+
@property
|
|
292
|
+
def drafts(self) -> "AsyncGenericResource[Document]":
|
|
293
|
+
"""Access the 'Drafts' entity (supports ETags)."""
|
|
294
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
295
|
+
return self.get_resource(Document, "Drafts")
|
|
260
296
|
|
|
261
297
|
@property
|
|
262
|
-
def
|
|
263
|
-
"""
|
|
264
|
-
from b1sl.b1sl.models.
|
|
298
|
+
def additional_expenses(self) -> "AsyncGenericResource[B1Model]":
|
|
299
|
+
"""Access the 'AdditionalExpenses' entity (supports ETags)."""
|
|
300
|
+
from b1sl.b1sl.models.base import B1Model
|
|
301
|
+
return self.get_resource(B1Model, "AdditionalExpenses")
|
|
265
302
|
|
|
266
|
-
|
|
303
|
+
# --- Correction marketing documents ---
|
|
267
304
|
|
|
268
|
-
|
|
305
|
+
@property
|
|
306
|
+
def correction_invoice(self) -> "AsyncGenericResource[Document]":
|
|
307
|
+
"""Access the 'CorrectionInvoice' entity (supports ETags)."""
|
|
308
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
309
|
+
return self.get_resource(Document, "CorrectionInvoice")
|
|
269
310
|
|
|
270
311
|
@property
|
|
271
|
-
def
|
|
272
|
-
"""
|
|
273
|
-
from b1sl.b1sl.models._generated.entities.
|
|
312
|
+
def correction_invoice_reversal(self) -> "AsyncGenericResource[Document]":
|
|
313
|
+
"""Access the 'CorrectionInvoiceReversal' entity (supports ETags)."""
|
|
314
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
315
|
+
return self.get_resource(Document, "CorrectionInvoiceReversal")
|
|
274
316
|
|
|
275
|
-
|
|
317
|
+
@property
|
|
318
|
+
def correction_purchase_invoice(self) -> "AsyncGenericResource[Document]":
|
|
319
|
+
"""Access the 'CorrectionPurchaseInvoice' entity (supports ETags)."""
|
|
320
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
321
|
+
return self.get_resource(Document, "CorrectionPurchaseInvoice")
|
|
322
|
+
|
|
323
|
+
@property
|
|
324
|
+
def correction_purchase_invoice_reversal(self) -> "AsyncGenericResource[Document]":
|
|
325
|
+
"""Access the 'CorrectionPurchaseInvoiceReversal' entity (supports ETags)."""
|
|
326
|
+
from b1sl.b1sl.models._generated.entities.general import Document
|
|
327
|
+
return self.get_resource(Document, "CorrectionPurchaseInvoiceReversal")
|
|
276
328
|
|
|
277
329
|
def udo(self, table_name: str) -> "AsyncUDOResource":
|
|
278
330
|
"""
|
|
279
331
|
Asynchronously access a User Defined Object (UDO) or User Table.
|
|
280
332
|
|
|
281
333
|
AI Role: Dynamic accessor for entities not pre-defined in the client.
|
|
282
|
-
|
|
283
|
-
Args:
|
|
284
|
-
table_name (str): The UDO name in SAP B1.
|
|
285
|
-
|
|
286
|
-
Returns:
|
|
287
|
-
AsyncUDOResource: A resource object bound to the UDO.
|
|
288
334
|
"""
|
|
289
335
|
from b1sl.b1sl.resources.udo import AsyncUDOResource
|
|
290
|
-
|
|
291
336
|
return AsyncUDOResource(adapter=self._adapter, table_name=table_name)
|
|
292
337
|
|
|
293
338
|
|
|
@@ -275,7 +275,10 @@ class AsyncRestAdapter(BaseRestAdapter):
|
|
|
275
275
|
self._raise_if_concurrency_error(
|
|
276
276
|
e.response.status_code, sap_code, sap_msg, endpoint_path, body
|
|
277
277
|
)
|
|
278
|
-
|
|
278
|
+
|
|
279
|
+
# Use specialized exception based on status code if available
|
|
280
|
+
exc_cls = _HTTP_STATUS_TO_EXC.get(e.response.status_code, B1Exception)
|
|
281
|
+
raise exc_cls(f"SAP Error {sap_code}: {sap_msg}", details=body) from e
|
|
279
282
|
except Exception as e:
|
|
280
283
|
exc_captured = e
|
|
281
284
|
raise B1Exception(f"Request failed: {e}") from e
|
|
@@ -290,6 +293,10 @@ class AsyncRestAdapter(BaseRestAdapter):
|
|
|
290
293
|
duration_ms = (time.perf_counter() - start_time) * 1000
|
|
291
294
|
status_code = response.status_code if response is not None else None
|
|
292
295
|
|
|
296
|
+
# Prepare context extras
|
|
297
|
+
context_extras = dict(self._obs.context_extras)
|
|
298
|
+
context_extras["is_dry_run"] = self._dry_run_active and http_method in {"POST", "PATCH", "DELETE"} and not _is_login
|
|
299
|
+
|
|
293
300
|
ctx = HookContext(
|
|
294
301
|
req_id=req_id,
|
|
295
302
|
http_method=http_method,
|
|
@@ -300,7 +307,9 @@ class AsyncRestAdapter(BaseRestAdapter):
|
|
|
300
307
|
user=self._username,
|
|
301
308
|
status_code=status_code,
|
|
302
309
|
duration_ms=duration_ms,
|
|
303
|
-
|
|
310
|
+
payload=log_data if http_method in {"POST", "PATCH"} else None,
|
|
311
|
+
if_match=headers.get("If-Match"),
|
|
312
|
+
extra=context_extras,
|
|
304
313
|
exc=exc_captured,
|
|
305
314
|
)
|
|
306
315
|
|
|
@@ -7,6 +7,7 @@ from typing import TYPE_CHECKING
|
|
|
7
7
|
if TYPE_CHECKING:
|
|
8
8
|
from b1sl.b1sl.config import B1Config
|
|
9
9
|
import asyncio
|
|
10
|
+
import json
|
|
10
11
|
import logging
|
|
11
12
|
import uuid
|
|
12
13
|
from collections import OrderedDict
|
|
@@ -56,6 +57,8 @@ class HookContext:
|
|
|
56
57
|
user: str
|
|
57
58
|
status_code: Optional[int] # None if network exception occurred
|
|
58
59
|
duration_ms: float
|
|
60
|
+
payload: Optional[Dict[str, Any]] = None # Redacted request body
|
|
61
|
+
if_match: Optional[str] = None # ETag sent in If-Match
|
|
59
62
|
extra: Dict[str, Any] = field(default_factory=dict)
|
|
60
63
|
exc: Optional[Exception] = None
|
|
61
64
|
|
|
@@ -75,6 +78,8 @@ class HookContext:
|
|
|
75
78
|
"user": self.user,
|
|
76
79
|
"status_code": self.status_code,
|
|
77
80
|
"duration_ms": round(self.duration_ms, 3),
|
|
81
|
+
"payload": self.payload,
|
|
82
|
+
"if_match": self.if_match,
|
|
78
83
|
**self.extra,
|
|
79
84
|
}
|
|
80
85
|
|
|
@@ -390,6 +395,19 @@ class BaseRestAdapter:
|
|
|
390
395
|
|
|
391
396
|
clean_endpoint = ctx.endpoint.lstrip("/")
|
|
392
397
|
msg = f"[{ctx.req_id}][{ctx.user}] [{ctx.http_method} /{clean_endpoint}]{status_label} ({ctx.duration_ms:.1f}ms){slow_label}"
|
|
398
|
+
|
|
399
|
+
# In Dry Run or Debug mode, we might want to see the body in the main message
|
|
400
|
+
meta_info = []
|
|
401
|
+
if ctx.if_match:
|
|
402
|
+
meta_info.append(f"ETag: {ctx.if_match}")
|
|
403
|
+
|
|
404
|
+
if ctx.extra.get("is_dry_run") and ctx.payload:
|
|
405
|
+
payload_str = json.dumps(ctx.payload)
|
|
406
|
+
meta_info.append(f"Body: {payload_str}")
|
|
407
|
+
|
|
408
|
+
if meta_info:
|
|
409
|
+
msg += f" | {' | '.join(meta_info)}"
|
|
410
|
+
|
|
393
411
|
self._logger.log(level, msg, extra=ctx.to_log_extra())
|
|
394
412
|
|
|
395
413
|
# ── URL Helpers ──────────────────────────────────────────────────────── #
|
|
@@ -419,7 +437,13 @@ class BaseRestAdapter:
|
|
|
419
437
|
return "unknown", http_fallback
|
|
420
438
|
|
|
421
439
|
error_node = body.get("error")
|
|
422
|
-
if not error_node
|
|
440
|
+
if not error_node:
|
|
441
|
+
return "unknown", http_fallback
|
|
442
|
+
|
|
443
|
+
if isinstance(error_node, str):
|
|
444
|
+
return "unknown", error_node
|
|
445
|
+
|
|
446
|
+
if not isinstance(error_node, dict):
|
|
423
447
|
return "unknown", http_fallback
|
|
424
448
|
|
|
425
449
|
sap_code = str(error_node.get("code", "unknown"))
|
|
@@ -435,3 +459,4 @@ class BaseRestAdapter:
|
|
|
435
459
|
sap_message = http_fallback
|
|
436
460
|
|
|
437
461
|
return sap_code, sap_message
|
|
462
|
+
|