Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

django-geohashing

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-geohashing

Django app for working with XKCD geohashing data

  • 0.2.1
  • PyPI
  • Socket score

Maintainers
1

django-geohashing

A Django application for calculating geohashes and exposing them via RESTful interface. Requires Django 1.8.x+ (takes advantage of updated argument parsing for custom management commands, see: Django 1.8 Release Notes for more information).

Installation

Install with pip:

pip install django-geohashing

Quick Start

  1. Add "geohashing" and "rest_framework" to your INSTALLED_APPS:

    INSTALLED_APPS = (
       ...
       'geohashing',
       'rest_framework',
    )
    
  2. Create the geohashing tables by resyncing your models:

    python manage.py migrate
    
  3. Populate the table using the get_historical_djia management command:

    python manage.py get_historical_djia --start <date> --end <date>
    

    The get_historical_djia command takes two optional parameters: --start and --end. These parameters accept date strings of the format YYYY-MM-DD. They may be used to limit the set of results from which to database is populated (so for instance to only retrieve and process only the 30 most recent DJIA openings instead of every opening since 1928).

    The parameters are optional but their use is very much encouraged; otherwise tens of thousands of records will be retrieved and imported individually.

  4. To expose the geohashing offsets via REST API, include geohashing.urls in your urls.py. Though not strictly required, as a best practice a namespace for the urls should be provided:

    from django.conf.urls import url
    
    urlpatterns = [
        url(r'^geohashing/', include('geohashing.urls', namespace='geohashing')),
    ]
    

TODO

This project is still in an extremely early alpha stage. Tasks that still need to be tackled:

  • Update the importer to:

    • Handle the creation of new Day objects and the update of existing Day objects seperately so that we can use bulk_create to improve performance.
    • Extrapolate data points beyond the maximum date when enough information is available to do so.
    • Add a get_current_djia management command to be used for retrieving today's opening value. Occasionally the various sources for the opening value are initially inconsistent with one another. The management command should handle this gracefully by waiting for consensus.
  • Add unit tests and docs

  • Run Flake8 against the codebase and fix any glaring PEP-8 violations

  • Set up Continuous Integration...integration

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc