city-score


Namecity-score JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryA command-line application for scoring US cities and towns.
upload_time2023-07-15 15:53:58
maintainer
docs_urlNone
author
requires_python>=3.7
licenseThe MIT License Copyright (c) 2023 Jacob Budin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords cli geography reading epub instapaper
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # City Score
City Score is a command-line application for scoring cities based on your personal preferences. Here's an example:

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

## 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:
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:
    ```python
    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
- 🚲 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

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "city-score",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Jacob Budin <self@jacobbudin.com>",
    "keywords": "cli,geography,reading,epub,instapaper",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/af/2f/f922b165ad595d69f569d19083df47125cefc6b50252f57217d5ce4d3e55/city_score-0.2.0.tar.gz",
    "platform": null,
    "description": "# City Score\nCity Score is a command-line application for scoring cities based on your personal preferences. Here's an example:\n\n<table>\n    <thead>\n        <tr>\n            <th>City</th>\n            <th>Population</th>\n            <th>Zillow\u00ae ZHVI</th>\n            <th>PeopleForBikes</th>\n            <th>Yelp &quot;gay bars&quot;</th>\n            <th>Nearby ski resorts</th>\n            <th>Score</th>\n        </tr>\n    </thead>\n    <tbody>\n        <tr>\n             <th scope=\"row\">Portland, OR</th>\n             <td>647,176</td>\n             <td>$547,999</td>\n             <td>56</td>\n             <td>9</td>\n             <td>Mount Hood Ski Bowl (42 miles) and 2 more</td>\n             <td>100</td>\n        </tr>\n        <tr>\n             <th scope=\"row\">Detroit, MI</th>\n             <td>645,658</td>\n             <td>$64,414</td>\n             <td>42</td>\n             <td>7</td>\n             <td>Mt Brighton, MI (41 miles) and 1 more</td>\n             <td>86</td>\n        </tr>\n        <tr>\n             <th scope=\"row\">Cambridge, MA</th>\n             <td>116,892</td>\n             <td>$959,032</td>\n             <td>58</td>\n             <td>6</td>\n             <td>Wachusett Mountain (40 miles) and 5 more</td>\n             <td>84</td>\n        </tr>\n    </tbody>\n</table>\n\n## Technologies\n- Python 3\n\n## Features\n- Ranks all 29,880 cities and towns in the United States\n- Includes multiple built-in data providers\n- Designed to allow users to easily add and remix data\n- Outputs prettified to the console or to CSV, HTML, JSON, JSONL\n\n## Design\nCity Score uses a three-step process:\n1. Qualification: criteria identify cities that meet your minimum standard.\n2. Scoring: scorers score facets of your choosing at various weights.\n3. Generation: dimensions appear in the final output.\n\n## Quick start\n1. Download City Score from PyPI:\n    ```\n    $ python3 -m pip install city_score\n    ```\n2. Create a script (`myscore.py`) like this:\n    ```python\n    from city_score import run\n    from city_score.sources.core import *\n    from city_score.sources.peopleforbikes import *\n    from city_score.sources.zillow import *\n\n    sources = (\n        PeopleForBikes,\n        Zillow,\n    )\n\n    criteria = (\n        minimum_bike_score(25),\n        minimum_population(60000),\n        maximum_median_home_price(1000000),\n        prohibited_states(('TX', 'FL', 'CO', )),\n    )\n\n    scorers = (\n        median_home_price_scorer(lower=350000, upper=800000),\n        bike_score_scorer(lower=40, upper=80, weight=2),\n    )\n\n    dimensions = (\n        population,\n        median_home_price,\n        median_rent,\n        bike_score,\n    )\n\n    run(sources, criteria, scorers, dimensions)\n    ```\n3. Run your script:\n    ```\n    $ python3 myscore.py --sort=score --scale-scores\n    ```\n\n## Data sources\n- \ud83d\udeb2 PeopleForBikes provides a score for biking infrastructure.\n- \ud83c\udfc2 Snowpak provides the name and location of most ski resorts.\n- \ud83c\udfc3\ud83c\udffb TrailLink provides the number of nearby trail miles.\n- \ud83c\udf55 Yelp provides data on many points of interest, including businesses.\n- \ud83c\udfe1 Zillow provides estimates for home and rent prices.\n\n## License\nMIT License\n",
    "bugtrack_url": null,
    "license": "The MIT License  Copyright (c) 2023 Jacob Budin  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
    "summary": "A command-line application for scoring US cities and towns.",
    "version": "0.2.0",
    "project_urls": null,
    "split_keywords": [
        "cli",
        "geography",
        "reading",
        "epub",
        "instapaper"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e94e8c8a8052057766d4437922170ed3aaba768463a4209bf15abc9af87c64b",
                "md5": "c8183db7ce3881387e96533c306b8fb8",
                "sha256": "c36dfee3290718fb65887b294b9ab5613d5037b849fc38413fa5daacbd19f14e"
            },
            "downloads": -1,
            "filename": "city_score-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c8183db7ce3881387e96533c306b8fb8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 15249,
            "upload_time": "2023-07-15T15:53:56",
            "upload_time_iso_8601": "2023-07-15T15:53:56.998924Z",
            "url": "https://files.pythonhosted.org/packages/4e/94/e8c8a8052057766d4437922170ed3aaba768463a4209bf15abc9af87c64b/city_score-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af2ff922b165ad595d69f569d19083df47125cefc6b50252f57217d5ce4d3e55",
                "md5": "0407e998bb130526786a93a3a0df2584",
                "sha256": "8b9f2c35eb6704a329736df2e6c5473d3ade88c0a4e22089f516ace05b4e9dd6"
            },
            "downloads": -1,
            "filename": "city_score-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0407e998bb130526786a93a3a0df2584",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 12496,
            "upload_time": "2023-07-15T15:53:58",
            "upload_time_iso_8601": "2023-07-15T15:53:58.669909Z",
            "url": "https://files.pythonhosted.org/packages/af/2f/f922b165ad595d69f569d19083df47125cefc6b50252f57217d5ce4d3e55/city_score-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-15 15:53:58",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "city-score"
}
        
Elapsed time: 0.08924s