pyholos 0.1.3__tar.gz → 0.1.4__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.

Potentially problematic release.


This version of pyholos might be problematic. Click here for more details.

Files changed (82) hide show
  1. {pyholos-0.1.3/src/pyholos.egg-info → pyholos-0.1.4}/PKG-INFO +1 -1
  2. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/farm/farm.py +21 -8
  3. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/farm/farm_settings.py +11 -3
  4. pyholos-0.1.4/src/pyholos/resources/soil_landscapes_of_canada_v3r2.zip +0 -0
  5. pyholos-0.1.4/src/pyholos/version.py +5 -0
  6. {pyholos-0.1.3 → pyholos-0.1.4/src/pyholos.egg-info}/PKG-INFO +1 -1
  7. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos.egg-info/SOURCES.txt +1 -0
  8. pyholos-0.1.3/src/pyholos/version.py +0 -5
  9. {pyholos-0.1.3 → pyholos-0.1.4}/LICENSE +0 -0
  10. {pyholos-0.1.3 → pyholos-0.1.4}/README.md +0 -0
  11. {pyholos-0.1.3 → pyholos-0.1.4}/pyproject.toml +0 -0
  12. {pyholos-0.1.3 → pyholos-0.1.4}/requirements.txt +0 -0
  13. {pyholos-0.1.3 → pyholos-0.1.4}/setup.cfg +0 -0
  14. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/__init__.py +0 -0
  15. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/common.py +0 -0
  16. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/common2.py +0 -0
  17. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/__init__.py +0 -0
  18. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/animals/__init__.py +0 -0
  19. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/animals/beef.py +0 -0
  20. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/animals/common.py +0 -0
  21. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/animals/dairy.py +0 -0
  22. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/animals/sheep.py +0 -0
  23. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/common.py +0 -0
  24. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/__init__.py +0 -0
  25. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/carbon/__init__.py +0 -0
  26. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/carbon/climate.py +0 -0
  27. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/carbon/management.py +0 -0
  28. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/carbon/relative_biomass_information.py +0 -0
  29. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/carbon/tillage.py +0 -0
  30. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/common.py +0 -0
  31. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/crop.py +0 -0
  32. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/field_system.py +0 -0
  33. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/components/land_management/utils.py +0 -0
  34. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/config.py +0 -0
  35. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/core_constants.py +0 -0
  36. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/defaults.py +0 -0
  37. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/farm/__init__.py +0 -0
  38. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/farm/enums.py +0 -0
  39. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/farm/farm_inputs.py +0 -0
  40. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/launching.py +0 -0
  41. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/postprocessing/__init__.py +0 -0
  42. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/postprocessing/plots.py +0 -0
  43. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/postprocessing/postprocessing.py +0 -0
  44. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_16_Livestock_Coefficients_BeefAndDairy_Cattle_Provider.csv +0 -0
  45. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_21_Average_Milk_Production_For_Dairy_Cows_By_Province.csv +0 -0
  46. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_22_Livestock_Coefficients_For_Sheep.csv +0 -0
  47. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_29_Percentage_Total_Manure_Produced_In_Systems.csv +0 -0
  48. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_30_Default_Bedding_Material_Composition_Provider.csv +0 -0
  49. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_50_Fuel_Energy_Requirement_Estimates_By_Region.csv +0 -0
  50. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_51_Herbicide_Energy_Requirement_Estimates_By_Region.csv +0 -0
  51. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_61_Fractions_of_dairy_cattle_N_volatilized.csv +0 -0
  52. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_62_Fractions_of_swine_N_volatilized.csv +0 -0
  53. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_6_Manure_Types_And_Default_Composition.csv +0 -0
  54. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_7_Relative_Biomass_Information.csv +0 -0
  55. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_9_Default_Values_For_Nitrogen_Lignin_In_Crops.csv +0 -0
  56. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/Table_Tillage_Factor.csv +0 -0
  57. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/feeds.csv +0 -0
  58. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/main_tables.py +0 -0
  59. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/holos/small_area_yields.csv +0 -0
  60. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2.geojson +0 -0
  61. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2.csv +0 -0
  62. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_cmp.csv +0 -0
  63. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_crt.csv +0 -0
  64. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_eft.csv +0 -0
  65. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_lat.csv +0 -0
  66. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_ldt.csv +0 -0
  67. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_let.csv +0 -0
  68. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_lst.csv +0 -0
  69. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_slt.csv +0 -0
  70. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/resources/soil_landscapes_of_canada_v3r2/soil_landscapes_of_canada_v3r2_csv/ca_all_slc_v3r2_snt.csv +0 -0
  71. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/soil.py +0 -0
  72. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos/utils.py +0 -0
  73. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos.egg-info/dependency_links.txt +0 -0
  74. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos.egg-info/requires.txt +0 -0
  75. {pyholos-0.1.3 → pyholos-0.1.4}/src/pyholos.egg-info/top_level.txt +0 -0
  76. {pyholos-0.1.3 → pyholos-0.1.4}/tests/test_common.py +0 -0
  77. {pyholos-0.1.3 → pyholos-0.1.4}/tests/test_common2.py +0 -0
  78. {pyholos-0.1.3 → pyholos-0.1.4}/tests/test_config.py +0 -0
  79. {pyholos-0.1.3 → pyholos-0.1.4}/tests/test_defaults.py +0 -0
  80. {pyholos-0.1.3 → pyholos-0.1.4}/tests/test_launching.py +0 -0
  81. {pyholos-0.1.3 → pyholos-0.1.4}/tests/test_soil.py +0 -0
  82. {pyholos-0.1.3 → pyholos-0.1.4}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyholos
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: A Python package for running the HOLOS 4.0 CLI.
5
5
  Author-email: Rami ALBASHA <ralbasha@msfourrager.com>
6
6
  Project-URL: Homepage, https://github.com/Mon-Systeme-Fourrager/pyholos
@@ -1,4 +1,5 @@
1
1
  from pathlib import Path
2
+ from typing import Generator
2
3
 
3
4
  from pandas import DataFrame
4
5
 
@@ -34,20 +35,32 @@ class Farm:
34
35
  def _set_dir_name(entry: str) -> str:
35
36
  return ' '.join([s.capitalize() for s in entry.split('_')])
36
37
 
38
+ def _iter_over_animal_components(self) -> Generator:
39
+ for k, v in self.__dict__.items():
40
+ if (v is not None) and (not isinstance(v, ParamsFarmSettings)):
41
+ yield k, v
42
+
37
43
  def write_files(
38
44
  self,
39
45
  path_dir_farm: Path
40
46
  ):
41
47
  path_dir_farm.mkdir(parents=True, exist_ok=True)
42
48
  self.farm_settings.write(path_dir_farm=path_dir_farm)
43
- for k, v in self.__dict__.items():
44
- if (v is not None) and (not isinstance(v, ParamsFarmSettings)):
45
- path_dir = path_dir_farm / self._set_dir_name(entry=k)
46
- path_dir.mkdir(parents=True, exist_ok=True)
47
- dfs = [DataFrame.from_records([v.to_dict() for v in component]) for component in v]
48
- for df in dfs:
49
- name_output_file = df['Name'].unique()[0]
50
- df.to_csv(path_dir / f'{name_output_file}.csv', index=False)
49
+ for k, v in self._iter_over_animal_components():
50
+ path_dir = path_dir_farm / self._set_dir_name(entry=k)
51
+ path_dir.mkdir(parents=True, exist_ok=True)
52
+ dfs = [DataFrame.from_records([v.to_dict() for v in component]) for component in v]
53
+ for df in dfs:
54
+ name_output_file = df['Name'].unique()[0]
55
+ df.to_csv(path_dir / f'{name_output_file}.csv', index=False)
56
+
57
+ def export_to_dict(self) -> dict:
58
+ res = {**self.farm_settings.export_to_dict()}
59
+ for k, v in self._iter_over_animal_components():
60
+ dir_name = self._set_dir_name(entry=k)
61
+ res[dir_name] = [[v.to_dict() for v in component] for component in v]
62
+
63
+ return res
51
64
 
52
65
 
53
66
  def create_farm(
@@ -531,12 +531,20 @@ class ParamsFarmSettings:
531
531
  year=year,
532
532
  **soil_properties)
533
533
 
534
+ self._file_name = "Farm.settings"
535
+
534
536
  def get_params(self) -> list[ParamGeneric]:
535
537
  return [getattr(self, v) for v in self.__dict__ if all([not v.startswith(('_', '__')), not callable(v)])]
536
538
 
537
- def write(self, path_dir_farm: Path):
539
+ def _get_data(self) -> list[str]:
538
540
  sections = self.get_params()
539
- res = [x for y in [v.to_list() + [''] for v in sections[:-1]] for x in y] + sections[-1].to_list()
540
- with (path_dir_farm / 'Farm.settings').open(mode='w', encoding='utf-8') as f:
541
+ return [x for y in [v.to_list() + [''] for v in sections[:-1]] for x in y] + sections[-1].to_list()
542
+
543
+ def write(self, path_dir_farm: Path):
544
+ res = self._get_data()
545
+ with (path_dir_farm / self._file_name).open(mode='w', encoding='utf-8') as f:
541
546
  f.writelines('\n'.join(res))
542
547
  pass
548
+
549
+ def export_to_dict(self) -> dict[str, list[str]]:
550
+ return {self._file_name: self._get_data()}
@@ -0,0 +1,5 @@
1
+ major = 0
2
+ minor = 1
3
+ post = 4
4
+
5
+ __version__ = ".".join([str(s) for s in (major, minor, post)])
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyholos
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: A Python package for running the HOLOS 4.0 CLI.
5
5
  Author-email: Rami ALBASHA <ralbasha@msfourrager.com>
6
6
  Project-URL: Homepage, https://github.com/Mon-Systeme-Fourrager/pyholos
@@ -42,6 +42,7 @@ src/pyholos/farm/farm_settings.py
42
42
  src/pyholos/postprocessing/__init__.py
43
43
  src/pyholos/postprocessing/plots.py
44
44
  src/pyholos/postprocessing/postprocessing.py
45
+ src/pyholos/resources/soil_landscapes_of_canada_v3r2.zip
45
46
  src/pyholos/resources/holos/Table_16_Livestock_Coefficients_BeefAndDairy_Cattle_Provider.csv
46
47
  src/pyholos/resources/holos/Table_21_Average_Milk_Production_For_Dairy_Cows_By_Province.csv
47
48
  src/pyholos/resources/holos/Table_22_Livestock_Coefficients_For_Sheep.csv
@@ -1,5 +0,0 @@
1
- major = 0
2
- minor = 1
3
- post = 3
4
-
5
- __version__ = ".".join([str(s) for s in (major, minor, post)])
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes