tespy 0.2.2__tar.gz → 0.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 (168) hide show
  1. TESPy-0.3.1/.bumpversion.cfg +20 -0
  2. TESPy-0.3.1/.coveragerc +14 -0
  3. TESPy-0.3.1/.editorconfig +16 -0
  4. TESPy-0.3.1/.gitignore +71 -0
  5. TESPy-0.3.1/.pep8speaks.yml +41 -0
  6. TESPy-0.3.1/.readthedocs.yml +10 -0
  7. TESPy-0.3.1/.travis.yml +49 -0
  8. TESPy-0.3.1/CODE_OF_CONDUCT.md +46 -0
  9. TESPy-0.3.1/CONTRIBUTING.md +1 -0
  10. TESPy-0.3.1/LICENSE +21 -0
  11. TESPy-0.3.1/MANIFEST.in +23 -0
  12. {TESPy-0.2.2 → TESPy-0.3.1}/PKG-INFO +55 -16
  13. TESPy-0.3.1/PULL_REQUEST_TEMPLATE.md +27 -0
  14. {TESPy-0.2.2 → TESPy-0.3.1}/README.rst +84 -11
  15. TESPy-0.3.1/ci/appveyor-with-compiler.cmd +23 -0
  16. TESPy-0.3.1/ci/bootstrap.py +92 -0
  17. TESPy-0.3.1/ci/requirements.txt +4 -0
  18. TESPy-0.3.1/ci/templates/.appveyor.yml +52 -0
  19. TESPy-0.3.1/ci/templates/.travis.yml +58 -0
  20. TESPy-0.3.1/ci/templates/tox.ini +112 -0
  21. TESPy-0.3.1/docs/api/_images/basic.svg +916 -0
  22. TESPy-0.3.1/docs/api/_images/basic_efficiency.svg +1043 -0
  23. TESPy-0.3.1/docs/api/_images/cc_bp.svg +1218 -0
  24. TESPy-0.3.1/docs/api/_images/chp.svg +1089 -0
  25. TESPy-0.3.1/docs/api/_images/chp_PQ.svg +1579 -0
  26. TESPy-0.3.1/docs/api/_images/combustion_chamber.svg +144 -0
  27. TESPy-0.3.1/docs/api/_images/combustion_engine.svg +235 -0
  28. TESPy-0.3.1/docs/api/_images/compressor.svg +100 -0
  29. TESPy-0.3.1/docs/api/_images/condenser.svg +138 -0
  30. TESPy-0.3.1/docs/api/_images/dhs.svg +745 -0
  31. TESPy-0.3.1/docs/api/_images/dhs_closed.svg +407 -0
  32. TESPy-0.3.1/docs/api/_images/dhs_forks.svg +289 -0
  33. TESPy-0.3.1/docs/api/_images/dhs_open.svg +437 -0
  34. TESPy-0.3.1/docs/api/_images/droplet_separator.svg +136 -0
  35. TESPy-0.3.1/docs/api/_images/drum.svg +151 -0
  36. TESPy-0.3.1/docs/api/_images/heat_exchanger.svg +146 -0
  37. TESPy-0.3.1/docs/api/_images/heat_pump.svg +611 -0
  38. TESPy-0.3.1/docs/api/_images/heat_pump_COP_air.svg +1234 -0
  39. TESPy-0.3.1/docs/api/_images/heat_pump_COP_water.svg +1226 -0
  40. TESPy-0.3.1/docs/api/_images/heat_pump_example.svg +641 -0
  41. TESPy-0.3.1/docs/api/_images/intro_connections.svg +326 -0
  42. TESPy-0.3.1/docs/api/_images/intro_district_heating_scheme.svg +270 -0
  43. TESPy-0.3.1/docs/api/_images/logph_diagram_states.svg +4907 -0
  44. TESPy-0.3.1/docs/api/_images/merge.svg +198 -0
  45. TESPy-0.3.1/docs/api/_images/node.svg +293 -0
  46. TESPy-0.3.1/docs/api/_images/orc_evaporator.svg +174 -0
  47. TESPy-0.3.1/docs/api/_images/parabolic_trough.svg +923 -0
  48. TESPy-0.3.1/docs/api/_images/pipe.svg +106 -0
  49. TESPy-0.3.1/docs/api/_images/pump.svg +100 -0
  50. TESPy-0.3.1/docs/api/_images/solar_collector.svg +974 -0
  51. TESPy-0.3.1/docs/api/_images/split.svg +198 -0
  52. TESPy-0.3.1/docs/api/_images/subsys_interface.svg +182 -0
  53. TESPy-0.3.1/docs/api/_images/subsystem_waste_heat_generator.svg +1057 -0
  54. TESPy-0.3.1/docs/api/_images/turbine.svg +114 -0
  55. TESPy-0.3.1/docs/api/_images/tutorial_heat_pump.svg +589 -0
  56. TESPy-0.3.1/docs/api/_images/valve.svg +89 -0
  57. TESPy-0.3.1/docs/api/_images/water_electrolyzer.svg +296 -0
  58. TESPy-0.3.1/docs/api/modules.rst +13 -0
  59. TESPy-0.3.1/docs/api/tespy.components.rst +91 -0
  60. TESPy-0.3.1/docs/api/tespy.networks.rst +26 -0
  61. TESPy-0.3.1/docs/api/tespy.rst +28 -0
  62. TESPy-0.3.1/docs/api/tespy.tools.rst +50 -0
  63. TESPy-0.3.1/docs/api.rst +10 -0
  64. TESPy-0.3.1/docs/conf.py +487 -0
  65. TESPy-0.3.1/docs/developing_tespy.rst +272 -0
  66. TESPy-0.3.1/docs/first_steps.rst +174 -0
  67. TESPy-0.3.1/docs/index.rst +27 -0
  68. TESPy-0.3.1/docs/installation.rst +119 -0
  69. TESPy-0.3.1/docs/introduction.rst +110 -0
  70. TESPy-0.3.1/docs/references.bib +116 -0
  71. TESPy-0.3.1/docs/requirements.txt +4 -0
  72. TESPy-0.3.1/docs/tespy_modules/characteristics.rst +145 -0
  73. TESPy-0.3.1/docs/tespy_modules/components.rst +518 -0
  74. TESPy-0.3.1/docs/tespy_modules/connections.rst +342 -0
  75. TESPy-0.3.1/docs/tespy_modules/fluid_properties.rst +71 -0
  76. TESPy-0.3.1/docs/tespy_modules/networks.rst +664 -0
  77. TESPy-0.3.1/docs/tespy_modules/other.rst +14 -0
  78. TESPy-0.3.1/docs/tespy_modules/subsystems.rst +175 -0
  79. TESPy-0.3.1/docs/tespy_modules.rst +29 -0
  80. TESPy-0.3.1/docs/tutorials_examples/clausius_rankine.rst +53 -0
  81. TESPy-0.3.1/docs/tutorials_examples/clausius_rankine_chp.rst +29 -0
  82. TESPy-0.3.1/docs/tutorials_examples/combined_cycle_chp.rst +16 -0
  83. TESPy-0.3.1/docs/tutorials_examples/combustion_engine.rst +47 -0
  84. TESPy-0.3.1/docs/tutorials_examples/district_heating.rst +50 -0
  85. TESPy-0.3.1/docs/tutorials_examples/heat_pump.rst +43 -0
  86. TESPy-0.3.1/docs/tutorials_examples/solar_collector.rst +43 -0
  87. TESPy-0.3.1/docs/tutorials_examples/tutorial_combustion_chamber.rst +283 -0
  88. TESPy-0.3.1/docs/tutorials_examples/tutorial_heat_pump.rst +502 -0
  89. TESPy-0.3.1/docs/tutorials_examples.rst +69 -0
  90. TESPy-0.3.1/docs/whats_new/v0-0-1.rst +14 -0
  91. TESPy-0.3.1/docs/whats_new/v0-0-2.rst +35 -0
  92. TESPy-0.3.1/docs/whats_new/v0-0-3.rst +41 -0
  93. TESPy-0.3.1/docs/whats_new/v0-0-4.rst +35 -0
  94. TESPy-0.3.1/docs/whats_new/v0-0-5.rst +58 -0
  95. TESPy-0.3.1/docs/whats_new/v0-1-0.rst +64 -0
  96. TESPy-0.3.1/docs/whats_new/v0-1-1.rst +111 -0
  97. TESPy-0.3.1/docs/whats_new/v0-1-2.rst +88 -0
  98. TESPy-0.3.1/docs/whats_new/v0-1-3.rst +43 -0
  99. TESPy-0.3.1/docs/whats_new/v0-1-4.rst +28 -0
  100. TESPy-0.3.1/docs/whats_new/v0-2-0.rst +173 -0
  101. TESPy-0.3.1/docs/whats_new/v0-2-1.rst +56 -0
  102. TESPy-0.3.1/docs/whats_new/v0-2-2.rst +65 -0
  103. TESPy-0.3.1/docs/whats_new/v0-3-0.rst +279 -0
  104. TESPy-0.3.1/docs/whats_new/v0-3-1.rst +11 -0
  105. TESPy-0.3.1/docs/whats_new.rst +25 -0
  106. TESPy-0.3.1/docs/zliterature.rst +5 -0
  107. TESPy-0.3.1/paper.bib +176 -0
  108. TESPy-0.3.1/paper.md +232 -0
  109. TESPy-0.3.1/pyproject.toml +6 -0
  110. TESPy-0.3.1/setup.cfg +59 -0
  111. TESPy-0.3.1/setup.py +75 -0
  112. {TESPy-0.2.2 → TESPy-0.3.1/src}/TESPy.egg-info/PKG-INFO +55 -16
  113. TESPy-0.3.1/src/TESPy.egg-info/SOURCES.txt +160 -0
  114. TESPy-0.3.1/src/TESPy.egg-info/not-zip-safe +1 -0
  115. {TESPy-0.2.2 → TESPy-0.3.1/src}/TESPy.egg-info/requires.txt +9 -1
  116. TESPy-0.3.1/src/tespy/__init__.py +27 -0
  117. TESPy-0.3.1/src/tespy/components/__init__.py +28 -0
  118. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/basics.py +30 -42
  119. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/combustion.py +332 -425
  120. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/components.py +217 -112
  121. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/customs.py +115 -128
  122. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/heat_exchangers.py +961 -418
  123. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/nodes.py +472 -118
  124. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/piping.py +50 -61
  125. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/reactors.py +136 -131
  126. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/turbomachinery.py +195 -195
  127. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/connections.py +235 -135
  128. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/data/char_lines.json +1 -1
  129. TESPy-0.3.1/src/tespy/networks/__init__.py +3 -0
  130. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/networks/network_reader.py +137 -96
  131. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/networks/networks.py +725 -730
  132. TESPy-0.3.1/src/tespy/tools/__init__.py +13 -0
  133. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/tools/characteristics.py +11 -8
  134. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/tools/data_containers.py +2 -1
  135. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/tools/fluid_properties.py +374 -388
  136. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/tools/global_vars.py +0 -3
  137. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/tools/helpers.py +156 -42
  138. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/tools/logger.py +4 -5
  139. TESPy-0.3.1/tests/test_busses.py +250 -0
  140. TESPy-0.3.1/tests/test_components/test_combustion.py +225 -0
  141. TESPy-0.3.1/tests/test_components/test_heat_exchangers.py +498 -0
  142. TESPy-0.3.1/tests/test_components/test_orc_evaporator.py +150 -0
  143. TESPy-0.3.1/tests/test_components/test_piping.py +92 -0
  144. TESPy-0.3.1/tests/test_components/test_reactors.py +162 -0
  145. TESPy-0.3.1/tests/test_components/test_turbomachinery.py +388 -0
  146. TESPy-0.3.1/tests/test_errors.py +727 -0
  147. TESPy-0.3.1/tests/test_models/test_gas_turbine_models.py +144 -0
  148. TESPy-0.3.1/tests/test_models/test_heat_pump_model.py +308 -0
  149. TESPy-0.3.1/tests/test_networks/test_network.py +417 -0
  150. TESPy-0.3.1/tests/test_tools/test_characteristics.py +301 -0
  151. TESPy-0.3.1/tests/test_tools/test_fluid_properties.py +366 -0
  152. TESPy-0.3.1/tests/test_tools/test_helpers.py +59 -0
  153. TESPy-0.3.1/tox.ini +115 -0
  154. TESPy-0.3.1/tutorial/step_1.py +75 -0
  155. TESPy-0.3.1/tutorial/step_2.py +140 -0
  156. TESPy-0.3.1/tutorial/step_3.py +173 -0
  157. TESPy-0.2.2/TESPy.egg-info/SOURCES.txt +0 -34
  158. TESPy-0.2.2/setup.cfg +0 -7
  159. TESPy-0.2.2/setup.py +0 -27
  160. TESPy-0.2.2/tespy/__init__.py +0 -38
  161. TESPy-0.2.2/tespy/components/__init__.py +0 -21
  162. TESPy-0.2.2/tespy/networks/__init__.py +0 -3
  163. TESPy-0.2.2/tespy/tools/__init__.py +0 -12
  164. {TESPy-0.2.2 → TESPy-0.3.1/src}/TESPy.egg-info/dependency_links.txt +0 -0
  165. {TESPy-0.2.2 → TESPy-0.3.1/src}/TESPy.egg-info/top_level.txt +0 -0
  166. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/components/subsystems.py +0 -0
  167. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/data/__init__.py +0 -0
  168. {TESPy-0.2.2 → TESPy-0.3.1/src}/tespy/data/char_maps.json +0 -0
@@ -0,0 +1,20 @@
1
+ [bumpversion]
2
+ current_version = 0.3.0
3
+ commit = True
4
+ tag = True
5
+
6
+ [bumpversion:file:setup.py]
7
+ search = version='{current_version}'
8
+ replace = version='{new_version}'
9
+
10
+ [bumpversion:file:README.rst]
11
+ search = v{current_version}.
12
+ replace = v{new_version}.
13
+
14
+ [bumpversion:file:docs/conf.py]
15
+ search = version = release = '{current_version}'
16
+ replace = version = release = '{new_version}'
17
+
18
+ [bumpversion:file:src/tespy/__init__.py]
19
+ search = __version__ = '{current_version}'
20
+ replace = __version__ = '{new_version}'
@@ -0,0 +1,14 @@
1
+ [paths]
2
+ source =
3
+ src
4
+
5
+ [run]
6
+ branch = true
7
+ source =
8
+ src
9
+ parallel = true
10
+
11
+ [report]
12
+ show_missing = true
13
+ precision = 2
14
+ omit = *migrations*
@@ -0,0 +1,16 @@
1
+ # see https://editorconfig.org/
2
+ root = true
3
+
4
+ [*]
5
+ end_of_line = lf
6
+ trim_trailing_whitespace = true
7
+ insert_final_newline = true
8
+ indent_style = space
9
+ indent_size = 4
10
+ charset = utf-8
11
+
12
+ [*.{bat,cmd,ps1}]
13
+ end_of_line = crlf
14
+
15
+ [*.{yml,yaml}]
16
+ indent_size = 2
TESPy-0.3.1/.gitignore ADDED
@@ -0,0 +1,71 @@
1
+ *.py[cod]
2
+ __pycache__
3
+
4
+ # C extensions
5
+ *.so
6
+
7
+ # Packages
8
+ *.egg
9
+ *.egg-info
10
+ dist
11
+ build
12
+ eggs
13
+ .eggs
14
+ parts
15
+ bin
16
+ var
17
+ sdist
18
+ wheelhouse
19
+ develop-eggs
20
+ .installed.cfg
21
+ lib
22
+ lib64
23
+ venv*/
24
+ pyvenv*/
25
+ pip-wheel-metadata/
26
+
27
+ # Installer logs
28
+ pip-log.txt
29
+
30
+ # Unit test / coverage reports
31
+ .coverage
32
+ .tox
33
+ .coverage.*
34
+ .pytest_cache/
35
+ nosetests.xml
36
+ coverage.xml
37
+ htmlcov
38
+
39
+ # Translations
40
+ *.mo
41
+
42
+ # Mr Developer
43
+ .mr.developer.cfg
44
+ .project
45
+ .pydevproject
46
+ .idea
47
+ *.iml
48
+ *.komodoproject
49
+
50
+ # Complexity
51
+ output/*.html
52
+ output/*/index.html
53
+
54
+ # Sphinx
55
+ docs/_build
56
+
57
+ .DS_Store
58
+ *~
59
+ .*.sw[po]
60
+ .build
61
+ .ve
62
+ .env
63
+ .cache
64
+ .pytest
65
+ .benchmarks
66
+ .bootstrap
67
+ .appveyor.token
68
+ *.bak
69
+
70
+ # Mypy Cache
71
+ .mypy_cache/
@@ -0,0 +1,41 @@
1
+ scanner:
2
+ diff_only: True # If False, the entire file touched by the Pull Request is scanned for errors. If True, only the diff is scanned.
3
+ linter: pycodestyle # Alternative option - flake8
4
+
5
+ pycodestyle: # Valid if scanner.linter is pycodestyle
6
+ max-line-length: 79
7
+ ignore: [] # Errors and warnings to ignore
8
+ exclude: [] # File path patterns to exclude
9
+ count: False
10
+ first: False
11
+ show-pep8: False
12
+ show-source: False
13
+ statistics: False
14
+ hang-closing: False
15
+ filename: []
16
+ select: []
17
+
18
+ flake8: # Valid if scanner.linter is flake8
19
+ max-line-length: 79
20
+ ignore: []
21
+ exclude: []
22
+ count: False
23
+ show-source: False
24
+ statistics: False
25
+ hang-closing: False
26
+ filename: []
27
+ select: []
28
+
29
+ no_blank_comment: True # If True, no comment is made on PR without any errors.
30
+ descending_issues_order: False # If True, PEP 8 issues in message will be displayed in descending order of line numbers in the file
31
+ only_mention_files_with_errors: True # If False, a separate status section for each file is made in the comment.
32
+
33
+ message: # Customize the comment made by the bot
34
+ opened: # Messages when a new PR is submitted
35
+ header: ""
36
+ footer: ""
37
+ updated: # Messages when a PR is updated
38
+ header: ""
39
+ footer: ""
40
+ no_errors: "There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: "
41
+
@@ -0,0 +1,10 @@
1
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
2
+ version: 2
3
+ sphinx:
4
+ configuration: docs/conf.py
5
+ formats: all
6
+ python:
7
+ install:
8
+ - requirements: docs/requirements.txt
9
+ - method: pip
10
+ path: .
@@ -0,0 +1,49 @@
1
+ language: python
2
+ dist: xenial
3
+ cache: false
4
+ env:
5
+ global:
6
+ - LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so
7
+ - SEGFAULT_SIGNALS=all
8
+ matrix:
9
+ include:
10
+ - python: '3.6'
11
+ env:
12
+ - TOXENV=check
13
+ - python: '3.6'
14
+ env:
15
+ - TOXENV=docs
16
+ - env:
17
+ - TOXENV=py36,coveralls
18
+ python: '3.6'
19
+ - env:
20
+ - TOXENV=py37,coveralls
21
+ python: '3.7'
22
+ - env:
23
+ - TOXENV=py38,coveralls
24
+ python: '3.8'
25
+ before_install:
26
+ - python --version
27
+ - uname -a
28
+ - lsb_release -a || true
29
+ - |
30
+ if [[ $TRAVIS_OS_NAME == 'osx' ]]; then
31
+ [[ $TOXENV =~ py3 ]] && brew upgrade python
32
+ [[ $TOXENV =~ py2 ]] && brew install python@2
33
+ export PATH="/usr/local/opt/python/libexec/bin:${PATH}"
34
+ fi
35
+ install:
36
+ - python -mpip install --progress-bar=off tox -rci/requirements.txt
37
+ - virtualenv --version
38
+ - easy_install --version
39
+ - pip --version
40
+ - tox --version
41
+ script:
42
+ - tox -v
43
+ after_failure:
44
+ - more .tox/log/* | cat
45
+ - more .tox/*/log/* | cat
46
+ notifications:
47
+ email:
48
+ on_success: never
49
+ on_failure: always
@@ -0,0 +1,46 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6
+
7
+ ## Our Standards
8
+
9
+ Examples of behavior that contributes to creating a positive environment include:
10
+
11
+ * Using welcoming and inclusive language
12
+ * Being respectful of differing viewpoints and experiences
13
+ * Gracefully accepting constructive criticism
14
+ * Focusing on what is best for the community
15
+ * Showing empathy towards other community members
16
+
17
+ Examples of unacceptable behavior by participants include:
18
+
19
+ * The use of sexualized language or imagery and unwelcome sexual attention or advances
20
+ * Trolling, insulting/derogatory comments, and personal or political attacks
21
+ * Public or private harassment
22
+ * Publishing others' private information, such as a physical or electronic address, without explicit permission
23
+ * Other conduct which could reasonably be considered inappropriate in a professional setting
24
+
25
+ ## Our Responsibilities
26
+
27
+ Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28
+
29
+ Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30
+
31
+ ## Scope
32
+
33
+ This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34
+
35
+ ## Enforcement
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the [project team](https://oemof.org/contact/). The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38
+
39
+ Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40
+
41
+ ## Attribution
42
+
43
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44
+
45
+ [homepage]: http://contributor-covenant.org
46
+ [version]: http://contributor-covenant.org/version/1/4/
@@ -0,0 +1 @@
1
+ The developer rules can be found in the chapter [developing TESPy](https://tespy.readthedocs.io/en/latest/developing_tespy.html) of the tespy.documentation.
TESPy-0.3.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017-2020, oemof developer group
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,23 @@
1
+ graft docs
2
+ graft src
3
+ graft ci
4
+ graft tests
5
+
6
+ include .bumpversion.cfg
7
+ include .coveragerc
8
+ include .cookiecutterrc
9
+ include .editorconfig
10
+
11
+ include AUTHORS.rst
12
+ include CHANGELOG.rst
13
+ include CONTRIBUTING.rst
14
+ include LICENSE
15
+ include README.rst
16
+ include *.md
17
+ include *.yml
18
+ include *.bib
19
+ recursive-include tutorial *.py
20
+
21
+ include tox.ini
22
+
23
+ global-exclude *.py[cod] __pycache__/* *.so *.dylib
@@ -1,21 +1,16 @@
1
- Metadata-Version: 1.2
1
+ Metadata-Version: 2.1
2
2
  Name: TESPy
3
- Version: 0.2.2
3
+ Version: 0.3.1
4
4
  Summary: Thermal Engineering Systems in Python (TESPy)
5
- Home-page: http://github.com/oemof/tespy
5
+ Home-page: https://github.com/oemof/tespy
6
6
  Author: Francesco Witte
7
- Author-email: francesco.witte@web.de
7
+ Author-email: francesco.witte@hs-flensburg.de
8
8
  License: MIT
9
- Description: .. image:: https://coveralls.io/repos/github/oemof/tespy/badge.svg?branch=master
10
- :target: https://coveralls.io/github/oemof/tespy?branch=master
11
- .. image:: https://travis-ci.org/oemof/tespy.svg?branch=master
12
- :target: https://travis-ci.org/oemof/tespy
13
- .. image:: https://readthedocs.org/projects/tespy/badge/?version=master
14
- :target: https://tespy.readthedocs.io/en/master/
15
- .. image:: https://badge.fury.io/py/TESPy.svg
16
- :target: https://badge.fury.io/py/TESPy
17
- .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2555866.svg
18
- :target: https://doi.org/10.5281/zenodo.2555866
9
+ Project-URL: Documentation, https://tespy.readthedocs.io/
10
+ Project-URL: Changelog, https://tespy.readthedocs.io/en/latest/whats_new.html
11
+ Project-URL: Issue Tracker, https://github.com/oemof/tespy/issues
12
+ Description: Thermal Engineering Systems in Python
13
+ =====================================
19
14
 
20
15
  TESPy stands for "Thermal Engineering Systems in Python" and provides a
21
16
  powerful simulation toolkit for thermal engineering plants such as power
@@ -38,6 +33,8 @@ Description: .. image:: https://coveralls.io/repos/github/oemof/tespy/badge.svg?
38
33
  as described in the github guidelines:
39
34
  https://guides.github.com/activities/hello-world/
40
35
 
36
+
37
+
41
38
  Documentation
42
39
  =============
43
40
 
@@ -77,10 +74,38 @@ Description: .. image:: https://coveralls.io/repos/github/oemof/tespy/badge.svg?
77
74
  `tespy_examples <https://github.com/oemof/oemof-examples/tree/master/oemof_examples/tespy>`_
78
75
  repository.
79
76
 
77
+ Citation
78
+ ========
79
+
80
+ The scope and functionalities of TESPy have been documented in a paper
81
+ published in the Journal of Open Source Software with an OpenAccess license.
82
+ Download the paper from https://doi.org/10.21105/joss.02178. As TESPy is a free
83
+ software, we kindly ask that you add a reference to TESPy if you use the
84
+ software for your scientific work. Please cite the article with the BibTeX
85
+ citation below.
86
+
87
+ Additionally, you have the possibility to cite a specific version of TESPy to
88
+ make your work reproducible. The source code of every version is published on
89
+ zenodo. Find your version here: https://doi.org/10.5281/zenodo.2555866.
90
+
91
+ BibTeX citation::
92
+
93
+ @article{Witte2020,
94
+ doi = {10.21105/joss.02178}
95
+ year = {2020},
96
+ publisher = {The Open Journal},
97
+ volume = {5},
98
+ number = {49},
99
+ pages = {2178},
100
+ author = {Francesco Witte and Ilja Tuschy},
101
+ title = {{TESPy}: {T}hermal {E}ngineering {S}ystems in {P}ython},
102
+ journal = {Journal of Open Source Software}
103
+ }
104
+
80
105
  License
81
106
  =======
82
107
 
83
- Copyright (c) 2019 oemof developer group
108
+ Copyright (c) 2017-2020 oemof developer group
84
109
 
85
110
  Permission is hereby granted, free of charge, to any person obtaining a copy
86
111
  of this software and associated documentation files (the "Software"), to deal
@@ -101,4 +126,18 @@ Description: .. image:: https://coveralls.io/repos/github/oemof/tespy/badge.svg?
101
126
  SOFTWARE.
102
127
 
103
128
  Platform: UNKNOWN
104
- Requires-Python: >=3
129
+ Classifier: Development Status :: 4 - Beta
130
+ Classifier: Intended Audience :: Education
131
+ Classifier: Intended Audience :: Science/Research
132
+ Classifier: License :: OSI Approved :: MIT License
133
+ Classifier: Operating System :: Unix
134
+ Classifier: Operating System :: POSIX
135
+ Classifier: Operating System :: Microsoft :: Windows
136
+ Classifier: Programming Language :: Python
137
+ Classifier: Programming Language :: Python :: 3.6
138
+ Classifier: Programming Language :: Python :: 3.7
139
+ Classifier: Programming Language :: Python :: 3.8
140
+ Classifier: Topic :: Scientific/Engineering
141
+ Requires-Python: >=3.6, <3.9
142
+ Provides-Extra: dev
143
+ Provides-Extra: dummy
@@ -0,0 +1,27 @@
1
+ **General**
2
+
3
+ Describe your pull request as transparent as possible:
4
+
5
+ * What functionality does it implement?
6
+ * Where is it located?
7
+ * How does the API look?
8
+ * Which bugs are fixed
9
+ * Are there related issues?
10
+
11
+ **Documentation**
12
+
13
+ Please document all changes and/or new features:
14
+
15
+ * Update the API documentation
16
+ * Update the corresponding sections in the online documentation
17
+ * Add inline comments to your code, if required
18
+ * Update the corresponding What's New file
19
+
20
+ **Testing**
21
+
22
+ * Adapt the software tests (including doc-tests), if the PR does affect existing tests
23
+ * Add new tests for new features
24
+
25
+ **Questions and Comments**
26
+
27
+ You are welcome to ask for help or start a discussion on a feature. We very much appreciate your contribution.
@@ -1,13 +1,5 @@
1
- .. image:: https://coveralls.io/repos/github/oemof/tespy/badge.svg?branch=master
2
- :target: https://coveralls.io/github/oemof/tespy?branch=master
3
- .. image:: https://travis-ci.org/oemof/tespy.svg?branch=master
4
- :target: https://travis-ci.org/oemof/tespy
5
- .. image:: https://readthedocs.org/projects/tespy/badge/?version=master
6
- :target: https://tespy.readthedocs.io/en/master/
7
- .. image:: https://badge.fury.io/py/TESPy.svg
8
- :target: https://badge.fury.io/py/TESPy
9
- .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2555866.svg
10
- :target: https://doi.org/10.5281/zenodo.2555866
1
+ Thermal Engineering Systems in Python
2
+ =====================================
11
3
 
12
4
  TESPy stands for "Thermal Engineering Systems in Python" and provides a
13
5
  powerful simulation toolkit for thermal engineering plants such as power
@@ -30,6 +22,59 @@ please fork the TESPy repository to your own github account and make changes
30
22
  as described in the github guidelines:
31
23
  https://guides.github.com/activities/hello-world/
32
24
 
25
+ .. start-badges
26
+
27
+ .. list-table::
28
+ :stub-columns: 1
29
+
30
+ * - docs
31
+ - |docs|
32
+ * - tests
33
+ - |travis| |coveralls|
34
+ * - package
35
+ - | |version| |wheel| |supported-versions|
36
+ | |commits-since|
37
+ * - reference
38
+ - |joss| |zenodo|
39
+
40
+ .. |docs| image:: https://readthedocs.org/projects/tespy/badge/?style=flat
41
+ :target: https://readthedocs.org/projects/tespy
42
+ :alt: Documentation Status
43
+
44
+ .. |travis| image:: https://api.travis-ci.org/oemof/tespy.svg?branch=dev
45
+ :alt: Travis-CI Build Status
46
+ :target: https://travis-ci.org/oemof/tespy
47
+
48
+ .. |coveralls| image:: https://coveralls.io/repos/oemof/tespy/badge.svg?branch=dev&service=github
49
+ :alt: Coverage Status
50
+ :target: https://coveralls.io/r/oemof/tespy
51
+
52
+ .. |version| image:: https://img.shields.io/pypi/v/tespy.svg
53
+ :alt: PyPI Package latest release
54
+ :target: https://pypi.org/project/tespy
55
+
56
+ .. |wheel| image:: https://img.shields.io/pypi/wheel/tespy.svg
57
+ :alt: PyPI Wheel
58
+ :target: https://pypi.org/project/tespy
59
+
60
+ .. |supported-versions| image:: https://img.shields.io/pypi/pyversions/tespy.svg
61
+ :alt: Supported Python versions
62
+ :target: https://pypi.org/project/tespy
63
+
64
+ .. |commits-since| image:: https://img.shields.io/github/commits-since/oemof/tespy/latest/dev
65
+ :alt: Commits since latest release
66
+ :target: https://github.com/oemof/tespy/compare/master...dev
67
+
68
+ .. |zenodo| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2555866.svg
69
+ :alt: Release archive
70
+ :target: https://doi.org/10.5281/zenodo.2555866
71
+
72
+ .. |joss| image:: https://joss.theoj.org/papers/590b0b4767606bce4d0ebe397d4b7a4f/status.svg
73
+ :alt: Software Paper in JOSS
74
+ :target: https://joss.theoj.org/papers/590b0b4767606bce4d0ebe397d4b7a4f
75
+
76
+ .. end-badges
77
+
33
78
  Documentation
34
79
  =============
35
80
 
@@ -69,10 +114,38 @@ from the
69
114
  `tespy_examples <https://github.com/oemof/oemof-examples/tree/master/oemof_examples/tespy>`_
70
115
  repository.
71
116
 
117
+ Citation
118
+ ========
119
+
120
+ The scope and functionalities of TESPy have been documented in a paper
121
+ published in the Journal of Open Source Software with an OpenAccess license.
122
+ Download the paper from https://doi.org/10.21105/joss.02178. As TESPy is a free
123
+ software, we kindly ask that you add a reference to TESPy if you use the
124
+ software for your scientific work. Please cite the article with the BibTeX
125
+ citation below.
126
+
127
+ Additionally, you have the possibility to cite a specific version of TESPy to
128
+ make your work reproducible. The source code of every version is published on
129
+ zenodo. Find your version here: https://doi.org/10.5281/zenodo.2555866.
130
+
131
+ BibTeX citation::
132
+
133
+ @article{Witte2020,
134
+ doi = {10.21105/joss.02178}
135
+ year = {2020},
136
+ publisher = {The Open Journal},
137
+ volume = {5},
138
+ number = {49},
139
+ pages = {2178},
140
+ author = {Francesco Witte and Ilja Tuschy},
141
+ title = {{TESPy}: {T}hermal {E}ngineering {S}ystems in {P}ython},
142
+ journal = {Journal of Open Source Software}
143
+ }
144
+
72
145
  License
73
146
  =======
74
147
 
75
- Copyright (c) 2019 oemof developer group
148
+ Copyright (c) 2017-2020 oemof developer group
76
149
 
77
150
  Permission is hereby granted, free of charge, to any person obtaining a copy
78
151
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,23 @@
1
+ :: Very simple setup:
2
+ :: - if WINDOWS_SDK_VERSION is set then activate the SDK.
3
+ :: - disable the WDK if it's around.
4
+
5
+ SET COMMAND_TO_RUN=%*
6
+ SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
7
+ SET WIN_WDK="c:\Program Files (x86)\Windows Kits\10\Include\wdf"
8
+ ECHO SDK: %WINDOWS_SDK_VERSION% ARCH: %PYTHON_ARCH%
9
+
10
+ IF EXIST %WIN_WDK% (
11
+ REM See: https://connect.microsoft.com/VisualStudio/feedback/details/1610302/
12
+ REN %WIN_WDK% 0wdf
13
+ )
14
+ IF "%WINDOWS_SDK_VERSION%"=="" GOTO main
15
+
16
+ SET DISTUTILS_USE_SDK=1
17
+ SET MSSdk=1
18
+ "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Setup\WindowsSdkVer.exe" -q -version:%WINDOWS_SDK_VERSION%
19
+ CALL "%WIN_SDK_ROOT%\%WINDOWS_SDK_VERSION%\Bin\SetEnv.cmd" /x64 /release
20
+
21
+ :main
22
+ ECHO Executing: %COMMAND_TO_RUN%
23
+ CALL %COMMAND_TO_RUN% || EXIT 1
@@ -0,0 +1,92 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ from __future__ import absolute_import
4
+ from __future__ import print_function
5
+ from __future__ import unicode_literals
6
+
7
+ import os
8
+ import subprocess
9
+ import sys
10
+ from os.path import abspath
11
+ from os.path import dirname
12
+ from os.path import exists
13
+ from os.path import join
14
+
15
+ base_path = dirname(dirname(abspath(__file__)))
16
+
17
+
18
+ def check_call(args):
19
+ print("+", *args)
20
+ subprocess.check_call(args)
21
+
22
+
23
+ def exec_in_env():
24
+ env_path = join(base_path, ".tox", "bootstrap")
25
+ if sys.platform == "win32":
26
+ bin_path = join(env_path, "Scripts")
27
+ else:
28
+ bin_path = join(env_path, "bin")
29
+ if not exists(env_path):
30
+ import subprocess
31
+
32
+ print("Making bootstrap env in: {0} ...".format(env_path))
33
+ try:
34
+ check_call([sys.executable, "-m", "venv", env_path])
35
+ except subprocess.CalledProcessError:
36
+ try:
37
+ check_call([sys.executable, "-m", "virtualenv", env_path])
38
+ except subprocess.CalledProcessError:
39
+ check_call(["virtualenv", env_path])
40
+ print("Installing `jinja2` into bootstrap environment...")
41
+ check_call([join(bin_path, "pip"), "install", "jinja2", "tox", "matrix"])
42
+ python_executable = join(bin_path, "python")
43
+ if not os.path.exists(python_executable):
44
+ python_executable += '.exe'
45
+
46
+ print("Re-executing with: {0}".format(python_executable))
47
+ print("+ exec", python_executable, __file__, "--no-env")
48
+ os.execv(python_executable, [python_executable, __file__, "--no-env"])
49
+
50
+
51
+ def main():
52
+ import jinja2
53
+ import matrix
54
+
55
+ print("Project path: {0}".format(base_path))
56
+
57
+ jinja = jinja2.Environment(
58
+ loader=jinja2.FileSystemLoader(join(base_path, "ci", "templates")),
59
+ trim_blocks=True,
60
+ lstrip_blocks=True,
61
+ keep_trailing_newline=True
62
+ )
63
+
64
+ tox_environments = {}
65
+ for (alias, conf) in matrix.from_file(join(base_path, "setup.cfg")).items():
66
+ deps = conf["dependencies"]
67
+ tox_environments[alias] = {
68
+ "deps": deps.split(),
69
+ }
70
+ if "coverage_flags" in conf:
71
+ cover = {"false": False, "true": True}[conf["coverage_flags"].lower()]
72
+ tox_environments[alias].update(cover=cover)
73
+ if "environment_variables" in conf:
74
+ env_vars = conf["environment_variables"]
75
+ tox_environments[alias].update(env_vars=env_vars.split())
76
+
77
+ for name in os.listdir(join("ci", "templates")):
78
+ with open(join(base_path, name), "w") as fh:
79
+ fh.write(jinja.get_template(name).render(tox_environments=tox_environments))
80
+ print("Wrote {}".format(name))
81
+ print("DONE.")
82
+
83
+
84
+ if __name__ == "__main__":
85
+ args = sys.argv[1:]
86
+ if args == ["--no-env"]:
87
+ main()
88
+ elif not args:
89
+ exec_in_env()
90
+ else:
91
+ print("Unexpected arguments {0}".format(args), file=sys.stderr)
92
+ sys.exit(1)