diff options
Diffstat (limited to 'python-eth-brownie.spec')
| -rw-r--r-- | python-eth-brownie.spec | 737 |
1 files changed, 737 insertions, 0 deletions
diff --git a/python-eth-brownie.spec b/python-eth-brownie.spec new file mode 100644 index 0000000..fe50bcc --- /dev/null +++ b/python-eth-brownie.spec @@ -0,0 +1,737 @@ +%global _empty_manifest_terminate_build 0 +Name: python-eth-brownie +Version: 1.19.3 +Release: 1 +Summary: A Python framework for Ethereum smart contract deployment, testing and interaction. +License: MIT +URL: https://github.com/eth-brownie/brownie +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/02/07/50050bcae93b950eae3842d54c17593c0d5e18d56b717d772ec31be069bd/eth-brownie-1.19.3.tar.gz +BuildArch: noarch + +Requires: python3-aiohttp +Requires: python3-aiosignal +Requires: python3-asttokens +Requires: python3-async-timeout +Requires: python3-attrs +Requires: python3-base58 +Requires: python3-bitarray +Requires: python3-black +Requires: python3-certifi +Requires: python3-charset-normalizer +Requires: python3-click +Requires: python3-cytoolz +Requires: python3-dataclassy +Requires: python3-eip712 +Requires: python3-eth-abi +Requires: python3-eth-account +Requires: python3-eth-event +Requires: python3-eth-hash[pycryptodome] +Requires: python3-eth-keyfile +Requires: python3-eth-keys +Requires: python3-eth-rlp +Requires: python3-eth-typing +Requires: python3-eth-utils +Requires: python3-execnet +Requires: python3-frozenlist +Requires: python3-hexbytes +Requires: python3-hypothesis +Requires: python3-idna +Requires: python3-inflection +Requires: python3-iniconfig +Requires: python3-ipfshttpclient +Requires: python3-jsonschema +Requires: python3-lazy-object-proxy +Requires: python3-lru-dict +Requires: python3-multiaddr +Requires: python3-multidict +Requires: python3-mypy-extensions +Requires: python3-mythx-models +Requires: python3-netaddr +Requires: python3-packaging +Requires: python3-parsimonious +Requires: python3-pathspec +Requires: python3-platformdirs +Requires: python3-pluggy +Requires: python3-prompt-toolkit +Requires: python3-protobuf +Requires: python3-psutil +Requires: python3-py +Requires: python3-py-solc-ast +Requires: python3-py-solc-x +Requires: python3-pycryptodome +Requires: python3-pygments +Requires: python3-pygments-lexer-solidity +Requires: python3-pyjwt +Requires: python3-pyparsing +Requires: python3-pyrsistent +Requires: python3-pytest +Requires: python3-pytest-forked +Requires: python3-pytest-xdist +Requires: python3-dateutil +Requires: python3-dotenv +Requires: python3-pythx +Requires: python3-pyyaml +Requires: python3-requests +Requires: python3-rlp +Requires: python3-semantic-version +Requires: python3-six +Requires: python3-sortedcontainers +Requires: python3-toml +Requires: python3-tomli +Requires: python3-toolz +Requires: python3-tqdm +Requires: python3-typing-extensions +Requires: python3-urllib3 +Requires: python3-varint +Requires: python3-vvm +Requires: python3-vyper +Requires: python3-wcwidth +Requires: python3-web3 +Requires: python3-websockets +Requires: python3-wheel +Requires: python3-wrapt +Requires: python3-yarl + +%description +# Brownie + +[](https://pypi.org/project/eth-brownie/) [](https://github.com/eth-brownie/brownie/actions) [](https://eth-brownie.readthedocs.io/en/stable/) [](https://codecov.io/gh/eth-brownie/brownie) + +Brownie is a Python-based development and testing framework for smart contracts targeting the [Ethereum Virtual Machine](https://solidity.readthedocs.io/en/v0.6.0/introduction-to-smart-contracts.html#the-ethereum-virtual-machine). + +## Features + +* Full support for [Solidity](https://github.com/ethereum/solidity) (`>=0.4.22`) and [Vyper](https://github.com/vyperlang/vyper) (`>=0.1.0-beta.16`) +* Contract testing via [`pytest`](https://github.com/pytest-dev/pytest), including trace-based coverage evaluation +* Property-based and stateful testing via [`hypothesis`](https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python) +* Powerful debugging tools, including python-style tracebacks and custom error strings +* Built-in console for quick project interaction + +## Dependencies + +* [python3](https://www.python.org/downloads/release/python-3910/) version 3.7 or greater, python3-dev +* [ganache](https://github.com/trufflesuite/ganache) - tested with version [7.0.2](https://github.com/trufflesuite/ganache/releases/tag/v7.0.2) + +## Installation + +### via `pipx` + +The recommended way to install Brownie is via [`pipx`](https://github.com/pipxproject/pipx). pipx installs Brownie into a virtual environment and makes it available directly from the commandline. Once installed, you will never have to activate a virtual environment prior to using Brownie. + +To install `pipx`: + +```bash +python3 -m pip install --user pipx +python3 -m pipx ensurepath +``` + +To install Brownie using `pipx`: + +```bash +pipx install eth-brownie +``` + +To upgrade to the latest version: + +```bash +pipx upgrade eth-brownie +``` + +To use lastest master or another branch as version: +```bash +pipx install git+https://github.com/eth-brownie/brownie.git@master +``` + +### via `pip` + +You can install the latest release via [`pip`](https://pypi.org/project/pip/): + +```bash +pip install eth-brownie +``` + +### via `setuptools` + +You can clone the repository and use [`setuptools`](https://github.com/pypa/setuptools) for the most up-to-date version: + +```bash +git clone https://github.com/eth-brownie/brownie.git +cd brownie +python3 setup.py install +``` + +### as a library + +If you want to install brownie inside your own project (rather than as a standalone cli tool): + +```bash +export BROWNIE_LIB=1 +pip install eth-brownie +``` + +This loosens the pins on all dependencies. You'll want to make sure you have your own `requirements.txt` to make sure upgrades upstream don't surprise anyone. + +### for development + +There are extra tools that are helpful when developing: + +```bash +git clone https://github.com/eth-brownie/brownie.git +cd brownie +python3 -m venv venv +./venv/bin/pip install wheel +./venv/bin/pip install -e . -r requirements-dev.txt +``` + +Upgrading the pinned versions of dependencies is easy: +``` +./venv/bin/pip-compile --upgrade +./venv/bin/pip-compile --upgrade requirements-dev.in +./venv/bin/pip-compile --upgrade requirements-windows.in +``` + +Even small upgrades of patch versions have broken things in the past, so be sure to run all tests after upgrading things! + +## Quick Usage + +To initialize a new Brownie project, start by creating a new folder. From within that folder, type: + +```bash +brownie init +``` + +Next, type `brownie --help` for basic usage information. + +## Documentation and Support + +Brownie documentation is hosted at [Read the Docs](https://eth-brownie.readthedocs.io/en/latest/). + +If you have any questions about how to use Brownie, feel free to ask on [Ethereum StackExchange](https://ethereum.stackexchange.com/) or join us on [Gitter](https://gitter.im/eth-brownie/community). + +## Testing + +To run the tests, first install the developer dependencies: + +```bash +pip install -e . -r requirements-dev.txt +``` + +Then use [`tox`](https://github.com/tox-dev/tox) to run the complete suite against the full set of build targets, or [`pytest`](https://github.com/pytest-dev/pytest) to run tests against a specific version of Python. If you are using [`pytest`](https://github.com/pytest-dev/pytest) you must include the `-p no:pytest-brownie` flag to prevent it from loading the Brownie plugin. + +### Using Docker + +You can use a sandbox container provided in the [`docker-compose.yml`](docker-compose.yml) file for testing inside a Docker environment. + +This container provides everything you need to test using a Python 3.6 interpreter. + +Start the test environment: + +```bash +docker-compose up -d +``` + +To open a session to the container: + +```bash +docker-compose exec sandbox bash +``` + +To run arbitrary commands, use the `bash -c` prefix. + +```bash +docker-compose exec sandbox bash -c '' +``` + +For example, to run the tests in `brownie/tests/test_format_input.py`: + +```bash +docker-compose exec sandbox bash -c 'python -m pytest tests/convert/test_format_input.py' +``` + +#### Attaching to dockerized RPC clients + +You can also attach to a RPC client already running inside a docker container. + +For example for running ganache-cli you could just startup the official ganache-cli docker image: + +```bash +docker run -p 8545:8545 trufflesuite/ganache-cli +``` + +Then in another terminal on your host you could connect to it: + +```bash +brownie console +``` + +If you have your RPC client bound to a specific hostname e.g. `ganache` you could create a separate brownie network for it: + +```bash +brownie networks add Development dev cmd=ganache-cli host=http://ganache:8545 +``` + +Then connect to it with: + +```bash +brownie console --network dev +``` + +## Contributing + +Help is always appreciated! Feel free to open an issue if you find a problem, or a pull request if you've solved an issue. + +Please check out our [Contribution Guide](CONTRIBUTING.md) prior to opening a pull request, and join the Brownie [Gitter channel](https://gitter.im/eth-brownie/community) if you have any questions. + +## License + +This project is licensed under the [MIT license](LICENSE). + + + + +%package -n python3-eth-brownie +Summary: A Python framework for Ethereum smart contract deployment, testing and interaction. +Provides: python-eth-brownie +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-eth-brownie +# Brownie + +[](https://pypi.org/project/eth-brownie/) [](https://github.com/eth-brownie/brownie/actions) [](https://eth-brownie.readthedocs.io/en/stable/) [](https://codecov.io/gh/eth-brownie/brownie) + +Brownie is a Python-based development and testing framework for smart contracts targeting the [Ethereum Virtual Machine](https://solidity.readthedocs.io/en/v0.6.0/introduction-to-smart-contracts.html#the-ethereum-virtual-machine). + +## Features + +* Full support for [Solidity](https://github.com/ethereum/solidity) (`>=0.4.22`) and [Vyper](https://github.com/vyperlang/vyper) (`>=0.1.0-beta.16`) +* Contract testing via [`pytest`](https://github.com/pytest-dev/pytest), including trace-based coverage evaluation +* Property-based and stateful testing via [`hypothesis`](https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python) +* Powerful debugging tools, including python-style tracebacks and custom error strings +* Built-in console for quick project interaction + +## Dependencies + +* [python3](https://www.python.org/downloads/release/python-3910/) version 3.7 or greater, python3-dev +* [ganache](https://github.com/trufflesuite/ganache) - tested with version [7.0.2](https://github.com/trufflesuite/ganache/releases/tag/v7.0.2) + +## Installation + +### via `pipx` + +The recommended way to install Brownie is via [`pipx`](https://github.com/pipxproject/pipx). pipx installs Brownie into a virtual environment and makes it available directly from the commandline. Once installed, you will never have to activate a virtual environment prior to using Brownie. + +To install `pipx`: + +```bash +python3 -m pip install --user pipx +python3 -m pipx ensurepath +``` + +To install Brownie using `pipx`: + +```bash +pipx install eth-brownie +``` + +To upgrade to the latest version: + +```bash +pipx upgrade eth-brownie +``` + +To use lastest master or another branch as version: +```bash +pipx install git+https://github.com/eth-brownie/brownie.git@master +``` + +### via `pip` + +You can install the latest release via [`pip`](https://pypi.org/project/pip/): + +```bash +pip install eth-brownie +``` + +### via `setuptools` + +You can clone the repository and use [`setuptools`](https://github.com/pypa/setuptools) for the most up-to-date version: + +```bash +git clone https://github.com/eth-brownie/brownie.git +cd brownie +python3 setup.py install +``` + +### as a library + +If you want to install brownie inside your own project (rather than as a standalone cli tool): + +```bash +export BROWNIE_LIB=1 +pip install eth-brownie +``` + +This loosens the pins on all dependencies. You'll want to make sure you have your own `requirements.txt` to make sure upgrades upstream don't surprise anyone. + +### for development + +There are extra tools that are helpful when developing: + +```bash +git clone https://github.com/eth-brownie/brownie.git +cd brownie +python3 -m venv venv +./venv/bin/pip install wheel +./venv/bin/pip install -e . -r requirements-dev.txt +``` + +Upgrading the pinned versions of dependencies is easy: +``` +./venv/bin/pip-compile --upgrade +./venv/bin/pip-compile --upgrade requirements-dev.in +./venv/bin/pip-compile --upgrade requirements-windows.in +``` + +Even small upgrades of patch versions have broken things in the past, so be sure to run all tests after upgrading things! + +## Quick Usage + +To initialize a new Brownie project, start by creating a new folder. From within that folder, type: + +```bash +brownie init +``` + +Next, type `brownie --help` for basic usage information. + +## Documentation and Support + +Brownie documentation is hosted at [Read the Docs](https://eth-brownie.readthedocs.io/en/latest/). + +If you have any questions about how to use Brownie, feel free to ask on [Ethereum StackExchange](https://ethereum.stackexchange.com/) or join us on [Gitter](https://gitter.im/eth-brownie/community). + +## Testing + +To run the tests, first install the developer dependencies: + +```bash +pip install -e . -r requirements-dev.txt +``` + +Then use [`tox`](https://github.com/tox-dev/tox) to run the complete suite against the full set of build targets, or [`pytest`](https://github.com/pytest-dev/pytest) to run tests against a specific version of Python. If you are using [`pytest`](https://github.com/pytest-dev/pytest) you must include the `-p no:pytest-brownie` flag to prevent it from loading the Brownie plugin. + +### Using Docker + +You can use a sandbox container provided in the [`docker-compose.yml`](docker-compose.yml) file for testing inside a Docker environment. + +This container provides everything you need to test using a Python 3.6 interpreter. + +Start the test environment: + +```bash +docker-compose up -d +``` + +To open a session to the container: + +```bash +docker-compose exec sandbox bash +``` + +To run arbitrary commands, use the `bash -c` prefix. + +```bash +docker-compose exec sandbox bash -c '' +``` + +For example, to run the tests in `brownie/tests/test_format_input.py`: + +```bash +docker-compose exec sandbox bash -c 'python -m pytest tests/convert/test_format_input.py' +``` + +#### Attaching to dockerized RPC clients + +You can also attach to a RPC client already running inside a docker container. + +For example for running ganache-cli you could just startup the official ganache-cli docker image: + +```bash +docker run -p 8545:8545 trufflesuite/ganache-cli +``` + +Then in another terminal on your host you could connect to it: + +```bash +brownie console +``` + +If you have your RPC client bound to a specific hostname e.g. `ganache` you could create a separate brownie network for it: + +```bash +brownie networks add Development dev cmd=ganache-cli host=http://ganache:8545 +``` + +Then connect to it with: + +```bash +brownie console --network dev +``` + +## Contributing + +Help is always appreciated! Feel free to open an issue if you find a problem, or a pull request if you've solved an issue. + +Please check out our [Contribution Guide](CONTRIBUTING.md) prior to opening a pull request, and join the Brownie [Gitter channel](https://gitter.im/eth-brownie/community) if you have any questions. + +## License + +This project is licensed under the [MIT license](LICENSE). + + + + +%package help +Summary: Development documents and examples for eth-brownie +Provides: python3-eth-brownie-doc +%description help +# Brownie + +[](https://pypi.org/project/eth-brownie/) [](https://github.com/eth-brownie/brownie/actions) [](https://eth-brownie.readthedocs.io/en/stable/) [](https://codecov.io/gh/eth-brownie/brownie) + +Brownie is a Python-based development and testing framework for smart contracts targeting the [Ethereum Virtual Machine](https://solidity.readthedocs.io/en/v0.6.0/introduction-to-smart-contracts.html#the-ethereum-virtual-machine). + +## Features + +* Full support for [Solidity](https://github.com/ethereum/solidity) (`>=0.4.22`) and [Vyper](https://github.com/vyperlang/vyper) (`>=0.1.0-beta.16`) +* Contract testing via [`pytest`](https://github.com/pytest-dev/pytest), including trace-based coverage evaluation +* Property-based and stateful testing via [`hypothesis`](https://github.com/HypothesisWorks/hypothesis/tree/master/hypothesis-python) +* Powerful debugging tools, including python-style tracebacks and custom error strings +* Built-in console for quick project interaction + +## Dependencies + +* [python3](https://www.python.org/downloads/release/python-3910/) version 3.7 or greater, python3-dev +* [ganache](https://github.com/trufflesuite/ganache) - tested with version [7.0.2](https://github.com/trufflesuite/ganache/releases/tag/v7.0.2) + +## Installation + +### via `pipx` + +The recommended way to install Brownie is via [`pipx`](https://github.com/pipxproject/pipx). pipx installs Brownie into a virtual environment and makes it available directly from the commandline. Once installed, you will never have to activate a virtual environment prior to using Brownie. + +To install `pipx`: + +```bash +python3 -m pip install --user pipx +python3 -m pipx ensurepath +``` + +To install Brownie using `pipx`: + +```bash +pipx install eth-brownie +``` + +To upgrade to the latest version: + +```bash +pipx upgrade eth-brownie +``` + +To use lastest master or another branch as version: +```bash +pipx install git+https://github.com/eth-brownie/brownie.git@master +``` + +### via `pip` + +You can install the latest release via [`pip`](https://pypi.org/project/pip/): + +```bash +pip install eth-brownie +``` + +### via `setuptools` + +You can clone the repository and use [`setuptools`](https://github.com/pypa/setuptools) for the most up-to-date version: + +```bash +git clone https://github.com/eth-brownie/brownie.git +cd brownie +python3 setup.py install +``` + +### as a library + +If you want to install brownie inside your own project (rather than as a standalone cli tool): + +```bash +export BROWNIE_LIB=1 +pip install eth-brownie +``` + +This loosens the pins on all dependencies. You'll want to make sure you have your own `requirements.txt` to make sure upgrades upstream don't surprise anyone. + +### for development + +There are extra tools that are helpful when developing: + +```bash +git clone https://github.com/eth-brownie/brownie.git +cd brownie +python3 -m venv venv +./venv/bin/pip install wheel +./venv/bin/pip install -e . -r requirements-dev.txt +``` + +Upgrading the pinned versions of dependencies is easy: +``` +./venv/bin/pip-compile --upgrade +./venv/bin/pip-compile --upgrade requirements-dev.in +./venv/bin/pip-compile --upgrade requirements-windows.in +``` + +Even small upgrades of patch versions have broken things in the past, so be sure to run all tests after upgrading things! + +## Quick Usage + +To initialize a new Brownie project, start by creating a new folder. From within that folder, type: + +```bash +brownie init +``` + +Next, type `brownie --help` for basic usage information. + +## Documentation and Support + +Brownie documentation is hosted at [Read the Docs](https://eth-brownie.readthedocs.io/en/latest/). + +If you have any questions about how to use Brownie, feel free to ask on [Ethereum StackExchange](https://ethereum.stackexchange.com/) or join us on [Gitter](https://gitter.im/eth-brownie/community). + +## Testing + +To run the tests, first install the developer dependencies: + +```bash +pip install -e . -r requirements-dev.txt +``` + +Then use [`tox`](https://github.com/tox-dev/tox) to run the complete suite against the full set of build targets, or [`pytest`](https://github.com/pytest-dev/pytest) to run tests against a specific version of Python. If you are using [`pytest`](https://github.com/pytest-dev/pytest) you must include the `-p no:pytest-brownie` flag to prevent it from loading the Brownie plugin. + +### Using Docker + +You can use a sandbox container provided in the [`docker-compose.yml`](docker-compose.yml) file for testing inside a Docker environment. + +This container provides everything you need to test using a Python 3.6 interpreter. + +Start the test environment: + +```bash +docker-compose up -d +``` + +To open a session to the container: + +```bash +docker-compose exec sandbox bash +``` + +To run arbitrary commands, use the `bash -c` prefix. + +```bash +docker-compose exec sandbox bash -c '' +``` + +For example, to run the tests in `brownie/tests/test_format_input.py`: + +```bash +docker-compose exec sandbox bash -c 'python -m pytest tests/convert/test_format_input.py' +``` + +#### Attaching to dockerized RPC clients + +You can also attach to a RPC client already running inside a docker container. + +For example for running ganache-cli you could just startup the official ganache-cli docker image: + +```bash +docker run -p 8545:8545 trufflesuite/ganache-cli +``` + +Then in another terminal on your host you could connect to it: + +```bash +brownie console +``` + +If you have your RPC client bound to a specific hostname e.g. `ganache` you could create a separate brownie network for it: + +```bash +brownie networks add Development dev cmd=ganache-cli host=http://ganache:8545 +``` + +Then connect to it with: + +```bash +brownie console --network dev +``` + +## Contributing + +Help is always appreciated! Feel free to open an issue if you find a problem, or a pull request if you've solved an issue. + +Please check out our [Contribution Guide](CONTRIBUTING.md) prior to opening a pull request, and join the Brownie [Gitter channel](https://gitter.im/eth-brownie/community) if you have any questions. + +## License + +This project is licensed under the [MIT license](LICENSE). + + + + +%prep +%autosetup -n eth-brownie-1.19.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-eth-brownie -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 1.19.3-1 +- Package Spec generated |
