Metadata-Version: 1.1
Name: py-solc
Version: 0.9.0
Summary: Python wrapper around the solc binary
Home-page: https://github.com/pipermerriam/py-solc
Author: Piper Merriam
Author-email: pipermerriam@gmail.com
License: MIT
Description: # py-solc
        
        [![Build Status](https://travis-ci.org/pipermerriam/py-solc.png)](https://travis-ci.org/pipermerriam/py-solc)
        [![PyPi version](https://pypip.in/v/py-solc/badge.png)](https://pypi.python.org/pypi/py-solc)
        [![PyPi downloads](https://pypip.in/d/py-solc/badge.png)](https://pypi.python.org/pypi/py-solc)
           
        
        Python wrapper around the `solc` Solidity compiler.
        
        
        # Dependency
        
        This library requires the `solc` executable to be present.
        
        Only versions `>=0.4.2` are supported and tested though this library may work
        with other versions.
        
        [solc installation instructions](http://solidity.readthedocs.io/en/latest/installing-solidity.html)
        
        
        # Quickstart
        
        Installation
        
        ```sh
        pip install py-solc
        ```
        
        Or to install with support for gevent
        
        ```sh
        pip install py-solc[gevent]
        ```
        
        To enable gevent subprocessing set the environment variable `SOLC_THREADING_BACKEND=gevent`
        
        
        
        ```python
        >>> from solc import compile_source, compile_files, link_code
        >>> compile_source("contract Foo { function Foo() {} }")
        {
            'Foo': {
                'abi': [{'inputs': [], 'type': 'constructor'}],
                'code': '0x60606040525b5b600a8060126000396000f360606040526008565b00',
                'code_runtime': '0x60606040526008565b00',
                'source': None,
                'meta': {
                    'compilerVersion': '0.3.5-9da08ac3',
                    'language': 'Solidity',
                    'languageVersion': '0',
                },
            },
        }
        >>> compile_files(["/path/to/Foo.sol", "/path/to/Bar.sol"])
        {
            'Foo': {
                'abi': [{'inputs': [], 'type': 'constructor'}],
                'code': '0x60606040525b5b600a8060126000396000f360606040526008565b00',
                'code_runtime': '0x60606040526008565b00',
                'source': None,
                'meta': {
                    'compilerVersion': '0.3.5-9da08ac3',
                    'language': 'Solidity',
                    'languageVersion': '0',
                },
            },
            'Bar': {
                'abi': [{'inputs': [], 'type': 'constructor'}],
                'code': '0x60606040525b5b600a8060126000396000f360606040526008565b00',
                'code_runtime': '0x60606040526008565b00',
                'source': None,
                'meta': {
                    'compilerVersion': '0.3.5-9da08ac3',
                    'language': 'Solidity',
                    'languageVersion': '0',
                },
            },
        }
        >>> unlinked_code = "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273__TestA_________________________________90630c55699c906064906000906004818660325a03f41560025750505056"
        >>> link_code(unlinked_code, {'TestA': '0xd3cda913deb6f67967b99d67acdfa1712c293601'})
        ... "606060405260768060106000396000f3606060405260e060020a6000350463e7f09e058114601a575b005b60187f0c55699c00000000000000000000000000000000000000000000000000000000606090815273d3cda913deb6f67967b99d67acdfa1712c29360190630c55699c906064906000906004818660325a03f41560025750505056"
        ```
        
        ## Setting the path to the `solc` binary
        
        You can use the environment variable `SOLC_BINARY` to set the path to your solc binary.
        
        ## Import path remappings
        
        `solc` provides path aliasing allow you to have more reusable project configurations.
         
        You can use this like:
        
        ```
        from solc import compile_source, compile_files, link_code
        
        compile_files([source_file_path], import_remappings=["zeppeling=/my-zeppelin-checkout-folder"])
        ```
        
        [More information about solc import aliasing](http://solidity.readthedocs.io/en/develop/layout-of-source-files.html#paths) 
        
        
Keywords: ethereum solidity solc
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
