{"id":13856952,"url":"https://github.com/pysal/momepy","last_synced_at":"2025-06-20T02:41:22.443Z","repository":{"id":38235051,"uuid":"127455065","full_name":"pysal/momepy","owner":"pysal","description":"Urban Morphology Measuring Toolkit","archived":false,"fork":false,"pushed_at":"2025-04-22T12:37:30.000Z","size":112117,"stargazers_count":533,"open_issues_count":26,"forks_count":65,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-05-18T17:18:41.804Z","etag":null,"topics":["morphological-analysis","morphology","morphometrics","urban","urban-morphometrics","urban-street-networks"],"latest_commit_sha":null,"homepage":"https://docs.momepy.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pysal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-30T17:29:09.000Z","updated_at":"2025-05-10T06:35:59.000Z","dependencies_parsed_at":"2022-06-29T21:41:24.159Z","dependency_job_id":"8df4ee11-ad60-44b1-a8ec-0734bad037c3","html_url":"https://github.com/pysal/momepy","commit_stats":{"total_commits":734,"total_committers":14,"mean_commits":52.42857142857143,"dds":"0.22479564032697552","last_synced_commit":"96ba84fab1a049b5b07686b5ea719a3b4d24d495"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/pysal/momepy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fmomepy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fmomepy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fmomepy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fmomepy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pysal","download_url":"https://codeload.github.com/pysal/momepy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pysal%2Fmomepy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260868055,"owners_count":23074918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["morphological-analysis","morphology","morphometrics","urban","urban-morphometrics","urban-street-networks"],"created_at":"2024-08-05T03:01:20.036Z","updated_at":"2025-06-20T02:41:17.428Z","avatar_url":"https://github.com/pysal.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# momepy\n\n[![Documentation Status](https://readthedocs.org/projects/momepy/badge/?version=latest)](http://docs.momepy.org/en/latest/?badge=latest) [![Actions Status](https://github.com/pysal/momepy/workflows/Tests/badge.svg)](https://github.com/pysal/momepy/actions?query=workflow%3ATests)\n[![codecov](https://codecov.io/gh/pysal/momepy/branch/main/graph/badge.svg?token=VNn0WR5JWT)](https://codecov.io/gh/pysal/momepy) [![Discord](https://img.shields.io/badge/Discord-join%20chat-7289da?style=flat\u0026logo=discord\u0026logoColor=cccccc\u0026link=https://discord.gg/he6Y8D2ap3)](https://discord.gg/he6Y8D2ap3) [![DOI](https://joss.theoj.org/papers/10.21105/joss.01807/status.svg)](https://doi.org/10.21105/joss.01807)\n\n\n\u003cimg src=\"https://raw.githubusercontent.com/pysal/momepy/main/docs/_static/logo.png\" width=\"50%\"\u003e\n\n## Introduction\n\nMomepy is a library for quantitative analysis of urban form - urban morphometrics. It is\npart of [PySAL (Python Spatial Analysis Library)](http://pysal.org) and is built on top\nof [GeoPandas](http://geopandas.org), other [PySAL](http://pysal.org) modules, and\n[networkX](http://networkx.github.io).\n\n\u003e *momepy* stands for Morphological Measuring in Python\n\nSome of the functionality that momepy offers:\n\n- Measuring [dimensions](https://docs.momepy.org/en/latest/api.html##measuring-dimension) of morphological elements, their parts, and aggregated structures.\n- Quantifying [shapes](https://docs.momepy.org/en/latest/api.html#measuring-shape) of geometries representing a wide range of morphological features.\n- Capturing [spatial distribution](https://docs.momepy.org/en/latest/api.html#measuring-spatial-distribution) of elements of one kind as well as relationships between different kinds.\n- Computing density and other types of [intensity](https://docs.momepy.org/en/latest/api.html#measuring-intensity) characters.\n- Calculating [diversity](https://docs.momepy.org/en/latest/api.html#measuring-diversity) of various aspects of urban form.\n- Capturing [connectivity](https://docs.momepy.org/en/latest/api.html#measuring-connectivity) of urban street networks.\n- Generating relational [elements](https://docs.momepy.org/en/latest/api.html#managing-morphological-elements) of urban form (e.g. morphological tessellation).\n\nMomepy aims to provide a wide range of tools for a systematic and exhaustive analysis of urban form. It can work with a wide range of elements, while focused on building footprints and street networks.\n\nComments, suggestions, feedback, and contributions, as well as bug reports, are very welcome.\n\nThe package is currently maintained by [**@martinfleis**](https://github.com/martinfleis) and [**@jGaboardi**](https://github.com/jGaboardi).\n\n## Getting Started\n\nA quick and easy [getting-started guide](http://docs.momepy.org/en/stable/user_guide/getting_started.html) is part of the [User Guide](http://docs.momepy.org/en/stable/user_guide/intro.html).\n\n\n## Documentation\n\nDocumentation of `momepy` is available at [docs.momepy.org](https://docs.momepy.org/).\n\n\n## Examples\n\n```py\ntessellation['area_simpson'] = momepy.simpson(tessellation.area, contiguity_k3)\n```\n\n![Local Simpson's diversity of area](https://raw.githubusercontent.com/pysal/momepy/main/docs/_static/diversity_22_0.png)\n\n```py\nG = momepy.straightness_centrality(G)\n```\n\n![Straightness centrality](https://raw.githubusercontent.com/pysal/momepy/main/docs/_static/centrality_27_0.png)\n\n\n## How to cite\n\nTo cite `momepy` please use the following [software paper](https://doi.org/10.21105/joss.01807)](https://doi.org/10.21105/joss.01807) published in the JOSS.\n\nFleischmann, M. (2019) ‘momepy: Urban Morphology Measuring Toolkit’, Journal of Open Source Software, 4(43), p. 1807. doi: 10.21105/joss.01807.\n\nBibTeX:\n\n    @article{fleischmann_2019,\n        author={Fleischmann, Martin},\n        title={momepy: Urban Morphology Measuring Toolkit},\n        journal={Journal of Open Source Software},\n        year={2019},\n        volume={4},\n        number={43},\n        pages={1807},\n        DOI={10.21105/joss.01807}\n    }\n\n## Install\n\nYou can install `momepy` using Conda from `conda-forge` (recommended):\n\n    conda install -c conda-forge momepy\n\nor from PyPI using `pip`:\n\n    pip install momepy\n\nSee the [installation instructions](http://docs.momepy.org/en/latest/install.html) for detailed instructions.\nMomepy depends on the Python geospatial stack, which might cause some dependency issues.\n\n## Contributing to momepy\n\nContributions of any kind to momepy are more than welcome. That does not mean new code only, but also:\n\n- improvements to the documentation and user guide,\n- additional tests (ideally filling the gaps in the existing suite),\n- bug reports, or\n- ideas for what could be added or done better.\n\nAll contributions should go through our GitHub repository. Bug reports, ideas, or even questions should be raised by opening an issue on the GitHub tracker. Suggestions for changes in code or documentation should be submitted as a pull request. However, if you are not sure what to do, feel free to open an issue. All discussions will then take place on GitHub to keep the development of momepy transparent.\n\nIf you decide to contribute to the codebase, ensure that you are using an up-to-date `main` branch. The latest development version will always be there, including the documentation (powered by `sphinx`).\n\nDetails are available in the [documentation](https://docs.momepy.org/).\n\n## Get in touch\n\nIf you have a question regarding momepy, feel free to open an [issue](https://github.com/pysal/momepy/issues/new/choose) or a new [discussion](https://github.com/pysal/momepy/discussions) on GitHub.\n\n## Acknowledgments\n\nThe initial release of momepy was a result of research of [Urban](http://udsu-strath.com) Design Studies Unit (UDSU)](http://udsu-strath.com) supported by the Axel and Margaret Ax:son Johnson Foundation as a part of “The Urban Form Resilience Project” in partnership with the University of Strathclyde in Glasgow, UK. Further development was supported by the [Geographic Data Science Lab](https://www.liverpool.ac.uk/geographic-data-science/) of the University of Liverpool within the [Urban Grammar AI](https://urbangrammarai.xyz) research project.\n\n---\nCopyright (c) 2018-, Martin Fleischmann and PySAL Developers\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpysal%2Fmomepy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpysal%2Fmomepy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpysal%2Fmomepy/lists"}