# Mesa-Geo: GIS Extension for Mesa Agent-Based Modeling
| | |
| --- | --- |
| CI/CD | [![GitHub CI](https://github.com/projectmesa/mesa-geo/workflows/build/badge.svg)](https://github.com/projectmesa/mesa-geo/actions) [![Read the Docs](https://readthedocs.org/projects/mesa-geo/badge/?version=stable)](https://mesa-geo.readthedocs.io/stable) [![Codecov](https://codecov.io/gh/projectmesa/mesa-geo/branch/main/graph/badge.svg)](https://codecov.io/gh/projectmesa/mesa-geo) |
| Package | [![PyPI](https://img.shields.io/pypi/v/mesa-geo.svg)](https://pypi.org/project/mesa-geo) [![PyPI - License](https://img.shields.io/pypi/l/mesa-geo)](https://pypi.org/project/mesa-geo/) [![PyPI - Downloads](https://img.shields.io/pypi/dw/mesa-geo)](https://pypistats.org/packages/mesa-geo) |
| Meta | [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch) [![DOI](https://zenodo.org/badge/DOI/10.1145/3557989.3566157.svg)](https://doi.org/10.1145/3557989.3566157) |
| Chat | [![chat](https://img.shields.io/matrix/project-mesa:matrix.org?label=chat&logo=Matrix)](https://matrix.to/#/#project-mesa:matrix.org) |
Mesa-Geo implements a `GeoSpace` that can host GIS-based `GeoAgents`, which are like normal Agents, except they have a `geometry` attribute that is a [Shapely object](https://shapely.readthedocs.io/en/latest/manual.html) and a `crs` attribute for its Coordinate Reference System. You can use `Shapely` directly to create arbitrary geometries, but in most cases you will want to import your geometries from a file. Mesa-Geo allows you to create GeoAgents from any vector data file (e.g. shapefiles), valid GeoJSON objects or a GeoPandas GeoDataFrame.
## Using Mesa-Geo
To install Mesa-Geo, run:
```bash
pip install -U mesa-geo
```
Mesa-Geo pre-releases can be installed with:
```bash
pip install -U --pre mesa-geo
```
You can also use `pip` to install the GitHub version:
```bash
pip install -U -e git+https://github.com/projectmesa/mesa-geo.git#egg=mesa-geo
```
Or any other (development) branch on this repo or your own fork:
``` bash
pip install -U -e git+https://github.com/YOUR_FORK/mesa-geo@YOUR_BRANCH#egg=mesa-geo
```
Take a look at the [examples](https://github.com/projectmesa/mesa-examples/tree/main/gis) repository for sample models demonstrating Mesa-Geo features.
For more help on using Mesa-Geo, check out the following resources:
- [Introductory Tutorial](http://mesa-geo.readthedocs.io/stable/tutorials/intro_tutorial.html)
- [Docs](http://mesa-geo.readthedocs.io/stable/)
- [Mesa-Geo Discussions](https://github.com/projectmesa/mesa-geo/discussions)
- [PyPI](https://pypi.org/project/mesa-geo/)
## Contributing to Mesa-Geo
Want to join the team or just curious about what is happening with Mesa & Mesa-Geo? You can...
* Join our [Matrix chat room](https://matrix.to/#/#mesa-geo:matrix.org) in which questions, issues, and ideas can be (informally) discussed.
* Come to a monthly dev session (you can find dev session times, agendas and notes at [Mesa discussions](https://github.com/projectmesa/mesa/discussions).
* Just check out the code at [GitHub](https://github.com/projectmesa/mesa-geo/).
If you run into an issue, please file a [ticket](https://github.com/projectmesa/mesa-geo/issues) for us to discuss. If possible, follow up with a pull request.
If you would like to add a feature, please reach out via [ticket](https://github.com/projectmesa/mesa-geo/issues) or join a dev session (see [Mesa discussions](https://github.com/projectmesa/mesa/discussions)).
A feature is most likely to be added if you build it!
Don't forget to check out the [Contributors guide](https://github.com/projectmesa/mesa-geo/blob/main/CONTRIBUTING.md).
## Citing Mesa-Geo
To cite Mesa-Geo in your publication, you can use the [CITATION.bib](https://github.com/projectmesa/mesa-geo/blob/main/CITATION.bib).
Raw data
{
"_id": null,
"home_page": null,
"name": "Mesa-Geo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ABM, GIS, agent, based, geographic, information, model, modeling, multi-agent, simulation, systems",
"author": null,
"author_email": "Project Mesa Team <projectmesa@googlegroups.com>",
"download_url": "https://files.pythonhosted.org/packages/24/5a/ec7123b5e24083bc3fda210a7e12c65ef7d533d0f04f5d5e7cccffff78ea/mesa_geo-0.9.0.tar.gz",
"platform": null,
"description": "# Mesa-Geo: GIS Extension for Mesa Agent-Based Modeling\n\n| | |\n| --- | --- |\n| CI/CD | [![GitHub CI](https://github.com/projectmesa/mesa-geo/workflows/build/badge.svg)](https://github.com/projectmesa/mesa-geo/actions) [![Read the Docs](https://readthedocs.org/projects/mesa-geo/badge/?version=stable)](https://mesa-geo.readthedocs.io/stable) [![Codecov](https://codecov.io/gh/projectmesa/mesa-geo/branch/main/graph/badge.svg)](https://codecov.io/gh/projectmesa/mesa-geo) |\n| Package | [![PyPI](https://img.shields.io/pypi/v/mesa-geo.svg)](https://pypi.org/project/mesa-geo) [![PyPI - License](https://img.shields.io/pypi/l/mesa-geo)](https://pypi.org/project/mesa-geo/) [![PyPI - Downloads](https://img.shields.io/pypi/dw/mesa-geo)](https://pypistats.org/packages/mesa-geo) |\n| Meta | [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch) [![DOI](https://zenodo.org/badge/DOI/10.1145/3557989.3566157.svg)](https://doi.org/10.1145/3557989.3566157) |\n| Chat | [![chat](https://img.shields.io/matrix/project-mesa:matrix.org?label=chat&logo=Matrix)](https://matrix.to/#/#project-mesa:matrix.org) |\n\nMesa-Geo implements a `GeoSpace` that can host GIS-based `GeoAgents`, which are like normal Agents, except they have a `geometry` attribute that is a [Shapely object](https://shapely.readthedocs.io/en/latest/manual.html) and a `crs` attribute for its Coordinate Reference System. You can use `Shapely` directly to create arbitrary geometries, but in most cases you will want to import your geometries from a file. Mesa-Geo allows you to create GeoAgents from any vector data file (e.g. shapefiles), valid GeoJSON objects or a GeoPandas GeoDataFrame.\n\n## Using Mesa-Geo\n\nTo install Mesa-Geo, run:\n```bash\npip install -U mesa-geo\n```\n\nMesa-Geo pre-releases can be installed with:\n```bash\npip install -U --pre mesa-geo\n```\n\nYou can also use `pip` to install the GitHub version:\n```bash\npip install -U -e git+https://github.com/projectmesa/mesa-geo.git#egg=mesa-geo\n```\n\nOr any other (development) branch on this repo or your own fork:\n``` bash\npip install -U -e git+https://github.com/YOUR_FORK/mesa-geo@YOUR_BRANCH#egg=mesa-geo\n```\n\nTake a look at the [examples](https://github.com/projectmesa/mesa-examples/tree/main/gis) repository for sample models demonstrating Mesa-Geo features.\n\nFor more help on using Mesa-Geo, check out the following resources:\n\n- [Introductory Tutorial](http://mesa-geo.readthedocs.io/stable/tutorials/intro_tutorial.html)\n- [Docs](http://mesa-geo.readthedocs.io/stable/)\n- [Mesa-Geo Discussions](https://github.com/projectmesa/mesa-geo/discussions)\n- [PyPI](https://pypi.org/project/mesa-geo/)\n\n## Contributing to Mesa-Geo\n\nWant to join the team or just curious about what is happening with Mesa & Mesa-Geo? You can...\n\n * Join our [Matrix chat room](https://matrix.to/#/#mesa-geo:matrix.org) in which questions, issues, and ideas can be (informally) discussed.\n * Come to a monthly dev session (you can find dev session times, agendas and notes at [Mesa discussions](https://github.com/projectmesa/mesa/discussions).\n * Just check out the code at [GitHub](https://github.com/projectmesa/mesa-geo/).\n\nIf you run into an issue, please file a [ticket](https://github.com/projectmesa/mesa-geo/issues) for us to discuss. If possible, follow up with a pull request.\n\nIf you would like to add a feature, please reach out via [ticket](https://github.com/projectmesa/mesa-geo/issues) or join a dev session (see [Mesa discussions](https://github.com/projectmesa/mesa/discussions)).\nA feature is most likely to be added if you build it!\n\nDon't forget to check out the [Contributors guide](https://github.com/projectmesa/mesa-geo/blob/main/CONTRIBUTING.md).\n\n## Citing Mesa-Geo\n\nTo cite Mesa-Geo in your publication, you can use the [CITATION.bib](https://github.com/projectmesa/mesa-geo/blob/main/CITATION.bib).\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "GIS Agent-based modeling (ABM) in Python",
"version": "0.9.0",
"project_urls": {
"homepage": "https://github.com/projectmesa/mesa-geo",
"repository": "https://github.com/projectmesa/mesa-geo"
},
"split_keywords": [
"abm",
" gis",
" agent",
" based",
" geographic",
" information",
" model",
" modeling",
" multi-agent",
" simulation",
" systems"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7858bdcaaaf48734c86e6ccaabcd26905d1890a4a728920f4a936055356fed00",
"md5": "915d609362de1b0f36c40a93ed1cb6c6",
"sha256": "ab220ff460db3aada232d43d09c35983bca88988a8c4405c9989e2133a5745be"
},
"downloads": -1,
"filename": "mesa_geo-0.9.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "915d609362de1b0f36c40a93ed1cb6c6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 31106,
"upload_time": "2024-12-25T02:35:30",
"upload_time_iso_8601": "2024-12-25T02:35:30.565685Z",
"url": "https://files.pythonhosted.org/packages/78/58/bdcaaaf48734c86e6ccaabcd26905d1890a4a728920f4a936055356fed00/mesa_geo-0.9.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "245aec7123b5e24083bc3fda210a7e12c65ef7d533d0f04f5d5e7cccffff78ea",
"md5": "9d9633c1e6262f99fe1791d719757a2f",
"sha256": "b1114cfc37286e3669a0ec4562d7171c2efb1f113916dc0a34519bf636f02813"
},
"downloads": -1,
"filename": "mesa_geo-0.9.0.tar.gz",
"has_sig": false,
"md5_digest": "9d9633c1e6262f99fe1791d719757a2f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 71610,
"upload_time": "2024-12-25T02:35:33",
"upload_time_iso_8601": "2024-12-25T02:35:33.389069Z",
"url": "https://files.pythonhosted.org/packages/24/5a/ec7123b5e24083bc3fda210a7e12c65ef7d533d0f04f5d5e7cccffff78ea/mesa_geo-0.9.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-25 02:35:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "projectmesa",
"github_project": "mesa-geo",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "mesa-geo"
}