parabellum


Nameparabellum JSON
Version 0.2.26 PyPI version JSON
download
home_pagehttps://github.com/syrkis/parabellum
SummaryParabellum environment for parallel warfare simulation
upload_time2024-08-07 13:52:38
maintainerNone
docs_urlNone
authorNoah Syrkis
requires_python<4.0,>=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 developed with Armasuisse funding.

[![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": "<4.0,>=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/bf/30/76c846cb1457f189e7f4a4c42cc363ac3552a4a918f72d81e37740ad0350/parabellum-0.2.26.tar.gz",
    "platform": null,
    "description": "# Parabellum\n\nUltra-scalable JaxMARL based warfare simulation engine developed with Armasuisse funding.\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",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Parabellum environment for parallel warfare simulation",
    "version": "0.2.26",
    "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": "540745466dffbd1714f209db6acf0e749732f656e91d23963f290c6e0334187a",
                "md5": "16440aba1924f4b26badce919b111d55",
                "sha256": "4e2155e6fa905e5361df019c1105e0721b477c1aafe63e672d4ff929b80451ba"
            },
            "downloads": -1,
            "filename": "parabellum-0.2.26-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "16440aba1924f4b26badce919b111d55",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 13318,
            "upload_time": "2024-08-07T13:52:36",
            "upload_time_iso_8601": "2024-08-07T13:52:36.963108Z",
            "url": "https://files.pythonhosted.org/packages/54/07/45466dffbd1714f209db6acf0e749732f656e91d23963f290c6e0334187a/parabellum-0.2.26-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf3076c846cb1457f189e7f4a4c42cc363ac3552a4a918f72d81e37740ad0350",
                "md5": "9608a4bf37d4f600539d7e1ddf6bda4f",
                "sha256": "7ad75c0268ea8bbeed7383743b145dd6011752901ceafec3d81fdc350d19c1f7"
            },
            "downloads": -1,
            "filename": "parabellum-0.2.26.tar.gz",
            "has_sig": false,
            "md5_digest": "9608a4bf37d4f600539d7e1ddf6bda4f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 11854,
            "upload_time": "2024-08-07T13:52:38",
            "upload_time_iso_8601": "2024-08-07T13:52:38.269395Z",
            "url": "https://files.pythonhosted.org/packages/bf/30/76c846cb1457f189e7f4a4c42cc363ac3552a4a918f72d81e37740ad0350/parabellum-0.2.26.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-07 13:52:38",
    "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.87542s