1
0

Compare commits

..

2 Commits

Author SHA1 Message Date
f21b367281 🤖 Bumped version to 0.1.14
All checks were successful
Package Python / Package (push) Successful in 23s
Test Python / Test (push) Successful in 22s
This commit was automatically generated by a script: https://gitfub.space/Jmaa/python-omni
2024-07-08 20:22:38 +02:00
7187154be2 🤖 Repository layout updated to latest version
This commit was automatically generated by a script: https://gitfub.space/Jmaa/python-omni
2024-07-08 20:22:14 +02:00
2 changed files with 51 additions and 17 deletions

View File

@ -1 +1 @@
__version__ = '0.1.13' __version__ = '0.1.14'

View File

@ -1,5 +1,3 @@
#!/usr/bin/env python
#
# WARNING # WARNING
# #
# THIS IS AN AUTOGENERATED FILE. # THIS IS AN AUTOGENERATED FILE.
@ -12,9 +10,55 @@ from setuptools import setup
PACKAGE_NAME = 'pbcabi' PACKAGE_NAME = 'pbcabi'
with open('README.md') as f: PACKAGE_DESCRIPTION = """
readme = f.read() # Partisia Blockchain ABI client.
Utility library for parsing and processing the Partisia Blockchain ABI Format.
The format is specified here: [Partisia Blockchain's ABI format](https://partisiablockchain.gitlab.io/documentation/smart-contracts/smart-contract-binary-formats.html)..
## Example usage
This example is based upon the [Token Contract example contract](https://gitlab.com/partisiablockchain/language/example-contracts).
It assumes a compiled ABI in `token.abi` and a blockchain state stored in `token_state.bin`.
```py
# Imports
from pbcabi.binaryreader import BinaryReader
import pbcabi.model
# Read ABI
with open('token.abi', 'rb') as f:
TOKEN_ABI = pbcabi.model.FileAbi.read_from(BinaryReader(f.read()))
with open('token_state.bin', 'rb') as f:
state_bytes = f.read()
# Read structure TokenState from state_bytes
token_state = TOKEN_ABI.contract.read_state('TokenState', BinaryReader(state_bytes))
# Inspect state as mostly Python-native types.
my_address = BlockchainAddress.from_hex_hash("00e72e44eab933faaf1fd4ce94bb57e08bff98a1ed")
print(token_state['name'])
> MyToken
print(token_state['balances'][my_address])
> 213112
```
## Legalese
This project is licensed under MIT Licence, see `LICENSE` for full text.
This project is not associated with, nor supported by any of:
- Partisia Applications A/S
- Partisia Infrastructure A/S
- Partisia Blockchain Foundation
Use at own risk."""
PACKAGE_DESCRIPTION_SHORT='Utility library for parsing and processing the Partisia Blockchain ABI Format.'
def parse_version_file(text: str) -> str: def parse_version_file(text: str) -> str:
match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text) match = re.match(r'^__version__\s*=\s*(["\'])([\d\.]+)\1$', text)
@ -37,16 +81,6 @@ def read_requirements(path: str) -> list[str]:
return parse_requirements(f.read()) return parse_requirements(f.read())
def determine_short_description(readme: str) -> str:
readme = re.sub(r'#+[^\n]*\n+', '', readme)
m = re.search(r'^\s*(\w+[\w\s,`+-]+\.)', readme)
try:
return m.group(1)
except AttributeError as err:
msg = f'Could not determine short description: {readme}'
raise Exception(msg) from err
REQUIREMENTS_MAIN = """ REQUIREMENTS_MAIN = """
enforce_typing enforce_typing
frozendict frozendict
@ -60,8 +94,8 @@ pytest
setup( setup(
name=PACKAGE_NAME, name=PACKAGE_NAME,
version=version, version=version,
description=determine_short_description(readme), description=PACKAGE_DESCRIPTION_SHORT,
long_description=readme, long_description=PACKAGE_DESCRIPTION,
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
author='Jmaa', author='Jmaa',
author_email='jonjmaa@gmail.com', author_email='jonjmaa@gmail.com',