{"id":24990179,"url":"https://github.com/arup-group/genet","last_synced_at":"2025-04-12T01:51:59.970Z","repository":{"id":37966251,"uuid":"265256468","full_name":"arup-group/genet","owner":"arup-group","description":"Manipulate MATSim networks via a Python API.","archived":false,"fork":false,"pushed_at":"2025-04-07T18:58:13.000Z","size":61532,"stargazers_count":47,"open_issues_count":40,"forks_count":10,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-04-12T01:51:48.690Z","etag":null,"topics":["arup","city-modelling","city-modelling-lab","cml","network"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arup-group.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-19T13:35:22.000Z","updated_at":"2025-03-31T16:54:14.000Z","dependencies_parsed_at":"2023-09-26T19:15:38.137Z","dependency_job_id":"1da5e0b2-1538-41a3-a6d6-91d13d13ad94","html_url":"https://github.com/arup-group/genet","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arup-group%2Fgenet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arup-group%2Fgenet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arup-group%2Fgenet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arup-group%2Fgenet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arup-group","download_url":"https://codeload.github.com/arup-group/genet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505873,"owners_count":21115354,"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":["arup","city-modelling","city-modelling-lab","cml","network"],"created_at":"2025-02-04T13:34:46.501Z","updated_at":"2025-04-12T01:51:59.954Z","avatar_url":"https://github.com/arup-group.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--- --8\u003c-- [start:docs] --\u003e\n# Network Scenario Generator (GeNet)\n\n[![DOI](https://zenodo.org/badge/265256468.svg)](https://zenodo.org/badge/latestdoi/265256468)\n\nGeNet provides tools to represent and work with a multi-modal transport network with public transport (PT)\nservices. It is based on [MATSim's](https://www.matsim.org/) representation of such networks.\n\nThe goal of GeNet is to:\n\n- Provide a formalised in-memory data structure for representing a multi-modal network with a PT service\n- Enable using the data structure for tasks such as generating auxiliary MATSim files e.g. Road Pricing\n- Simplify the process of modifying a network and provide a simple change log to track the differences between the input\nand output networks.\n- Provide validation methods to check for simple errors such as: whether a `Route` has more than one `Stop` or that the\nunderlying graph doesn't have any dead-ends or sources (a place which you can leave but cannot get back to).\n\nThe underlying\nnetwork available to PT services (roads, railways, but also ferry/flight connections) uses a `networkx.MultiDiGraph`\nwith additional methods for `'links'` which are unique in `genet.Network` (`networkx.MultiDiGraph` accepts multiple\nedges between the same from and to node pair; referring to an edge in `networkx.MultiDiGraph` and `genet.Network`\nhas the same effects, i.e. the result is a dictionary indexed by the multi edge index). The PT services are\nrepresented through the `genet.Schedule` class which relies on other `genet`\nclasses: the `Schedule` relies on a list of `genet.Service`'s, which in turn consists of a list of `genet.Route`'s.\nEach `Route` class object has an attribute `stops` which consists of `genet.Stops` objects. The `Stops` carry spatial\ninformation for the PT stop.\n\nYou can use GeNet's CLI to run pre-baked modifications or checks on networks.\nYou can also write your own python scripts, importing genet as a package, use IPython shell or Jupyter Notebook to load up a network, inspect or change it and save it out to file.\n\n\u003c!--- --8\u003c-- [end:docs] --\u003e\n\n## Documentation\n\nFor more detailed instructions, see our [documentation](https://arup-group.github.io/genet/latest).\n\n## Installation\n\nIf you do not plan to make any code changes, you can install GeNet as a [Docker image](#as-a-docker-image) or a [Python package](#as-a-python-package).\n\nFor more detailed instructions, see our [documentation](https://arup-group.github.io/genet/latest/installation/).\n\n### As a Docker image\n\n\u003c!--- --8\u003c-- [start:docs-install-docker] --\u003e\n```shell\ngit clone git@github.com:arup-group/genet.git\ncd genet\ndocker build -t \"cml-genet\" .\n```\n\u003c!--- --8\u003c-- [end:docs-install-docker] --\u003e\n\n### As a Python package\n\nTo install genet (indexed online as cml-genet), we recommend using the [mamba](https://mamba.readthedocs.io/en/latest/index.html) package manager:\n\n\u003c!--- --8\u003c-- [start:docs-install-user] --\u003e\n``` shell\ngit clone git@github.com:arup-group/genet.git\ncd genet\nmamba create -n genet -c conda-forge -c city-modelling-lab --file requirements/base.txt\nmamba activate genet\npip install --no-deps .\n```\n\u003c!--- --8\u003c-- [end:docs-install-user] --\u003e\n\n## Contributing\n\nThere are many ways to contribute to genet.\nBefore making contributions to the genet source code, see our contribution guidelines and follow the [development install instructions](#installing-a-development-environment).\n\nIf you plan to make changes to the code then please make regular use of the following tools to verify the codebase while you work:\n\n- `pre-commit`: run `pre-commit install` in your command line to load inbuilt checks that will run every time you commit your changes.\nThe checks are: 1. check no large files have been staged, 2. lint python files for major errors, 3. format python files to conform with the [pep8 standard](https://peps.python.org/pep-0008/).\nYou can also run these checks yourself at any time to ensure staged changes are clean by simple calling `pre-commit`.\n- `pytest` - run the unit test suite and check test coverage.\n\nFor more information, see our [documentation](https://arup-group.github.io/genet/latest/contributing/).\n\n### Installing a development environment\n\n\u003c!--- --8\u003c-- [start:docs-install-dev] --\u003e\n``` shell\ngit clone git@github.com:arup-group/genet.git\ncd genet\nmamba create -n genet -c conda-forge -c city-modelling-lab --file requirements/base.txt --file requirements/dev.txt\nmamba activate genet\npip install --no-deps -e .\nipython kernel install --user --name=genet\n```\n\u003c!--- --8\u003c-- [end:docs-install-dev] --\u003e\n\n## Building the documentation\n\nIf you are unable to access the online documentation, you can build the documentation locally.\nFirst, [install a development environment of genet](#installing-a-development-environment), then deploy the documentation using [mike](https://github.com/jimporter/mike):\n\n```\nmike deploy develop\nmike serve\n```\n\nThen you can view the documentation in a browser at http://localhost:8000/.\n\n## Credits\n\nThis package was created with [Cookiecutter](https://github.com/audreyr/cookiecutter) and the [arup-group/cookiecutter-pypackage](https://github.com/arup-group/cookiecutter-pypackage) project template.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farup-group%2Fgenet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farup-group%2Fgenet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farup-group%2Fgenet/lists"}