parabellum


Nameparabellum JSON
Version 0.4.0 PyPI version JSON
download
home_pagehttps://github.com/syrkis/parabellum
SummaryParabellum environment for parallel warfare simulation
upload_time2024-10-30 08:48:02
maintainerNone
docs_urlNone
authorNoah Syrkis
requires_python<3.12,>=3.11
licenseMIT
keywords warfare simulation parallel environment
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Parabellum

Ultra-scalable JaxMARL based warfare simulation engine.

[![Documentation Status](https://readthedocs.org/projects/parabellum/badge/?version=latest)](https://parabellum.readthedocs.io/en/latest/?badge=latest)

## Features

- Obstacles and terrain integration
- Rasterized maps
- Blast radii simulation
- Friendly fire mechanics
- Pygame visualization
- JAX-based parallelization

## Install

```bash
pip install parabellum
```

## Quick Start

```python
import parabellum as pb
from jax import random

terrain = pb.terrain_fn("Thun, Switzerland", 1000)
scenario = pb.make_scenario("Thun", terrain, 10, 10)
env = pb.Parabellum(scenario)

rng, key = random.split(random.PRNGKey(0))
obs, state = env.reset(key)

# Simulation loop
for _ in range(100):
    rng, rng_act, key_step = random.split(key)
    key_act = random.split(rng_act, len(env.agents))
    act = {a: env.action_space(a).sample(k) for a, k in zip(env.agents, key_act)}
    obs, state, reward, done, info = env.step(key_step, act, state)

# Visualize
vis = pb.Visualizer(env, state_sequence)
vis.animate()
```

## Documentation

Full documentation: [parabellum.readthedocs.io](https://parabellum.readthedocs.io)

## Team

- Noah Syrkis
- Timothée Anne
- Supervisor: Sebastian Risi

## License

MIT

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/syrkis/parabellum",
    "name": "parabellum",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.11",
    "maintainer_email": null,
    "keywords": "warfare, simulation, parallel, environment",
    "author": "Noah Syrkis",
    "author_email": "desk@syrkis.com",
    "download_url": "https://files.pythonhosted.org/packages/54/a5/54bc3589225a8f47dcef331ca6aa48f02436480491edf136af9c63313d51/parabellum-0.4.0.tar.gz",
    "platform": null,
    "description": "# Parabellum\n\nUltra-scalable JaxMARL based warfare simulation engine.\n\n[![Documentation Status](https://readthedocs.org/projects/parabellum/badge/?version=latest)](https://parabellum.readthedocs.io/en/latest/?badge=latest)\n\n## Features\n\n- Obstacles and terrain integration\n- Rasterized maps\n- Blast radii simulation\n- Friendly fire mechanics\n- Pygame visualization\n- JAX-based parallelization\n\n## Install\n\n```bash\npip install parabellum\n```\n\n## Quick Start\n\n```python\nimport parabellum as pb\nfrom jax import random\n\nterrain = pb.terrain_fn(\"Thun, Switzerland\", 1000)\nscenario = pb.make_scenario(\"Thun\", terrain, 10, 10)\nenv = pb.Parabellum(scenario)\n\nrng, key = random.split(random.PRNGKey(0))\nobs, state = env.reset(key)\n\n# Simulation loop\nfor _ in range(100):\n    rng, rng_act, key_step = random.split(key)\n    key_act = random.split(rng_act, len(env.agents))\n    act = {a: env.action_space(a).sample(k) for a, k in zip(env.agents, key_act)}\n    obs, state, reward, done, info = env.step(key_step, act, state)\n\n# Visualize\nvis = pb.Visualizer(env, state_sequence)\nvis.animate()\n```\n\n## Documentation\n\nFull documentation: [parabellum.readthedocs.io](https://parabellum.readthedocs.io)\n\n## Team\n\n- Noah Syrkis\n- Timoth\u00e9e Anne\n- Supervisor: Sebastian Risi\n\n## License\n\nMIT\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Parabellum environment for parallel warfare simulation",
    "version": "0.4.0",
    "project_urls": {
        "Homepage": "https://github.com/syrkis/parabellum",
        "Repository": "https://github.com/syrkis/parabellum"
    },
    "split_keywords": [
        "warfare",
        " simulation",
        " parallel",
        " environment"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c75c0b53dfa1b5c9fd9275e53a6de5b39a63adf28b31bd9c7022ad8f6daade7",
                "md5": "cb8446f9a6c7e6b8d4d8834bb835ac13",
                "sha256": "dcae404f235cc480ea395b71b1bb8e0240c5ffdca83869cc091bc06d457e3934"
            },
            "downloads": -1,
            "filename": "parabellum-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cb8446f9a6c7e6b8d4d8834bb835ac13",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.11",
            "size": 18498,
            "upload_time": "2024-10-30T08:48:01",
            "upload_time_iso_8601": "2024-10-30T08:48:01.056862Z",
            "url": "https://files.pythonhosted.org/packages/9c/75/c0b53dfa1b5c9fd9275e53a6de5b39a63adf28b31bd9c7022ad8f6daade7/parabellum-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54a554bc3589225a8f47dcef331ca6aa48f02436480491edf136af9c63313d51",
                "md5": "ff2f05620981859b47f405d79fc2d0bf",
                "sha256": "54973991e59eff42f0f659f13bd063136f7bf8971d0d489a51552441b99f7c26"
            },
            "downloads": -1,
            "filename": "parabellum-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ff2f05620981859b47f405d79fc2d0bf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.11",
            "size": 16484,
            "upload_time": "2024-10-30T08:48:02",
            "upload_time_iso_8601": "2024-10-30T08:48:02.254516Z",
            "url": "https://files.pythonhosted.org/packages/54/a5/54bc3589225a8f47dcef331ca6aa48f02436480491edf136af9c63313d51/parabellum-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-30 08:48:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "syrkis",
    "github_project": "parabellum",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "parabellum"
}
        
Elapsed time: 0.37474s