Code Monkey home page Code Monkey logo

hc-api-python's People

Contributors

faulkner avatar j-francisco avatar matt-housecanary avatar travisjungroth avatar

Stargazers

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

Watchers

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

hc-api-python's Issues

README endpoint cleanup

Need to make sure endpoints in README are in sync with current v2 docs.

These two endpoints should be removed:

  • score
  • mls

These two are coming soon (can probably just remove for now):

  • ltv
  • ltv_forecast

Drop HC/redundant prefixes

We really don't need to prefix everything with "HC" or be so redundant with our naming (e.g. housecanary.hcrequests.HouseCanaryRequestClient vs housecanary.request.Request)

Use @housecanary.com email before pushing to pypi.

See

.

It would make more sense to set up something like [email protected] that multiple people can access just in case anyone has questions. Similarly, a shared account on pypi would be a good idea since otherwise one person could be the bottleneck for deploying code changes.

If we still want to keep that email address somewhere in the repo then a separate contributor file should be added (e.g. https://github.com/kennethreitz/requests/blob/master/AUTHORS.rst)

Fix package name

If you plan on posting this on pypi hc-api-python is an odd package name to go with. Everything on pypi is already python, so that can obviously go, and hc isn't really search friendly. Since the folder is already called housecanary why not just call the package that too?

SSL error

As of today (March 19, 2019) I'm getting this SSL error when I try make a request using this library:

requests.exceptions.SSLError: HTTPSConnectionPool(host='api.housecanary.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)')))
I suspect this is actually due to an incomplete certificate update on the server, and I've just filed a ticket on https://support.housecanary.com/ . I will update this if I get a ticket number that I can post. I can access the api endpoint in the browser, but hitting it from Python (either with this lib or using requests.get() directly) results in the same error. When I put the endpoint url into Digicert's checker, it said that it was ok in general but was missing intermediate certs. Here's a screenshot:

digicert

Everything was fine yesterday. I tried updating certifi but that didn't help. And, in fact, I can still connect with openssl if I specify certifi's root certificate, so it is not that either.

Use slumber to cut down on boilerplate code

See http://slumber.readthedocs.io

It would remove the need for things like

def consumer(self, address_data):
"""Call the consumer endpoint"""
return self._api_client.fetch("property/consumer", address_data)
def flood(self, address_data):
"""Call the flood endpoint"""
return self._api_client.fetch("property/flood", address_data)
def school(self, address_data):
"""Call the school endpoint"""
return self._api_client.fetch("property/school", address_data)
def value(self, address_data):
"""Call the value endpoint"""
return self._api_client.fetch("property/value", address_data)
def value_forecast(self, address_data):
"""Call the value_forecast endpoint"""
return self._api_client.fetch("property/value_forecast", address_data)
def zip_hpi_historical(self, address_data):
"""Call the zip_hpi_historical endpoint"""
return self._api_client.fetch("property/zip_hpi_historical", address_data)
def zip_hpi_forecast(self, address_data):
"""Call the zip_hpi_forecast endpoint"""
return self._api_client.fetch("property/zip_hpi_forecast", address_data)
def rental_value(self, address_data):
"""Call the rental_value endpoint"""
return self._api_client.fetch("property/rental_value", address_data)
def msa_details(self, address_data):
"""Call the msa_details endpoint"""
return self._api_client.fetch("property/msa_details", address_data)
def mortgage_lien(self, address_data):
"""Call the mortgage_lien endpoint"""
return self._api_client.fetch("property/mortgage_lien", address_data)
def owner_occupied(self, address_data):
"""Call the owner_occupied endpoint"""
return self._api_client.fetch("property/owner_occupied", address_data)
def details(self, address_data):
"""Call the details endpoint"""
return self._api_client.fetch("property/details", address_data)
def sales_history(self, address_data):
"""Call the sales_history endpoint"""
return self._api_client.fetch("property/sales_history", address_data)
def nod(self, address_data):
"""Call the nod endpoint"""
return self._api_client.fetch("property/nod", address_data)
def census(self, address_data):
"""Call the census endpoint"""
return self._api_client.fetch("property/census", address_data)
, https://github.com/housecanary/hc-api-python/blob/dc48699b29e47305053b7da534037e3c6e993895/housecanary/hcrequests.py, https://github.com/housecanary/hc-api-python/blob/dc48699b29e47305053b7da534037e3c6e993895/housecanary/hcobject.py, etc.

Value history EndPoint

Will there ever be a property/value_history endpoint? I see from API reference for property/value endpoint that "HouseCanary proprietary sale valuation models for each property, computed and updated every month". Is it possible that this historical data has been saved and might be available as an endpoint?

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.