Code Monkey home page Code Monkey logo

exotel-py's Introduction

exotel-py

Join the chat at https://gitter.im/sarathsp06/exotel-py status: archive

Python module for exotels call and sms api's(Unofficial).

installation

pip install exotel

Usage

  • Initialize

    from exotel import Exotel
    client = Exotel(sid,token)
    
  • make call to connect a number to another

    client.call_number('from_number','exophone','to_number')
    
  • make call to connect a number to a flow

    client.call_flow('from_number','exophone','flow_id')
    
  • send an sms

    client.sms('from_number',to_number',"sms_body")
    
  • get details of an sms

    client.sms_details('sms_sid')
    
  • get details of a call

    client.call_details('call_sid')
    

Authors and Contributors

In 2015, Sarath S Pllai (@sarath_sp06) started .Any bug reports would be addressed .Feel free to add more functions and send me the patch with updated README

Stargazers over time

Stargazers over time

Support or Contact

Having trouble using the library contact me at [email protected]

exotel-py's People

Contributors

asellappen avatar gitter-badger avatar sarathsp06 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

exotel-py's Issues

ElastAlert not compiling because exotel pins to requests==2.2.1

When installing ElastAlert (python setup.py install), the following error is thrown and the installation is halted because exotel requires the module 'requests==2.2.1' while ElastAlert's requirements.txt uses 2.5.1

error: requests 2.5.1 is installed but requests==2.2.1 is required by set(['exotel'])

This error does not occur until you run ElastAlert's 'pip install -r requirements.txt', but after you do that, this issue will occur every time you try to run install.

Can exotel be modified to work with >=2.2.1 ?

Update Sid with API Key

New accounts use a different API key generated from the dashboard as the key instead of Sid, the client should take an extra argument api_key and use it for authentication along with account sid and API token

AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'

Latest version of exotel (0.1.1) has strict dependency on requests-2.2.1
requests==2.2.1 in its turn uses old version of urllib3, which uses PROTOCOL_SSLv3.
This protocol was disabled in new versions of Debian, so elastalert can't be installed properly in new versions of Debian.

Searching for requests==2.2.1
Reading https://pypi.python.org/simple/requests/
Best match: requests 2.2.1
Downloading https://pypi.python.org/packages/d1/0c/2dc2996268bc64b531a5a2dc6f4ec04552f3a8a2a86e88aeedcb92987741/requests-2.2.1.tar.gz#md5=ac27081135f58d1a43e4fb38258d6f4e
Processing requests-2.2.1.tar.gz
Writing /tmp/easy_install-OR0w1y/requests-2.2.1/setup.cfg
Running requests-2.2.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-OR0w1y/requests-2.2.1/egg-dist-tmp-isp4Tf
Traceback (most recent call last):
File "setup.py", line 43, in
'stomp.py'
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/lib/python2.7/dist-packages/setuptools/command/install.py", line 117, in do_egg_install
cmd.run()
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 414, in run
self.easy_install(spec, not self.no_deps)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 644, in easy_install
return self.install_item(None, spec, tmpdir, deps, True)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 695, in install_item
self.process_distribution(spec, dist, deps)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 740, in process_distribution
[requirement], self.local_index, self.easy_install
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 826, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 1092, in best_match
return self.obtain(req, installer)
File "/usr/lib/python2.7/dist-packages/pkg_resources/init.py", line 1104, in obtain
return installer(requirement)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 663, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 693, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 873, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1101, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/usr/lib/python2.7/dist-packages/setuptools/command/easy_install.py", line 1087, in run_setup
run_setup(setup_script, args)
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 246, in run_setup
raise
File "/usr/lib/python2.7/contextlib.py", line 35, in exit
self.gen.throw(type, value, traceback)
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/usr/lib/python2.7/contextlib.py", line 35, in exit
self.gen.throw(type, value, traceback)
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 166, in save_modules
saved_exc.resume()
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 141, in resume
six.reraise(type, exc, self._tb)
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 154, in save_modules
yield saved
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 195, in setup_context
yield
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 243, in run_setup
DirectorySandbox(setup_dir).run(runner)
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 273, in run
return func()
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 242, in runner
_execfile(setup_script, ns)
File "/usr/lib/python2.7/dist-packages/setuptools/sandbox.py", line 46, in _execfile
exec(code, globals, locals)
File "/tmp/easy_install-OR0w1y/requests-2.2.1/setup.py", line 6, in
File "/tmp/easy_install-OR0w1y/requests-2.2.1/requests/init.py", line 53, in
File "/tmp/easy_install-OR0w1y/requests-2.2.1/requests/packages/urllib3/contrib/pyopenssl.py", line 62, in
AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'

Some system info:
Description: Debian GNU/Linux 8.5 (jessie)
Release: 8.5

pip -V
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

pip show requests
Version: 2.13.0

pip show urllib3
Version: 1.20

Further investigation: http://stackoverflow.com/questions/28987891/patch-pyopenssl-for-sslv3-issue

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.