Skip to content

LenguajeJulia/Twitter.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twitter

Build Status

Twitter.jl is a Julia package to work with the Twitter API v1.1. Currently, only the REST API methods are supported; once streaming capabilities are added to Requests.jl, the Streaming API methods will be created as well.

##Twitter.jl API

Currently, all functions have required arguments for those parameters required by Twitter and an options keyword argument to provide a Dict{String, String} of optional parameters Twitter API documentation. Most function calls will return either a Julia Dict or a typed Array. Bad requests will return the raw Response composite type from Requests.jl for debugging purposes.

DataFrame methods are defined for functions returning composite types: TWEETS, PLACES, LISTS, and USERS. Other DataFrame methods may be defined at a later date.

Note that the API is subject to change in the coming few versions, but should stablize shortly.

##Authentication

Authentication is accomplished by creating an application on dev.twitter.com. Once your application is setup, you can access your consumer_key, consumer_token, oauth_token and oauth_secret from the "Details" tab of the application.

Using Twitter

twitterauth("6nOtpXmf...", 
            "sES5Zlj096S...",
            "98689850-Hj...",
            "UroqCVpWKIt...")

This package does not currently support on-the-fly, pop-up a browser-type OAuth authentication. If this functionality is important to you (for example, if you wanted to write a Twitter GUI using Julia), it should be trivial to write the functions (please submit a pull request if you do so!)

##Code examples

See tests.jl for example function calls. More detailed examples will be provided at a later date once API is finalized.

##Testing

Given the authenticated nature of the Twitter API, it's unlikely that testing will be built into Travis-CI. Rather, a test file will be provided in the future for testing, which will also serve as detailed examples.

##Licensing

Twitter.jl is licensed under the MIT "Expat" license

##TODO

General:

  • Incorporate cursoring for methods returning many pages of results (MOST IMPORTANT TO SOLVE)
  • Create Streaming API function calls
  • Make code & interface more Julian, clean up any oddities

Nice to have (timeline uncertain):

  • Clean up column types for DataFrame methods
  • DataFrame methods for generic Dict responses
  • Keyword arguments for returning DataFrame (to remove step in data retrieval process)
  • Ability to save authentication keys to file, remove need for authentication each time
  • Create Read The Docs documentation
  • Create OAuth functions (not getting done until someone else submits a PR)

About

Julia package to access Twitter API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%