Metadata-Version: 2.1
Name: oef
Version: 0.4.0
Summary: SDK for OEF Agent development.
Home-page: https://github.com/fetchai/oef-sdk-python.git
Author: Fetch.AI Limited
Author-email: community@fetch.ai
License: Apache 2.0
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Requires-Dist: protobuf

# OEF Python SDK

![](https://img.shields.io/badge/python-3.5%20%7C%203.6%20%7C%203.7-blue.svg)
![](https://img.shields.io/badge/license-Apache--2.0-lightgrey.svg)

This is the Python SDK for OEF agent development, allowing:

 * registration of agents and services in the OEF
 * searching for agents and services in the OEF
 * constructing a direct communication channel with another agent


## Installing for Use

This system can be installed using pip3.

- `pip3 install fetch-oef`

To install it from repository files

- `python3 setup.py install`



## Development Environment

This is for anyone who wants to do development work on the code. It is
not necessary for using the Fetch.AI OEF system.

### Dependencies

- [Google Protocol Buffers](https://developers.google.com/protocol-buffers/) compiler. You can install it in several  ways, depending on your platform:

  - On Debian-based (e.g. Ubuntu):

        sudo apt-get install protobuf-compiler
  - You can do it manually by checking the [release page](https://github.com/protocolbuffers/protobuf/releases) and by choosing the release for your platform. The name format is `protoc-$(VERSION)-$(PLATFORM).zip` (e.g. for Windows look at `protoc-$(VERSION)-win32.zip`).
  - [Compile from source](https://github.com/protocolbuffers/protobuf/blob/master/src/README.md#c-installation---windows).

- On MacOS

        brew install protobuf


### Installation
In order to install `oef`, run:

    python3 scripts/generate_static_files.py

this will compile proto files and setup imports, then 

    python3 setup.py install 

### Run the tests

To run the tests, you need to clone [oef-core](https://github.com/fetchai/oef-core) repository and build the project.
Check that you have installed all the dependencies (see [INSTALL.txt](https://github.com/fetchai/oef-core/blob/master/INSTALL.txt)):

    python3 scripts/setup_test.py

Finally:

    tox -e py3x

Where `x` depends on your Python version (either 3.5, 3.6 or 3.7).

### Documentation

For the documentation we use [Sphinx](http://www.sphinx-doc.org/en/master/).

- Install the required packages with Pipenv and activate the shell:

      pipenv install --dev
      pipenv shell

- Then build the docs with:

      cd docs/
      make html

And then just open `index.html` in the `build/html` folder.



