Giter VIP home page Giter VIP logo

brownie_simple_storage's Introduction

Update: Head to Cyfrin Updraft

ℹ️ Important: This repo is no longer maintained; we invite all people learning Solidity to head to Cyfrin Updraft! The 100% free #1 smart contract education platform on earth. Developed with love by Patrick & Cyfrin <3

  1. Install Brownie
python3 -m pip install --user pipx
python3 -m pipx ensurepath
# restart your terminal
pipx install eth-brownie

Or, if that doesn't work, via pip

pip install eth-brownie
  1. Clone this
git clone https://github.com/PatrickAlphaC/brownie_simple_storage
cd brownie_simple_storage
  1. Add your metamask to the brownie accounts at the 0 index
brownie accounts new 0

You'll be prompted to add your private key: 0xa5555555555555a09215803a6b540f1e054797eeda2eec6d49076760d48e7589 And a password, and you can see your new added account with brownie accounts list

Or, export your PRIVATE_KEY as an environment variable, and uncomment the line:

# account = accounts.add(config["wallets"]["from_key"])

and comment the line:

account = accounts[0]
  1. Testing
brownie test
  1. Running scripts
brownie run scripts/deploy.py
  1. Deploy to a testnet

Add your WEB3_INFURA_PROJECT_ID from Infura to your .env and run

source .env

To set your environment variable. You can check you've done it correctly with:

echo $WEB3_INFURA_PROJECT_ID

Change the deploy_simple_storage function in deploy.py to look like:

account = accounts.add(config["wallets"]["from_key"])
# account = accounts.load("id")
# account = accounts[0]

Then run:

brownie run scripts/deploy.py --network sepolia

Make sure you have some testnet ETH. You can find faucets in the Chainlink Documenatation

brownie_simple_storage's People

Contributors

cromewar avatar jaybrt avatar mh884 avatar n4n0b1t3 avatar patrickalphac avatar vaibhav0726 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

brownie_simple_storage's Issues

Deploying on rinkeby network

I am trying to deploy my script on the rinkeby network but it seems like there is a bug somewhere and i would like to find out what it is.

After typing in 'brownie run scripts/deploy.py --network rinkeby' in my terminal, I am getting the error below:

Running '\Users\sahar\OneDrive\Documents\Python\Blockchain\brownie_simple_storage\scripts\deploy.py::main'... File "C:\Users\sahar\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\_cli\run.py", line 50, in main return_value, frame = run(
File "C:\Users\sahar\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\project\scripts.py", line 103, in run return_value = f_locals[method_name](*args, **kwargs)
File "\Users\sahar\OneDrive\Documents\Python\Blockchain\brownie_simple_storage\scripts\deploy.py", line 23, in main deploy_simple_storage()
File "\Users\sahar\OneDrive\Documents\Python\Blockchain\brownie_simple_storage\scripts\deploy.py", line 6, in deploy_simple_storage simple_storage = SimpleStorage.deploy({"from": accounts})
File "C:\Users\sahar\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\contract.py", line 524, in __call__ return tx["from"].deploy(

AttributeError: 'Accounts' object has no attribute 'deploy'

"SimpleStorage" is unknown import symbol

I have imported SimpleSorage and I have this error message:
"SimpleStorage" is unknown import symbol
and this is my code:
from brownie import accounts,config, SimpleStorage

def deploy_simple_storage():
account = accounts[0]

#simple_storage = SimpleStorage.deploy({"from": account})
SimpleSrorage.deploy({"from": account})

print(account)

def main():
deploy_simple_storage()

Deploy.py results in "The private key must be exactly 32 bytes long, instead of 42 bytes"

My brownie-config.yaml

dotenv: .env
wallets:
     from_key: ${PRIVATE_KEY}

My .env file

export PRIVATE_KEY='0x########################################'
                  
export WEB3_INFURA_PROJECT_ID=####################

My deploy.py

account = accounts.add(config["wallets"]["from_key"])

I have :

  • checked the length of the key
  • ran source .env and then deployed
  • I created a new script where it just prints the key, and that worked.

New script

import os


def main():
    print(os.getenv("PRIVATE_KEY"))

Here is my current deploy.py

from brownie import accounts, config, SimpleStorage, network


def deploy_simple_storage():

    account = get_account()
    simple_storage = SimpleStorage.deploy({"from": account})
    stored_value = simple_storage.retrieve()
    print(stored_value)
    transaction = simple_storage.store(15, {"from": account})
    transaction.wait(1)
    updated_stored_value = simple_storage.retrieve()
    print(updated_stored_value)


def get_account():
   if network.show_active() == "development":
        return accounts[0]
     else:
         return accounts.add(config["wallets"]["from_key"])


def main():
    deploy_simple_storage()

I ran

brownie run scripts/deploy.py --network rinkeby

Here is all of the deployment message.

Running 'scripts/deploy.py::main'...
  File "brownie/_cli/run.py", line 49, in main
    return_value, frame = run(
  File "brownie/project/scripts.py", line 103, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File "./scripts/deploy.py", line 38, in main
    deploy_simple_storage()
  File "./scripts/deploy.py", line 11, in deploy_simple_storage
    account = accounts.add(config["wallets"]["from_key"])
  File "brownie/network/account.py", line 140, in add
    w3account = web3.eth.account.from_key(private_key)
  File "eth_utils/decorators.py", line 18, in _wrapper
    return self.method(obj, *args, **kwargs)
  File "eth_account/account.py", line 250, in from_key
    key = self._parsePrivateKey(private_key)
  File "eth_utils/decorators.py", line 18, in _wrapper
    return self.method(obj, *args, **kwargs)
  File "eth_account/account.py", line 771, in _parsePrivateKey
    raise ValueError(
ValueError: The private key must be exactly 32 bytes long, instead of 42 bytes.
Terminating local RPC client...

Any help would really be appreciated!

list index out of range on running the read_value.py file

The contract is getting deployed and i can confirm that in the build folder but when i run the read_value.py file i get the following error:

  File "brownie/_cli/run.py", line 50, in main
    return_value, frame = run(
  File "brownie/project/scripts.py", line 103, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File "./scripts/read_value.py", line 10, in main
    read_contract()
  File "./scripts/read_value.py", line 5, in read_contract
    simple_storage = SimpleStorage[-1]
  File "brownie/network/contract.py", line 173, in __getitem__
    return self._contracts[i]
IndexError: list index out of range```

1 passed, 3 warnings in 9.27s

when I compile my test folder it gives me this error : "1 passed, 3 warnings in 9.27s "
and this is my code:

from brownie import SimpleStorage, accounts


def test_deploy():

    account = accounts[0]

    simple_storage = SimpleStorage.deploy({"from": account})
    starting_value = simple_storage.retrieve()
    expected = 0

   
    assert starting_value == expected

Screenshot 2022-10-22 195622

cant connect to rinkeby network

whenever i run deploy.py from brownie
i get the error
i have exact same from the video
"Unable to expand environment variable in host setting"

Brownie Simple Storage -> Brownie Install Error: fatal error C1083: Cannot open include file: 'longintrepr.h'

Hi Everyone: Very new to Python and Solidity but have been developer for 45 years, but in PeopleSoft. Retired but heading back to work so trying to gain new skills. I have spent 2 days trying to get the Brownie software installed but no luck. I have included the entire dump and hopefully someone will have a quick fix. Thanks in advance .. the old guy :)

PS C:\Users\dmiss\pythondevelpment> pip install eth-brownie
Collecting eth-brownie
Using cached eth_brownie-1.19.2-py3-none-any.whl (232 kB)
Requirement already satisfied: aiohttp==3.8.3 in c:\python\lib\site-packages (from eth-brownie) (3.8.3)
Collecting aiosignal==1.2.0
Using cached aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
Collecting asttokens==2.0.5
Using cached asttokens-2.0.5-py2.py3-none-any.whl (20 kB)
Requirement already satisfied: async-timeout==4.0.2 in c:\python\lib\site-packages (from eth-brownie) (4.0.2)
Requirement already satisfied: attrs==22.1.0 in c:\python\lib\site-packages (from eth-brownie) (22.1.0)
Requirement already satisfied: base58==2.1.1 in c:\python\lib\site-packages (from eth-brownie) (2.1.1)
Requirement already satisfied: bitarray==2.6.0 in c:\python\lib\site-packages (from eth-brownie) (2.6.0)
Requirement already satisfied: black==22.10.0 in c:\python\lib\site-packages (from eth-brownie) (22.10.0)
Requirement already satisfied: certifi==2022.9.24 in c:\python\lib\site-packages (from eth-brownie) (2022.9.24)
Requirement already satisfied: charset-normalizer==2.1.1 in c:\python\lib\site-packages (from eth-brownie) (2.1.1)
Requirement already satisfied: click==8.1.3 in c:\python\lib\site-packages (from eth-brownie) (8.1.3)
Requirement already satisfied: cytoolz==0.12.0 in c:\python\lib\site-packages (from eth-brownie) (0.12.0)
Collecting dataclassy==0.11.1
Using cached dataclassy-0.11.1-py3-none-any.whl (23 kB)
Collecting eip712==0.1.0
Using cached eip712-0.1.0-py3-none-any.whl (13 kB)
Requirement already satisfied: eth-abi==2.2.0 in c:\python\lib\site-packages (from eth-brownie) (2.2.0)
Requirement already satisfied: eth-account==0.5.9 in c:\python\lib\site-packages (from eth-brownie) (0.5.9)
Collecting eth-event==1.2.3
Using cached eth_event-1.2.3-py3-none-any.whl (7.3 kB)
Collecting eth-hash[pycryptodome]==0.3.3
Using cached eth_hash-0.3.3-py3-none-any.whl (8.9 kB)
Requirement already satisfied: eth-keyfile==0.5.1 in c:\python\lib\site-packages (from eth-brownie) (0.5.1)
Requirement already satisfied: eth-keys==0.3.4 in c:\python\lib\site-packages (from eth-brownie) (0.3.4)
Requirement already satisfied: eth-rlp==0.2.1 in c:\python\lib\site-packages (from eth-brownie) (0.2.1)
Requirement already satisfied: eth-typing==2.3.0 in c:\python\lib\site-packages (from eth-brownie) (2.3.0)
Collecting eth-utils==1.10.0
Using cached eth_utils-1.10.0-py3-none-any.whl (24 kB)
Collecting execnet==1.9.0
Using cached execnet-1.9.0-py2.py3-none-any.whl (39 kB)
Collecting frozenlist==1.3.1
Using cached frozenlist-1.3.1-cp311-cp311-win_amd64.whl
Collecting hexbytes==0.2.3
Using cached hexbytes-0.2.3-py3-none-any.whl (6.4 kB)
Collecting hypothesis==6.27.3
Using cached hypothesis-6.27.3-py3-none-any.whl (384 kB)
Requirement already satisfied: idna==3.4 in c:\python\lib\site-packages (from eth-brownie) (3.4)
Collecting inflection==0.5.0
Using cached inflection-0.5.0-py2.py3-none-any.whl (5.8 kB)
Collecting iniconfig==1.1.1
Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
Requirement already satisfied: ipfshttpclient==0.8.0a2 in c:\python\lib\site-packages (from eth-brownie) (0.8.0a2)
Collecting jsonschema==3.2.0
Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Collecting lazy-object-proxy==1.7.1
Using cached lazy-object-proxy-1.7.1.tar.gz (41 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: lru-dict==1.1.8 in c:\python\lib\site-packages (from eth-brownie) (1.1.8)
Requirement already satisfied: multiaddr==0.0.9 in c:\python\lib\site-packages (from eth-brownie) (0.0.9)
Requirement already satisfied: multidict==6.0.2 in c:\python\lib\site-packages (from eth-brownie) (6.0.2)
Requirement already satisfied: mypy-extensions==0.4.3 in c:\python\lib\site-packages (from eth-brownie) (0.4.3)
Collecting mythx-models==1.9.1
Using cached mythx_models-1.9.1-py2.py3-none-any.whl (82 kB)
Requirement already satisfied: netaddr==0.8.0 in c:\python\lib\site-packages (from eth-brownie) (0.8.0)
Requirement already satisfied: packaging==21.3 in c:\users\dmiss\appdata\roaming\python\python311\site-packages (from eth-brownie) (21.3)
Requirement already satisfied: parsimonious==0.8.1 in c:\python\lib\site-packages (from eth-brownie) (0.8.1)
Requirement already satisfied: pathspec==0.10.1 in c:\python\lib\site-packages (from eth-brownie) (0.10.1)
Collecting platformdirs==2.5.2
Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
Collecting pluggy==1.0.0
Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
Collecting prompt-toolkit==3.0.31
Using cached prompt_toolkit-3.0.31-py3-none-any.whl (382 kB)
Requirement already satisfied: protobuf==3.19.5 in c:\python\lib\site-packages (from eth-brownie) (3.19.5)
Collecting psutil==5.9.2
Using cached psutil-5.9.2.tar.gz (479 kB)
Preparing metadata (setup.py) ... done
Collecting py==1.11.0
Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
Collecting py-solc-ast==1.2.9
Using cached py_solc_ast-1.2.9-py3-none-any.whl (10 kB)
Requirement already satisfied: py-solc-x==1.1.1 in c:\python\lib\site-packages (from eth-brownie) (1.1.1)
Requirement already satisfied: pycryptodome==3.15.0 in c:\python\lib\site-packages (from eth-brownie) (3.15.0)
Collecting pygments==2.13.0
Using cached Pygments-2.13.0-py3-none-any.whl (1.1 MB)
Collecting pygments-lexer-solidity==0.7.0
Using cached pygments_lexer_solidity-0.7.0-py3-none-any.whl
Collecting pyjwt==1.7.1
Using cached PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Requirement already satisfied: pyparsing==3.0.9 in c:\users\dmiss\appdata\roaming\python\python311\site-packages (from eth-brownie) (3.0.9)
Collecting pyrsistent==0.18.1
Using cached pyrsistent-0.18.1.tar.gz (100 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pytest==6.2.5
Using cached pytest-6.2.5-py3-none-any.whl (280 kB)
Collecting pytest-forked==1.4.0
Using cached pytest_forked-1.4.0-py3-none-any.whl (4.9 kB)
Collecting pytest-xdist==1.34.0
Using cached pytest_xdist-1.34.0-py2.py3-none-any.whl (36 kB)
Collecting python-dateutil==2.8.1
Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting python-dotenv==0.16.0
Using cached python_dotenv-0.16.0-py2.py3-none-any.whl (18 kB)
Collecting pythx==1.6.1
Using cached pythx-1.6.1-py2.py3-none-any.whl (39 kB)
Collecting pyyaml==5.4.1
Using cached PyYAML-5.4.1-cp311-cp311-win_amd64.whl
Requirement already satisfied: requests==2.28.1 in c:\python\lib\site-packages (from eth-brownie) (2.28.1)
Requirement already satisfied: rlp==2.0.1 in c:\python\lib\site-packages (from eth-brownie) (2.0.1)
Requirement already satisfied: semantic-version==2.10.0 in c:\python\lib\site-packages (from eth-brownie) (2.10.0)
Requirement already satisfied: six==1.16.0 in c:\python\lib\site-packages (from eth-brownie) (1.16.0)
Collecting sortedcontainers==2.4.0
Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting toml==0.10.2
Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting tomli==2.0.1
Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Requirement already satisfied: toolz==0.12.0 in c:\python\lib\site-packages (from eth-brownie) (0.12.0)
Collecting tqdm==4.64.1
Using cached tqdm-4.64.1-py2.py3-none-any.whl (78 kB)
Requirement already satisfied: urllib3==1.26.12 in c:\python\lib\site-packages (from eth-brownie) (1.26.12)
Requirement already satisfied: varint==1.0.2 in c:\python\lib\site-packages (from eth-brownie) (1.0.2)
Collecting vvm==0.1.0
Using cached vvm-0.1.0-py3-none-any.whl (11 kB)
Collecting eth-brownie
Using cached eth_brownie-1.19.1-py3-none-any.whl (232 kB)
Collecting aiohttp==3.8.1
Using cached aiohttp-3.8.1.tar.gz (7.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting black==22.6.0
Using cached black-22.6.0-py3-none-any.whl (156 kB)
Collecting certifi==2022.6.15
Using cached certifi-2022.6.15-py3-none-any.whl (160 kB)
Collecting charset-normalizer==2.1.0
Using cached charset_normalizer-2.1.0-py3-none-any.whl (39 kB)
Collecting hexbytes==0.2.2
Using cached hexbytes-0.2.2-py3-none-any.whl (6.1 kB)
Collecting idna==3.3
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting pathspec==0.9.0
Using cached pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
Collecting prompt-toolkit==3.0.30
Using cached prompt_toolkit-3.0.30-py3-none-any.whl (381 kB)
Collecting protobuf==3.20.1
Using cached protobuf-3.20.1-py2.py3-none-any.whl (162 kB)
Collecting psutil==5.9.1
Using cached psutil-5.9.1.tar.gz (479 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pygments==2.12.0
Using cached Pygments-2.12.0-py3-none-any.whl (1.1 MB)
Collecting semantic-version==2.8.5
Using cached semantic_version-2.8.5-py2.py3-none-any.whl (15 kB)
Collecting tqdm==4.64.0
Using cached tqdm-4.64.0-py2.py3-none-any.whl (78 kB)
Collecting urllib3==1.26.11
Using cached urllib3-1.26.11-py2.py3-none-any.whl (139 kB)
Collecting eth-brownie
Using cached eth_brownie-1.19.0-py3-none-any.whl (232 kB)
Collecting attrs==21.4.0
Using cached attrs-21.4.0-py2.py3-none-any.whl (60 kB)
Collecting bitarray==1.2.2
Using cached bitarray-1.2.2.tar.gz (48 kB)
Preparing metadata (setup.py) ... done
Collecting black==22.3.0
Using cached black-22.3.0-py3-none-any.whl (153 kB)
Collecting certifi==2022.5.18.1
Using cached certifi-2022.5.18.1-py3-none-any.whl (155 kB)
Collecting charset-normalizer==2.0.12
Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting cytoolz==0.11.2
Using cached cytoolz-0.11.2.tar.gz (481 kB)
Preparing metadata (setup.py) ... done
Collecting eth-abi==2.1.1
Using cached eth_abi-2.1.1-py3-none-any.whl (27 kB)
Collecting eth-account==0.5.7
Using cached eth_account-0.5.7-py3-none-any.whl (101 kB)
Collecting eth-hash[pycryptodome]==0.3.2
Using cached eth_hash-0.3.2-py3-none-any.whl (8.8 kB)
Collecting frozenlist==1.3.0
Using cached frozenlist-1.3.0.tar.gz (65 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting lru-dict==1.1.7
Using cached lru_dict-1.1.7-cp311-cp311-win_amd64.whl
Collecting prompt-toolkit==3.0.29
Using cached prompt_toolkit-3.0.29-py3-none-any.whl (381 kB)
Collecting pycryptodome==3.14.1
Using cached pycryptodome-3.14.1-cp35-abi3-win_amd64.whl (1.8 MB)
Collecting requests==2.27.1
Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
Collecting toolz==0.11.2
Using cached toolz-0.11.2-py3-none-any.whl (55 kB)
Collecting urllib3==1.26.9
Using cached urllib3-1.26.9-py2.py3-none-any.whl (138 kB)
Collecting eth-brownie
Using cached eth_brownie-1.18.2-py3-none-any.whl (230 kB)
Collecting certifi==2021.10.8
Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting psutil==5.9.0
Using cached psutil-5.9.0.tar.gz (478 kB)
Preparing metadata (setup.py) ... done
Collecting eth-brownie
Using cached eth_brownie-1.18.1-py3-none-any.whl (225 kB)
Collecting black==22.1.0
Using cached black-22.1.0-py3-none-any.whl (160 kB)
Collecting charset-normalizer==2.0.11
Using cached charset_normalizer-2.0.11-py3-none-any.whl (39 kB)
Collecting click==8.0.3
Using cached click-8.0.3-py3-none-any.whl (97 kB)
Collecting platformdirs==2.4.1
Using cached platformdirs-2.4.1-py3-none-any.whl (14 kB)
Collecting prompt-toolkit==3.0.26
Using cached prompt_toolkit-3.0.26-py3-none-any.whl (375 kB)
Collecting protobuf==3.19.4
Using cached protobuf-3.19.4-py2.py3-none-any.whl (162 kB)
Collecting pygments==2.11.2
Using cached Pygments-2.11.2-py3-none-any.whl (1.1 MB)
Collecting pyparsing==3.0.7
Using cached pyparsing-3.0.7-py3-none-any.whl (98 kB)
Collecting tomli==2.0.0
Using cached tomli-2.0.0-py3-none-any.whl (12 kB)
Collecting tqdm==4.62.3
Using cached tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
Collecting typing-extensions==4.0.1
Using cached typing_extensions-4.0.1-py3-none-any.whl (22 kB)
Collecting urllib3==1.26.8
Using cached urllib3-1.26.8-py2.py3-none-any.whl (138 kB)
Collecting eth-brownie
Using cached eth_brownie-1.18.0-py3-none-any.whl (225 kB)
Using cached eth_brownie-1.17.2-py3-none-any.whl (221 kB)
Collecting async-timeout==4.0.1
Using cached async_timeout-4.0.1-py3-none-any.whl (5.7 kB)
Collecting asynctest==0.13.0
Using cached asynctest-0.13.0-py3-none-any.whl (26 kB)
Collecting attrs==21.2.0
Using cached attrs-21.2.0-py2.py3-none-any.whl (53 kB)
Collecting black==21.11b1
Using cached black-21.11b1-py3-none-any.whl (155 kB)
Collecting cached-property==1.5.2
Using cached cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
Collecting charset-normalizer==2.0.9
Using cached charset_normalizer-2.0.9-py3-none-any.whl (39 kB)
Collecting eth-account==0.5.6
Using cached eth_account-0.5.6-py3-none-any.whl (101 kB)
Collecting eth-keys==0.3.3
Using cached eth_keys-0.3.3-py3-none-any.whl (20 kB)
Collecting eth-typing==2.2.2
Using cached eth_typing-2.2.2-py3-none-any.whl (6.2 kB)
Collecting frozenlist==1.2.0
Using cached frozenlist-1.2.0.tar.gz (65 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting importlib-metadata==4.8.2
Using cached importlib_metadata-4.8.2-py3-none-any.whl (17 kB)
Collecting lazy-object-proxy==1.6.0
Using cached lazy_object_proxy-1.6.0-cp311-cp311-win_amd64.whl
Collecting multidict==5.2.0
Using cached multidict-5.2.0.tar.gz (49 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting platformdirs==2.4.0
Using cached platformdirs-2.4.0-py3-none-any.whl (14 kB)
Collecting prompt-toolkit==3.0.23
Using cached prompt_toolkit-3.0.23-py3-none-any.whl (374 kB)
Collecting protobuf==3.19.1
Using cached protobuf-3.19.1-py2.py3-none-any.whl (162 kB)
Collecting psutil==5.8.0
Using cached psutil-5.8.0-cp311-cp311-win_amd64.whl
Collecting pycryptodome==3.12.0
Using cached pycryptodome-3.12.0-cp35-abi3-win_amd64.whl (1.8 MB)
Collecting pygments==2.10.0
Using cached Pygments-2.10.0-py3-none-any.whl (1.0 MB)
Collecting pyparsing==3.0.6
Using cached pyparsing-3.0.6-py3-none-any.whl (97 kB)
Collecting pyrsistent==0.18.0
Using cached pyrsistent-0.18.0-cp311-cp311-win_amd64.whl
Collecting pytest-forked==1.3.0
Using cached pytest_forked-1.3.0-py2.py3-none-any.whl (4.7 kB)
Collecting regex==2021.11.10
Using cached regex-2021.11.10.tar.gz (702 kB)
Preparing metadata (setup.py) ... done
Collecting requests==2.26.0
Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting tomli==1.2.2
Using cached tomli-1.2.2-py3-none-any.whl (12 kB)
Collecting typed-ast==1.5.1
Using cached typed_ast-1.5.1.tar.gz (252 kB)
Preparing metadata (setup.py) ... done
Collecting typing-extensions==3.10.0.2
Using cached typing_extensions-3.10.0.2-py3-none-any.whl (26 kB)
Collecting urllib3==1.26.7
Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting eth-brownie
Using cached eth_brownie-1.17.1-py3-none-any.whl (221 kB)
Collecting aiohttp==3.7.4.post0
Using cached aiohttp-3.7.4.post0-py3-none-any.whl
Collecting asttokens==2.0.4
Using cached asttokens-2.0.4-py2.py3-none-any.whl (20 kB)
Collecting async-timeout==3.0.1
Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting base58==2.1.0
Using cached base58-2.1.0-py3-none-any.whl (5.6 kB)
Collecting black==21.9b0
Using cached black-21.9b0-py3-none-any.whl (148 kB)
Collecting chardet==4.0.0
Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting charset-normalizer==2.0.7
Using cached charset_normalizer-2.0.7-py3-none-any.whl (38 kB)
Collecting cytoolz==0.11.0
Using cached cytoolz-0.11.0.tar.gz (477 kB)
Preparing metadata (setup.py) ... done
Collecting hypothesis==6.24.0
Using cached hypothesis-6.24.0-py3-none-any.whl (381 kB)
Collecting packaging==21.0
Using cached packaging-21.0-py3-none-any.whl (40 kB)
Collecting prompt-toolkit==3.0.21
Using cached prompt_toolkit-3.0.21-py3-none-any.whl (374 kB)
Collecting protobuf==3.19.0
Using cached protobuf-3.19.0-py2.py3-none-any.whl (162 kB)
Collecting py==1.10.0
Using cached py-1.10.0-py2.py3-none-any.whl (97 kB)
Collecting pycryptodome==3.11.0
Using cached pycryptodome-3.11.0-cp35-abi3-win_amd64.whl (1.8 MB)
Collecting pyparsing==3.0.3
Using cached pyparsing-3.0.3-py3-none-any.whl (96 kB)
Collecting regex==2021.10.23
Using cached regex-2021.10.23.tar.gz (703 kB)
Preparing metadata (setup.py) ... done
Collecting toolz==0.11.1
Using cached toolz-0.11.1-py3-none-any.whl (55 kB)
Collecting eth-brownie
Using cached eth_brownie-1.17.0-py3-none-any.whl (221 kB)
Collecting dataclassy==0.11.0
Using cached dataclassy-0.11.0-py3-none-any.whl (23 kB)
Collecting hypothesis==6.23.2
Using cached hypothesis-6.23.2-py3-none-any.whl (381 kB)
Collecting idna==3.2
Using cached idna-3.2-py3-none-any.whl (59 kB)
Collecting prompt-toolkit==3.0.20
Using cached prompt_toolkit-3.0.20-py3-none-any.whl (370 kB)
Collecting protobuf==3.18.1
Using cached protobuf-3.18.1-py2.py3-none-any.whl (174 kB)
Collecting pyparsing==2.4.7
Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Collecting regex==2021.10.8
Using cached regex-2021.10.8.tar.gz (703 kB)
Preparing metadata (setup.py) ... done
Collecting rlp==1.2.0
Using cached rlp-1.2.0-py2.py3-none-any.whl (19 kB)
Collecting tomli==1.2.1
Using cached tomli-1.2.1-py3-none-any.whl (11 kB)
Collecting eth-brownie
Using cached eth_brownie-1.16.4-py3-none-any.whl (219 kB)
Collecting certifi==2021.5.30
Using cached certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
Collecting charset-normalizer==2.0.6
Using cached charset_normalizer-2.0.6-py3-none-any.whl (37 kB)
Collecting click==8.0.1
Using cached click-8.0.1-py3-none-any.whl (97 kB)
Collecting dataclassy==0.10.4
Using cached dataclassy-0.10.4-py3-none-any.whl (23 kB)
Collecting eth-account==0.5.5
Using cached eth_account-0.5.5-py3-none-any.whl (100 kB)
Collecting hypothesis==6.21.6
Using cached hypothesis-6.21.6-py3-none-any.whl (381 kB)
Collecting multidict==5.1.0
Using cached multidict-5.1.0-cp311-cp311-win_amd64.whl
Collecting platformdirs==2.3.0
Using cached platformdirs-2.3.0-py3-none-any.whl (13 kB)
Collecting protobuf==3.18.0
Using cached protobuf-3.18.0-py2.py3-none-any.whl (174 kB)
Collecting py-solc-x==1.1.0
Using cached py_solc_x-1.1.0-py3-none-any.whl (15 kB)
Collecting pycryptodome==3.10.1
Using cached pycryptodome-3.10.1-cp35-abi3-win_amd64.whl (1.6 MB)
Collecting regex==2021.8.28
Using cached regex-2021.8.28-cp311-cp311-win_amd64.whl
Collecting urllib3==1.26.6
Using cached urllib3-1.26.6-py2.py3-none-any.whl (138 kB)
Collecting vyper==0.2.16
Using cached vyper-0.2.16-py3-none-any.whl (236 kB)
Collecting wcwidth==0.2.5
Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting web3==5.23.1
Using cached web3-5.23.1-py3-none-any.whl (486 kB)
Requirement already satisfied: websockets==9.1 in c:\python\lib\site-packages (from eth-brownie) (9.1)
Collecting wrapt==1.12.1
Using cached wrapt-1.12.1-cp311-cp311-win_amd64.whl
Collecting yarl==1.6.3
Using cached yarl-1.6.3.tar.gz (176 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: colorama in c:\python\lib\site-packages (from click==8.0.1->eth-brownie) (0.4.6)
Requirement already satisfied: setuptools in c:\python\lib\site-packages (from jsonschema==3.2.0->eth-brownie) (65.5.0)
Collecting atomicwrites>=1.0
Using cached atomicwrites-1.4.1-py2.py3-none-any.whl
Requirement already satisfied: pywin32>=223 in c:\python\lib\site-packages (from web3==5.23.1->eth-brownie) (305)
WARNING: The candidate selected for download or install is a yanked version: 'protobuf' candidate (version 3.18.0 at https://files.pythonhosted.org/packages/74/4e/9f3cb458266ef5cdeaa1e72a90b9eda100e3d1803cbd7ec02f0846da83c3/protobuf-3.18.0-py2.py3-none-any.whl (from https://pypi.org/simple/protobuf/))
Reason for being yanked: This version claims to support Python 2 but does not
Building wheels for collected packages: yarl
Building wheel for yarl (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for yarl (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [44 lines of output]
C:\Users\dmiss\AppData\Local\Temp\pip-build-env-pg06kl5f\overlay\Lib\site-packages\setuptools\config\setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
warnings.warn(msg, warning_class)


  • Accellerated build *

running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting.py -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_py.py -> build\lib.win-amd64-cpython-311\yarl
copying yarl_url.py -> build\lib.win-amd64-cpython-311\yarl
copying yarl_init_.py -> build\lib.win-amd64-cpython-311\yarl
running egg_info
writing yarl.egg-info\PKG-INFO
writing dependency_links to yarl.egg-info\dependency_links.txt
writing requirements to yarl.egg-info\requires.txt
writing top-level names to yarl.egg-info\top_level.txt
reading manifest file 'yarl.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '.pyc' found anywhere in distribution
warning: no previously-included files matching '.cache' found anywhere in distribution
warning: no previously-included files found matching 'yarl*.html'
warning: no previously-included files found matching 'yarl*.so'
warning: no previously-included files found matching 'yarl*.pyd'
no previously-included directories found matching 'docs_build'
adding license file 'LICENSE'
writing manifest file 'yarl.egg-info\SOURCES.txt'
copying yarl_init_.pyi -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_c.c -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_c.pyi -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_c.pyx -> build\lib.win-amd64-cpython-311\yarl
copying yarl\py.typed -> build\lib.win-amd64-cpython-311\yarl
running build_ext
building 'yarl._quoting_c' extension
creating build\temp.win-amd64-cpython-311
creating build\temp.win-amd64-cpython-311\Release
creating build\temp.win-amd64-cpython-311\Release\yarl
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Python\include -IC:\Python\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcyarl/_quoting_c.c /Fobuild\temp.win-amd64-cpython-311\Release\yarl/_quoting_c.obj
_quoting_c.c
yarl/_quoting_c.c(196): fatal error C1083: Cannot open include file: 'longintrepr.h': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe' failed with exit code 2
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for yarl
PS C:\Users\dmiss\pythondevelpment> pip install eth-brownie
Collecting eth-brownie
Using cached eth_brownie-1.19.2-py3-none-any.whl (232 kB)
Requirement already satisfied: aiohttp==3.8.3 in c:\python\lib\site-packages (from eth-brownie) (3.8.3)
Collecting aiosignal==1.2.0
Using cached aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
Collecting asttokens==2.0.5
Using cached asttokens-2.0.5-py2.py3-none-any.whl (20 kB)
Requirement already satisfied: async-timeout==4.0.2 in c:\python\lib\site-packages (from eth-brownie) (4.0.2)
Requirement already satisfied: attrs==22.1.0 in c:\python\lib\site-packages (from eth-brownie) (22.1.0)
Requirement already satisfied: base58==2.1.1 in c:\python\lib\site-packages (from eth-brownie) (2.1.1)
Requirement already satisfied: bitarray==2.6.0 in c:\python\lib\site-packages (from eth-brownie) (2.6.0)
Requirement already satisfied: black==22.10.0 in c:\python\lib\site-packages (from eth-brownie) (22.10.0)
Requirement already satisfied: certifi==2022.9.24 in c:\python\lib\site-packages (from eth-brownie) (2022.9.24)
Requirement already satisfied: charset-normalizer==2.1.1 in c:\python\lib\site-packages (from eth-brownie) (2.1.1)
Requirement already satisfied: click==8.1.3 in c:\python\lib\site-packages (from eth-brownie) (8.1.3)
Requirement already satisfied: cytoolz==0.12.0 in c:\python\lib\site-packages (from eth-brownie) (0.12.0)
Collecting dataclassy==0.11.1
Using cached dataclassy-0.11.1-py3-none-any.whl (23 kB)
Collecting eip712==0.1.0
Using cached eip712-0.1.0-py3-none-any.whl (13 kB)
Requirement already satisfied: eth-abi==2.2.0 in c:\python\lib\site-packages (from eth-brownie) (2.2.0)
Requirement already satisfied: eth-account==0.5.9 in c:\python\lib\site-packages (from eth-brownie) (0.5.9)
Collecting eth-event==1.2.3
Using cached eth_event-1.2.3-py3-none-any.whl (7.3 kB)
Collecting eth-hash[pycryptodome]==0.3.3
Using cached eth_hash-0.3.3-py3-none-any.whl (8.9 kB)
Requirement already satisfied: eth-keyfile==0.5.1 in c:\python\lib\site-packages (from eth-brownie) (0.5.1)
Requirement already satisfied: eth-keys==0.3.4 in c:\python\lib\site-packages (from eth-brownie) (0.3.4)
Requirement already satisfied: eth-rlp==0.2.1 in c:\python\lib\site-packages (from eth-brownie) (0.2.1)
Requirement already satisfied: eth-typing==2.3.0 in c:\python\lib\site-packages (from eth-brownie) (2.3.0)
Collecting eth-utils==1.10.0
Using cached eth_utils-1.10.0-py3-none-any.whl (24 kB)
Collecting execnet==1.9.0
Using cached execnet-1.9.0-py2.py3-none-any.whl (39 kB)
Collecting frozenlist==1.3.1
Using cached frozenlist-1.3.1-cp311-cp311-win_amd64.whl
Collecting hexbytes==0.2.3
Using cached hexbytes-0.2.3-py3-none-any.whl (6.4 kB)
Collecting hypothesis==6.27.3
Using cached hypothesis-6.27.3-py3-none-any.whl (384 kB)
Requirement already satisfied: idna==3.4 in c:\python\lib\site-packages (from eth-brownie) (3.4)
Collecting inflection==0.5.0
Using cached inflection-0.5.0-py2.py3-none-any.whl (5.8 kB)
Collecting iniconfig==1.1.1
Using cached iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
Requirement already satisfied: ipfshttpclient==0.8.0a2 in c:\python\lib\site-packages (from eth-brownie) (0.8.0a2)
Collecting jsonschema==3.2.0
Using cached jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)
Collecting lazy-object-proxy==1.7.1
Using cached lazy-object-proxy-1.7.1.tar.gz (41 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: lru-dict==1.1.8 in c:\python\lib\site-packages (from eth-brownie) (1.1.8)
Requirement already satisfied: multiaddr==0.0.9 in c:\python\lib\site-packages (from eth-brownie) (0.0.9)
Requirement already satisfied: multidict==6.0.2 in c:\python\lib\site-packages (from eth-brownie) (6.0.2)
Requirement already satisfied: mypy-extensions==0.4.3 in c:\python\lib\site-packages (from eth-brownie) (0.4.3)
Collecting mythx-models==1.9.1
Using cached mythx_models-1.9.1-py2.py3-none-any.whl (82 kB)
Requirement already satisfied: netaddr==0.8.0 in c:\python\lib\site-packages (from eth-brownie) (0.8.0)
Requirement already satisfied: packaging==21.3 in c:\users\dmiss\appdata\roaming\python\python311\site-packages (from eth-brownie) (21.3)
Requirement already satisfied: parsimonious==0.8.1 in c:\python\lib\site-packages (from eth-brownie) (0.8.1)
Requirement already satisfied: pathspec==0.10.1 in c:\python\lib\site-packages (from eth-brownie) (0.10.1)
Collecting platformdirs==2.5.2
Using cached platformdirs-2.5.2-py3-none-any.whl (14 kB)
Collecting pluggy==1.0.0
Using cached pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
Collecting prompt-toolkit==3.0.31
Using cached prompt_toolkit-3.0.31-py3-none-any.whl (382 kB)
Requirement already satisfied: protobuf==3.19.5 in c:\python\lib\site-packages (from eth-brownie) (3.19.5)
Collecting psutil==5.9.2
Using cached psutil-5.9.2.tar.gz (479 kB)
Preparing metadata (setup.py) ... done
Collecting py==1.11.0
Using cached py-1.11.0-py2.py3-none-any.whl (98 kB)
Collecting py-solc-ast==1.2.9
Using cached py_solc_ast-1.2.9-py3-none-any.whl (10 kB)
Requirement already satisfied: py-solc-x==1.1.1 in c:\python\lib\site-packages (from eth-brownie) (1.1.1)
Requirement already satisfied: pycryptodome==3.15.0 in c:\python\lib\site-packages (from eth-brownie) (3.15.0)
Collecting pygments==2.13.0
Using cached Pygments-2.13.0-py3-none-any.whl (1.1 MB)
Collecting pygments-lexer-solidity==0.7.0
Using cached pygments_lexer_solidity-0.7.0-py3-none-any.whl
Collecting pyjwt==1.7.1
Using cached PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Requirement already satisfied: pyparsing==3.0.9 in c:\users\dmiss\appdata\roaming\python\python311\site-packages (from eth-brownie) (3.0.9)
Collecting pyrsistent==0.18.1
Using cached pyrsistent-0.18.1.tar.gz (100 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pytest==6.2.5
Using cached pytest-6.2.5-py3-none-any.whl (280 kB)
Collecting pytest-forked==1.4.0
Using cached pytest_forked-1.4.0-py3-none-any.whl (4.9 kB)
Collecting pytest-xdist==1.34.0
Using cached pytest_xdist-1.34.0-py2.py3-none-any.whl (36 kB)
Collecting python-dateutil==2.8.1
Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting python-dotenv==0.16.0
Using cached python_dotenv-0.16.0-py2.py3-none-any.whl (18 kB)
Collecting pythx==1.6.1
Using cached pythx-1.6.1-py2.py3-none-any.whl (39 kB)
Collecting pyyaml==5.4.1
Using cached PyYAML-5.4.1-cp311-cp311-win_amd64.whl
Requirement already satisfied: requests==2.28.1 in c:\python\lib\site-packages (from eth-brownie) (2.28.1)
Requirement already satisfied: rlp==2.0.1 in c:\python\lib\site-packages (from eth-brownie) (2.0.1)
Requirement already satisfied: semantic-version==2.10.0 in c:\python\lib\site-packages (from eth-brownie) (2.10.0)
Requirement already satisfied: six==1.16.0 in c:\python\lib\site-packages (from eth-brownie) (1.16.0)
Collecting sortedcontainers==2.4.0
Using cached sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting toml==0.10.2
Using cached toml-0.10.2-py2.py3-none-any.whl (16 kB)
Collecting tomli==2.0.1
Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Requirement already satisfied: toolz==0.12.0 in c:\python\lib\site-packages (from eth-brownie) (0.12.0)
Collecting tqdm==4.64.1
Using cached tqdm-4.64.1-py2.py3-none-any.whl (78 kB)
Requirement already satisfied: urllib3==1.26.12 in c:\python\lib\site-packages (from eth-brownie) (1.26.12)
Requirement already satisfied: varint==1.0.2 in c:\python\lib\site-packages (from eth-brownie) (1.0.2)
Collecting vvm==0.1.0
Using cached vvm-0.1.0-py3-none-any.whl (11 kB)
Collecting eth-brownie
Using cached eth_brownie-1.19.1-py3-none-any.whl (232 kB)
Collecting aiohttp==3.8.1
Using cached aiohttp-3.8.1.tar.gz (7.3 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting black==22.6.0
Using cached black-22.6.0-py3-none-any.whl (156 kB)
Collecting certifi==2022.6.15
Using cached certifi-2022.6.15-py3-none-any.whl (160 kB)
Collecting charset-normalizer==2.1.0
Using cached charset_normalizer-2.1.0-py3-none-any.whl (39 kB)
Collecting hexbytes==0.2.2
Using cached hexbytes-0.2.2-py3-none-any.whl (6.1 kB)
Collecting idna==3.3
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting pathspec==0.9.0
Using cached pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
Collecting prompt-toolkit==3.0.30
Using cached prompt_toolkit-3.0.30-py3-none-any.whl (381 kB)
Collecting protobuf==3.20.1
Using cached protobuf-3.20.1-py2.py3-none-any.whl (162 kB)
Collecting psutil==5.9.1
Using cached psutil-5.9.1.tar.gz (479 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting pygments==2.12.0
Using cached Pygments-2.12.0-py3-none-any.whl (1.1 MB)
Collecting semantic-version==2.8.5
Using cached semantic_version-2.8.5-py2.py3-none-any.whl (15 kB)
Collecting tqdm==4.64.0
Using cached tqdm-4.64.0-py2.py3-none-any.whl (78 kB)
Collecting urllib3==1.26.11
Using cached urllib3-1.26.11-py2.py3-none-any.whl (139 kB)
Collecting eth-brownie
Using cached eth_brownie-1.19.0-py3-none-any.whl (232 kB)
Collecting attrs==21.4.0
Using cached attrs-21.4.0-py2.py3-none-any.whl (60 kB)
Collecting bitarray==1.2.2
Using cached bitarray-1.2.2.tar.gz (48 kB)
Preparing metadata (setup.py) ... done
Collecting black==22.3.0
Using cached black-22.3.0-py3-none-any.whl (153 kB)
Collecting certifi==2022.5.18.1
Using cached certifi-2022.5.18.1-py3-none-any.whl (155 kB)
Collecting charset-normalizer==2.0.12
Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting cytoolz==0.11.2
Using cached cytoolz-0.11.2.tar.gz (481 kB)
Preparing metadata (setup.py) ... done
Collecting eth-abi==2.1.1
Using cached eth_abi-2.1.1-py3-none-any.whl (27 kB)
Collecting eth-account==0.5.7
Using cached eth_account-0.5.7-py3-none-any.whl (101 kB)
Collecting eth-hash[pycryptodome]==0.3.2
Using cached eth_hash-0.3.2-py3-none-any.whl (8.8 kB)
Collecting frozenlist==1.3.0
Using cached frozenlist-1.3.0.tar.gz (65 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting lru-dict==1.1.7
Using cached lru_dict-1.1.7-cp311-cp311-win_amd64.whl
Collecting prompt-toolkit==3.0.29
Using cached prompt_toolkit-3.0.29-py3-none-any.whl (381 kB)
Collecting pycryptodome==3.14.1
Using cached pycryptodome-3.14.1-cp35-abi3-win_amd64.whl (1.8 MB)
Collecting requests==2.27.1
Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
Collecting toolz==0.11.2
Using cached toolz-0.11.2-py3-none-any.whl (55 kB)
Collecting urllib3==1.26.9
Using cached urllib3-1.26.9-py2.py3-none-any.whl (138 kB)
Collecting eth-brownie
Using cached eth_brownie-1.18.2-py3-none-any.whl (230 kB)
Collecting certifi==2021.10.8
Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting psutil==5.9.0
Using cached psutil-5.9.0.tar.gz (478 kB)
Preparing metadata (setup.py) ... done
Collecting eth-brownie
Using cached eth_brownie-1.18.1-py3-none-any.whl (225 kB)
Collecting black==22.1.0
Using cached black-22.1.0-py3-none-any.whl (160 kB)
Collecting charset-normalizer==2.0.11
Using cached charset_normalizer-2.0.11-py3-none-any.whl (39 kB)
Collecting click==8.0.3
Using cached click-8.0.3-py3-none-any.whl (97 kB)
Collecting platformdirs==2.4.1
Using cached platformdirs-2.4.1-py3-none-any.whl (14 kB)
Collecting prompt-toolkit==3.0.26
Using cached prompt_toolkit-3.0.26-py3-none-any.whl (375 kB)
Collecting protobuf==3.19.4
Using cached protobuf-3.19.4-py2.py3-none-any.whl (162 kB)
Collecting pygments==2.11.2
Using cached Pygments-2.11.2-py3-none-any.whl (1.1 MB)
Collecting pyparsing==3.0.7
Using cached pyparsing-3.0.7-py3-none-any.whl (98 kB)
Collecting tomli==2.0.0
Using cached tomli-2.0.0-py3-none-any.whl (12 kB)
Collecting tqdm==4.62.3
Using cached tqdm-4.62.3-py2.py3-none-any.whl (76 kB)
Collecting typing-extensions==4.0.1
Using cached typing_extensions-4.0.1-py3-none-any.whl (22 kB)
Collecting urllib3==1.26.8
Using cached urllib3-1.26.8-py2.py3-none-any.whl (138 kB)
Collecting eth-brownie
Using cached eth_brownie-1.18.0-py3-none-any.whl (225 kB)
Using cached eth_brownie-1.17.2-py3-none-any.whl (221 kB)
Collecting async-timeout==4.0.1
Using cached async_timeout-4.0.1-py3-none-any.whl (5.7 kB)
Collecting asynctest==0.13.0
Using cached asynctest-0.13.0-py3-none-any.whl (26 kB)
Collecting attrs==21.2.0
Using cached attrs-21.2.0-py2.py3-none-any.whl (53 kB)
Collecting black==21.11b1
Using cached black-21.11b1-py3-none-any.whl (155 kB)
Collecting cached-property==1.5.2
Using cached cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
Collecting charset-normalizer==2.0.9
Using cached charset_normalizer-2.0.9-py3-none-any.whl (39 kB)
Collecting eth-account==0.5.6
Using cached eth_account-0.5.6-py3-none-any.whl (101 kB)
Collecting eth-keys==0.3.3
Using cached eth_keys-0.3.3-py3-none-any.whl (20 kB)
Collecting eth-typing==2.2.2
Using cached eth_typing-2.2.2-py3-none-any.whl (6.2 kB)
Collecting frozenlist==1.2.0
Using cached frozenlist-1.2.0.tar.gz (65 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting importlib-metadata==4.8.2
Using cached importlib_metadata-4.8.2-py3-none-any.whl (17 kB)
Collecting lazy-object-proxy==1.6.0
Using cached lazy_object_proxy-1.6.0-cp311-cp311-win_amd64.whl
Collecting multidict==5.2.0
Using cached multidict-5.2.0.tar.gz (49 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting platformdirs==2.4.0
Using cached platformdirs-2.4.0-py3-none-any.whl (14 kB)
Collecting prompt-toolkit==3.0.23
Using cached prompt_toolkit-3.0.23-py3-none-any.whl (374 kB)
Collecting protobuf==3.19.1
Using cached protobuf-3.19.1-py2.py3-none-any.whl (162 kB)
Collecting psutil==5.8.0
Using cached psutil-5.8.0-cp311-cp311-win_amd64.whl
Collecting pycryptodome==3.12.0
Using cached pycryptodome-3.12.0-cp35-abi3-win_amd64.whl (1.8 MB)
Collecting pygments==2.10.0
Using cached Pygments-2.10.0-py3-none-any.whl (1.0 MB)
Collecting pyparsing==3.0.6
Using cached pyparsing-3.0.6-py3-none-any.whl (97 kB)
Collecting pyrsistent==0.18.0
Using cached pyrsistent-0.18.0-cp311-cp311-win_amd64.whl
Collecting pytest-forked==1.3.0
Using cached pytest_forked-1.3.0-py2.py3-none-any.whl (4.7 kB)
Collecting regex==2021.11.10
Using cached regex-2021.11.10.tar.gz (702 kB)
Preparing metadata (setup.py) ... done
Collecting requests==2.26.0
Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting tomli==1.2.2
Using cached tomli-1.2.2-py3-none-any.whl (12 kB)
Collecting typed-ast==1.5.1
Using cached typed_ast-1.5.1.tar.gz (252 kB)
Preparing metadata (setup.py) ... done
Collecting typing-extensions==3.10.0.2
Using cached typing_extensions-3.10.0.2-py3-none-any.whl (26 kB)
Collecting urllib3==1.26.7
Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting eth-brownie
Using cached eth_brownie-1.17.1-py3-none-any.whl (221 kB)
Collecting aiohttp==3.7.4.post0
Using cached aiohttp-3.7.4.post0-py3-none-any.whl
Collecting asttokens==2.0.4
Using cached asttokens-2.0.4-py2.py3-none-any.whl (20 kB)
Collecting async-timeout==3.0.1
Using cached async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
Collecting base58==2.1.0
Using cached base58-2.1.0-py3-none-any.whl (5.6 kB)
Collecting black==21.9b0
Using cached black-21.9b0-py3-none-any.whl (148 kB)
Collecting chardet==4.0.0
Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)
Collecting charset-normalizer==2.0.7
Using cached charset_normalizer-2.0.7-py3-none-any.whl (38 kB)
Collecting cytoolz==0.11.0
Using cached cytoolz-0.11.0.tar.gz (477 kB)
Preparing metadata (setup.py) ... done
Collecting hypothesis==6.24.0
Using cached hypothesis-6.24.0-py3-none-any.whl (381 kB)
Collecting packaging==21.0
Using cached packaging-21.0-py3-none-any.whl (40 kB)
Collecting prompt-toolkit==3.0.21
Using cached prompt_toolkit-3.0.21-py3-none-any.whl (374 kB)
Collecting protobuf==3.19.0
Using cached protobuf-3.19.0-py2.py3-none-any.whl (162 kB)
Collecting py==1.10.0
Using cached py-1.10.0-py2.py3-none-any.whl (97 kB)
Collecting pycryptodome==3.11.0
Using cached pycryptodome-3.11.0-cp35-abi3-win_amd64.whl (1.8 MB)
Collecting pyparsing==3.0.3
Using cached pyparsing-3.0.3-py3-none-any.whl (96 kB)
Collecting regex==2021.10.23
Using cached regex-2021.10.23.tar.gz (703 kB)
Preparing metadata (setup.py) ... done
Collecting toolz==0.11.1
Using cached toolz-0.11.1-py3-none-any.whl (55 kB)
Collecting eth-brownie
Using cached eth_brownie-1.17.0-py3-none-any.whl (221 kB)
Collecting dataclassy==0.11.0
Using cached dataclassy-0.11.0-py3-none-any.whl (23 kB)
Collecting hypothesis==6.23.2
Using cached hypothesis-6.23.2-py3-none-any.whl (381 kB)
Collecting idna==3.2
Using cached idna-3.2-py3-none-any.whl (59 kB)
Collecting prompt-toolkit==3.0.20
Using cached prompt_toolkit-3.0.20-py3-none-any.whl (370 kB)
Collecting protobuf==3.18.1
Using cached protobuf-3.18.1-py2.py3-none-any.whl (174 kB)
Collecting pyparsing==2.4.7
Using cached pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
Collecting regex==2021.10.8
Using cached regex-2021.10.8.tar.gz (703 kB)
Preparing metadata (setup.py) ... done
Collecting rlp==1.2.0
Using cached rlp-1.2.0-py2.py3-none-any.whl (19 kB)
Collecting tomli==1.2.1
Using cached tomli-1.2.1-py3-none-any.whl (11 kB)
Collecting eth-brownie
Using cached eth_brownie-1.16.4-py3-none-any.whl (219 kB)
Collecting certifi==2021.5.30
Using cached certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
Collecting charset-normalizer==2.0.6
Using cached charset_normalizer-2.0.6-py3-none-any.whl (37 kB)
Collecting click==8.0.1
Using cached click-8.0.1-py3-none-any.whl (97 kB)
Collecting dataclassy==0.10.4
Using cached dataclassy-0.10.4-py3-none-any.whl (23 kB)
Collecting eth-account==0.5.5
Using cached eth_account-0.5.5-py3-none-any.whl (100 kB)
Collecting hypothesis==6.21.6
Using cached hypothesis-6.21.6-py3-none-any.whl (381 kB)
Collecting multidict==5.1.0
Using cached multidict-5.1.0-cp311-cp311-win_amd64.whl
Collecting platformdirs==2.3.0
Using cached platformdirs-2.3.0-py3-none-any.whl (13 kB)
Collecting protobuf==3.18.0
Using cached protobuf-3.18.0-py2.py3-none-any.whl (174 kB)
Collecting py-solc-x==1.1.0
Using cached py_solc_x-1.1.0-py3-none-any.whl (15 kB)
Collecting pycryptodome==3.10.1
Using cached pycryptodome-3.10.1-cp35-abi3-win_amd64.whl (1.6 MB)
Collecting regex==2021.8.28
Using cached regex-2021.8.28-cp311-cp311-win_amd64.whl
Collecting urllib3==1.26.6
Using cached urllib3-1.26.6-py2.py3-none-any.whl (138 kB)
Collecting vyper==0.2.16
Using cached vyper-0.2.16-py3-none-any.whl (236 kB)
Collecting wcwidth==0.2.5
Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting web3==5.23.1
Using cached web3-5.23.1-py3-none-any.whl (486 kB)
Requirement already satisfied: websockets==9.1 in c:\python\lib\site-packages (from eth-brownie) (9.1)
Collecting wrapt==1.12.1
Using cached wrapt-1.12.1-cp311-cp311-win_amd64.whl
Collecting yarl==1.6.3
Using cached yarl-1.6.3.tar.gz (176 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: colorama in c:\python\lib\site-packages (from click==8.0.1->eth-brownie) (0.4.6)
Requirement already satisfied: setuptools in c:\python\lib\site-packages (from jsonschema==3.2.0->eth-brownie) (65.5.0)
Collecting atomicwrites>=1.0
Using cached atomicwrites-1.4.1-py2.py3-none-any.whl
Requirement already satisfied: pywin32>=223 in c:\python\lib\site-packages (from web3==5.23.1->eth-brownie) (305)
WARNING: The candidate selected for download or install is a yanked version: 'protobuf' candidate (version 3.18.0 at https://files.pythonhosted.org/packages/74/4e/9f3cb458266ef5cdeaa1e72a90b9eda100e3d1803cbd7ec02f0846da83c3/protobuf-3.18.0-py2.py3-none-any.whl (from https://pypi.org/simple/protobuf/))
Reason for being yanked: This version claims to support Python 2 but does not
Building wheels for collected packages: yarl
Building wheel for yarl (pyproject.toml) ... error
error: subprocess-exited-with-error

× Building wheel for yarl (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [44 lines of output]
C:\Users\dmiss\AppData\Local\Temp\pip-build-env-g3p_vybe\overlay\Lib\site-packages\setuptools\config\setupcfg.py:508: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
warnings.warn(msg, warning_class)


  • Accellerated build *

running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting.py -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_py.py -> build\lib.win-amd64-cpython-311\yarl
copying yarl_url.py -> build\lib.win-amd64-cpython-311\yarl
copying yarl_init_.py -> build\lib.win-amd64-cpython-311\yarl
running egg_info
writing yarl.egg-info\PKG-INFO
writing dependency_links to yarl.egg-info\dependency_links.txt
writing requirements to yarl.egg-info\requires.txt
writing top-level names to yarl.egg-info\top_level.txt
reading manifest file 'yarl.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '.pyc' found anywhere in distribution
warning: no previously-included files matching '.cache' found anywhere in distribution
warning: no previously-included files found matching 'yarl*.html'
warning: no previously-included files found matching 'yarl*.so'
warning: no previously-included files found matching 'yarl*.pyd'
no previously-included directories found matching 'docs_build'
adding license file 'LICENSE'
writing manifest file 'yarl.egg-info\SOURCES.txt'
copying yarl_init_.pyi -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_c.c -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_c.pyi -> build\lib.win-amd64-cpython-311\yarl
copying yarl_quoting_c.pyx -> build\lib.win-amd64-cpython-311\yarl
copying yarl\py.typed -> build\lib.win-amd64-cpython-311\yarl
running build_ext
building 'yarl._quoting_c' extension
creating build\temp.win-amd64-cpython-311
creating build\temp.win-amd64-cpython-311\Release
creating build\temp.win-amd64-cpython-311\Release\yarl
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Python\include -IC:\Python\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcyarl/_quoting_c.c /Fobuild\temp.win-amd64-cpython-311\Release\yarl/_quoting_c.obj
_quoting_c.c
yarl/_quoting_c.c(196): fatal error C1083: Cannot open include file: 'longintrepr.h': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe' failed with exit code 2
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for yarl
Failed to build yarl
ERROR: Could not build wheels for yarl, which is required to install pyproject.toml-based projects
PS C:\Users\dmiss\pythondevelpment>

'Accounts' object is not callable - Brownie On Windows

After having some trouble installing brownie I got it to work. I was able to spin up a local network that shows how many addresses etc I have.

After trying to use the accounts package with brownie I ran into this error

Screenshot 2022-08-24 111234

I've tried uninstalling brownie and reinstalling brownie. And then restarting vs code all together. I can't seem to find the answer anywhere online. Here is the deploy script:

Screenshot 2022-08-24 111537

Failing when deploying into a testnet

when I run brownie run scripts/deploy.py --network rinkeby I get this result:
Screenshot 2022-11-09 165854
and this is my deploy.py code:

from brownie import accounts, config, SimpleStorage, network


def deploy_simple_storage():
    account = get_account()
    simple_storage = SimpleStorage.deploy({"from": account})
    stored_value = simple_storage.retrieve()
    print(stored_value)
    transaction = simple_storage.store(15, {"from": account})
    transaction.wait(1)
    updated_stored_value = simple_storage.retrieve()
    print(updated_stored_value)


def get_account():
    if network.show_active() == "development":
        return accounts[0]
    else:
        return accounts.add(config["wallets"]["from_key"])


def main():
    deploy_simple_storage()

and this is my .env file code:
Screenshot 2022-11-09 170221

Brownie installed but not importing

Import "brownie" could not be resolved

Hi, I have installed brownie as it shows when I type brownie --version into the terminal however when I try to import brownie it doesnt seem to be able to find it.
So far with this course, I have been struggling a lot with the environmental variables and how to create paths

Any suggestions or comments would be greatly appreciated.

KeyError: 'wallets'

account = accounts.add(config["wallets"]["from_key"])
KeyError: 'wallets'
Terminating local RPC client...
Screenshot 2022-04-27 171322

Facing Issue when running brownie run scripts/deploy.py --network rinkeby

Hi, I tried running the following command but facing error:

brownie run scripts/deploy.py --network rinkeby

Following is the error:

BrownieSimpleStorageProject is the active project.

Running 'scripts/deploy.py::main'...
File "brownie/_cli/run.py", line 49, in main
return_value, frame = run(
File "brownie/project/scripts.py", line 103, in run
return_value = f_localsmethod_name
File "./scripts/deploy.py", line 20, in main
deploy_simple_storage()
File "./scripts/deploy.py", line 5, in deploy_simple_storage
simple_storage = SimpleStorage.deploy({"from": account})
File "brownie/network/contract.py", line 600, in call
return tx["from"].deploy(
AttributeError: 'function' object has no attribute 'deploy'

Here is the screenshot of the above error: https://prnt.sc/1x87zan

Any idea how to fix? Thank you.

Web3 Not Connected

smartcontractkit/full-blockchain-solidity-course-py#173

I was having the same error, and simply adding the transaction.wait(1) was not enough. I needed the time.sleep(1) in both locations for the brownie test command to work.

Is there a better way to do it? Or does it indicate that there is another error in my solution (perhaps in a test itself)?

from brownie import accounts, config, SimpleStorage
import time

# import os

# Deployment script for the project
def deploy_simple_storage():
    # account = accounts[0]
    # account = accounts.load("freecodecamp-account")
    # account = accounts.add(os.getenv("PRIVATE_KEY"))
    # account = accounts.add(config["wallets"]["from_key"])
    # print(account)
    # Grab an account, and what you want to deploy (this shrinks everything that you had to do)
    account = accounts[0]
    simple_storage = SimpleStorage.deploy({"from": account})
    # get the value (do not need account since it's a view) Brownie can sort that out
    stored_value = simple_storage.retrieve()
    print(stored_value)
    # Generate the modification now
    transaction = simple_storage.store(15, {"from": account})
    transaction.wait(1)
    time.sleep(1)
    updated_stored_value = simple_storage.retrieve()
    print(updated_stored_value)
    time.sleep(1)   


def main():
    deploy_simple_storage()

Thanks in advance for any assistance!

deploying on rinkeby network in brownie

every time I try to deploy this script i get a lot of text and then a ' none type' error below. My code is located below the error, I am new to coding and have no experience with it so any help would be greatly appricated! I am running on windows 10

PS C:\Users\PC001\demos\brownie_simple_storage> brownie run scripts/deploy.py --network rinkeby
INFO: Could not find files for the given pattern(s).
Brownie v1.19.0 - Python development framework for Ethereum
BrownieSimpleStorageProject is the active project.
Running 'scripts\deploy.py::main'...
  File "C:\Users\PC001\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\_cli\run.py", line 51, in main
    return_value, frame = run(
  File "C:\Users\PC001\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\project\scripts.py", line 110, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File ".\scripts\deploy.py", line 30, in main
    deploy_simple_storage()
  File ".\scripts\deploy.py", line 5, in deploy_simple_storage
    account = get_account()
  File ".\scripts\deploy.py", line 26, in get_account
    return accounts.add(config["wallets"]["from_key"])
TypeError: 'NoneType' object is not subscriptable

Code:

from brownie import accounts, config, SimpleStorage, network

def deploy_simple_storage():
    account = get_account()
    # print(account)
    # account = accounts.load("freecodecamp-account")
    # print(account)
    # account = accounts.add(config["wallets"]["from_key"])
    # print(account)
    simple_storage = SimpleStorage.deploy({"from": account})
    # Transct
    # Call
    stored_value = simple_storage.retrieve()
    print(stored_value)
    transaction = simple_storage.store(15, {"from": account})
    transaction.wait(1)
    updated_stored_value = simple_storage.retrieve()
    print(updated_stored_value)


def get_account():
    if network.show_active() == "development":
        return accounts[0]
    else:
        return accounts.add(config["wallets"]["from_key"])


def main():
    deploy_simple_storage()

Error: Non-hexadecimal digit found

When i run brownie run scripts/deploy.py the terminal gives me this error :

Brownie v1.16.4 - Python development framework for Ethereum

BrownieSimpleStorageProject is the active project.

Launching 'ganache-cli --port 8545 --gasLimit 12000000 --accounts 10 --hardfork istanbul --mnemonic brownie'...

Running 'scripts/deploy.py::main'...
  File "brownie/_cli/run.py", line 49, in main
    return_value, frame = run(
  File "brownie/project/scripts.py", line 103, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File "./scripts/deploy.py", line 10, in main
    deploy_simple_storage()
  File "./scripts/deploy.py", line 5, in deploy_simple_storage
    account = accounts.add(config["wallets"]["from_key"])
  File "brownie/network/account.py", line 140, in add
    w3account = web3.eth.account.from_key(private_key)
  File "eth_utils/decorators.py", line 18, in _wrapper
    return self.method(obj, *args, **kwargs)
  File "eth_account/account.py", line 250, in from_key
    key = self._parsePrivateKey(private_key)
  File "eth_utils/decorators.py", line 18, in _wrapper
    return self.method(obj, *args, **kwargs)
  File "eth_account/account.py", line 769, in _parsePrivateKey
    return self._keys.PrivateKey(HexBytes(key))
  File "hexbytes/main.py", line 23, in __new__
    bytesval = to_bytes(val)
  File "hexbytes/_utils.py", line 17, in to_bytes
    return hexstr_to_bytes(val)
  File "hexbytes/_utils.py", line 50, in hexstr_to_bytes
    return binascii.unhexlify(ascii_hex)
Error: Non-hexadecimal digit found
Terminating local RPC client...

This is my config file :

dotenv: .env
wallets:
  from_key: ${PRIVATE_KEY}

my .env file :

export PRIVATE_KEY=0x123456abcdef......

and my deploy.py file:

from brownie import accounts, config


def deploy_simple_storage():
    account = accounts.add(config["wallets"]["from_key"])
    print(account)


def main():
    deploy_simple_storage()

Today i discovered that even if i create a new account, when the terminal asks me to enter the private key i get the same error.
Please help!!!

brownie compile wont work

if i run brownie compile i get
INFO: Could not find files for the given pattern(s).
Brownie v1.19.0 - Python development framework for Ethereum

Project has been compiled. Build artifacts saved at C:\Users\User\OneDrive\Documenten\demo\build\contracts

but its not in there

Error while installing brownie

Showing this error while installing brownie using pipx

    C:\Users\Asus\AppData\Local\pipx\pipx\Logs\cmd_2024-01-20_16.30.35_pip_errors.log

pip seemed to fail to build package:
    pyyaml==5.4.1

Some possibly relevant errors from pip install:
    error: subprocess-exited-with-error
    AttributeError: cython_sources

Error installing eth-brownie. ```




Showing this error while installing using pip



```  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [48 lines of output]
      running egg_info
      writing lib3\PyYAML.egg-info\PKG-INFO
      writing dependency_links to lib3\PyYAML.egg-info\dependency_links.txt
      writing top-level names to lib3\PyYAML.egg-info\top_level.txt
      Traceback (most recent call last):
        File "C:\Users\Asus\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
          main()
        File "C:\Users\Asus\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "C:\Users\Asus\AppData\Local\Programs\Python\Python310\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\build_meta.py", line 325, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\build_meta.py", line 295, in _get_build_requires
          self.run_setup()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\build_meta.py", line 311, in run_setup
          exec(code, locals())
        File "<string>", line 271, in <module>
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
          return run_commands(dist)
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
          dist.run_commands()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\dist.py", line 963, in run_command
          super().run_command(command)
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 321, in run
          self.find_sources()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 329, in find_sources
          mm.run()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 551, in run
          self.add_defaults()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 589, in add_defaults
          sdist.add_defaults(self)
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\command\sdist.py", line 112, in add_defaults
          super().add_defaults()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\_distutils\command\sdist.py", line 251, in add_defaults
          self._add_defaults_ext()
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\_distutils\command\sdist.py", line 336, in _add_defaults_ext
          self.filelist.extend(build_ext.get_source_files())
        File "<string>", line 201, in get_source_files
        File "C:\Users\Asus\AppData\Local\Temp\pip-build-env-v1nnluo_\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 107, in __getattr__
          raise AttributeError(attr)
      AttributeError: cython_sources
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.```

ConnectionError: HTTPSConnectionPool

I got this error working with sepolia

since brownie does not contains sepolia i add the following command
brownie networks add Ethereum sepolia host="https://rpc.sepolia.dev" chainid=11155111

ConnectionError: HTTPSConnectionPool(host='rpc.sepolia.dev', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000020878F59AC0>: Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond'))

No such file or directory: 'ganache-cli' Lesson 5

Hello, at approximately 4:34:27 on Lesson 5, I have entered into my terminal on Visual Studio Code 'brownie run scripts/deploy.py' as prompted by the instructor. I get the following error after entering this information: [Errno 2] No such file or directory: 'ganache-cli'. I have properly installed ganache-cli and brownie
Screen Shot 2022-05-03 at 2 19 05 PM
Screen Shot 2022-05-03 at 2 58 45 PM
and have triple checked multiple times. Please help me! Thank you.

I'm using:
Python 3.10.4
node 16.15.0

UnboundLocalError: local variable 'account' referenced before assignment

cannot find the "accounts" from the brownie library. does anyone has the same problem?
Screen Shot 2022-05-11 at 1 35 05 AM

result:
Brownie v1.18.1 - Python development framework for Ethereum

BrownieSimpleStorageProject is the active project.
~/.local/pipx/venvs/eth-brownie/lib/python3.9/site-packages/brownie/network/main.py:44: BrownieEnvironmentWarning: Development network has a block height of 2
warnings.warn(
Attached to local RPC client listening at '127.0.0.1:8545'...

Running 'scripts/deploy.py::main'...
File "brownie/_cli/run.py", line 51, in main
return_value, frame = run(
File "brownie/project/scripts.py", line 103, in run
return_value = f_locals[method_name](*args, **kwargs)
File "./scripts/deploy.py", line 11, in main
deploy_simple_storage()
File "./scripts/deploy.py", line 6, in deploy_simple_storage
account = account.load("gwwm-ac")
UnboundLocalError: local variable 'account' referenced before assignment

.env file issues

I am encountering errors in my .env file (see attached). I encounter the first error upon typing 'export' into my .env file. I am on python 3.9.7 and brownie v1.18.1. Thank you
Screen Shot 2022-04-26 at 8 58 25 PM

I'm not getting address shown in VS code

Screenshot 2022-10-07 233807

when I type "brownie run scripts/deploy.py" in the terminal I don't see my address, and this is my code: from threading import activeCount import brownie from eth_account import account from brownie import accounts def deploy_simple_storage(): account = accounts.load("freecodecamp-account") print(account) def main(): deploy_simple_storage()

Brownie can not find deployed contracts

I can deploy contracts to Rinkeby but I cant access those contracts through brownie, brownie.network.contract.ContractContainer is always empty.

This is the last deployed contract:

Running 'scripts\deploy.py::main'...
0x1eda434e8f97f7214641d550A4e9918eBA2E5e6a
Transaction sent: 0x91ce732209239aab432cfccaed6bb18ba6b4dd566a8cfc6f3942e69def5525fa
  Gas price: 1.103858183 gwei   Gas limit: 369749   Nonce: 26
  SimpleStorage.constructor confirmed   Block: 10696492   Gas used: 336136 (90.91%)
  SimpleStorage deployed at: 0xC7528DeC7e8Edc1a8451fe1Be987910eB4C393E8

0xC7528DeC7e8Edc1a8451fe1Be987910eB4C393E8
0
Transaction sent: 0x4129b9e7e0f8d80d4ce63b885efba2343e45f18322851bf6d8cb8ce1ef610812
  Gas price: 1.103764971 gwei   Gas limit: 47905   Nonce: 27

  SimpleStorage.store confirmed   Block: 10696493   Gas used: 43550 (90.91%)

15

But I am not able to access this contract through brownie with this code:

# read_value.py

from brownie import SimpleStorage, accounts, config

def read_contract():
    print(SimpleStorage, len(SimpleStorage))
    print(type(SimpleStorage))
    simple_storage = SimpleStorage[0]
    print(simple_storage)

This is the result I get:

<brownie.network.contract.ContractContainer object at 0x0000021B6D5F49D0> 0
<class 'brownie.network.contract.ContractContainer'>
  File "C:\Users\d\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\_cli\run.py", line 51, in main
    return_value, frame = run(
  File "C:\Users\d\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\project\scripts.py", line 110, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File ".\scripts\read_value.py", line 12, in main
    read_contract()
  File ".\scripts\read_value.py", line 7, in read_contract
    simple_storage = SimpleStorage[0]
  File "C:\Users\d\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\contract.py", line 192, in __getitem__
    return self._contracts[i]
IndexError: list index out of range
Terminating local RPC client...

But I can see all the deployed contracts on build/contracts/deployments/4 folder

This is the folder structure.

Pylance Linter error: Import "brownie" could not be resolved in Pylance

I made a post on SO about this but did not get a helpful response, so thought I'd try here. This issue doesn't prevent me from progressing in the course but it's really annoying. I'm in it for the long haul so I don't want my linter to be mildy angry with me all the time.

Error is: Import "brownie" could not be resolvedPylance

I know there are other SO posts that refer to this, but it seems most of them are talking about booting up a new env and installing x package into that virtual env.

However with Brownie, I'm especially confused because the brownie docs say:

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.

I don't want to mess with the virtual env that brownie uses.

Anyways, my code runs fine and the command line tells me that brownie is installed. It's just that this warning is really annoying me. Can anyone tell me how to clear it up? Thanks!

I am trying to install eth-brownie but it keeps failing (windows)

i am trying to follow the tutorial but while following the tutorial i keep getting stuck on installing brownie.

`
Fatal error from pip prevented installation. Full pip output in file:
C:\Users\dante.local\pipx\logs\cmd_2022-01-09_09.47.26_pip_errors.log

pip failed to build packages:
bitarray
cytoolz
lru-dict

Some possibly relevant errors from pip install:
error: [WinError 2] The system cannot find the file specified

Error installing eth-brownie.`

https://pastebin.com/7AngXbzN (full log)

Brownie failing to automatically start the Ganache CLI on local development

When running the scripts with brownie, brownie is failing to launch ganache-cli, i'm able to use it from the UI, but doing it programmatically outputs the following error:

FileNotFoundError: [Errno 2] No such file or directory: 'ganache-cli': 'ganache-cli'

Here are some screenshots of the console output:

image

I decided to install to brownie in a per environment basis, didn't used pipx, however, using the pipx approach instead doesn't solve anything.

Any suggestions are welcomed.

Thank you so much!

string indices must be integers

I have set the environment variables correctly. I have checked. I am using Windows.

If i use the ganache automatic created account, works fine when I run this command in terminal
brownie run scripts/deploy.py

But when i use
brownie run scripts/deploy.py --network rinkeby

I get this error

INFO: Could not find files for the given pattern(s).
Brownie v1.16.4 - Python development framework for Ethereum

Python-dotenv could not parse statement starting at line 1
Python-dotenv could not parse statement starting at line 2
Python-dotenv could not parse statement starting at line 1
Python-dotenv could not parse statement starting at line 2
BrownieSimpleStorageProject is the active project.
86cc79f4d4a649099788971e6f4858b5

Running 'scripts\deploy.py::main'...
  File "C:\Users\Dell\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie\_cli\run.py", line 49, in main
    return_value, frame = run(
  File "C:\Users\Dell\AppData\Local\Programs\Python\Python310\lib\site-packages\brownie\project\scripts.py", line 103, in run
    return_value = f_locals[method_name](*args, **kwargs)
  File ".\scripts\deploy.py", line 45, in main
    deploy_SimpleStorage()
  File ".\scripts\deploy.py", line 14, in deploy_SimpleStorage
    account = get_account()
  File ".\scripts\deploy.py", line 38, in get_account
    return accounts.add(config["wallets"]["from_key"])
TypeError: string indices must be integers

I am not able to solve this as well besides the main error. i.e.
TypeError: string indices must be integers

Python-dotenv could not parse statement starting at line 1
Python-dotenv could not parse statement starting at line 2
Python-dotenv could not parse statement starting at line 1
Python-dotenv could not parse statement starting at line 2

Here is the code for deploy.py

from brownie import accounts, config, SimpleStorage, network
import os

def deploy_SimpleStorage():

    # ganache automatic account
    # account = accounts[0]
    account = get_account()

    simple_storage = SimpleStorage.deploy({"from": account})

    stored_value = simple_storage.retrieve()
    print("initial stored value of fav num", stored_value)

    # update the value of fav number
    trxn = simple_storage.store(15, {"from": account})
    trxn.wait(1)
    updated_vlaue = simple_storage.retrieve()
    print("updated stored value of fav num", updated_vlaue)


def get_account():
    if network.show_active() == "development":
        return accounts[0]
    else:

        return accounts.add(config["wallets"]["from_key"])


def main():
    deploy_SimpleStorage()

image

IndexError: list index out of range

Whenever I am running the code for read_value.py I am getting an Index error.
Please help me out on this

from brownie import SimpleStorage, accounts, config

def read_contract():
simple_storage = SimpleStorage[-1]
print(simple_storage.retrieve())

def main():
read_contract()

@PatrickAlphaC

maxFeePerGas error when running "Brownie test"

These are the errors I am getting after trying to run: brownie test
I am new to all of this so I apologize if it's an obvious solution.

ValueError: VM Exception while processing transaction: Transaction's maxFeePerGas (0) is less than the block's baseFeePerGas (104954626) (vm hf=london -> block -> tx)

FAILED tests/test_simple_storage.py::test_deploy - ValueError: VM Exception while processing transaction: Transaction's maxFeePerGas (0) is less than the block's baseFeePerGa...
FAILED tests/test_simple_storage.py::test_updating_storage - ValueError: VM Exception while processing transaction: Transaction's maxFeePerGas (0) is less than the block's ba...

pipx Command Not Found - Windows 11 - VS Code

After installing pipx I was unable to install brownie as pipx kept returning command not found.

After some googling and reading I found it takes more then closing the terminal, I had to also close (all) instances of VS Code as well

python3 -m pip install --user pipx
python3 -m pipx ensurepath
# restart your terminal && VS Code
pipx install eth-brownie

Not attaching to rpc process

Anytime I run brownie console or brownie run scripts/deploy.py I get

Brownie v1.17.2 - Python development framework for Ethereum

BrowniesimplestorageProject is the active project.
File "brownie/_cli/main.py", line 64, in main
importlib.import_module(f"brownie._cli.{cmd}").main()
File "brownie/_cli/console.py", line 58, in main
network.connect(CONFIG.argv["network"])
File "brownie/network/main.py", line 48, in connect
rpc.attach(host)
File "brownie/network/rpc/init.py", line 113, in attach
pid = self._find_rpc_process_pid(resolved_addr)
File "brownie/network/rpc/init.py", line 194, in _find_rpc_process_pid
return self._get_pid_from_net_connections(laddr)
File "brownie/network/rpc/init.py", line 234, in _get_pid_from_net_connections
raise ProcessLookupError(
ProcessLookupError: Could not attach to RPC process by querying 'proc.net_connections()'

folder name 'web3' gives error

Can you please explain why it gives error in first case :

Case 1) first created brownie project at location
/f/web3/brownie_simple_storage

brownie run scripts\deploy.py

throws error
ModuleNotFoundError: No module named 'web3.brownie_simple_storage'

error-message

Case 2) changed name of the folder from "web3" to "web3-projects"

/f/web3-projects/brownie_simple_storage

brownie run scripts\deploy.py

ALL WORKS FINE.

I wasted so much time on this, just found this by flook.

How does naming folder name to web3, cause problem ?????

Error: Non-hexadecimal digit found

I want to connect Infura but im getting that error:
`brownie run scripts/deploy.py --network goerli
INFO: Could not find files for the given pattern(s).
Brownie v1.16.4 - Python development framework for Ethereum

BrownieSimpleStorageMainProject is the active project.

Running 'scripts\deploy.py::main'...
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\brownie_cli\run.py", line 49, in main
return_value, frame = run(
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\brownie\project\scripts.py", line 103, in run
return_value = f_locals[method_name](*args, **kwargs)
File ".\scripts\deploy.py", line 23, in main
deploy_simple_storage()
File ".\scripts\deploy.py", line 5, in deploy_simple_storage
account = get_account()
File ".\scripts\deploy.py", line 19, in get_account
return accounts.add(config["wallets"]["from_key"])
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\brownie\network\account.py", line 140, in add
w3account = web3.eth.account.from_key(private_key)
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\eth_utils\decorators.py", line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\eth_account\account.py", line 250, in from_key
key = self._parsePrivateKey(private_key)
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\eth_utils\decorators.py", line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\eth_account\account.py", line 769, in _parsePrivateKey
return self._keys.PrivateKey(HexBytes(key))
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\hexbytes\main.py", line 23, in new
bytesval = to_bytes(val)
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\hexbytes_utils.py", line 17, in to_bytes
return hexstr_to_bytes(val)
File "C:\Users\tayyi\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\hexbytes_utils.py", line 50, in hexstr_to_bytes
return binascii.unhexlify(ascii_hex)
Error: Non-hexadecimal digit found`

Brownie run script does not print address from simple_storage_function

Hi,

coding newb here :D I'm just starting lesson 5 and thought would follow along since it is a short lesson to take. However, just when I was trying the 3 ways to create an account from the the scripts/deploy.py I noticed that while there was no error during running the script but it does not show the address the should have printed using the print() command. I have attached an image of what I just experienced. Any suggestions as to what I might be doing wrong? Thank you in advance. (FYI: It was the same when I just used the local ganache accounts, print() command did not show up after running the script)
Screen Shot 2022-11-01 at 1 12 23 PM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.