Compare commits
No commits in common. "f21b367281bb3e4001322042e18b2597f4dd5d6f" and "3b43162742cf2e376d28f4b56e0d786ada2bc7a6" have entirely different histories.
f21b367281
...
3b43162742
|
@ -1 +1 @@
|
||||||
__version__ = '0.1.14'
|
__version__ = '0.1.13'
|
||||||
|
|
66
setup.py
66
setup.py
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
#
|
||||||
# WARNING
|
# WARNING
|
||||||
#
|
#
|
||||||
# THIS IS AN AUTOGENERATED FILE.
|
# THIS IS AN AUTOGENERATED FILE.
|
||||||
|
@ -10,55 +12,9 @@ from setuptools import setup
|
||||||
|
|
||||||
PACKAGE_NAME = 'pbcabi'
|
PACKAGE_NAME = 'pbcabi'
|
||||||
|
|
||||||
PACKAGE_DESCRIPTION = """
|
with open('README.md') as f:
|
||||||
# Partisia Blockchain ABI client.
|
readme = f.read()
|
||||||
|
|
||||||
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)
|
||||||
|
@ -81,6 +37,16 @@ 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
|
||||||
|
@ -94,8 +60,8 @@ pytest
|
||||||
setup(
|
setup(
|
||||||
name=PACKAGE_NAME,
|
name=PACKAGE_NAME,
|
||||||
version=version,
|
version=version,
|
||||||
description=PACKAGE_DESCRIPTION_SHORT,
|
description=determine_short_description(readme),
|
||||||
long_description=PACKAGE_DESCRIPTION,
|
long_description=readme,
|
||||||
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',
|
||||||
|
|
Loading…
Reference in New Issue
Block a user