mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00

* Planning release * Clean up after move * Add exceptions.py * Add crypto.py * Adjust setup to package structure * Fix tests * Add test coverage * Comply to flake8 * Add test coverage * Transfer-tx fulfillments validation * Remove condition and fulfillment ids * Fix signing logic Specifically for transfer-tx with multiple inputs and outputs. * Compliance to legacy BDB models * Adjust fulfillment validation interface * Add serialization validation for txids * Use __eq__ to compare objects * Heavy refactor to comply with current implementation * Add Transaction.create * Correct fulfillment validation logic * Add Transaction.create for hashlock conditions * Add hashlock condition serialization * Transaction.transfer add single input and outputs * Small adjustments to transfer-tx interface * Create transfer-tx interface * Increase test coverage * Adjust fulfillment (de)serialization * Catch CC Error for Fulfillment * Allow custom thresholds * PR feedback * Fix tests * Rename Data to Metadata * Add Asset exceptions * Add basic Asset model * More renaming of payload => data * Add Asset into work-flow-functions * Add Asset amount to condition * add fulfillment exception * initial integration of asset * Make transaction.py compy to 79 chars * Make util.py comply to 79 chars * Make exceptions.py comply to 80 chars * Renaming inp to input_ * fix pep8 issues * Correct raised error * Remove resolved TODOs * prevent adding None as fulfillment / condition to Transaction * Small modifications to support new cryptoconditions * Improve documentation (#42) * Add doc strings for Fulfillment cls * Add doc strings for TransactionLink cls * Add doc strings for Condition cls * Add doc strings for Data cls * Add doc strings for Transaction cls * Add doc strings for Asset cls * Extract common implementation * Tx model: Add test for empty inputs * WIP: Implement sign tx * Add tests for: - Conditions; and - Fulfillments Mostly on the (de)serialization part. * Finalize serialization logic for tx class * Add Tests for tx serialization logic * Add fulfillment validation * Add ThresholdCondition support * WIP transfer * Clean up after move * Adjust setup to package structure * Fix tests * Add test coverage * Add test coverage * Transfer-tx fulfillments validation * Remove condition and fulfillment ids * Fix signing logic Specifically for transfer-tx with multiple inputs and outputs. * Fix test case * Compliance to legacy BDB models * Adjust fulfillment validation interface * Add serialization validation for txids * Use __eq__ to compare objects * Heavy refactor to comply with current implementation * Add Transaction.create * Add validation tests * Add Transaction.create for hashlock conditions * Add hashlock condition serialization * Transaction.transfer add single input and outputs * Small adjustments to transfer-tx interface * Create transfer-tx interface * Increase test coverage * Adjust fulfillment (de)serialization * Catch CC Error for Fulfillment * Allow custom thresholds * Rename Data to Metadata * Add basic Asset model * Add Asset into work-flow-functions * Add Asset amount to condition * initial integration of asset * Make tests comply to 79 chars per line * Fixed tests * fix pep8 issues * Correct raised error * Add test for asset initialization * Remove resolved TODOs * prevent adding None as fulfillment / condition to Transaction * Small modifications to support new cryptoconditions * Extract common tests * Copy conftest from bigchaindb-common - by @timdaub * Replace bigchaindb_common pkg by bigchaindb.common
115 lines
2.8 KiB
Python
115 lines
2.8 KiB
Python
"""
|
|
BigchainDB: A Scalable Blockchain Database
|
|
|
|
For full docs visit https://bigchaindb.readthedocs.org
|
|
|
|
"""
|
|
from setuptools import setup, find_packages
|
|
|
|
|
|
# get the version
|
|
version = {}
|
|
with open('bigchaindb/version.py') as fp:
|
|
exec(fp.read(), version)
|
|
|
|
|
|
# check if setuptools is up to date
|
|
def check_setuptools_features():
|
|
import pkg_resources
|
|
try:
|
|
list(pkg_resources.parse_requirements('foo~=1.0'))
|
|
except ValueError:
|
|
exit('Your Python distribution comes with an incompatible version '
|
|
'of `setuptools`. Please run:\n'
|
|
' $ pip3 install --upgrade setuptools\n'
|
|
'and then run this command again')
|
|
|
|
|
|
check_setuptools_features()
|
|
|
|
|
|
tests_require = [
|
|
'coverage',
|
|
'pep8',
|
|
'pyflakes',
|
|
'pylint',
|
|
'pytest',
|
|
'pytest-cov==2.2.1',
|
|
'pytest-xdist',
|
|
'pytest-flask',
|
|
]
|
|
|
|
dev_require = [
|
|
'ipdb',
|
|
'ipython',
|
|
]
|
|
|
|
docs_require = [
|
|
'Sphinx>=1.3.5',
|
|
'recommonmark>=0.4.0',
|
|
'sphinx-rtd-theme>=0.1.9',
|
|
'sphinxcontrib-napoleon>=0.4.4',
|
|
'sphinxcontrib-httpdomain>=1.5.0',
|
|
]
|
|
|
|
benchmarks_require = [
|
|
'line-profiler==1.0',
|
|
]
|
|
|
|
setup(
|
|
name='BigchainDB',
|
|
version=version['__version__'],
|
|
description='BigchainDB: A Scalable Blockchain Database',
|
|
long_description=__doc__,
|
|
url='https://github.com/BigchainDB/bigchaindb/',
|
|
author='BigchainDB Contributors',
|
|
author_email='dev@bigchaindb.com',
|
|
license='AGPLv3',
|
|
zip_safe=False,
|
|
|
|
classifiers=[
|
|
'Development Status :: 3 - Alpha',
|
|
'Intended Audience :: Developers',
|
|
'Topic :: Database',
|
|
'Topic :: Database :: Database Engines/Servers',
|
|
'Topic :: Software Development',
|
|
'Natural Language :: English',
|
|
'License :: OSI Approved :: GNU Affero General Public License v3',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.4',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Operating System :: MacOS :: MacOS X',
|
|
'Operating System :: POSIX :: Linux',
|
|
],
|
|
|
|
packages=find_packages(exclude=['tests*']),
|
|
|
|
entry_points={
|
|
'console_scripts': [
|
|
'bigchaindb=bigchaindb.commands.bigchain:main'
|
|
],
|
|
},
|
|
install_requires=[
|
|
'rethinkdb~=2.3',
|
|
'pysha3==0.3',
|
|
'pytz==2015.7',
|
|
'cryptoconditions==0.5.0',
|
|
'statsd==3.2.1',
|
|
'python-rapidjson==0.0.6',
|
|
'logstats==0.2.1',
|
|
'base58==0.2.2',
|
|
'flask==0.10.1',
|
|
'flask-restful~=0.3.0',
|
|
'requests~=2.9',
|
|
'gunicorn~=19.0',
|
|
'multipipes~=0.1.0',
|
|
],
|
|
setup_requires=['pytest-runner'],
|
|
tests_require=tests_require,
|
|
extras_require={
|
|
'test': tests_require,
|
|
'dev': dev_require + tests_require + docs_require + benchmarks_require,
|
|
'docs': docs_require,
|
|
},
|
|
)
|