jacobbudin / city-score

Score and rank US cities and towns to find the best city for you 📍
MIT License
0 stars 1 forks source link
cities cli command-line-tool geography ranking-system score

City Score

City Score is a command-line application for scoring cities based on your personal preferences. Here's an example:

City Population Zillow® ZHVI PeopleForBikes Yelp "gay bars" Nearby ski resorts Score
Portland, OR 647,176 $547,999 56 9 Mount Hood Ski Bowl (42 miles) and 2 more 100
Detroit, MI 645,658 $64,414 42 7 Mt Brighton, MI (41 miles) and 1 more 86
Cambridge, MA 116,892 $959,032 58 6 Wachusett Mountain (40 miles) and 5 more 84

Technologies

Features

Design

City Score uses a three-step process:

  1. Qualification: criteria identify cities that meet your minimum standard.
  2. Scoring: scorers score facets of your choosing at various weights.
  3. Generation: dimensions appear in the final output.

Quick start

  1. Download City Score from PyPI:
    $ python3 -m pip install city_score
  2. Create a script (myscore.py) like this:

    from city_score import run
    from city_score.sources.core import *
    from city_score.sources.peopleforbikes import *
    from city_score.sources.zillow import *
    
    sources = (
        PeopleForBikes,
        Zillow,
    )
    
    criteria = (
        minimum_bike_score(25),
        minimum_population(60000),
        maximum_median_home_price(1000000),
        prohibited_states(('TX', 'FL', 'CO', )),
    )
    
    scorers = (
        median_home_price_scorer(lower=350000, upper=800000),
        bike_score_scorer(lower=40, upper=80, weight=2),
    )
    
    dimensions = (
        population,
        median_home_price,
        median_rent,
        bike_score,
    )
    
    run(sources, criteria, scorers, dimensions)
  3. Run your script:
    $ python3 myscore.py --sort=score --scale-scores

Data sources

License

MIT License