Citysense
CitySense is an open-source Python library that bridges geospatial urban data with large language model (LLM) toolchains.
Install / Use
/learn @olaflaitinen/CitysenseAbout this skill
Quality Score
0/100
Category
Development & EngineeringSupported Platforms
Claude Code
Cursor
README
<div align="center">
<img src="docs/assets/logo.svg" alt="CitySense Logo" width="320"/>
<h1>CitySense</h1>
<p><b>Geospatial RAG + MCP Toolkit for Urban Intelligence</b></p>
<p><sub>Built for SDG 11 workflows, pilot countries, and research-grade city analytics.</sub></p>
<p><sub><b>QUICK LINKS</b></sub></p>
<p>
<a href="https://citysense.readthedocs.io">Documentation</a> |
<a href="https://pypi.org/project/citysense/">PyPI</a> |
<a href="https://github.com/olaflaitinen/citysense/issues">Issues</a> |
<a href="https://modelcontextprotocol.io/">MCP</a>
</p>
<!-- Partner Logos -->
<p>
<sub><b>PARTNERS</b></sub><br>
<img src="docs/assets/partners/unh_sqr_logo.svg" alt="UN-Habitat Logo" height="34"/>
<img src="docs/assets/partners/wuf-logo.svg" alt="World Urban Forum Logo" height="34"/>
<img src="docs/assets/partners/arxkom_logo_en.svg" alt="Arxkom Logo" height="34"/>
</p>
<!-- Mini Flags -->
<p>
<sub><b>PILOT COUNTRIES</b></sub><br>
<img src="https://flagcdn.com/16x12/az.png" alt="Azerbaijan flag" width="16" height="12"/> <sub></sub>
<img src="https://flagcdn.com/16x12/fi.png" alt="Finland flag" width="16" height="12"/> <sub></sub>
<img src="https://flagcdn.com/16x12/se.png" alt="Sweden flag" width="16" height="12"/> <sub></sub>
<img src="https://flagcdn.com/16x12/dk.png" alt="Denmark flag" width="16" height="12"/> <sub></sub>
<img src="https://flagcdn.com/16x12/no.png" alt="Norway flag" width="16" height="12"/> <sub></sub>
</p>
<br>
<!-- Project Status & PyPI -->
<p><sub><b>PACKAGE</b></sub></p>
<p>
<a href="https://pypi.org/project/citysense/"><img src="https://img.shields.io/pypi/v/citysense?logo=pypi&logoColor=white&style=flat&cacheSeconds=3600" alt="PyPI version"></a>
<a href="https://pypi.org/project/citysense/"><img src="https://img.shields.io/pypi/pyversions/citysense?logo=python&logoColor=white&style=flat&cacheSeconds=3600" alt="PyPI - Python Version"></a>
<a href="https://pypi.org/project/citysense/"><img src="https://img.shields.io/pypi/wheel/citysense?logo=pypi&logoColor=white&style=flat&cacheSeconds=3600" alt="PyPI - Wheel"></a>
<a href="https://pypi.org/project/citysense/"><img src="https://img.shields.io/pypi/format/citysense?logo=pypi&logoColor=white&style=flat&cacheSeconds=3600" alt="PyPI - Format"></a>
<a href="https://pypi.org/project/citysense/"><img src="https://img.shields.io/pypi/status/citysense?logo=pypi&logoColor=white&style=flat&cacheSeconds=3600" alt="PyPI - Status"></a>
<a href="https://pepy.tech/projects/citysense"><img src="https://static.pepy.tech/badge/citysense/month" alt="PyPI - Downloads"></a>
</p>
<!-- GitHub Stats -->
<p><sub><b>REPOSITORY</b></sub></p>
<p>
<a href="https://github.com/olaflaitinen/citysense/stargazers"><img src="https://img.shields.io/github/stars/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub stars"></a>
<a href="https://github.com/olaflaitinen/citysense/network/members"><img src="https://img.shields.io/github/forks/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub forks"></a>
<a href="https://github.com/olaflaitinen/citysense/issues"><img src="https://img.shields.io/github/issues/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub issues"></a>
<a href="https://github.com/olaflaitinen/citysense/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/github/issues-closed/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub issues closed"></a>
<a href="https://github.com/olaflaitinen/citysense/pulls"><img src="https://img.shields.io/github/issues-pr/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub PRs"></a>
<a href="https://github.com/olaflaitinen/citysense/pulls?q=is%3Apr+is%3Aclosed"><img src="https://img.shields.io/github/issues-pr-closed/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub PRs closed"></a>
<a href="https://github.com/olaflaitinen/citysense/graphs/contributors"><img src="https://img.shields.io/github/contributors/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub contributors"></a>
<a href="https://github.com/olaflaitinen/citysense/commits/main"><img src="https://img.shields.io/github/last-commit/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub last commit"></a>
<a href="https://github.com/olaflaitinen/citysense/commits/main"><img src="https://img.shields.io/github/commit-activity/m/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="GitHub commit activity"></a>
<a href="https://github.com/olaflaitinen/citysense"><img src="https://img.shields.io/github/languages/code-size/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="Code size"></a>
<a href="https://github.com/olaflaitinen/citysense"><img src="https://img.shields.io/github/languages/top/olaflaitinen/citysense?logo=python&logoColor=white&style=flat&cacheSeconds=3600" alt="Top language"></a>
<a href="https://github.com/olaflaitinen/citysense"><img src="https://img.shields.io/github/repo-size/olaflaitinen/citysense?logo=github&logoColor=white&style=flat&cacheSeconds=3600" alt="Repo size"></a>
</p>
<!-- CI/CD & Quality -->
<p><sub><b>QUALITY</b></sub></p>
<p>
<a href="https://github.com/olaflaitinen/citysense/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/olaflaitinen/citysense/ci.yml?branch=main&label=CI&logo=githubactions&logoColor=white&style=flat&cacheSeconds=3600" alt="CI"></a>
<a href="https://github.com/olaflaitinen/citysense/actions/workflows/scorecard-analysis.yml"><img src="https://img.shields.io/github/actions/workflow/status/olaflaitinen/citysense/scorecard-analysis.yml?branch=main&label=Scorecard&logo=githubactions&logoColor=white&style=flat&cacheSeconds=3600" alt="Scorecard CI"></a>
<a href="https://codecov.io/gh/olaflaitinen/citysense"><img src="https://img.shields.io/codecov/c/github/olaflaitinen/citysense?logo=codecov&logoColor=white&style=flat&cacheSeconds=3600" alt="Codecov"></a>
<a href="https://scorecard.dev/viewer/?uri=github.com/olaflaitinen/citysense"><img src="https://img.shields.io/badge/dynamic/json?url=https://api.scorecard.dev/projects/github.com/olaflaitinen/citysense&query=$.score&label=OpenSSF%20Scorecard&suffix=%2F10&logo=securityscorecard&logoColor=white&style=flat&cacheSeconds=3600" alt="OpenSSF Scorecard"></a>
<a href="https://app.deepsource.com/gh/olaflaitinen/citysense/?ref=repository-badge"><img alt="DeepSource" title="DeepSource" src="https://app.deepsource.com/gh/olaflaitinen/citysense.svg/?label=active+issues&show_trend=true"></a>
<a href="https://opensource.org/licenses/EUPL-1.2"><img src="https://img.shields.io/badge/license-EUPL--1.2-green?logo=europeanunion&logoColor=white&style=flat&cacheSeconds=3600" alt="License"></a>
</p>
<!-- Code Style & Standards -->
<p><sub><b>STANDARDS</b></sub></p>
<p>
<a href="https://docs.astral.sh/ruff/"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&style=flat&cacheSeconds=3600" alt="Ruff"></a>
<a href="https://github.com/psf/black"><img src="https://img.shields.io/badge/code%20style-black-000000.svg?logo=black&logoColor=white&style=flat&cacheSeconds=3600" alt="Code style: black"></a>
<a href="https://mypy-lang.org/"><img src="https://img.shields.io/badge/type%20checker-mypy-2a6db2.svg?logo=python&logoColor=white&style=flat&cacheSeconds=3600" alt="mypy"></a>
<a href="https://pycqa.github.io/isort/"><img src="https://img.shields.io/badge/imports-isort-1674B1?logo=pycqa&logoColor=white&style=flat&cacheSeconds=3600" alt="isort"></a>
<a href="https://pre-commit.com/"><img src="https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=precommit&logoColor=white&style=flat&cacheSeconds=3600" alt="Pre-commit"></a>
<a href="https://github.com/editorconfig/editorconfig"><img src="https://img.shields.io/badge/EditorConfig-enabled-cyan?logo=editorconfig&logoColor=white&style=flat&cacheSeconds=3600" alt="EditorConfig"></a>
<a href="https://pypi.org/project/bandit/"><img src="https://img.shields.io/badge/security-bandit-F29F05?logo=pycqa&logoColor=white&style=flat&cacheSeconds=3600" alt="Security: bandit"></a>
</p>
<!-- Tech Stack -->
<p><sub><b>TECH STACK</b></sub></p>
<p>
<a href="https://modelcontextprotocol.io/"><img src="https://img.shields.io/badge/Protocol-MCP-6366F1?logo=modelcontextprotocol&logoColor=white&style=flat" alt="MCP"></a>
<a href="https://sdgs.un.org/goals/goal11"><img src="https://img.shields.io/badge/UN--SDG-11-009EDB?logo=unitednations&logoColor=white&style=flat" alt="SDG 11"></a>
<a href="https://www.openstreetmap.org/"><img src="https://img.shields.io/badge/Data-OpenStreetMap-7EBC6F?logo=openstreetmap&logoColor=white&style=flat" alt="OpenStreetMap"></a>
<a href="https://www.mapillary.com/"><img src="https://img.shields.io/badge/Data-Mapillary-05CB63?logo=mapillary&logoColor=white&style=flat" alt="Mapillary"></a>
<a href="https://sentinel.esa.int/"><img src="https://img.shields.io/badge/Data-Sentinel--2-4B6A9C?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8%2BIDwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPiA8c3ZnIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB3aWR0aD0iMjQyLjg4NjA2IiBoZWlnaHQ9IjI0M
