Skip to content

Commit 0d961a0

Browse files
authored
Merge pull request #406 from NREL/ndr/add-pixi-tool
Ndr/add pixi tool
2 parents c3939f3 + 5284a7a commit 0d961a0

10 files changed

Lines changed: 5496 additions & 33 deletions

File tree

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
# GitHub syntax highlighting
22
pixi.lock linguist-language=YAML linguist-generated=true
3+
# SCM syntax highlighting & preventing 3-way merges
4+
pixi.lock merge=binary linguist-language=YAML linguist-generated=true

.github/workflows/python-build-test.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
4747
- name: Run formatter
4848
run: |
49-
ruff format
49+
ruff format --check
5050
5151
- name: Run tests
5252
run: |

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,6 @@ ENV/
127127
*.egg-info
128128

129129
# uv
130-
uv.lock
130+
uv.lock# pixi environments
131+
.pixi/*
132+
!.pixi/config.toml

docs/examples/01_open_street_maps_example.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,9 @@
103103
"destination_y": 39.693005,
104104
"model_name": "2016_TOYOTA_Camry_4cyl_2WD",
105105
"vehicle_rates": {
106-
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles" },
107-
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours" },
108-
"trip_energy_liquid": {"type": "energy", "factor": 3.0, "unit": "gge" },
106+
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles"},
107+
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours"},
108+
"trip_energy_liquid": {"type": "energy", "factor": 3.0, "unit": "gge"},
109109
},
110110
"grid_search": {
111111
"test_cases": [
@@ -186,7 +186,8 @@
186186
def pretty_print(dict):
187187
print(json.dumps(dict, indent=4))
188188

189-
results_map = { r["request"]["name"]: r for r in results }
189+
190+
results_map = {r["request"]["name"]: r for r in results}
190191
shortest_time_result = results_map["least_time"]
191192
least_energy_result = results_map["least_energy"]
192193
least_cost_result = results_map["least_cost"]
@@ -277,7 +278,9 @@ def pretty_print(dict):
277278
)
278279
dist_unit = shortest_time_result["route"]["state_model"]["trip_distance"]["output_unit"]
279280
time_unit = shortest_time_result["route"]["state_model"]["trip_time"]["output_unit"]
280-
enrg_unit = shortest_time_result["route"]["state_model"]["trip_energy_liquid"]["output_unit"]
281+
enrg_unit = shortest_time_result["route"]["state_model"]["trip_energy_liquid"][
282+
"output_unit"
283+
]
281284
print(f" - distance: {dist_diff:.2f} {dist_unit} further with time-optimal")
282285
print(f" - time: {-time_diff:.2f} {time_unit} longer with energy-optimal")
283286
print(f" - energy: {enrg_diff:.2f} {enrg_unit} more with time-optimal")

docs/examples/02_different_powertrains_example.py

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,19 @@
5656
"destination_y": 39.693005,
5757
"starting_soc_percent": 100,
5858
"vehicle_rates": {
59-
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles" },
60-
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours" },
59+
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles"},
60+
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours"},
6161
},
6262
"grid_search": {
6363
"_test_cases": [
6464
{
6565
"model_name": "2017_CHEVROLET_Bolt",
6666
"vehicle_rates": {
67-
"trip_energy_electric": {"type": "energy", "factor": 0.5, "unit": "kwh"}
67+
"trip_energy_electric": {
68+
"type": "energy",
69+
"factor": 0.5,
70+
"unit": "kwh",
71+
}
6872
},
6973
"name": "least_time",
7074
"weights": {
@@ -76,7 +80,11 @@
7680
{
7781
"model_name": "2016_TOYOTA_Camry_4cyl_2WD",
7882
"vehicle_rates": {
79-
"trip_energy_liquid": {"type": "energy", "factor": 3.1, "unit": "gge"},
83+
"trip_energy_liquid": {
84+
"type": "energy",
85+
"factor": 3.1,
86+
"unit": "gge",
87+
},
8088
},
8189
"name": "least_time",
8290
"weights": {
@@ -88,7 +96,11 @@
8896
{
8997
"model_name": "2016_CHEVROLET_Volt",
9098
"vehicle_rates": {
91-
"trip_energy_electric": {"type": "energy", "factor": 0.5, "unit": "kwh"}
99+
"trip_energy_electric": {
100+
"type": "energy",
101+
"factor": 0.5,
102+
"unit": "kwh",
103+
}
92104
},
93105
"name": "least_time",
94106
"weights": {
@@ -101,7 +113,11 @@
101113
{
102114
"model_name": "2017_CHEVROLET_Bolt",
103115
"vehicle_rates": {
104-
"trip_energy_electric": {"type": "energy", "factor": 0.5, "unit": "kwh"}
116+
"trip_energy_electric": {
117+
"type": "energy",
118+
"factor": 0.5,
119+
"unit": "kwh",
120+
}
105121
},
106122
"name": "least_energy",
107123
"weights": {
@@ -113,7 +129,11 @@
113129
{
114130
"model_name": "2016_TOYOTA_Camry_4cyl_2WD",
115131
"vehicle_rates": {
116-
"trip_energy_liquid": {"type": "energy", "factor": 3.1, "unit": "gge"},
132+
"trip_energy_liquid": {
133+
"type": "energy",
134+
"factor": 3.1,
135+
"unit": "gge",
136+
},
117137
},
118138
"name": "least_energy",
119139
"weights": {
@@ -125,7 +145,11 @@
125145
{
126146
"model_name": "2016_CHEVROLET_Volt",
127147
"vehicle_rates": {
128-
"trip_energy_electric": {"type": "energy", "factor": 0.5, "unit": "kwh"}
148+
"trip_energy_electric": {
149+
"type": "energy",
150+
"factor": 0.5,
151+
"unit": "kwh",
152+
}
129153
},
130154
"name": "least_energy",
131155
"weights": {

docs/examples/03_time_energy_tradeoff_example.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@
3535
energy_weights = energy_weights ** (1 / 4)
3636
time_weights = 1 - energy_weights
3737

38+
3839
def get_test_cases(energy_key: str):
39-
return [
40+
return [
4041
{
4142
"name": f"energy_{i}",
4243
"weights": {
@@ -48,6 +49,7 @@ def get_test_cases(energy_key: str):
4849
for i in range(len(energy_weights))
4950
]
5051

52+
5153
"""
5254
Let's take a quick look at the weights we've generated.
5355
"""
@@ -72,9 +74,9 @@ def get_test_cases(energy_key: str):
7274
"destination_y": 39.7867693,
7375
"model_name": "2017_CHEVROLET_Bolt",
7476
"vehicle_rates": {
75-
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles" },
76-
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours" },
77-
"trip_energy_electric": {"type": "energy", "factor": 0.12, "unit": "kwh" },
77+
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles"},
78+
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours"},
79+
"trip_energy_electric": {"type": "energy", "factor": 0.12, "unit": "kwh"},
7880
},
7981
"grid_search": {
8082
"test_cases": get_test_cases("trip_energy_electric"),
@@ -124,9 +126,9 @@ def get_test_cases(energy_key: str):
124126
"destination_y": 39.7867693,
125127
"model_name": "2016_TOYOTA_Camry_4cyl_2WD",
126128
"vehicle_rates": {
127-
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles" },
128-
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours" },
129-
"trip_energy_liquid": {"type": "energy", "factor": 3.0, "unit": "gge" },
129+
"trip_distance": {"type": "distance", "factor": 0.655, "unit": "miles"},
130+
"trip_time": {"type": "time", "factor": 20.0, "unit": "hours"},
131+
"trip_energy_liquid": {"type": "energy", "factor": 3.0, "unit": "gge"},
130132
},
131133
"grid_search": {
132134
"test_cases": get_test_cases("trip_energy_liquid"),

0 commit comments

Comments
 (0)