PythonΒΆ
import netforge_rl registers the ids. CPython 3.12+. Not on PyPI.
python -m pip install 'netforge-rl @ git+https://github.com/reforcemind/NetForge_RL'
# from a clone:
python -m pip install -e ".[dev]"
import netforge_rl
import gymnasium as gym
from pettingzoo import make
env = make('parallel', 'netforge/ransomware-v4', max_ticks=200)
obs, infos = env.reset(seed=0)
actions = {agent: env.action_space(agent).sample() for agent in env.agents}
obs, rewards, term, trunc, infos = env.step(actions)
blue = gym.make('NetForge/Blue-v4', max_ticks=200)
API |
Id |
|
|---|---|---|
PettingZoo parallel |
|
1 Red + 3 Blue |
PettingZoo parallel |
|
same factory |
PettingZoo AEC |
same ids |
turn-based |
Gymnasium |
|
one Blue vs scripted Red |
Gymnasium |
|
alias |
Action: MultiDiscrete([32, 100]), mask int8[132].
Blue graph: GraphObservationWrapper.
Extra |
|
|---|---|
(none) |
env, CLI, heuristics |
|
ruff, pytest |
|
Sphinx |
|
vectorized surrogate |
|
RLlib env wrapper |
|
HDF5 export |
|
SIEM encoder / LLM agents |