Code Monkey home page Code Monkey logo

weatherapi's People

Contributors

johnluetke avatar mjschultz avatar

Stargazers

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

Watchers

 avatar

weatherapi's Issues

Issue using WeatherAPI from Gradle

WeatherAPI in turn depends on org.reflections, which has a Maven profile-based dependency on javassist. Gradle does not support resolving placeholders in published POMs, so you get errors like:

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':compile'.
> Could not resolve org.javassist:javassist:${javassist.version}.
Required by:
  :weatherenrich:0.1.0 > net.johnluetke.WeatherAPI:WeatherAPI:0.9.4 > org.reflections:reflections:0.9.9-RC2
 > Illegal character in path at index 55: http://repo1.maven.org/maven2/org/javassist/javassist /${javassist.version}/javassist-${javassist.version}.pom

Add LRU cache support

For high-volume environments like Hadoop and Storm, performing an API lookup for every record is a non-starter.

Therefore, it would be worth adding an LRU cache into the WeatherAPI. In Scala we normally use Twitter's LruMap but we could use the Java equivalent instead.

We take this approach in https://github.com/snowplow/scala-forex

Better Algorithm to select a provider

At present, the first provider that can fulfill the request is used, even if multiple providers can do so. Is this acceptable? Or should a second algorithm be implemented for when > 1 providers can fulfill a request?

Add ability to get weather at <timestamp>

We are interested in using WeatherAPI as the foundation of a weather-enrichment for Snowplow (snowplow/snowplow#456).

A showstopper requirement is the ability to get the weather at a specific timestamp. If we are (re-processing) 3 months of events from a mobile game, the current weather in a given location is a non-starter.

Would you be open to updating the API to support a provided timestamp? We would be happy to help integrate a provider that provides time-based weather.

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.