yaci-client 1.0.1__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.
- yaci_client-1.0.1/LICENSE +21 -0
- yaci_client-1.0.1/PKG-INFO +202 -0
- yaci_client-1.0.1/README.md +172 -0
- yaci_client-1.0.1/pyproject.toml +135 -0
- yaci_client-1.0.1/pyproject.toml.orig +113 -0
- yaci_client-1.0.1/yaci_client/__init__.py +10 -0
- yaci_client-1.0.1/yaci_client/api/__init__.py +1 -0
- yaci_client-1.0.1/yaci_client/api/account_api/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/account_api/get_address_amounts.py +160 -0
- yaci_client-1.0.1/yaci_client/api/account_api/get_address_balance.py +147 -0
- yaci_client-1.0.1/yaci_client/api/account_api/get_address_balance_at_time.py +173 -0
- yaci_client-1.0.1/yaci_client/api/account_api/get_stake_account_details.py +159 -0
- yaci_client-1.0.1/yaci_client/api/account_api/get_stake_address_balance.py +147 -0
- yaci_client-1.0.1/yaci_client/api/account_api/get_stake_address_balance_at_time.py +160 -0
- yaci_client-1.0.1/yaci_client/api/account_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/account_service/get_stake_de_registrations.py +179 -0
- yaci_client-1.0.1/yaci_client/api/account_service/get_stake_delegations.py +175 -0
- yaci_client-1.0.1/yaci_client/api/account_service/get_stake_registrations.py +179 -0
- yaci_client-1.0.1/yaci_client/api/account_service/get_withdrawals_by_account.py +196 -0
- yaci_client-1.0.1/yaci_client/api/address_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/address_service/get_utxos_1.py +212 -0
- yaci_client-1.0.1/yaci_client/api/address_service/get_utxos_for_asset.py +229 -0
- yaci_client-1.0.1/yaci_client/api/asset_api/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/asset_api/get_addresses_by_asset.py +207 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_asset_txs_by_fingerprint.py +196 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_asset_txs_by_policy_id.py +196 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_asset_txs_by_tx.py +160 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_asset_txs_by_unit.py +196 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_asset_utxos.py +216 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_supply_by_fingerprint.py +155 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_supply_by_policy.py +155 -0
- yaci_client-1.0.1/yaci_client/api/asset_service/get_supply_by_unit.py +155 -0
- yaci_client-1.0.1/yaci_client/api/block_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/block_service/get_block_by_number.py +155 -0
- yaci_client-1.0.1/yaci_client/api/block_service/get_blocks.py +178 -0
- yaci_client-1.0.1/yaci_client/api/block_service/get_blocks_by_slot_leader_epoch.py +181 -0
- yaci_client-1.0.1/yaci_client/api/block_service/get_latest_block.py +131 -0
- yaci_client-1.0.1/yaci_client/api/block_service/get_transactions_1.py +164 -0
- yaci_client-1.0.1/yaci_client/api/committee_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/committee_service/get_committee_de_registrations.py +205 -0
- yaci_client-1.0.1/yaci_client/api/committee_service/get_committee_registrations.py +203 -0
- yaci_client-1.0.1/yaci_client/api/d_rep_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/d_rep_service/get_d_rep_de_registrations.py +203 -0
- yaci_client-1.0.1/yaci_client/api/d_rep_service/get_d_rep_registrations.py +199 -0
- yaci_client-1.0.1/yaci_client/api/d_rep_service/get_d_rep_updates.py +199 -0
- yaci_client-1.0.1/yaci_client/api/delegation_vote_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/delegation_vote_service/get_delegations.py +197 -0
- yaci_client-1.0.1/yaci_client/api/delegation_vote_service/get_delegations_by_address.py +214 -0
- yaci_client-1.0.1/yaci_client/api/delegation_vote_service/get_delegations_of_d_rep.py +210 -0
- yaci_client-1.0.1/yaci_client/api/epoch_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/epoch_service/get_epoch_by_number.py +155 -0
- yaci_client-1.0.1/yaci_client/api/epoch_service/get_epochs.py +178 -0
- yaci_client-1.0.1/yaci_client/api/epoch_service/get_latest_epoch_1.py +131 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/get_gov_action_proposal_by_gov_action_type.py +221 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/get_gov_action_proposal_by_return_address.py +218 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/get_gov_action_proposal_by_tx.py +156 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/get_gov_action_proposal_list.py +203 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/get_most_recent_gov_action_proposal_by_gov_action_type.py +150 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/get_voting_procedures_by_gov_action_proposal_tx.py +218 -0
- yaci_client-1.0.1/yaci_client/api/gov_action_proposal_service/get_voting_procedures_for_gov_action_proposal.py +231 -0
- yaci_client-1.0.1/yaci_client/api/local_epoch_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/local_epoch_service/get_latest_epoch.py +123 -0
- yaci_client-1.0.1/yaci_client/api/local_epoch_service/get_latest_protocol_params.py +135 -0
- yaci_client-1.0.1/yaci_client/api/local_epoch_service/get_protocol_params.py +155 -0
- yaci_client-1.0.1/yaci_client/api/local_epoch_service/get_protocol_params_1.py +135 -0
- yaci_client-1.0.1/yaci_client/api/mir_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/mir_service/get_mir_by_tx_hash.py +164 -0
- yaci_client-1.0.1/yaci_client/api/mir_service/get_mir_summaries.py +187 -0
- yaci_client-1.0.1/yaci_client/api/network_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/network_service/get_protocol_param_proposals.py +187 -0
- yaci_client-1.0.1/yaci_client/api/pool_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/pool_service/get_pool_registrations.py +179 -0
- yaci_client-1.0.1/yaci_client/api/pool_service/get_retirements.py +177 -0
- yaci_client-1.0.1/yaci_client/api/script_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/script_service/get_datum_cbor_by_hash.py +143 -0
- yaci_client-1.0.1/yaci_client/api/script_service/get_datum_json_by_hash.py +143 -0
- yaci_client-1.0.1/yaci_client/api/script_service/get_script_by_hash.py +143 -0
- yaci_client-1.0.1/yaci_client/api/script_service/get_script_cbor_by_hash.py +143 -0
- yaci_client-1.0.1/yaci_client/api/script_service/get_script_details_by_hash.py +143 -0
- yaci_client-1.0.1/yaci_client/api/script_service/get_script_json_by_hash.py +143 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_metadata_by_label.py +200 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_metadata_by_tx_hash.py +164 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_metadata_cbor_by_tx_hash.py +164 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_transaction.py +155 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_transaction_inputs_outputs.py +155 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_transaction_witnesses.py +160 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_transactions.py +178 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_tx_contract_details.py +152 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_tx_redeemers.py +150 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_utxo.py +156 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_utxos.py +160 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_withdrawals.py +183 -0
- yaci_client-1.0.1/yaci_client/api/transaction_service/get_withdrawals_by_transaction.py +160 -0
- yaci_client-1.0.1/yaci_client/api/tx_submission_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/tx_submission_service/submit_tx_1.py +160 -0
- yaci_client-1.0.1/yaci_client/api/utilities/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/utilities/evaluate_tx.py +149 -0
- yaci_client-1.0.1/yaci_client/api/voting_procedure_service/__init__.py +0 -0
- yaci_client-1.0.1/yaci_client/api/voting_procedure_service/get_voting_procedure_by_id.py +147 -0
- yaci_client-1.0.1/yaci_client/api/voting_procedure_service/get_voting_procedure_by_tx.py +156 -0
- yaci_client-1.0.1/yaci_client/api/voting_procedure_service/get_voting_procedure_list.py +203 -0
- yaci_client-1.0.1/yaci_client/client.py +268 -0
- yaci_client-1.0.1/yaci_client/errors.py +16 -0
- yaci_client-1.0.1/yaci_client/models/__init__.py +227 -0
- yaci_client-1.0.1/yaci_client/models/address_asset_balance_dto.py +70 -0
- yaci_client-1.0.1/yaci_client/models/address_balance_dto.py +124 -0
- yaci_client-1.0.1/yaci_client/models/address_utxo.py +232 -0
- yaci_client-1.0.1/yaci_client/models/amount.py +70 -0
- yaci_client-1.0.1/yaci_client/models/amt.py +88 -0
- yaci_client-1.0.1/yaci_client/models/block_dto.py +307 -0
- yaci_client-1.0.1/yaci_client/models/block_summary.py +151 -0
- yaci_client-1.0.1/yaci_client/models/blocks_page.py +97 -0
- yaci_client-1.0.1/yaci_client/models/committee_de_registration.py +150 -0
- yaci_client-1.0.1/yaci_client/models/committee_de_registration_cred_type.py +9 -0
- yaci_client-1.0.1/yaci_client/models/committee_registration.py +141 -0
- yaci_client-1.0.1/yaci_client/models/committee_registration_cred_type.py +9 -0
- yaci_client-1.0.1/yaci_client/models/d_rep_registration.py +186 -0
- yaci_client-1.0.1/yaci_client/models/d_rep_registration_cred_type.py +9 -0
- yaci_client-1.0.1/yaci_client/models/d_rep_registration_type.py +26 -0
- yaci_client-1.0.1/yaci_client/models/delegation.py +142 -0
- yaci_client-1.0.1/yaci_client/models/delegation_vote.py +176 -0
- yaci_client-1.0.1/yaci_client/models/delegation_vote_cred_type.py +9 -0
- yaci_client-1.0.1/yaci_client/models/delegation_vote_drep_type.py +11 -0
- yaci_client-1.0.1/yaci_client/models/drep_vote_thresholds.py +142 -0
- yaci_client-1.0.1/yaci_client/models/epoch.py +124 -0
- yaci_client-1.0.1/yaci_client/models/epoch_content.py +115 -0
- yaci_client-1.0.1/yaci_client/models/epoch_no.py +61 -0
- yaci_client-1.0.1/yaci_client/models/epochs_page.py +97 -0
- yaci_client-1.0.1/yaci_client/models/ex_units.py +70 -0
- yaci_client-1.0.1/yaci_client/models/fingerprint_supply.py +70 -0
- yaci_client-1.0.1/yaci_client/models/get_asset_utxos_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_committee_de_registrations_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_committee_registrations_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_d_rep_de_registrations_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_d_rep_registrations_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_d_rep_updates_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_delegations_by_address_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_delegations_of_d_rep_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_delegations_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_gov_action_proposal_by_gov_action_type_gov_action_type.py +14 -0
- yaci_client-1.0.1/yaci_client/models/get_gov_action_proposal_by_gov_action_type_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_gov_action_proposal_by_return_address_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_gov_action_proposal_list_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_most_recent_gov_action_proposal_by_gov_action_type_gov_action_type.py +14 -0
- yaci_client-1.0.1/yaci_client/models/get_utxos_1_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_utxos_for_asset_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_voting_procedure_list_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_voting_procedures_by_gov_action_proposal_tx_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/get_voting_procedures_for_gov_action_proposal_order.py +9 -0
- yaci_client-1.0.1/yaci_client/models/gov_action_proposal.py +185 -0
- yaci_client-1.0.1/yaci_client/models/gov_action_proposal_type.py +14 -0
- yaci_client-1.0.1/yaci_client/models/json_node.py +47 -0
- yaci_client-1.0.1/yaci_client/models/metadata_label_dto.py +122 -0
- yaci_client-1.0.1/yaci_client/models/move_instataneous_reward.py +159 -0
- yaci_client-1.0.1/yaci_client/models/move_instataneous_reward_pot.py +9 -0
- yaci_client-1.0.1/yaci_client/models/move_instataneous_reward_summary.py +134 -0
- yaci_client-1.0.1/yaci_client/models/move_instataneous_reward_summary_pot.py +9 -0
- yaci_client-1.0.1/yaci_client/models/policy_supply.py +70 -0
- yaci_client-1.0.1/yaci_client/models/pool_block.py +88 -0
- yaci_client-1.0.1/yaci_client/models/pool_registration.py +244 -0
- yaci_client-1.0.1/yaci_client/models/pool_retirement.py +142 -0
- yaci_client-1.0.1/yaci_client/models/pool_voting_thresholds.py +97 -0
- yaci_client-1.0.1/yaci_client/models/protocol_params.py +437 -0
- yaci_client-1.0.1/yaci_client/models/protocol_params_cost_models.py +55 -0
- yaci_client-1.0.1/yaci_client/models/protocol_params_dto.py +536 -0
- yaci_client-1.0.1/yaci_client/models/protocol_params_dto_cost_models.py +67 -0
- yaci_client-1.0.1/yaci_client/models/protocol_params_dto_cost_models_additional_property.py +47 -0
- yaci_client-1.0.1/yaci_client/models/protocol_params_proposal.py +157 -0
- yaci_client-1.0.1/yaci_client/models/protocol_params_proposal_era.py +14 -0
- yaci_client-1.0.1/yaci_client/models/redeemer.py +112 -0
- yaci_client-1.0.1/yaci_client/models/redeemer_tag.py +13 -0
- yaci_client-1.0.1/yaci_client/models/relay.py +88 -0
- yaci_client-1.0.1/yaci_client/models/script_cbor_dto.py +61 -0
- yaci_client-1.0.1/yaci_client/models/script_detail_dto.py +103 -0
- yaci_client-1.0.1/yaci_client/models/script_detail_dto_script_type.py +11 -0
- yaci_client-1.0.1/yaci_client/models/script_dto.py +88 -0
- yaci_client-1.0.1/yaci_client/models/script_dto_type.py +11 -0
- yaci_client-1.0.1/yaci_client/models/script_json_dto.py +77 -0
- yaci_client-1.0.1/yaci_client/models/stake_account_info.py +88 -0
- yaci_client-1.0.1/yaci_client/models/stake_address_balance.py +106 -0
- yaci_client-1.0.1/yaci_client/models/stake_registration_detail.py +151 -0
- yaci_client-1.0.1/yaci_client/models/stake_registration_detail_type.py +26 -0
- yaci_client-1.0.1/yaci_client/models/transaction_details.py +284 -0
- yaci_client-1.0.1/yaci_client/models/transaction_page.py +97 -0
- yaci_client-1.0.1/yaci_client/models/transaction_summary.py +109 -0
- yaci_client-1.0.1/yaci_client/models/tx_asset.py +150 -0
- yaci_client-1.0.1/yaci_client/models/tx_asset_mint_type.py +9 -0
- yaci_client-1.0.1/yaci_client/models/tx_contract_details.py +140 -0
- yaci_client-1.0.1/yaci_client/models/tx_contract_details_type.py +11 -0
- yaci_client-1.0.1/yaci_client/models/tx_inputs_outputs.py +107 -0
- yaci_client-1.0.1/yaci_client/models/tx_metadata_label_cbor_dto.py +97 -0
- yaci_client-1.0.1/yaci_client/models/tx_metadata_label_dto.py +129 -0
- yaci_client-1.0.1/yaci_client/models/tx_ouput.py +115 -0
- yaci_client-1.0.1/yaci_client/models/tx_redeemer_dto.py +115 -0
- yaci_client-1.0.1/yaci_client/models/tx_utxo.py +170 -0
- yaci_client-1.0.1/yaci_client/models/txn_witness.py +140 -0
- yaci_client-1.0.1/yaci_client/models/txn_witness_type.py +13 -0
- yaci_client-1.0.1/yaci_client/models/unit_supply.py +70 -0
- yaci_client-1.0.1/yaci_client/models/utxo.py +160 -0
- yaci_client-1.0.1/yaci_client/models/utxo_key.py +70 -0
- yaci_client-1.0.1/yaci_client/models/voting_procedure.py +194 -0
- yaci_client-1.0.1/yaci_client/models/voting_procedure_dto.py +203 -0
- yaci_client-1.0.1/yaci_client/models/voting_procedure_dto_vote.py +10 -0
- yaci_client-1.0.1/yaci_client/models/voting_procedure_dto_voter_type.py +12 -0
- yaci_client-1.0.1/yaci_client/models/voting_procedure_vote.py +10 -0
- yaci_client-1.0.1/yaci_client/models/voting_procedure_voter_type.py +12 -0
- yaci_client-1.0.1/yaci_client/models/vrf.py +70 -0
- yaci_client-1.0.1/yaci_client/models/withdrawal.py +115 -0
- yaci_client-1.0.1/yaci_client/py.typed +1 -0
- yaci_client-1.0.1/yaci_client/types.py +51 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Hareem Adderley
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: yaci-client
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: A client library for accessing the Yaci Store API
|
|
5
|
+
Keywords: cardano,yaci,yaci-store,yaci-devkit,openapi
|
|
6
|
+
Author: Hareem Adderley
|
|
7
|
+
Author-email: Hareem Adderley <hadderley@kingpinapps.com>
|
|
8
|
+
License-Expression: MIT
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
20
|
+
Classifier: Typing :: Typed
|
|
21
|
+
Requires-Dist: attrs>=22.2.0
|
|
22
|
+
Requires-Dist: httpx>=0.25.1,<0.29.0
|
|
23
|
+
Requires-Dist: python-dateutil>=2.8.0
|
|
24
|
+
Requires-Python: >=3.11
|
|
25
|
+
Project-URL: Homepage, https://github.com/Kingpin-Apps/Yaci-client
|
|
26
|
+
Project-URL: Source, https://github.com/Kingpin-Apps/Yaci-client
|
|
27
|
+
Project-URL: Issues, https://github.com/Kingpin-Apps/Yaci-client/issues
|
|
28
|
+
Project-URL: Changelog, https://github.com/Kingpin-Apps/Yaci-client/blob/main/CHANGELOG.md
|
|
29
|
+
Description-Content-Type: text/markdown
|
|
30
|
+
|
|
31
|
+
# yaci-store-api-client
|
|
32
|
+
A client library for accessing [Yaci](https://devkit.yaci.xyz) Store API.
|
|
33
|
+
|
|
34
|
+
This library is mostly generated using [OpenAPI Generator](https://github.com/openapi-generators/openapi-python-client/).
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
First, create a client:
|
|
38
|
+
|
|
39
|
+
```python
|
|
40
|
+
from yaci_client import Client
|
|
41
|
+
|
|
42
|
+
client = Client(base_url="http://localhost:8080", raise_on_unexpected_status=True)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If the endpoints you're going to hit require authentication, use `AuthenticatedClient` instead:
|
|
46
|
+
|
|
47
|
+
```python
|
|
48
|
+
from yaci_client import AuthenticatedClient
|
|
49
|
+
|
|
50
|
+
client = AuthenticatedClient(base_url="https://localhost:8080", token="SuperSecretToken")
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Now call your endpoint and use your models:
|
|
54
|
+
|
|
55
|
+
```python
|
|
56
|
+
import json
|
|
57
|
+
from yaci_client.api.local_epoch_service import (
|
|
58
|
+
get_latest_protocol_params,
|
|
59
|
+
)
|
|
60
|
+
from yaci_client import Client
|
|
61
|
+
from yaci_client.models import (
|
|
62
|
+
ProtocolParamsDto,
|
|
63
|
+
)
|
|
64
|
+
from yaci_client.types import Response
|
|
65
|
+
|
|
66
|
+
client = Client(base_url="http://localhost:8080", raise_on_unexpected_status=True)
|
|
67
|
+
|
|
68
|
+
with client as client:
|
|
69
|
+
params: ProtocolParamsDto = get_latest_protocol_params.sync(client=client)
|
|
70
|
+
print(params)
|
|
71
|
+
|
|
72
|
+
response: Response[ProtocolParamsDto] = get_latest_protocol_params.sync_detailed(client=client)
|
|
73
|
+
protocol_params_json = json.loads(response.content)
|
|
74
|
+
print(protocol_params_json)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Or do the same thing with an async version:
|
|
78
|
+
|
|
79
|
+
```python
|
|
80
|
+
import json
|
|
81
|
+
from yaci_client.api.local_epoch_service import (
|
|
82
|
+
get_latest_protocol_params,
|
|
83
|
+
)
|
|
84
|
+
from yaci_client import Client
|
|
85
|
+
from yaci_client.models import (
|
|
86
|
+
ProtocolParamsDto,
|
|
87
|
+
)
|
|
88
|
+
from yaci_client.types import Response
|
|
89
|
+
|
|
90
|
+
client = Client(base_url="http://localhost:8080", raise_on_unexpected_status=True)
|
|
91
|
+
|
|
92
|
+
async with client as client:
|
|
93
|
+
params: ProtocolParamsDto = await get_latest_protocol_params.asyncio(client=client)
|
|
94
|
+
response: Response[ProtocolParamsDto] = await get_latest_protocol_params.asyncio_detailed(client=client)
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
By default, when you're calling an HTTPS API it will attempt to verify that SSL is working correctly. Using certificate verification is highly recommended most of the time, but sometimes you may need to authenticate to a server (especially an internal server) using a custom certificate bundle.
|
|
98
|
+
|
|
99
|
+
```python
|
|
100
|
+
import ssl
|
|
101
|
+
|
|
102
|
+
from yaci_client import AuthenticatedClient
|
|
103
|
+
|
|
104
|
+
client = AuthenticatedClient(
|
|
105
|
+
base_url="https://localhost:8080",
|
|
106
|
+
token="SuperSecretToken",
|
|
107
|
+
verify_ssl=ssl.create_default_context(cafile="/path/to/certificate_bundle.pem"),
|
|
108
|
+
)
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
You can also disable certificate validation altogether, but beware that **this is a security risk**.
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
from yaci_client import AuthenticatedClient
|
|
115
|
+
|
|
116
|
+
client = AuthenticatedClient(base_url="https://localhost:8080", token="SuperSecretToken", verify_ssl=False)
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Things to know:
|
|
120
|
+
1. Every path/method combo becomes a Python module with four functions:
|
|
121
|
+
1. `sync`: Blocking request that returns parsed data (if successful) or `None`
|
|
122
|
+
1. `sync_detailed`: Blocking request that always returns a `Request`, optionally with `parsed` set if the request was successful.
|
|
123
|
+
1. `asyncio`: Like `sync` but async instead of blocking
|
|
124
|
+
1. `asyncio_detailed`: Like `sync_detailed` but async instead of blocking
|
|
125
|
+
|
|
126
|
+
1. All path/query params, and bodies become method arguments.
|
|
127
|
+
1. If your endpoint had any tags on it, the first tag will be used as a module name for the function (my_tag above)
|
|
128
|
+
1. Any endpoint which did not have a tag will be in `yaci_client.api.default`
|
|
129
|
+
|
|
130
|
+
## Advanced customizations
|
|
131
|
+
|
|
132
|
+
There are more settings on the generated `Client` class which let you control more runtime behavior, check out the docstring on that class for more info. You can also customize the underlying `httpx.Client` or `httpx.AsyncClient` (depending on your use-case):
|
|
133
|
+
|
|
134
|
+
```python
|
|
135
|
+
from yaci_client import Client
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def log_request(request):
|
|
139
|
+
print(f"Request event hook: {request.method} {request.url} - Waiting for response")
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def log_response(response):
|
|
143
|
+
request = response.request
|
|
144
|
+
print(f"Response event hook: {request.method} {request.url} - Status {response.status_code}")
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
client = Client(
|
|
148
|
+
base_url="https://api.example.com",
|
|
149
|
+
httpx_args={"event_hooks": {"request": [log_request], "response": [log_response]}},
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
# Or get the underlying httpx client to modify directly with client.get_httpx_client() or client.get_async_httpx_client()
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
You can even set the httpx client directly, but beware that this will override any existing settings (e.g., base_url):
|
|
156
|
+
|
|
157
|
+
```python
|
|
158
|
+
import httpx
|
|
159
|
+
from yaci_client import Client
|
|
160
|
+
|
|
161
|
+
client = Client(
|
|
162
|
+
base_url="https://localhost:8080",
|
|
163
|
+
)
|
|
164
|
+
# Note that base_url needs to be re-set, as would any shared cookies, headers, etc.
|
|
165
|
+
client.set_httpx_client(httpx.Client(base_url="https://localhost:8080", proxy="http://localhost:8030"))
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Installation
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
pip install yaci-client
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
It needs Python 3.11 or newer and works with httpx 0.25.1 up to 0.28.
|
|
175
|
+
|
|
176
|
+
## Development
|
|
177
|
+
|
|
178
|
+
The project uses [uv](https://docs.astral.sh/uv/), [ruff](https://docs.astral.sh/ruff/),
|
|
179
|
+
[ty](https://docs.astral.sh/ty/) and [just](https://just.systems/). Run `just` to list every task.
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
just sync # install the project and its development tools
|
|
183
|
+
just check # lint, type-check and test
|
|
184
|
+
just test-all # the tests on every supported Python
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
`yaci_client` is generated from the Yaci Store OpenAPI spec in `yaci_api.json` by
|
|
188
|
+
[openapi-python-client](https://github.com/openapi-generators/openapi-python-client). After
|
|
189
|
+
updating the spec, run `just regenerate`; ruff then formats the result, so it passes `just lint`.
|
|
190
|
+
Review the diff before committing: newer generators rename fields (for example `type` to `type_`), which
|
|
191
|
+
breaks callers, so a rename belongs in a major release.
|
|
192
|
+
|
|
193
|
+
Commits follow [Conventional Commits](https://www.conventionalcommits.org/). Run
|
|
194
|
+
`uv run pre-commit install` once to check messages and formatting on each commit.
|
|
195
|
+
|
|
196
|
+
## Releasing
|
|
197
|
+
|
|
198
|
+
1. `just bump` sets the version and the changelog from the commits since the last release, and tags it `vX.Y.Z`.
|
|
199
|
+
1. Push the commit and the tag: `git push --follow-tags`.
|
|
200
|
+
1. The tag starts the [Release workflow](.github/workflows/release.yml), which builds the package, publishes it
|
|
201
|
+
to [PyPI](https://pypi.org/project/yaci-client/) with Trusted Publishing (no token in the repository) and
|
|
202
|
+
creates the GitHub release.
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# yaci-store-api-client
|
|
2
|
+
A client library for accessing [Yaci](https://devkit.yaci.xyz) Store API.
|
|
3
|
+
|
|
4
|
+
This library is mostly generated using [OpenAPI Generator](https://github.com/openapi-generators/openapi-python-client/).
|
|
5
|
+
|
|
6
|
+
## Usage
|
|
7
|
+
First, create a client:
|
|
8
|
+
|
|
9
|
+
```python
|
|
10
|
+
from yaci_client import Client
|
|
11
|
+
|
|
12
|
+
client = Client(base_url="http://localhost:8080", raise_on_unexpected_status=True)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
If the endpoints you're going to hit require authentication, use `AuthenticatedClient` instead:
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
from yaci_client import AuthenticatedClient
|
|
19
|
+
|
|
20
|
+
client = AuthenticatedClient(base_url="https://localhost:8080", token="SuperSecretToken")
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Now call your endpoint and use your models:
|
|
24
|
+
|
|
25
|
+
```python
|
|
26
|
+
import json
|
|
27
|
+
from yaci_client.api.local_epoch_service import (
|
|
28
|
+
get_latest_protocol_params,
|
|
29
|
+
)
|
|
30
|
+
from yaci_client import Client
|
|
31
|
+
from yaci_client.models import (
|
|
32
|
+
ProtocolParamsDto,
|
|
33
|
+
)
|
|
34
|
+
from yaci_client.types import Response
|
|
35
|
+
|
|
36
|
+
client = Client(base_url="http://localhost:8080", raise_on_unexpected_status=True)
|
|
37
|
+
|
|
38
|
+
with client as client:
|
|
39
|
+
params: ProtocolParamsDto = get_latest_protocol_params.sync(client=client)
|
|
40
|
+
print(params)
|
|
41
|
+
|
|
42
|
+
response: Response[ProtocolParamsDto] = get_latest_protocol_params.sync_detailed(client=client)
|
|
43
|
+
protocol_params_json = json.loads(response.content)
|
|
44
|
+
print(protocol_params_json)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Or do the same thing with an async version:
|
|
48
|
+
|
|
49
|
+
```python
|
|
50
|
+
import json
|
|
51
|
+
from yaci_client.api.local_epoch_service import (
|
|
52
|
+
get_latest_protocol_params,
|
|
53
|
+
)
|
|
54
|
+
from yaci_client import Client
|
|
55
|
+
from yaci_client.models import (
|
|
56
|
+
ProtocolParamsDto,
|
|
57
|
+
)
|
|
58
|
+
from yaci_client.types import Response
|
|
59
|
+
|
|
60
|
+
client = Client(base_url="http://localhost:8080", raise_on_unexpected_status=True)
|
|
61
|
+
|
|
62
|
+
async with client as client:
|
|
63
|
+
params: ProtocolParamsDto = await get_latest_protocol_params.asyncio(client=client)
|
|
64
|
+
response: Response[ProtocolParamsDto] = await get_latest_protocol_params.asyncio_detailed(client=client)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
By default, when you're calling an HTTPS API it will attempt to verify that SSL is working correctly. Using certificate verification is highly recommended most of the time, but sometimes you may need to authenticate to a server (especially an internal server) using a custom certificate bundle.
|
|
68
|
+
|
|
69
|
+
```python
|
|
70
|
+
import ssl
|
|
71
|
+
|
|
72
|
+
from yaci_client import AuthenticatedClient
|
|
73
|
+
|
|
74
|
+
client = AuthenticatedClient(
|
|
75
|
+
base_url="https://localhost:8080",
|
|
76
|
+
token="SuperSecretToken",
|
|
77
|
+
verify_ssl=ssl.create_default_context(cafile="/path/to/certificate_bundle.pem"),
|
|
78
|
+
)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
You can also disable certificate validation altogether, but beware that **this is a security risk**.
|
|
82
|
+
|
|
83
|
+
```python
|
|
84
|
+
from yaci_client import AuthenticatedClient
|
|
85
|
+
|
|
86
|
+
client = AuthenticatedClient(base_url="https://localhost:8080", token="SuperSecretToken", verify_ssl=False)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Things to know:
|
|
90
|
+
1. Every path/method combo becomes a Python module with four functions:
|
|
91
|
+
1. `sync`: Blocking request that returns parsed data (if successful) or `None`
|
|
92
|
+
1. `sync_detailed`: Blocking request that always returns a `Request`, optionally with `parsed` set if the request was successful.
|
|
93
|
+
1. `asyncio`: Like `sync` but async instead of blocking
|
|
94
|
+
1. `asyncio_detailed`: Like `sync_detailed` but async instead of blocking
|
|
95
|
+
|
|
96
|
+
1. All path/query params, and bodies become method arguments.
|
|
97
|
+
1. If your endpoint had any tags on it, the first tag will be used as a module name for the function (my_tag above)
|
|
98
|
+
1. Any endpoint which did not have a tag will be in `yaci_client.api.default`
|
|
99
|
+
|
|
100
|
+
## Advanced customizations
|
|
101
|
+
|
|
102
|
+
There are more settings on the generated `Client` class which let you control more runtime behavior, check out the docstring on that class for more info. You can also customize the underlying `httpx.Client` or `httpx.AsyncClient` (depending on your use-case):
|
|
103
|
+
|
|
104
|
+
```python
|
|
105
|
+
from yaci_client import Client
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def log_request(request):
|
|
109
|
+
print(f"Request event hook: {request.method} {request.url} - Waiting for response")
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def log_response(response):
|
|
113
|
+
request = response.request
|
|
114
|
+
print(f"Response event hook: {request.method} {request.url} - Status {response.status_code}")
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
client = Client(
|
|
118
|
+
base_url="https://api.example.com",
|
|
119
|
+
httpx_args={"event_hooks": {"request": [log_request], "response": [log_response]}},
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
# Or get the underlying httpx client to modify directly with client.get_httpx_client() or client.get_async_httpx_client()
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
You can even set the httpx client directly, but beware that this will override any existing settings (e.g., base_url):
|
|
126
|
+
|
|
127
|
+
```python
|
|
128
|
+
import httpx
|
|
129
|
+
from yaci_client import Client
|
|
130
|
+
|
|
131
|
+
client = Client(
|
|
132
|
+
base_url="https://localhost:8080",
|
|
133
|
+
)
|
|
134
|
+
# Note that base_url needs to be re-set, as would any shared cookies, headers, etc.
|
|
135
|
+
client.set_httpx_client(httpx.Client(base_url="https://localhost:8080", proxy="http://localhost:8030"))
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Installation
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
pip install yaci-client
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
It needs Python 3.11 or newer and works with httpx 0.25.1 up to 0.28.
|
|
145
|
+
|
|
146
|
+
## Development
|
|
147
|
+
|
|
148
|
+
The project uses [uv](https://docs.astral.sh/uv/), [ruff](https://docs.astral.sh/ruff/),
|
|
149
|
+
[ty](https://docs.astral.sh/ty/) and [just](https://just.systems/). Run `just` to list every task.
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
just sync # install the project and its development tools
|
|
153
|
+
just check # lint, type-check and test
|
|
154
|
+
just test-all # the tests on every supported Python
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
`yaci_client` is generated from the Yaci Store OpenAPI spec in `yaci_api.json` by
|
|
158
|
+
[openapi-python-client](https://github.com/openapi-generators/openapi-python-client). After
|
|
159
|
+
updating the spec, run `just regenerate`; ruff then formats the result, so it passes `just lint`.
|
|
160
|
+
Review the diff before committing: newer generators rename fields (for example `type` to `type_`), which
|
|
161
|
+
breaks callers, so a rename belongs in a major release.
|
|
162
|
+
|
|
163
|
+
Commits follow [Conventional Commits](https://www.conventionalcommits.org/). Run
|
|
164
|
+
`uv run pre-commit install` once to check messages and formatting on each commit.
|
|
165
|
+
|
|
166
|
+
## Releasing
|
|
167
|
+
|
|
168
|
+
1. `just bump` sets the version and the changelog from the commits since the last release, and tags it `vX.Y.Z`.
|
|
169
|
+
1. Push the commit and the tag: `git push --follow-tags`.
|
|
170
|
+
1. The tag starts the [Release workflow](.github/workflows/release.yml), which builds the package, publishes it
|
|
171
|
+
to [PyPI](https://pypi.org/project/yaci-client/) with Trusted Publishing (no token in the repository) and
|
|
172
|
+
creates the GitHub release.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "yaci-client"
|
|
3
|
+
version = "1.0.1"
|
|
4
|
+
description = "A client library for accessing the Yaci Store API"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = "MIT"
|
|
7
|
+
license-files = ["LICENSE"]
|
|
8
|
+
requires-python = ">=3.11"
|
|
9
|
+
keywords = [
|
|
10
|
+
"cardano",
|
|
11
|
+
"yaci",
|
|
12
|
+
"yaci-store",
|
|
13
|
+
"yaci-devkit",
|
|
14
|
+
"openapi",
|
|
15
|
+
]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 5 - Production/Stable",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Operating System :: OS Independent",
|
|
20
|
+
"Programming Language :: Python :: 3",
|
|
21
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
22
|
+
"Programming Language :: Python :: 3.11",
|
|
23
|
+
"Programming Language :: Python :: 3.12",
|
|
24
|
+
"Programming Language :: Python :: 3.13",
|
|
25
|
+
"Programming Language :: Python :: 3.14",
|
|
26
|
+
"Programming Language :: Python :: 3.15",
|
|
27
|
+
"Typing :: Typed",
|
|
28
|
+
]
|
|
29
|
+
dependencies = [
|
|
30
|
+
"attrs>=22.2.0",
|
|
31
|
+
"httpx>=0.25.1,<0.29.0",
|
|
32
|
+
"python-dateutil>=2.8.0",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
[[project.authors]]
|
|
36
|
+
name = "Hareem Adderley"
|
|
37
|
+
email = "hadderley@kingpinapps.com"
|
|
38
|
+
|
|
39
|
+
[project.urls]
|
|
40
|
+
Homepage = "https://github.com/Kingpin-Apps/Yaci-client"
|
|
41
|
+
Source = "https://github.com/Kingpin-Apps/Yaci-client"
|
|
42
|
+
Issues = "https://github.com/Kingpin-Apps/Yaci-client/issues"
|
|
43
|
+
Changelog = "https://github.com/Kingpin-Apps/Yaci-client/blob/main/CHANGELOG.md"
|
|
44
|
+
|
|
45
|
+
[dependency-groups]
|
|
46
|
+
dev = [
|
|
47
|
+
{ include-group = "lint" },
|
|
48
|
+
{ include-group = "test" },
|
|
49
|
+
"commitizen>=4.8",
|
|
50
|
+
"pre-commit>=4.3",
|
|
51
|
+
]
|
|
52
|
+
lint = [
|
|
53
|
+
"ruff>=0.17",
|
|
54
|
+
"ty>=0.0.90",
|
|
55
|
+
]
|
|
56
|
+
test = [
|
|
57
|
+
"pytest>=8.4",
|
|
58
|
+
"pytest-asyncio>=1.2",
|
|
59
|
+
"pytest-cov>=7",
|
|
60
|
+
]
|
|
61
|
+
generate = ["openapi-python-client>=0.27.1,<0.28"]
|
|
62
|
+
|
|
63
|
+
[build-system]
|
|
64
|
+
requires = ["uv_build>=0.13.4,<0.14"]
|
|
65
|
+
build-backend = "uv_build"
|
|
66
|
+
|
|
67
|
+
[tool.uv]
|
|
68
|
+
default-groups = ["dev"]
|
|
69
|
+
|
|
70
|
+
[tool.uv.build-backend]
|
|
71
|
+
module-root = ""
|
|
72
|
+
|
|
73
|
+
[tool.pytest.ini_options]
|
|
74
|
+
minversion = "8.0"
|
|
75
|
+
testpaths = ["tests"]
|
|
76
|
+
asyncio_mode = "auto"
|
|
77
|
+
asyncio_default_fixture_loop_scope = "function"
|
|
78
|
+
addopts = [
|
|
79
|
+
"-ra",
|
|
80
|
+
"--strict-markers",
|
|
81
|
+
]
|
|
82
|
+
filterwarnings = ["error"]
|
|
83
|
+
|
|
84
|
+
[tool.coverage.run]
|
|
85
|
+
source = ["yaci_client"]
|
|
86
|
+
branch = true
|
|
87
|
+
|
|
88
|
+
[tool.coverage.report]
|
|
89
|
+
show_missing = true
|
|
90
|
+
skip_covered = true
|
|
91
|
+
|
|
92
|
+
[tool.ruff]
|
|
93
|
+
target-version = "py311"
|
|
94
|
+
line-length = 120
|
|
95
|
+
extend-exclude = ["dist"]
|
|
96
|
+
|
|
97
|
+
[tool.ruff.lint]
|
|
98
|
+
select = [
|
|
99
|
+
"E",
|
|
100
|
+
"W",
|
|
101
|
+
"F",
|
|
102
|
+
"I",
|
|
103
|
+
"B",
|
|
104
|
+
"UP",
|
|
105
|
+
"SIM",
|
|
106
|
+
"RUF",
|
|
107
|
+
"ASYNC",
|
|
108
|
+
"PT",
|
|
109
|
+
]
|
|
110
|
+
ignore = [
|
|
111
|
+
"E501",
|
|
112
|
+
"UP042",
|
|
113
|
+
"SIM108",
|
|
114
|
+
]
|
|
115
|
+
|
|
116
|
+
[tool.ty.environment]
|
|
117
|
+
python-version = "3.11"
|
|
118
|
+
|
|
119
|
+
[tool.ty.src]
|
|
120
|
+
include = [
|
|
121
|
+
"yaci_client",
|
|
122
|
+
"tests",
|
|
123
|
+
"example.py",
|
|
124
|
+
]
|
|
125
|
+
|
|
126
|
+
[tool.ty.terminal]
|
|
127
|
+
error-on-warning = true
|
|
128
|
+
|
|
129
|
+
[tool.commitizen]
|
|
130
|
+
name = "cz_conventional_commits"
|
|
131
|
+
version_provider = "uv"
|
|
132
|
+
tag_format = "v$version"
|
|
133
|
+
update_changelog_on_bump = true
|
|
134
|
+
major_version_zero = false
|
|
135
|
+
version_files = ["yaci_client/__init__.py:__version__"]
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "yaci-client"
|
|
3
|
+
version = "1.0.1"
|
|
4
|
+
description = "A client library for accessing the Yaci Store API"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = "MIT"
|
|
7
|
+
license-files = ["LICENSE"]
|
|
8
|
+
authors = [{ name = "Hareem Adderley", email = "hadderley@kingpinapps.com" }]
|
|
9
|
+
requires-python = ">=3.11"
|
|
10
|
+
keywords = ["cardano", "yaci", "yaci-store", "yaci-devkit", "openapi"]
|
|
11
|
+
classifiers = [
|
|
12
|
+
"Development Status :: 5 - Production/Stable",
|
|
13
|
+
"Intended Audience :: Developers",
|
|
14
|
+
"Operating System :: OS Independent",
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
17
|
+
"Programming Language :: Python :: 3.11",
|
|
18
|
+
"Programming Language :: Python :: 3.12",
|
|
19
|
+
"Programming Language :: Python :: 3.13",
|
|
20
|
+
"Programming Language :: Python :: 3.14",
|
|
21
|
+
"Programming Language :: Python :: 3.15",
|
|
22
|
+
"Typing :: Typed",
|
|
23
|
+
]
|
|
24
|
+
dependencies = [
|
|
25
|
+
# 22.2 adds the `alias` argument the generated client passes to attrs.field().
|
|
26
|
+
"attrs>=22.2.0",
|
|
27
|
+
# 0.25.1 is the first release on httpcore 1.x without `import cgi`: older ones fail on Python 3.13+.
|
|
28
|
+
"httpx>=0.25.1,<0.29.0",
|
|
29
|
+
"python-dateutil>=2.8.0",
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
[project.urls]
|
|
33
|
+
Homepage = "https://github.com/Kingpin-Apps/Yaci-client"
|
|
34
|
+
Source = "https://github.com/Kingpin-Apps/Yaci-client"
|
|
35
|
+
Issues = "https://github.com/Kingpin-Apps/Yaci-client/issues"
|
|
36
|
+
Changelog = "https://github.com/Kingpin-Apps/Yaci-client/blob/main/CHANGELOG.md"
|
|
37
|
+
|
|
38
|
+
[dependency-groups]
|
|
39
|
+
dev = [
|
|
40
|
+
{ include-group = "lint" },
|
|
41
|
+
{ include-group = "test" },
|
|
42
|
+
"commitizen>=4.8",
|
|
43
|
+
"pre-commit>=4.3",
|
|
44
|
+
]
|
|
45
|
+
lint = [
|
|
46
|
+
"ruff>=0.17",
|
|
47
|
+
"ty>=0.0.90",
|
|
48
|
+
]
|
|
49
|
+
test = [
|
|
50
|
+
"pytest>=8.4",
|
|
51
|
+
"pytest-asyncio>=1.2",
|
|
52
|
+
"pytest-cov>=7",
|
|
53
|
+
]
|
|
54
|
+
generate = [
|
|
55
|
+
# 0.28 drops the `Unset` import from submit_tx_1, so stay on 0.27 until that is fixed upstream.
|
|
56
|
+
"openapi-python-client>=0.27.1,<0.28",
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
[build-system]
|
|
60
|
+
requires = ["uv_build>=0.13.4,<0.14"]
|
|
61
|
+
build-backend = "uv_build"
|
|
62
|
+
|
|
63
|
+
[tool.uv]
|
|
64
|
+
default-groups = ["dev"]
|
|
65
|
+
|
|
66
|
+
[tool.uv.build-backend]
|
|
67
|
+
# The package sits at the repository root rather than under src/.
|
|
68
|
+
module-root = ""
|
|
69
|
+
|
|
70
|
+
[tool.pytest.ini_options]
|
|
71
|
+
minversion = "8.0"
|
|
72
|
+
testpaths = ["tests"]
|
|
73
|
+
asyncio_mode = "auto"
|
|
74
|
+
asyncio_default_fixture_loop_scope = "function"
|
|
75
|
+
addopts = ["-ra", "--strict-markers"]
|
|
76
|
+
# Every warning fails the test that raised it: deprecations are caught early.
|
|
77
|
+
filterwarnings = ["error"]
|
|
78
|
+
|
|
79
|
+
[tool.coverage.run]
|
|
80
|
+
source = ["yaci_client"]
|
|
81
|
+
branch = true
|
|
82
|
+
|
|
83
|
+
[tool.coverage.report]
|
|
84
|
+
show_missing = true
|
|
85
|
+
skip_covered = true
|
|
86
|
+
|
|
87
|
+
[tool.ruff]
|
|
88
|
+
target-version = "py311"
|
|
89
|
+
line-length = 120
|
|
90
|
+
extend-exclude = ["dist"]
|
|
91
|
+
|
|
92
|
+
[tool.ruff.lint]
|
|
93
|
+
select = ["E", "W", "F", "I", "B", "UP", "SIM", "RUF", "ASYNC", "PT"]
|
|
94
|
+
# E501: generated docstrings carry long descriptions from the OpenAPI spec.
|
|
95
|
+
# UP042, SIM108: the generator's own style for enums and response parsing.
|
|
96
|
+
ignore = ["E501", "UP042", "SIM108"]
|
|
97
|
+
|
|
98
|
+
[tool.ty.environment]
|
|
99
|
+
python-version = "3.11"
|
|
100
|
+
|
|
101
|
+
[tool.ty.src]
|
|
102
|
+
include = ["yaci_client", "tests", "example.py"]
|
|
103
|
+
|
|
104
|
+
[tool.ty.terminal]
|
|
105
|
+
error-on-warning = true
|
|
106
|
+
|
|
107
|
+
[tool.commitizen]
|
|
108
|
+
name = "cz_conventional_commits"
|
|
109
|
+
version_provider = "uv"
|
|
110
|
+
tag_format = "v$version"
|
|
111
|
+
update_changelog_on_bump = true
|
|
112
|
+
major_version_zero = false
|
|
113
|
+
version_files = ["yaci_client/__init__.py:__version__"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Contains methods for accessing the API"""
|
|
File without changes
|