Skip to content

Commit 341db43

Browse files
committed
improve consistency and clarity of the changelog and contributing.md [skip ci]
Signed-off-by: DONNOT Benjamin <[email protected]>
1 parent a46bc5d commit 341db43

File tree

4 files changed

+78
-58
lines changed

4 files changed

+78
-58
lines changed

CHANGELOG.rst

Lines changed: 74 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,110 @@
1-
[TODO]
2-
--------------------
3-
- [???] use some kind of "env.get_state()" when simulating instead of recoding everything "by hand"
4-
- [???] use "backend.get_action_to_set()" in simulate
5-
- [???] model better the voltage, include voltage constraints
6-
- [???] use the prod_p_forecasted and co in the "next_chronics" of simulate
7-
- [???] in deepcopy of env, make tests that the "pointers" are properly propagated in the attributes (for example
8-
`envcpy._game_rules.legal_action` should not be copied when building `envcpy._helper_action_env`)
9-
- [???] add multi agent
10-
- [???] make observation read only / immutable for all its properties (and not just for `prod_p`)
11-
- [???] better logging
12-
- [???] shunts in observation too, for real (but what to do when backend is not shunt compliant to prevent the
13-
stuff to break)
14-
- [???] model agent acting at different time frame
15-
- [???] model delay in observations
16-
- [???] model delay in action
17-
- [???] Code and test the "load from disk" method
18-
- [???] add a "plot action" method
19-
- [???] in MultiEnv, when some converter of the observations are used, have each child process to compute
20-
it in parallel and transfer the resulting data.
21-
- [???] "asynch" multienv
22-
- [???] properly model interconnecting powerlines
23-
24-
Next few releases
1+
Work "in progress"
252
---------------------------------
263

274
General grid2op improvments:
285

296
- numpy 2 compat (need pandapower for that)
30-
- TODO bug on maintenance starting at midnight (they are not correctly handled in the observation)
7+
- remove pandapower dependency (have a way to install grid2op without pandapower)
8+
- better logging
9+
- have functions that automatically computes topo_vect and switch_state in the backend
10+
(usefull for solver that will never disconnect or reconnect anything)
11+
- bug on maintenance starting at midnight (they are not correctly handled in the observation)
3112
=> cf script test_issue_616
32-
- TODO A number of max buses per sub
33-
- TODO in the runner, save multiple times the same scenario
34-
- TODO improve type annotation for all public functions
35-
- TODO add a "_cst_" or something for the `const` members of all the classes
36-
- TODO properly document and type hint all public members of all the public classes
37-
- TODO properly implement the copy and "deepcopy" API
38-
- TODO Make the redispatching data independent from the time step (eg instead of "in MW / step" have it in "MW / h")
13+
- A number of max buses per substation different for each substation
14+
- in the runner, save multiple times the same scenarios
15+
- add a "_cst_" or something for the `const` members of all the classes
16+
- improve type annotation for all public functions
17+
- properly document and type hint all public members of all the public classes
18+
- properly implement the copy and "deepcopy" API
19+
- in deepcopy of env, make tests that the "pointers" are properly propagated in the attributes (for example
20+
`envcpy._game_rules.legal_action` should not be copied when building `envcpy._helper_action_env`)
21+
- Make the redispatching data independent from the time step (eg instead of "in MW / step" have it in "MW / h")
3922
and have grid2op convert it to MW / step
23+
- make observation read only / immutable for all its properties (and not just for `prod_p`)
24+
- in parallel distribute the loading of the time series if using a `MultifolderWithCache`
25+
- Code and test the "load from disk" method
26+
- add a "plot action" method
4027

4128
Better multi processing support:
4229

4330
- automatic read from local dir also on windows !
44-
- TODO doc for the "new" feature of automatic "experimental_read_from_local_dir"
45-
- TODO extend this feature to work also on windows based OS
46-
- TODO finish the test in automatic_classes
47-
31+
- doc for the "new" feature of automatic "experimental_read_from_local_dir"
32+
- extend this feature (automatic "experimental_read_from_local_dir") to work also on windows based OS
33+
- finish the test in automatic_classes
34+
- "asynch" multienv
35+
- in MultiEnv, when some converter of the observations are used, have each child process to compute
36+
it in parallel and transfer the resulting data.
4837

4938
Features related to gymnasium compatibility:
5039

51-
- TODO put the Grid2opEnvWrapper directly in grid2op as GymEnv
52-
- TODO faster gym_compat (especially for DiscreteActSpace and BoxGymObsSpace)
53-
- TODO Notebook for tf_agents
54-
- TODO Notebook for acme
55-
- TODO Notebook using "keras rl" (see https://keras.io/examples/rl/ppo_cartpole/)
56-
- TODO example for MCTS https://github.com/bwfbowen/muax et https://github.com/google-deepmind/mctx
57-
- TODO done and truncated properly handled in gym_compat module (when game over
40+
- put the `Grid2opEnvWrapper` (of the notebooks) directly in grid2op as GymEnv
41+
- faster gym_compat (especially for DiscreteActSpace and BoxGymObsSpace)
42+
- Notebook for tf_agents
43+
- Notebook for acme
44+
- Notebook using "keras rl" (see https://keras.io/examples/rl/ppo_cartpole/)
45+
- example for MCTS https://github.com/bwfbowen/muax et https://github.com/google-deepmind/mctx
46+
- done and truncated properly handled in gym_compat module (when game over
5847
before the end it's probably truncated and not done)
59-
- TODO when reset, have an attribute "reset_infos" with some infos about the
48+
- when reset, have an attribute "reset_infos" with some infos about the
6049
way reset was called.
61-
- TODO on CI: test only gym, only gymnasium and keep current test for both gym and gymnasium
62-
- TODO refactor the gym_compat module to have a "legacy" stuff exactly like today
50+
- on CI: test only gym, only gymnasium and keep current test for both gym and gymnasium
51+
- refactor the gym_compat module to have a "legacy" stuff exactly like today
6352
and the current class only supporting gymnasium (with possibly improved speed)
64-
- TODO in the gym env, make the action_space and observation_space attribute
53+
- in the gym env, make the action_space and observation_space attribute
6554
filled automatically (see ray integration, it's boring to have to copy paste...)
66-
- [???] closer integration with `gymnasium` especially the "register env", being able to
55+
- closer integration with `gymnasium` especially the "register env", being able to
6756
create an env from a string etc.
6857

6958
Grid2op extended features:
7059

71-
- TODO ForecastEnv in MaskedEnv ! (and obs.simulate there too !)
72-
- TODO in multi-mix increase the reset options with the mix the user wants
73-
- TODO L2RPN scores as reward (sum loads after the game over and have it in the final reward)
74-
- TODO work on the reward class (see https://github.com/Grid2Op/grid2op/issues/584)
75-
- TODO jax everything that can be: create a simple env based on jax for topology manipulation, without
60+
- ForecastEnv in MaskedEnv ! (and obs.simulate there too !)
61+
- in multi-mix increase the reset options with the mix the user wants
62+
- L2RPN scores as reward (sum loads after the game over and have it in the final reward)
63+
- work on the reward class (see https://github.com/Grid2Op/grid2op/issues/584)
64+
- jax everything that can be: create a simple env based on jax for topology manipulation, without
7665
redispatching or rules
77-
- TODO backend in jax, maybe ?
66+
- backend in jax, maybe ?
67+
68+
The "simulate" function :
69+
70+
- use some kind of "env.get_state()" when simulating instead of recoding everything "by hand"
71+
- use "backend.get_action_to_set()" in simulate
72+
- use the prod_p_forecasted and co in the "next_chronics" of simulate
73+
74+
Better handling of the voltages:
75+
76+
- model better the voltage, include voltage constraints
77+
- shunts in observation too, for real (but what to do when backend is not shunt compliant to prevent the
78+
stuff to break)
79+
- model action on "shunts":
80+
- either continuous (by default, if no config file)
81+
- or discrete (more realistic, need a config file)
82+
- model action related to transformer ratio:
83+
- either continuous (by default, if no config file)
84+
- or discrete (more realistic, need a config file)
85+
86+
Other modeling issues:
87+
88+
- model agent acting at different time frame
89+
- model delay in observations
90+
- model delay in action
91+
- model action / observation on phase shifters
92+
- model action / observation on HDVC powerlines
7893

7994
Native multi agents support:
8095

8196
- cf ad-hoc branch (dev-multiagents)
97+
- properly model interconnecting powerlines
8298

8399
[1.10.4] - 2024-10-15
84100
-------------------------
85101
- [FIXED] new pypi link (no change in code)
86102
- [FIXED] mybinder environment
87103
- [FIXED] update all the links in the README.md (for the new grid2op location)
104+
- [FIXED] update all the links in the docs and the grid2op source files
105+
(to match new location: Grid2op/grid2op.git)
106+
- [FIXED] the link in the `make_env` and `update_env` to point to
107+
https://api.github.com/repos/Grid2Op/grid2op-datasets/
88108
- [IMPROVED] clarity of the "work in progress" in this CHANGELOG
89109

90110
[1.10.4] - 2024-10-14

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ If you want to contribute but are not sure were to start you can, for example:
2222

2323
- tackle an opened issue tagged as `good first issue`
2424
- try to solve an opened issue marked with `helps wanted`
25-
- there are also some contribution ideas written in the `[TODO]` and `Next few releases` of the `CHANGELOG.rst`
25+
- there are also some contribution ideas written in the `Work "in progress"` section of the `CHANGELOG.rst`
2626
at the top level of the github repo.
2727

2828
In any case, if you are not sure about what is written here, feel free to ask in the grid2op [github discussion](https://github.com/orgs/Grid2op/discussions),

grid2op/MakeEnv/Make.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
)
6868

6969
_LIST_REMOTE_URL = (
70-
"https://api.github.com/repos/bdonnot/grid2op-datasets/contents/datasets.json"
70+
"https://api.github.com/repos/Grid2Op/grid2op-datasets/contents/datasets.json"
7171
)
7272
_LIST_REMOTE_KEY = "download_url"
7373
_LIST_REMOTE_INVALID_CONTENT_JSON_ERR = (

grid2op/MakeEnv/UpdateEnv.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
from grid2op.MakeEnv.Make import _retrieve_github_content
1818

1919
_LIST_REMOTE_URL = (
20-
"https://api.github.com/repos/bdonnot/grid2op-datasets/contents/updates.json"
20+
"https://api.github.com/repos/Grid2Op/grid2op-datasets/contents/updates.json"
2121
)
2222
_LIST_REMOTE_ENV_HASH = (
23-
"https://api.github.com/repos/bdonnot/grid2op-datasets/contents/env_hashes.json"
23+
"https://api.github.com/repos/Grid2Op/grid2op-datasets/contents/env_hashes.json"
2424
)
2525

2626

0 commit comments

Comments
 (0)