fmdtools 2.3.0__tar.gz → 2.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. {fmdtools-2.3.0 → fmdtools-2.3.1}/LICENSE +1 -1
  2. {fmdtools-2.3.0 → fmdtools-2.3.1}/PKG-INFO +23 -10
  3. {fmdtools-2.3.0 → fmdtools-2.3.1}/README.md +11 -7
  4. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/__init__.py +1 -1
  5. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools.egg-info/PKG-INFO +23 -10
  6. fmdtools-2.3.1/fmdtools.egg-info/requires.txt +23 -0
  7. {fmdtools-2.3.0 → fmdtools-2.3.1}/pyproject.toml +20 -2
  8. fmdtools-2.3.0/fmdtools.egg-info/requires.txt +0 -12
  9. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/__init__.py +0 -0
  10. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/__init__.py +0 -0
  11. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/__init__.py +0 -0
  12. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/aircraft.py +0 -0
  13. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/aircraftarchitecture.py +0 -0
  14. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/arch/__init__.py +0 -0
  15. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/arch/aviate.py +0 -0
  16. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/arch/controlflight.py +0 -0
  17. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/arch/flows.py +0 -0
  18. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/arch/holdpayload.py +0 -0
  19. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/arch/perceiveenvironment.py +0 -0
  20. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/arch/storeee.py +0 -0
  21. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/parameter.py +0 -0
  22. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/base/state.py +0 -0
  23. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/contingencymanagement/__init__.py +0 -0
  24. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/contingencymanagement/aircraft.py +0 -0
  25. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/contingencymanagement/environment.py +0 -0
  26. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/contingencymanagement/flightplanner.py +0 -0
  27. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/wildfireresponse/__init__.py +0 -0
  28. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/wildfireresponse/aircraft.py +0 -0
  29. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/wildfireresponse/environment.py +0 -0
  30. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/airspacelib/wildfireresponse/wildfiresim.py +0 -0
  31. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/asg_demo/__init__.py +0 -0
  32. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/asg_demo/demo_model.py +0 -0
  33. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/eps/__init__.py +0 -0
  34. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/eps/eps.py +0 -0
  35. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/eps/test_eps.py +0 -0
  36. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multiflow_demo/__init__.py +0 -0
  37. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multiflow_demo/multiflow_demo.py +0 -0
  38. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multiflow_demo/test_multiflow.py +0 -0
  39. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/__init__.py +0 -0
  40. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/drone_mdl_dynamic.py +0 -0
  41. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/drone_mdl_hierarchical.py +0 -0
  42. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/drone_mdl_rural.py +0 -0
  43. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/drone_mdl_static.py +0 -0
  44. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/drone_mdl_urban.py +0 -0
  45. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/opt_drone_rural.py +0 -0
  46. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/multirotor/test_multirotor.py +0 -0
  47. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/__init__.py +0 -0
  48. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/ex_pump.py +0 -0
  49. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/jointfaults_ex.py +0 -0
  50. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/parallelism_methods.py +0 -0
  51. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/pump_indiv.py +0 -0
  52. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/pump_stochastic.py +0 -0
  53. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/test_pump.py +0 -0
  54. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/test_pump_example.py +0 -0
  55. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/pump/test_pump_stochastic.py +0 -0
  56. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/__init__.py +0 -0
  57. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/optimization/ea_analysis.py +0 -0
  58. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/optimization/search_rover.py +0 -0
  59. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/rover_degradation.py +0 -0
  60. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/rover_mode_space.py +0 -0
  61. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/rover_model.py +0 -0
  62. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/rover_model_human.py +0 -0
  63. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/rover/test_rover.py +0 -0
  64. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/tank/__init__.py +0 -0
  65. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/tank/tank_model.py +0 -0
  66. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/tank/tank_optimization_model.py +0 -0
  67. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/tank/test_tank.py +0 -0
  68. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/taxiway/ATC.py +0 -0
  69. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/taxiway/asset.py +0 -0
  70. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/taxiway/common.py +0 -0
  71. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/taxiway/model.py +0 -0
  72. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/taxiway/test_asset.py +0 -0
  73. {fmdtools-2.3.0 → fmdtools-2.3.1}/examples/taxiway/test_model.py +0 -0
  74. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/__init__.py +0 -0
  75. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/common.py +0 -0
  76. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/graph/__init__.py +0 -0
  77. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/graph/base.py +0 -0
  78. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/graph/label.py +0 -0
  79. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/graph/model.py +0 -0
  80. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/graph/style.py +0 -0
  81. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/history.py +0 -0
  82. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/phases.py +0 -0
  83. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/result.py +0 -0
  84. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/analyze/tabulate.py +0 -0
  85. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/__init__.py +0 -0
  86. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/architecture/__init__.py +0 -0
  87. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/architecture/action.py +0 -0
  88. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/architecture/base.py +0 -0
  89. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/architecture/component.py +0 -0
  90. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/architecture/function.py +0 -0
  91. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/architecture/geom.py +0 -0
  92. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/base.py +0 -0
  93. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/block/__init__.py +0 -0
  94. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/block/action.py +0 -0
  95. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/block/base.py +0 -0
  96. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/block/component.py +0 -0
  97. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/block/function.py +0 -0
  98. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/container/__init__.py +0 -0
  99. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/container/base.py +0 -0
  100. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/container/mode.py +0 -0
  101. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/container/parameter.py +0 -0
  102. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/container/rand.py +0 -0
  103. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/container/state.py +0 -0
  104. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/container/time.py +0 -0
  105. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/environment.py +0 -0
  106. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/flow/__init__.py +0 -0
  107. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/flow/base.py +0 -0
  108. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/flow/commsflow.py +0 -0
  109. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/flow/multiflow.py +0 -0
  110. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/object/__init__.py +0 -0
  111. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/object/base.py +0 -0
  112. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/object/coords.py +0 -0
  113. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/object/geom.py +0 -0
  114. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/define/object/timer.py +0 -0
  115. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/sim/__init__.py +0 -0
  116. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/sim/propagate.py +0 -0
  117. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/sim/sample.py +0 -0
  118. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/sim/scenario.py +0 -0
  119. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools/sim/search.py +0 -0
  120. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools.egg-info/SOURCES.txt +0 -0
  121. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools.egg-info/dependency_links.txt +0 -0
  122. {fmdtools-2.3.0 → fmdtools-2.3.1}/fmdtools.egg-info/top_level.txt +0 -0
  123. {fmdtools-2.3.0 → fmdtools-2.3.1}/setup.cfg +0 -0
  124. {fmdtools-2.3.0 → fmdtools-2.3.1}/tests/__init__.py +0 -0
  125. {fmdtools-2.3.0 → fmdtools-2.3.1}/tests/common.py +0 -0
  126. {fmdtools-2.3.0 → fmdtools-2.3.1}/tests/test_graph.py +0 -0
  127. {fmdtools-2.3.0 → fmdtools-2.3.1}/tests/test_hierarchical.py +0 -0
  128. {fmdtools-2.3.0 → fmdtools-2.3.1}/tests/test_packages.py +0 -0
@@ -1,4 +1,4 @@
1
- fmdtools version 2.3.0
1
+ fmdtools version 2.3.1
2
2
  ---------------------------
3
3
  Apache License
4
4
  Version 2.0, January 2004
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmdtools
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: System resilience modelling, simulation, and assessment in Python
5
5
  Author: fmdtools Developers
6
6
  Maintainer-email: Daniel Hulse <daniel.e.hulse@nasa.gov>
7
- License: fmdtools version 2.3.0
7
+ License: fmdtools version 2.3.1
8
8
  ---------------------------
9
9
  Apache License
10
10
  Version 2.0, January 2004
@@ -253,10 +253,19 @@ Requires-Dist: matplotlib>=3.7.0
253
253
  Requires-Dist: pandas[all]
254
254
  Requires-Dist: ordered-set
255
255
  Requires-Dist: dill
256
- Requires-Dist: recordclass==0.23.1
256
+ Requires-Dist: recordclass==0.24
257
257
  Requires-Dist: pytest
258
258
  Requires-Dist: graphviz
259
259
  Requires-Dist: shapely>=2.0
260
+ Provides-Extra: examples
261
+ Requires-Dist: deap; extra == "examples"
262
+ Requires-Dist: pymoo; extra == "examples"
263
+ Requires-Dist: scikit-learn; extra == "examples"
264
+ Requires-Dist: multiprocess; extra == "examples"
265
+ Requires-Dist: pathos; extra == "examples"
266
+ Requires-Dist: adjustText; extra == "examples"
267
+ Provides-Extra: all
268
+ Requires-Dist: fmdtools[examples]; extra == "all"
260
269
  Dynamic: license-file
261
270
 
262
271
  [![fmdtools logo - titanic](/docs-source/figures/logo/logo-titanic.png)](https://github.com/nasa/fmdtools)
@@ -355,19 +364,24 @@ For development as well as interactive use of tutorials and models, we reccomend
355
364
  For this installation, fmdtools can be downloaded from the [fmdtools github repository](https://github.com/nasa/fmdtools/) using:
356
365
 
357
366
  ```
367
+ cd /path/to/fmdtools
358
368
  git clone https://github.com/nasa/fmdtools.git
359
369
  ```
360
370
 
361
371
  This may then be installed using:
362
372
 
363
373
  ```
364
- pip install -e "/path/to/fmdtools"
374
+ pip install -e .[all] --group dev
365
375
  ```
366
376
 
367
- Note that this version reflects the latest version on the ``main`` git branch along with any local changes. To use a particular version of ``fmdtools`` you can checkout the tag corresponding to the version you want, e.g.:
377
+ Which will install both fmdtools as well as examples (`[all]` option) as well as testing and development dependencies (`--group dev` option)
378
+
379
+ More guidance on development installations is provided in [How to Contribute](https://nasa.github.io/fmdtools/docs-source/Contributions.html#how-to-contribute)
380
+
381
+ Note that this version reflects the latest version on the ``main`` git branch along with any local changes. To use a particular version of ``fmdtools`` in the context of a development install you can checkout the tag corresponding to the version you want, e.g.:
368
382
 
369
383
  ```
370
- git checkout v2.3.0
384
+ git checkout v2.3.1
371
385
  ```
372
386
 
373
387
 
@@ -447,10 +461,9 @@ One `fmdtools` is installed, you should be able to run:
447
461
  import fmdtools
448
462
  ```
449
463
 
450
- To check the version of fmdtools, you can run the following:
464
+ To check the version of fmdtools, you can check:
451
465
  ```
452
- import importlib.metadata
453
- importlib.metadata.version("fmdtools")
466
+ fmdtools.__version__
454
467
  ```
455
468
  which should return the current version of fmdtools.
456
469
 
@@ -505,7 +518,7 @@ To cite a particular version of the fmdtools, you may use:
505
518
  author = {{NASA}},
506
519
  title = {fmdtools},
507
520
  url = {https://github.com/nasa/fmdtools},
508
- version = {2.3.0},
521
+ version = {2.3.1},
509
522
  date = {2025-12-19},
510
523
  }
511
524
  ```
@@ -94,19 +94,24 @@ For development as well as interactive use of tutorials and models, we reccomend
94
94
  For this installation, fmdtools can be downloaded from the [fmdtools github repository](https://github.com/nasa/fmdtools/) using:
95
95
 
96
96
  ```
97
+ cd /path/to/fmdtools
97
98
  git clone https://github.com/nasa/fmdtools.git
98
99
  ```
99
100
 
100
101
  This may then be installed using:
101
102
 
102
103
  ```
103
- pip install -e "/path/to/fmdtools"
104
+ pip install -e .[all] --group dev
104
105
  ```
105
106
 
106
- Note that this version reflects the latest version on the ``main`` git branch along with any local changes. To use a particular version of ``fmdtools`` you can checkout the tag corresponding to the version you want, e.g.:
107
+ Which will install both fmdtools as well as examples (`[all]` option) as well as testing and development dependencies (`--group dev` option)
108
+
109
+ More guidance on development installations is provided in [How to Contribute](https://nasa.github.io/fmdtools/docs-source/Contributions.html#how-to-contribute)
110
+
111
+ Note that this version reflects the latest version on the ``main`` git branch along with any local changes. To use a particular version of ``fmdtools`` in the context of a development install you can checkout the tag corresponding to the version you want, e.g.:
107
112
 
108
113
  ```
109
- git checkout v2.3.0
114
+ git checkout v2.3.1
110
115
  ```
111
116
 
112
117
 
@@ -186,10 +191,9 @@ One `fmdtools` is installed, you should be able to run:
186
191
  import fmdtools
187
192
  ```
188
193
 
189
- To check the version of fmdtools, you can run the following:
194
+ To check the version of fmdtools, you can check:
190
195
  ```
191
- import importlib.metadata
192
- importlib.metadata.version("fmdtools")
196
+ fmdtools.__version__
193
197
  ```
194
198
  which should return the current version of fmdtools.
195
199
 
@@ -244,7 +248,7 @@ To cite a particular version of the fmdtools, you may use:
244
248
  author = {{NASA}},
245
249
  title = {fmdtools},
246
250
  url = {https://github.com/nasa/fmdtools},
247
- version = {2.3.0},
251
+ version = {2.3.1},
248
252
  date = {2025-12-19},
249
253
  }
250
254
  ```
@@ -22,6 +22,6 @@ import fmdtools.sim as sim
22
22
  import fmdtools.analyze as analyze
23
23
 
24
24
  __all__ = ['analyze', 'sim', 'define']
25
- __version__ = '2.3.0'
25
+ __version__ = '2.3.1'
26
26
  __copyright__ = "Copyright 2024 United States Government"
27
27
  __license__ = "Apache-2.0"
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmdtools
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: System resilience modelling, simulation, and assessment in Python
5
5
  Author: fmdtools Developers
6
6
  Maintainer-email: Daniel Hulse <daniel.e.hulse@nasa.gov>
7
- License: fmdtools version 2.3.0
7
+ License: fmdtools version 2.3.1
8
8
  ---------------------------
9
9
  Apache License
10
10
  Version 2.0, January 2004
@@ -253,10 +253,19 @@ Requires-Dist: matplotlib>=3.7.0
253
253
  Requires-Dist: pandas[all]
254
254
  Requires-Dist: ordered-set
255
255
  Requires-Dist: dill
256
- Requires-Dist: recordclass==0.23.1
256
+ Requires-Dist: recordclass==0.24
257
257
  Requires-Dist: pytest
258
258
  Requires-Dist: graphviz
259
259
  Requires-Dist: shapely>=2.0
260
+ Provides-Extra: examples
261
+ Requires-Dist: deap; extra == "examples"
262
+ Requires-Dist: pymoo; extra == "examples"
263
+ Requires-Dist: scikit-learn; extra == "examples"
264
+ Requires-Dist: multiprocess; extra == "examples"
265
+ Requires-Dist: pathos; extra == "examples"
266
+ Requires-Dist: adjustText; extra == "examples"
267
+ Provides-Extra: all
268
+ Requires-Dist: fmdtools[examples]; extra == "all"
260
269
  Dynamic: license-file
261
270
 
262
271
  [![fmdtools logo - titanic](/docs-source/figures/logo/logo-titanic.png)](https://github.com/nasa/fmdtools)
@@ -355,19 +364,24 @@ For development as well as interactive use of tutorials and models, we reccomend
355
364
  For this installation, fmdtools can be downloaded from the [fmdtools github repository](https://github.com/nasa/fmdtools/) using:
356
365
 
357
366
  ```
367
+ cd /path/to/fmdtools
358
368
  git clone https://github.com/nasa/fmdtools.git
359
369
  ```
360
370
 
361
371
  This may then be installed using:
362
372
 
363
373
  ```
364
- pip install -e "/path/to/fmdtools"
374
+ pip install -e .[all] --group dev
365
375
  ```
366
376
 
367
- Note that this version reflects the latest version on the ``main`` git branch along with any local changes. To use a particular version of ``fmdtools`` you can checkout the tag corresponding to the version you want, e.g.:
377
+ Which will install both fmdtools as well as examples (`[all]` option) as well as testing and development dependencies (`--group dev` option)
378
+
379
+ More guidance on development installations is provided in [How to Contribute](https://nasa.github.io/fmdtools/docs-source/Contributions.html#how-to-contribute)
380
+
381
+ Note that this version reflects the latest version on the ``main`` git branch along with any local changes. To use a particular version of ``fmdtools`` in the context of a development install you can checkout the tag corresponding to the version you want, e.g.:
368
382
 
369
383
  ```
370
- git checkout v2.3.0
384
+ git checkout v2.3.1
371
385
  ```
372
386
 
373
387
 
@@ -447,10 +461,9 @@ One `fmdtools` is installed, you should be able to run:
447
461
  import fmdtools
448
462
  ```
449
463
 
450
- To check the version of fmdtools, you can run the following:
464
+ To check the version of fmdtools, you can check:
451
465
  ```
452
- import importlib.metadata
453
- importlib.metadata.version("fmdtools")
466
+ fmdtools.__version__
454
467
  ```
455
468
  which should return the current version of fmdtools.
456
469
 
@@ -505,7 +518,7 @@ To cite a particular version of the fmdtools, you may use:
505
518
  author = {{NASA}},
506
519
  title = {fmdtools},
507
520
  url = {https://github.com/nasa/fmdtools},
508
- version = {2.3.0},
521
+ version = {2.3.1},
509
522
  date = {2025-12-19},
510
523
  }
511
524
  ```
@@ -0,0 +1,23 @@
1
+ scipy
2
+ tqdm
3
+ networkx
4
+ numpy>=2.0
5
+ matplotlib>=3.7.0
6
+ pandas[all]
7
+ ordered-set
8
+ dill
9
+ recordclass==0.24
10
+ pytest
11
+ graphviz
12
+ shapely>=2.0
13
+
14
+ [all]
15
+ fmdtools[examples]
16
+
17
+ [examples]
18
+ deap
19
+ pymoo
20
+ scikit-learn
21
+ multiprocess
22
+ pathos
23
+ adjustText
@@ -18,7 +18,7 @@ classifiers = [
18
18
  description = "System resilience modelling, simulation, and assessment in Python"
19
19
  license = {file="LICENSE"}
20
20
  name = "fmdtools"
21
- version="2.3.0"
21
+ version="2.3.1"
22
22
  readme = "README.md"
23
23
  requires-python = ">=3.11"
24
24
 
@@ -30,12 +30,16 @@ dependencies = ["scipy",
30
30
  "pandas[all]",
31
31
  "ordered-set",
32
32
  "dill",
33
- "recordclass == 0.23.1",
33
+ "recordclass == 0.24",
34
34
  "pytest",
35
35
  "graphviz",
36
36
  "shapely >= 2.0"
37
37
  ]
38
38
 
39
+ [project.optional-dependencies]
40
+ examples = ["deap", "pymoo", "scikit-learn", "multiprocess", "pathos", "adjustText"]
41
+ all = ["fmdtools[examples]"]
42
+
39
43
  [project.urls]
40
44
  Documentation = "https://nasa.github.io/fmdtools/"
41
45
  source-code = "https://github.com/nasa/fmdtools"
@@ -47,9 +51,23 @@ requires = [
47
51
  "setuptools>=61.0.0"
48
52
  ]
49
53
 
54
+ [dependency-groups]
55
+ docs = ["sphinx", "myst-nb", "sphinx_rtd_theme", "nbsphinx"]
56
+ test = ["nbmake", "pytest-html", "coverage", "pytest-cov", "genbadge[all]"]
57
+ dev = [{include-group = "docs"}, {include-group = "test"}]
58
+
59
+ [tool.uv]
60
+ required-environments = ["sys_platform == 'win32' and platform_machine == 'AMD64'"]
61
+
62
+
63
+ [tool.pytest.ini_options]
64
+ addopts = "--cache-clear --doctest-modules --nbmake --cov"
65
+ pythonpath = [".", "fmdtools", "tests", "examples"]
66
+
50
67
  [tool.setuptools.packages.find]
51
68
  include = ["fmdtools*", "examples*", "tests*"]
52
69
 
70
+
53
71
  [tool.coverage.report]
54
72
  exclude_also = [
55
73
  "def __repr__",
@@ -1,12 +0,0 @@
1
- scipy
2
- tqdm
3
- networkx
4
- numpy>=2.0
5
- matplotlib>=3.7.0
6
- pandas[all]
7
- ordered-set
8
- dill
9
- recordclass==0.23.1
10
- pytest
11
- graphviz
12
- shapely>=2.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes