Skip to content

Commit ec22f16

Browse files
committed
Issue #140: Renaming, documentation, and data refactor
1 parent 51d306c commit ec22f16

File tree

119 files changed

+18139
-4070
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+18139
-4070
lines changed

.github/pull_request_template.md

+6-5
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ Please include a summary, motivation, and context of the changes and the related
1717
Please describe the tests that you ran to verify your changes.
1818

1919
### Passes Tests
20-
- [ ] __Unit tests__ (General Environment only) `pytest --cov bsk_rl/env --cov-report term-missing tests/unittest`
21-
- [ ] __Integrated tests__ (General Environment only) `pytest --cov bsk_rl/env --cov-report term-missing tests/integration`
22-
- [ ] __Examples__ (General Environment only) `pytest tests/examples`
20+
- [ ] __Unit tests__ `pytest --cov bsk_rl --cov-report term-missing tests/unittest`
21+
- [ ] __Integrated tests__ `pytest --cov bsk_rl --cov-report term-missing tests/integration`
22+
- [ ] __Documentation builds__ `cd docs; make html`
2323

2424
### Test Configuration
2525
- Python:
@@ -30,8 +30,9 @@ Please describe the tests that you ran to verify your changes.
3030

3131
- [ ] My code follows the style guidelines of this project (passes Black, ruff, and isort)
3232
- [ ] I have performed a self-review of my code
33-
- [ ] I have commented my code, particularly in hard-to-understand areas
34-
- [ ] I have made corresponding changes to the documentation
33+
- [ ] I have commented my code in hard-to-understand areas
34+
- [ ] I have made corresponding changes to the documentation and release notes
3535
- [ ] Commit messages are atomic, are in the form `Issue #XXX: Message` and have a useful message
3636
- [ ] My changes generate no new warnings
3737
- [ ] I have added tests that prove my fix is effective or that my feature works
38+
- [ ] If I changed an example ipynb, I have locally rebuilt the documentation

.github/workflows/documentation.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
cp docs/sitecustomize.py $(python -c 'import site; print(site.getsitepackages()[0])')/sitecustomize.py
2626
- name: Install dependencies
2727
run: |
28-
pip install -e .
28+
pip install -e '.[docs]'
2929
# skip finish install steps
3030
- name: Sphinx build
3131
run: |
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- refactor/v1_0_0
7+
8+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
9+
permissions:
10+
contents: write
11+
pages: write
12+
id-token: write
13+
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: pandoc/actions/setup@main
20+
- uses: actions/checkout@v3
21+
- uses: actions/setup-python@v3
22+
with:
23+
python-version: '3.10'
24+
- name: Mock Basilisk
25+
run: |
26+
cp docs/sitecustomize.py $(python -c 'import site; print(site.getsitepackages()[0])')/sitecustomize.py
27+
- name: Install dependencies
28+
run: |
29+
pip install -e '.[docs,rllib]'
30+
# skip finish install steps
31+
- name: Sphinx build
32+
run: |
33+
cd docs
34+
make html
35+
cd ..
36+
- name: Deploy
37+
uses: peaceiris/actions-gh-pages@v3
38+
with:
39+
github_token: ${{ secrets.GITHUB_TOKEN }}
40+
publish_dir: ./docs/build/html
41+
force_orphan: true
42+
publish_branch: gh-pages-refactor
43+
44+

.gitignore

+12-7
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ __pycache__/
1313
# Distribution / packaging
1414
.Python
1515
bin/
16-
build/
1716
develop-eggs/
1817
dist/
1918
downloads/
@@ -66,11 +65,6 @@ instance/
6665
# Scrapy stuff:
6766
.scrapy
6867

69-
# Sphinx documentation
70-
docs/_build/
71-
docs/source/API Reference
72-
docs/source/Examples
73-
7468
# Pickles
7569
*.pkl
7670

@@ -125,4 +119,15 @@ bsk_rl/results/
125119
.DS_Store
126120

127121
# data files
128-
src/bsk_rl/data/simplemaps_worldcities/
122+
src/bsk_rl/_dat/simplemaps_worldcities/
123+
124+
# Sphinx documentation
125+
/docs/build/*
126+
/docs/source/api_reference/*
127+
/docs/source/examples/*
128+
129+
# executed ipynb cache
130+
!/docs/build/doctrees
131+
docs/build/doctrees/*
132+
!/docs/build/doctrees/nbsphinx
133+
!/docs/build/doctrees/nbsphinx/*

.isort.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
[settings]
2-
profile=black
2+
profile=black

.ruff.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ignore-init-module-imports = true
1+
extend-include = ["*.ipynb"]

README.md

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1-
# BSK-RL: Environments and Algorithms for Spacecraft Planning and Scheduling
2-
[BSK-RL](https://avslab.github.io/bsk_rl/) ([Basilisk](https://hanspeterschaub.info/basilisk) + [Reinforcement Learning](https://en.wikipedia.org/wiki/Reinforcement_learning)) is a Python package for constructing [Gymnasium](https://gymnasium.farama.org/index.html) environments for spacecraft tasking problems. It is built on top of [Basilisk](https://hanspeterschaub.info/basilisk), a modular and fast spacecraft simulation framework, making the simulation environments high-fidelity and computationally efficient. BSK-RL also includes a collection of agents, training scripts, and examples for working with these environments.
1+
# BSK-RL: Environments for Spacecraft Planning and Scheduling
2+
3+
<img align="right" src="./docs/source/_images/static/bsk_rl-logo.png" width=180px>
4+
5+
6+
[BSK-RL](https://avslab.github.io/bsk_rl/) ([Basilisk](https://hanspeterschaub.info/basilisk) + [Reinforcement Learning](https://en.wikipedia.org/wiki/Reinforcement_learning)) is a Python package for constructing [Gymnasium](https://gymnasium.farama.org/index.html) environments for spacecraft tasking problems. It is built on top of [Basilisk](https://hanspeterschaub.info/basilisk), a modular and fast spacecraft simulation framework, making the simulation environments high-fidelity and computationally efficient.
7+
8+
### Usage
9+
Installation instructions, examples, and documentation can be found on the [BSK-RL website](https://avslab.github.io/bsk_rl/).
10+
11+
### Acknowledgment
312

413
BSK-RL is developed by the [Autonomous Vehicle Systems (AVS) Lab](https://hanspeterschaub.info/AVSlab.html) at the University of Colorado Boulder.
514

6-
## Usage
7-
Installation instructions, examples, and documentation can be found on the [BSK-RL website](https://avslab.github.io/bsk_rl/) (under construction).

deprecated/environments/agile_eos/gym_env.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from Basilisk.utilities import macros as mc
44
from gymnasium import spaces
55

6-
from bsk_rl.env.agile_eos.bsk_sim import AgileEOSSimulator
6+
from bsk_rl.scene.agile_eos.bsk_sim import AgileEOSSimulator
77

88

99
class AgileEOS(gym.Env):

deprecated/environments/multisat_agile_eos/bsk_sim.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
from Basilisk.utilities import orbitalMotion, vizSupport
88
from scipy.sparse.csgraph import connected_components
99

10-
from bsk_rl.env.multisat_agile_eos.bsk_models import dynamics, environment
11-
from bsk_rl.env.multisat_agile_eos.bsk_models import fsw as fsw_feedback
12-
from bsk_rl.env.multisat_agile_eos.bsk_models import fsw_steering
10+
from bsk_rl.scene.multisat_agile_eos.bsk_models import dynamics, environment
11+
from bsk_rl.scene.multisat_agile_eos.bsk_models import fsw as fsw_feedback
12+
from bsk_rl.scene.multisat_agile_eos.bsk_models import fsw_steering
1313
from bsk_rl.utilities.initial_conditions import leo_initial_conditions
1414

1515

deprecated/environments/multisat_agile_eos/gym_env.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
from Basilisk.utilities import macros as mc
66
from gymnasium import spaces
77

8-
from bsk_rl.env.multisat_agile_eos import env_settings
9-
from bsk_rl.env.multisat_agile_eos.bsk_sim import MultiSatAgileEOSSimulator
8+
from bsk_rl.scene.multisat_agile_eos import env_settings
9+
from bsk_rl.scene.multisat_agile_eos.bsk_sim import MultiSatAgileEOSSimulator
1010

1111
gym.utils.passive_env_checker.logger.setLevel(
1212
40

deprecated/environments/multisensor_eos/gym_env.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
import numpy as np
55
from gymnasium import spaces
66

7-
from bsk_rl.env.multisensor_eos.bsk_sim import MultiSensorEOSSimulator
8-
from bsk_rl.env.multisensor_eos.env_settings import Settings
7+
from bsk_rl.scene.multisensor_eos.bsk_sim import MultiSensorEOSSimulator
8+
from bsk_rl.scene.multisensor_eos.env_settings import Settings
99

1010

1111
class MultiSensorEOS(gym.Env):

deprecated/environments/simple_eos/gym_env.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from Basilisk.utilities import macros as mc
44
from gymnasium import spaces
55

6-
from bsk_rl.env.simple_eos import bsk_sim
6+
from bsk_rl.scene.simple_eos import bsk_sim
77

88

99
class SimpleEOS(gym.Env):

deprecated/environments/small_body_science/gym_env.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import numpy as np
33
from gymnasium import spaces
44

5-
from bsk_rl.env.small_body_science.bsk_sim import SmallBodyScienceSimulator
5+
from bsk_rl.scene.small_body_science.bsk_sim import SmallBodyScienceSimulator
66

77

88
class SmallBodyScience(gym.Env):

deprecated/environments/small_body_science_pomdp/bsk_sim.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from Basilisk.utilities import macros as mc
66
from Basilisk.utilities import orbitalMotion, unitTestSupport
77

8-
from bsk_rl.env.small_body_science.bsk_sim import SmallBodyScienceSimulator
8+
from bsk_rl.scene.small_body_science.bsk_sim import SmallBodyScienceSimulator
99

1010

1111
class SmallBodySciencePOMDPSimulator(SmallBodyScienceSimulator):

deprecated/environments/small_body_science_pomdp/gym_env.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
import numpy as np
33
from gymnasium import spaces
44

5-
from bsk_rl.env.small_body_science.gym_env import SmallBodyScience
6-
from bsk_rl.env.small_body_science_pomdp.bsk_sim import SmallBodySciencePOMDPSimulator
5+
from bsk_rl.scene.small_body_science.gym_env import SmallBodyScience
6+
from bsk_rl.scene.small_body_science_pomdp.bsk_sim import SmallBodySciencePOMDPSimulator
77

88

99
class SmallBodySciencePOMDP(SmallBodyScience):

deprecated/examples/mcts/network_validation_multiprocessing.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import gymnasium as gym
77
import numpy as np
88

9-
from bsk_rl.env.agile_eos.gym_env import AgileEOS # noqa: F401; needed for gym
9+
from bsk_rl.scene.agile_eos.gym_env import AgileEOS # noqa: F401; needed for gym
1010

1111
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
1212

docs/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ help:
2020
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
2121

2222
clean:
23-
rm -rf "source/Examples" "source/API Reference"
23+
rm -rf "source/examples" "source/api_reference" "build"
2424

2525

2626
view:
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This directory includes executed copies of example notebooks so that they do not have to
2+
run on GitHub actions. To generate these, build the docs locally by running `make html`
3+
from the `docs` directory.

0 commit comments

Comments
 (0)