A command-line application for scoring US cities and towns.
Project description
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
- Python 3
Features
- Ranks all 29,880 cities and towns in the United States
- Includes multiple built-in data providers
- Designed to allow users to easily add and remix data
- Outputs prettified to the console or to CSV, HTML, JSON, JSONL
Design
City Score uses a three-step process:
- Qualification: criteria identify cities that meet your minimum standard.
- Scoring: scorers score facets of your choosing at various weights.
- Generation: dimensions appear in the final output.
Quick start
- Download City Score from PyPI:
$ python3 -m pip install city_score
- 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)
- Run your script:
$ python3 myscore.py --sort=score --scale-scores
Data sources
- 🚲 PeopleForBikes provides a score for biking infrastructure.
- 🏂 Snowpak provides the name and location of most ski resorts.
- 🏃🏻 TrailLink provides the number of nearby trail miles.
- 🍕 Yelp provides data on many points of interest, including businesses.
- 🏡 Zillow provides estimates for home and rent prices.
License
MIT License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
city_score-0.2.0.tar.gz
(12.5 kB
view details)
Built Distribution
File details
Details for the file city_score-0.2.0.tar.gz
.
File metadata
- Download URL: city_score-0.2.0.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b9f2c35eb6704a329736df2e6c5473d3ade88c0a4e22089f516ace05b4e9dd6 |
|
MD5 | 0407e998bb130526786a93a3a0df2584 |
|
BLAKE2b-256 | af2ff922b165ad595d69f569d19083df47125cefc6b50252f57217d5ce4d3e55 |
File details
Details for the file city_score-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: city_score-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c36dfee3290718fb65887b294b9ab5613d5037b849fc38413fa5daacbd19f14e |
|
MD5 | c8183db7ce3881387e96533c306b8fb8 |
|
BLAKE2b-256 | 4e94e8c8a8052057766d4437922170ed3aaba768463a4209bf15abc9af87c64b |