compas 2.8.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 (480) hide show
  1. compas-2.8.1/AUTHORS.md +43 -0
  2. compas-2.8.1/LICENSE +21 -0
  3. compas-2.8.1/PKG-INFO +134 -0
  4. compas-2.8.1/README.md +68 -0
  5. compas-2.8.1/pyproject.toml +154 -0
  6. compas-2.8.1/requirements-dev.txt +10 -0
  7. compas-2.8.1/requirements.txt +6 -0
  8. compas-2.8.1/setup.cfg +4 -0
  9. compas-2.8.1/src/compas/__init__.py +274 -0
  10. compas-2.8.1/src/compas/__main__.py +31 -0
  11. compas-2.8.1/src/compas/_iotools.py +80 -0
  12. compas-2.8.1/src/compas/_os.py +746 -0
  13. compas-2.8.1/src/compas/colors/__init__.py +14 -0
  14. compas-2.8.1/src/compas/colors/cmcrameri/acton.txt +256 -0
  15. compas-2.8.1/src/compas/colors/cmcrameri/actonS.txt +100 -0
  16. compas-2.8.1/src/compas/colors/cmcrameri/bam.txt +256 -0
  17. compas-2.8.1/src/compas/colors/cmcrameri/bamO.txt +256 -0
  18. compas-2.8.1/src/compas/colors/cmcrameri/bamako.txt +256 -0
  19. compas-2.8.1/src/compas/colors/cmcrameri/bamakoS.txt +100 -0
  20. compas-2.8.1/src/compas/colors/cmcrameri/batlow.txt +256 -0
  21. compas-2.8.1/src/compas/colors/cmcrameri/batlowK.txt +256 -0
  22. compas-2.8.1/src/compas/colors/cmcrameri/batlowS.txt +100 -0
  23. compas-2.8.1/src/compas/colors/cmcrameri/batlowW.txt +256 -0
  24. compas-2.8.1/src/compas/colors/cmcrameri/berlin.txt +256 -0
  25. compas-2.8.1/src/compas/colors/cmcrameri/bilbao.txt +256 -0
  26. compas-2.8.1/src/compas/colors/cmcrameri/bilbaoS.txt +100 -0
  27. compas-2.8.1/src/compas/colors/cmcrameri/broc.txt +256 -0
  28. compas-2.8.1/src/compas/colors/cmcrameri/brocO.txt +256 -0
  29. compas-2.8.1/src/compas/colors/cmcrameri/buda.txt +256 -0
  30. compas-2.8.1/src/compas/colors/cmcrameri/budaS.txt +100 -0
  31. compas-2.8.1/src/compas/colors/cmcrameri/bukavu.txt +256 -0
  32. compas-2.8.1/src/compas/colors/cmcrameri/cork.txt +256 -0
  33. compas-2.8.1/src/compas/colors/cmcrameri/corkO.txt +256 -0
  34. compas-2.8.1/src/compas/colors/cmcrameri/davos.txt +256 -0
  35. compas-2.8.1/src/compas/colors/cmcrameri/davosS.txt +100 -0
  36. compas-2.8.1/src/compas/colors/cmcrameri/devon.txt +256 -0
  37. compas-2.8.1/src/compas/colors/cmcrameri/devonS.txt +100 -0
  38. compas-2.8.1/src/compas/colors/cmcrameri/fes.txt +256 -0
  39. compas-2.8.1/src/compas/colors/cmcrameri/grayC.txt +256 -0
  40. compas-2.8.1/src/compas/colors/cmcrameri/grayCS.txt +100 -0
  41. compas-2.8.1/src/compas/colors/cmcrameri/hawaii.txt +256 -0
  42. compas-2.8.1/src/compas/colors/cmcrameri/hawaiiS.txt +100 -0
  43. compas-2.8.1/src/compas/colors/cmcrameri/imola.txt +256 -0
  44. compas-2.8.1/src/compas/colors/cmcrameri/imolaS.txt +100 -0
  45. compas-2.8.1/src/compas/colors/cmcrameri/lajolla.txt +256 -0
  46. compas-2.8.1/src/compas/colors/cmcrameri/lajollaS.txt +100 -0
  47. compas-2.8.1/src/compas/colors/cmcrameri/lapaz.txt +256 -0
  48. compas-2.8.1/src/compas/colors/cmcrameri/lapazS.txt +100 -0
  49. compas-2.8.1/src/compas/colors/cmcrameri/lisbon.txt +256 -0
  50. compas-2.8.1/src/compas/colors/cmcrameri/nuuk.txt +256 -0
  51. compas-2.8.1/src/compas/colors/cmcrameri/nuukS.txt +100 -0
  52. compas-2.8.1/src/compas/colors/cmcrameri/oleron.txt +256 -0
  53. compas-2.8.1/src/compas/colors/cmcrameri/oslo.txt +256 -0
  54. compas-2.8.1/src/compas/colors/cmcrameri/osloS.txt +100 -0
  55. compas-2.8.1/src/compas/colors/cmcrameri/roma.txt +256 -0
  56. compas-2.8.1/src/compas/colors/cmcrameri/romaO.txt +256 -0
  57. compas-2.8.1/src/compas/colors/cmcrameri/tofino.txt +256 -0
  58. compas-2.8.1/src/compas/colors/cmcrameri/tokyo.txt +256 -0
  59. compas-2.8.1/src/compas/colors/cmcrameri/tokyoS.txt +100 -0
  60. compas-2.8.1/src/compas/colors/cmcrameri/turku.txt +256 -0
  61. compas-2.8.1/src/compas/colors/cmcrameri/turkuS.txt +100 -0
  62. compas-2.8.1/src/compas/colors/cmcrameri/vanimo.txt +256 -0
  63. compas-2.8.1/src/compas/colors/cmcrameri/vik.txt +256 -0
  64. compas-2.8.1/src/compas/colors/cmcrameri/vikO.txt +256 -0
  65. compas-2.8.1/src/compas/colors/color.py +1130 -0
  66. compas-2.8.1/src/compas/colors/colordict.py +123 -0
  67. compas-2.8.1/src/compas/colors/colormap.py +306 -0
  68. compas-2.8.1/src/compas/colors/html_colors.py +149 -0
  69. compas-2.8.1/src/compas/colors/mpl_colormap.py +1064 -0
  70. compas-2.8.1/src/compas/data/__init__.py +31 -0
  71. compas-2.8.1/src/compas/data/coercion.py +59 -0
  72. compas-2.8.1/src/compas/data/data.py +353 -0
  73. compas-2.8.1/src/compas/data/encoders.py +244 -0
  74. compas-2.8.1/src/compas/data/exceptions.py +2 -0
  75. compas-2.8.1/src/compas/data/json.py +240 -0
  76. compas-2.8.1/src/compas/data/samples/boxes.obj +250 -0
  77. compas-2.8.1/src/compas/data/samples/butt_model.obj +2829 -0
  78. compas-2.8.1/src/compas/data/samples/cellnetwork_example.json +744 -0
  79. compas-2.8.1/src/compas/data/samples/cone.stl +0 -0
  80. compas-2.8.1/src/compas/data/samples/cube.off +16 -0
  81. compas-2.8.1/src/compas/data/samples/cube_ascii.stl +56114 -0
  82. compas-2.8.1/src/compas/data/samples/cube_binary.stl +0 -0
  83. compas-2.8.1/src/compas/data/samples/cube_binary_2.stl +0 -0
  84. compas-2.8.1/src/compas/data/samples/doosabin.json +1 -0
  85. compas-2.8.1/src/compas/data/samples/faces.obj +63 -0
  86. compas-2.8.1/src/compas/data/samples/faces_big.obj +9663 -0
  87. compas-2.8.1/src/compas/data/samples/faces_reversed.obj +63 -0
  88. compas-2.8.1/src/compas/data/samples/fink.obj +135 -0
  89. compas-2.8.1/src/compas/data/samples/grid_irregular.obj +303 -0
  90. compas-2.8.1/src/compas/data/samples/hypar.obj +148 -0
  91. compas-2.8.1/src/compas/data/samples/lines.json +1 -0
  92. compas-2.8.1/src/compas/data/samples/lines.obj +282 -0
  93. compas-2.8.1/src/compas/data/samples/lines_big.obj +40322 -0
  94. compas-2.8.1/src/compas/data/samples/lines_bigger.obj +161282 -0
  95. compas-2.8.1/src/compas/data/samples/lines_noleaves.obj +422 -0
  96. compas-2.8.1/src/compas/data/samples/mesh.obj +874 -0
  97. compas-2.8.1/src/compas/data/samples/mesh_100_faces.json +1893 -0
  98. compas-2.8.1/src/compas/data/samples/mesh_110_faces.json +2081 -0
  99. compas-2.8.1/src/compas/data/samples/open_edges.obj +424 -0
  100. compas-2.8.1/src/compas/data/samples/point.json +1 -0
  101. compas-2.8.1/src/compas/data/samples/quadmesh.obj +183 -0
  102. compas-2.8.1/src/compas/data/samples/quadmesh_planar.obj +181 -0
  103. compas-2.8.1/src/compas/data/samples/saddle.obj +314 -0
  104. compas-2.8.1/src/compas/data/samples/spline.obj +72 -0
  105. compas-2.8.1/src/compas/data/samples/tubemesh.json +1 -0
  106. compas-2.8.1/src/compas/data/samples/tubemesh.obj +378 -0
  107. compas-2.8.1/src/compas/data/samples/tubemesh.off +374 -0
  108. compas-2.8.1/src/compas/data/samples/tubemesh.ply +551 -0
  109. compas-2.8.1/src/compas/data/schema.py +137 -0
  110. compas-2.8.1/src/compas/data/validators.py +243 -0
  111. compas-2.8.1/src/compas/datastructures/__init__.py +78 -0
  112. compas-2.8.1/src/compas/datastructures/_mutablemapping.py +148 -0
  113. compas-2.8.1/src/compas/datastructures/assembly/__init__.py +0 -0
  114. compas-2.8.1/src/compas/datastructures/assembly/assembly.py +234 -0
  115. compas-2.8.1/src/compas/datastructures/assembly/exceptions.py +6 -0
  116. compas-2.8.1/src/compas/datastructures/assembly/part.py +231 -0
  117. compas-2.8.1/src/compas/datastructures/attributes.py +85 -0
  118. compas-2.8.1/src/compas/datastructures/cell_network/__init__.py +0 -0
  119. compas-2.8.1/src/compas/datastructures/cell_network/cell_network.py +4309 -0
  120. compas-2.8.1/src/compas/datastructures/datastructure.py +309 -0
  121. compas-2.8.1/src/compas/datastructures/graph/__init__.py +0 -0
  122. compas-2.8.1/src/compas/datastructures/graph/duality.py +197 -0
  123. compas-2.8.1/src/compas/datastructures/graph/graph.py +2479 -0
  124. compas-2.8.1/src/compas/datastructures/graph/operations/__init__.py +0 -0
  125. compas-2.8.1/src/compas/datastructures/graph/operations/join.py +124 -0
  126. compas-2.8.1/src/compas/datastructures/graph/operations/split.py +63 -0
  127. compas-2.8.1/src/compas/datastructures/graph/planarity.py +292 -0
  128. compas-2.8.1/src/compas/datastructures/graph/smoothing.py +59 -0
  129. compas-2.8.1/src/compas/datastructures/mesh/__init__.py +0 -0
  130. compas-2.8.1/src/compas/datastructures/mesh/conway.py +553 -0
  131. compas-2.8.1/src/compas/datastructures/mesh/duality.py +104 -0
  132. compas-2.8.1/src/compas/datastructures/mesh/mesh.py +5116 -0
  133. compas-2.8.1/src/compas/datastructures/mesh/operations/__init__.py +0 -0
  134. compas-2.8.1/src/compas/datastructures/mesh/operations/collapse.py +350 -0
  135. compas-2.8.1/src/compas/datastructures/mesh/operations/extrude.py +0 -0
  136. compas-2.8.1/src/compas/datastructures/mesh/operations/insert.py +120 -0
  137. compas-2.8.1/src/compas/datastructures/mesh/operations/merge.py +83 -0
  138. compas-2.8.1/src/compas/datastructures/mesh/operations/split.py +263 -0
  139. compas-2.8.1/src/compas/datastructures/mesh/operations/substitute.py +37 -0
  140. compas-2.8.1/src/compas/datastructures/mesh/operations/swap.py +62 -0
  141. compas-2.8.1/src/compas/datastructures/mesh/operations/weld.py +107 -0
  142. compas-2.8.1/src/compas/datastructures/mesh/remesh.py +234 -0
  143. compas-2.8.1/src/compas/datastructures/mesh/slice.py +170 -0
  144. compas-2.8.1/src/compas/datastructures/mesh/smoothing.py +187 -0
  145. compas-2.8.1/src/compas/datastructures/mesh/subdivision.py +754 -0
  146. compas-2.8.1/src/compas/datastructures/tree/__init__.py +0 -0
  147. compas-2.8.1/src/compas/datastructures/tree/hashtree.py +267 -0
  148. compas-2.8.1/src/compas/datastructures/tree/tree.py +504 -0
  149. compas-2.8.1/src/compas/datastructures/volmesh/__init__.py +0 -0
  150. compas-2.8.1/src/compas/datastructures/volmesh/volmesh.py +4403 -0
  151. compas-2.8.1/src/compas/files/__init__.py +27 -0
  152. compas-2.8.1/src/compas/files/_xml/__init__.py +0 -0
  153. compas-2.8.1/src/compas/files/_xml/xml_cli.py +213 -0
  154. compas-2.8.1/src/compas/files/_xml/xml_cpython.py +32 -0
  155. compas-2.8.1/src/compas/files/_xml/xml_pre_38.py +58 -0
  156. compas-2.8.1/src/compas/files/_xml/xml_shared.py +40 -0
  157. compas-2.8.1/src/compas/files/gltf/__init__.py +0 -0
  158. compas-2.8.1/src/compas/files/gltf/constants.py +59 -0
  159. compas-2.8.1/src/compas/files/gltf/data_classes.py +657 -0
  160. compas-2.8.1/src/compas/files/gltf/extensions.py +317 -0
  161. compas-2.8.1/src/compas/files/gltf/gltf.py +92 -0
  162. compas-2.8.1/src/compas/files/gltf/gltf_children.py +64 -0
  163. compas-2.8.1/src/compas/files/gltf/gltf_content.py +615 -0
  164. compas-2.8.1/src/compas/files/gltf/gltf_exporter.py +465 -0
  165. compas-2.8.1/src/compas/files/gltf/gltf_mesh.py +273 -0
  166. compas-2.8.1/src/compas/files/gltf/gltf_node.py +348 -0
  167. compas-2.8.1/src/compas/files/gltf/gltf_parser.py +115 -0
  168. compas-2.8.1/src/compas/files/gltf/gltf_reader.py +310 -0
  169. compas-2.8.1/src/compas/files/gltf/gltf_scene.py +125 -0
  170. compas-2.8.1/src/compas/files/gltf/helpers.py +59 -0
  171. compas-2.8.1/src/compas/files/obj.py +680 -0
  172. compas-2.8.1/src/compas/files/off.py +296 -0
  173. compas-2.8.1/src/compas/files/ply.py +697 -0
  174. compas-2.8.1/src/compas/files/stl.py +436 -0
  175. compas-2.8.1/src/compas/files/xml.py +328 -0
  176. compas-2.8.1/src/compas/geometry/__init__.py +772 -0
  177. compas-2.8.1/src/compas/geometry/_core/__init__.py +0 -0
  178. compas-2.8.1/src/compas/geometry/_core/_algebra.py +2813 -0
  179. compas-2.8.1/src/compas/geometry/_core/angles.py +408 -0
  180. compas-2.8.1/src/compas/geometry/_core/centroids.py +573 -0
  181. compas-2.8.1/src/compas/geometry/_core/distance.py +895 -0
  182. compas-2.8.1/src/compas/geometry/_core/normals.py +149 -0
  183. compas-2.8.1/src/compas/geometry/_core/nurbs.py +367 -0
  184. compas-2.8.1/src/compas/geometry/_core/predicates_2.py +582 -0
  185. compas-2.8.1/src/compas/geometry/_core/predicates_3.py +1111 -0
  186. compas-2.8.1/src/compas/geometry/_core/quaternions.py +196 -0
  187. compas-2.8.1/src/compas/geometry/_core/size.py +204 -0
  188. compas-2.8.1/src/compas/geometry/_core/tangent.py +56 -0
  189. compas-2.8.1/src/compas/geometry/_core/transformations.py +1097 -0
  190. compas-2.8.1/src/compas/geometry/_core/transformations_numpy.py +279 -0
  191. compas-2.8.1/src/compas/geometry/bbox.py +145 -0
  192. compas-2.8.1/src/compas/geometry/bbox_numpy.py +306 -0
  193. compas-2.8.1/src/compas/geometry/bestfit.py +77 -0
  194. compas-2.8.1/src/compas/geometry/bestfit_numpy.py +259 -0
  195. compas-2.8.1/src/compas/geometry/booleans.py +297 -0
  196. compas-2.8.1/src/compas/geometry/booleans_shapely.py +147 -0
  197. compas-2.8.1/src/compas/geometry/brep/__init__.py +112 -0
  198. compas-2.8.1/src/compas/geometry/brep/brep.py +1131 -0
  199. compas-2.8.1/src/compas/geometry/brep/edge.py +302 -0
  200. compas-2.8.1/src/compas/geometry/brep/errors.py +22 -0
  201. compas-2.8.1/src/compas/geometry/brep/face.py +329 -0
  202. compas-2.8.1/src/compas/geometry/brep/loop.py +87 -0
  203. compas-2.8.1/src/compas/geometry/brep/trim.py +63 -0
  204. compas-2.8.1/src/compas/geometry/brep/vertex.py +46 -0
  205. compas-2.8.1/src/compas/geometry/contours.py +32 -0
  206. compas-2.8.1/src/compas/geometry/curves/__init__.py +0 -0
  207. compas-2.8.1/src/compas/geometry/curves/arc.py +422 -0
  208. compas-2.8.1/src/compas/geometry/curves/bezier.py +338 -0
  209. compas-2.8.1/src/compas/geometry/curves/circle.py +500 -0
  210. compas-2.8.1/src/compas/geometry/curves/conic.py +9 -0
  211. compas-2.8.1/src/compas/geometry/curves/curve.py +591 -0
  212. compas-2.8.1/src/compas/geometry/curves/ellipse.py +408 -0
  213. compas-2.8.1/src/compas/geometry/curves/hyperbola.py +336 -0
  214. compas-2.8.1/src/compas/geometry/curves/line.py +431 -0
  215. compas-2.8.1/src/compas/geometry/curves/nurbs.py +404 -0
  216. compas-2.8.1/src/compas/geometry/curves/parabola.py +256 -0
  217. compas-2.8.1/src/compas/geometry/curves/polyline.py +710 -0
  218. compas-2.8.1/src/compas/geometry/frame.py +798 -0
  219. compas-2.8.1/src/compas/geometry/geometry.py +287 -0
  220. compas-2.8.1/src/compas/geometry/hull.py +146 -0
  221. compas-2.8.1/src/compas/geometry/hull_numpy.py +82 -0
  222. compas-2.8.1/src/compas/geometry/icp_numpy.py +113 -0
  223. compas-2.8.1/src/compas/geometry/interpolation_barycentric.py +38 -0
  224. compas-2.8.1/src/compas/geometry/interpolation_coons.py +102 -0
  225. compas-2.8.1/src/compas/geometry/interpolation_tweening.py +87 -0
  226. compas-2.8.1/src/compas/geometry/intersection.py +121 -0
  227. compas-2.8.1/src/compas/geometry/intersections.py +1105 -0
  228. compas-2.8.1/src/compas/geometry/kdtree.py +153 -0
  229. compas-2.8.1/src/compas/geometry/offset.py +208 -0
  230. compas-2.8.1/src/compas/geometry/pca_numpy.py +87 -0
  231. compas-2.8.1/src/compas/geometry/plane.py +679 -0
  232. compas-2.8.1/src/compas/geometry/point.py +671 -0
  233. compas-2.8.1/src/compas/geometry/pointcloud.py +410 -0
  234. compas-2.8.1/src/compas/geometry/polygon.py +478 -0
  235. compas-2.8.1/src/compas/geometry/polyhedron.py +658 -0
  236. compas-2.8.1/src/compas/geometry/projection.py +155 -0
  237. compas-2.8.1/src/compas/geometry/quadmesh_planarize.py +30 -0
  238. compas-2.8.1/src/compas/geometry/quadmesh_planarize_none.py +114 -0
  239. compas-2.8.1/src/compas/geometry/quaternion.py +553 -0
  240. compas-2.8.1/src/compas/geometry/reflection.py +102 -0
  241. compas-2.8.1/src/compas/geometry/rotation.py +354 -0
  242. compas-2.8.1/src/compas/geometry/scale.py +102 -0
  243. compas-2.8.1/src/compas/geometry/shapes/__init__.py +0 -0
  244. compas-2.8.1/src/compas/geometry/shapes/box.py +742 -0
  245. compas-2.8.1/src/compas/geometry/shapes/capsule.py +453 -0
  246. compas-2.8.1/src/compas/geometry/shapes/cone.py +305 -0
  247. compas-2.8.1/src/compas/geometry/shapes/cylinder.py +350 -0
  248. compas-2.8.1/src/compas/geometry/shapes/shape.py +478 -0
  249. compas-2.8.1/src/compas/geometry/shapes/sphere.py +322 -0
  250. compas-2.8.1/src/compas/geometry/shapes/torus.py +280 -0
  251. compas-2.8.1/src/compas/geometry/shear.py +115 -0
  252. compas-2.8.1/src/compas/geometry/surfaces/__init__.py +0 -0
  253. compas-2.8.1/src/compas/geometry/surfaces/conical.py +159 -0
  254. compas-2.8.1/src/compas/geometry/surfaces/cylindrical.py +244 -0
  255. compas-2.8.1/src/compas/geometry/surfaces/extrusion.py +0 -0
  256. compas-2.8.1/src/compas/geometry/surfaces/nurbs.py +561 -0
  257. compas-2.8.1/src/compas/geometry/surfaces/planar.py +216 -0
  258. compas-2.8.1/src/compas/geometry/surfaces/revolution.py +0 -0
  259. compas-2.8.1/src/compas/geometry/surfaces/spherical.py +252 -0
  260. compas-2.8.1/src/compas/geometry/surfaces/surface.py +657 -0
  261. compas-2.8.1/src/compas/geometry/surfaces/toroidal.py +191 -0
  262. compas-2.8.1/src/compas/geometry/transformation.py +553 -0
  263. compas-2.8.1/src/compas/geometry/translation.py +104 -0
  264. compas-2.8.1/src/compas/geometry/triangulation_delaunay.py +102 -0
  265. compas-2.8.1/src/compas/geometry/triangulation_earclip.py +300 -0
  266. compas-2.8.1/src/compas/geometry/trimesh_curvature.py +113 -0
  267. compas-2.8.1/src/compas/geometry/trimesh_descent_numpy.py +26 -0
  268. compas-2.8.1/src/compas/geometry/trimesh_geodistance.py +35 -0
  269. compas-2.8.1/src/compas/geometry/trimesh_gradient_numpy.py +74 -0
  270. compas-2.8.1/src/compas/geometry/trimesh_isolines.py +41 -0
  271. compas-2.8.1/src/compas/geometry/trimesh_matrices.py +31 -0
  272. compas-2.8.1/src/compas/geometry/trimesh_matrices_numpy.py +191 -0
  273. compas-2.8.1/src/compas/geometry/trimesh_parametrisation.py +55 -0
  274. compas-2.8.1/src/compas/geometry/trimesh_pull_points_numpy.py +216 -0
  275. compas-2.8.1/src/compas/geometry/trimesh_remeshing.py +97 -0
  276. compas-2.8.1/src/compas/geometry/trimesh_samplepoints_numpy.py +108 -0
  277. compas-2.8.1/src/compas/geometry/trimesh_slicing.py +28 -0
  278. compas-2.8.1/src/compas/geometry/trimesh_smoothing_numpy.py +34 -0
  279. compas-2.8.1/src/compas/geometry/vector.py +945 -0
  280. compas-2.8.1/src/compas/itertools.py +453 -0
  281. compas-2.8.1/src/compas/linalg.py +634 -0
  282. compas-2.8.1/src/compas/matrices.py +314 -0
  283. compas-2.8.1/src/compas/plugins.py +501 -0
  284. compas-2.8.1/src/compas/rpc/__init__.py +20 -0
  285. compas-2.8.1/src/compas/rpc/__main__.py +77 -0
  286. compas-2.8.1/src/compas/rpc/dispatcher.py +181 -0
  287. compas-2.8.1/src/compas/rpc/errors.py +11 -0
  288. compas-2.8.1/src/compas/rpc/proxy.py +437 -0
  289. compas-2.8.1/src/compas/rpc/server.py +79 -0
  290. compas-2.8.1/src/compas/rpc/services/__init__.py +0 -0
  291. compas-2.8.1/src/compas/rpc/services/default.py +87 -0
  292. compas-2.8.1/src/compas/rpc/services/watcher.py +43 -0
  293. compas-2.8.1/src/compas/scene/__init__.py +56 -0
  294. compas-2.8.1/src/compas/scene/context.py +154 -0
  295. compas-2.8.1/src/compas/scene/curveobject.py +0 -0
  296. compas-2.8.1/src/compas/scene/descriptors/__init__.py +0 -0
  297. compas-2.8.1/src/compas/scene/descriptors/attribute.py +30 -0
  298. compas-2.8.1/src/compas/scene/descriptors/color.py +90 -0
  299. compas-2.8.1/src/compas/scene/descriptors/colordict.py +101 -0
  300. compas-2.8.1/src/compas/scene/descriptors/protocol.py +12 -0
  301. compas-2.8.1/src/compas/scene/exceptions.py +7 -0
  302. compas-2.8.1/src/compas/scene/frameobject.py +0 -0
  303. compas-2.8.1/src/compas/scene/geometryobject.py +73 -0
  304. compas-2.8.1/src/compas/scene/graphobject.py +185 -0
  305. compas-2.8.1/src/compas/scene/meshobject.py +204 -0
  306. compas-2.8.1/src/compas/scene/planeobject.py +0 -0
  307. compas-2.8.1/src/compas/scene/scene.py +267 -0
  308. compas-2.8.1/src/compas/scene/sceneobject.py +269 -0
  309. compas-2.8.1/src/compas/scene/shapeobject.py +0 -0
  310. compas-2.8.1/src/compas/scene/surfaceobject.py +0 -0
  311. compas-2.8.1/src/compas/scene/volmeshobject.py +253 -0
  312. compas-2.8.1/src/compas/tolerance.py +894 -0
  313. compas-2.8.1/src/compas/topology/__init__.py +45 -0
  314. compas-2.8.1/src/compas/topology/combinatorics.py +108 -0
  315. compas-2.8.1/src/compas/topology/connectivity.py +129 -0
  316. compas-2.8.1/src/compas/topology/orientation.py +224 -0
  317. compas-2.8.1/src/compas/topology/traversal.py +567 -0
  318. compas-2.8.1/src/compas/utilities/__init__.py +25 -0
  319. compas-2.8.1/src/compas/utilities/azync.py +155 -0
  320. compas-2.8.1/src/compas/utilities/datetime.py +40 -0
  321. compas-2.8.1/src/compas/utilities/decorators.py +136 -0
  322. compas-2.8.1/src/compas/utilities/remote.py +54 -0
  323. compas-2.8.1/src/compas/utilities/ssh.py +169 -0
  324. compas-2.8.1/src/compas.egg-info/PKG-INFO +134 -0
  325. compas-2.8.1/src/compas.egg-info/SOURCES.txt +478 -0
  326. compas-2.8.1/src/compas.egg-info/dependency_links.txt +1 -0
  327. compas-2.8.1/src/compas.egg-info/entry_points.txt +2 -0
  328. compas-2.8.1/src/compas.egg-info/not-zip-safe +1 -0
  329. compas-2.8.1/src/compas.egg-info/requires.txt +19 -0
  330. compas-2.8.1/src/compas.egg-info/top_level.txt +4 -0
  331. compas-2.8.1/src/compas_blender/__init__.py +252 -0
  332. compas-2.8.1/src/compas_blender/collections.py +130 -0
  333. compas-2.8.1/src/compas_blender/conversions/__init__.py +48 -0
  334. compas-2.8.1/src/compas_blender/conversions/breps.py +0 -0
  335. compas-2.8.1/src/compas_blender/conversions/colors.py +23 -0
  336. compas-2.8.1/src/compas_blender/conversions/curves.py +125 -0
  337. compas-2.8.1/src/compas_blender/conversions/geometry.py +161 -0
  338. compas-2.8.1/src/compas_blender/conversions/meshes.py +148 -0
  339. compas-2.8.1/src/compas_blender/conversions/surfaces.py +48 -0
  340. compas-2.8.1/src/compas_blender/conversions/transformations.py +46 -0
  341. compas-2.8.1/src/compas_blender/data.py +30 -0
  342. compas-2.8.1/src/compas_blender/drawing.py +768 -0
  343. compas-2.8.1/src/compas_blender/geometry/__init__.py +14 -0
  344. compas-2.8.1/src/compas_blender/geometry/booleans.py +100 -0
  345. compas-2.8.1/src/compas_blender/install.py +338 -0
  346. compas-2.8.1/src/compas_blender/objects.py +326 -0
  347. compas-2.8.1/src/compas_blender/print_python_path.py +18 -0
  348. compas-2.8.1/src/compas_blender/scene/__init__.py +109 -0
  349. compas-2.8.1/src/compas_blender/scene/boxobject.py +27 -0
  350. compas-2.8.1/src/compas_blender/scene/circleobject.py +39 -0
  351. compas-2.8.1/src/compas_blender/scene/curveobject.py +44 -0
  352. compas-2.8.1/src/compas_blender/scene/frameobject.py +102 -0
  353. compas-2.8.1/src/compas_blender/scene/graphobject.py +147 -0
  354. compas-2.8.1/src/compas_blender/scene/lineobject.py +44 -0
  355. compas-2.8.1/src/compas_blender/scene/meshobject.py +304 -0
  356. compas-2.8.1/src/compas_blender/scene/planeobject.py +78 -0
  357. compas-2.8.1/src/compas_blender/scene/pointcloudobject.py +53 -0
  358. compas-2.8.1/src/compas_blender/scene/pointobject.py +57 -0
  359. compas-2.8.1/src/compas_blender/scene/polygonobject.py +43 -0
  360. compas-2.8.1/src/compas_blender/scene/polyhedronobject.py +43 -0
  361. compas-2.8.1/src/compas_blender/scene/polylineobject.py +40 -0
  362. compas-2.8.1/src/compas_blender/scene/sceneobject.py +257 -0
  363. compas-2.8.1/src/compas_blender/scene/shapeobject.py +75 -0
  364. compas-2.8.1/src/compas_blender/scene/surfaceobject.py +40 -0
  365. compas-2.8.1/src/compas_blender/scene/vectorobject.py +55 -0
  366. compas-2.8.1/src/compas_blender/scene/volmeshobject.py +334 -0
  367. compas-2.8.1/src/compas_blender/utilities/__init__.py +42 -0
  368. compas-2.8.1/src/compas_ghpython/__init__.py +121 -0
  369. compas-2.8.1/src/compas_ghpython/components/Compas_FromJson/code.py +18 -0
  370. compas-2.8.1/src/compas_ghpython/components/Compas_Info/code.py +15 -0
  371. compas-2.8.1/src/compas_ghpython/components/Compas_RpcCall/code.py +31 -0
  372. compas-2.8.1/src/compas_ghpython/components/Compas_ToJson/code.py +19 -0
  373. compas-2.8.1/src/compas_ghpython/components/Compas_ToRhinoGeometry/code.py +15 -0
  374. compas-2.8.1/src/compas_ghpython/components/__init__.py +99 -0
  375. compas-2.8.1/src/compas_ghpython/components/ghuser/Compas_FromJson.ghuser +0 -0
  376. compas-2.8.1/src/compas_ghpython/components/ghuser/Compas_Info.ghuser +0 -0
  377. compas-2.8.1/src/compas_ghpython/components/ghuser/Compas_RpcCall.ghuser +0 -0
  378. compas-2.8.1/src/compas_ghpython/components/ghuser/Compas_ToJson.ghuser +0 -0
  379. compas-2.8.1/src/compas_ghpython/components/ghuser/Compas_ToRhinoGeometry.ghuser +0 -0
  380. compas-2.8.1/src/compas_ghpython/drawing.py +461 -0
  381. compas-2.8.1/src/compas_ghpython/install.py +29 -0
  382. compas-2.8.1/src/compas_ghpython/scene/__init__.py +116 -0
  383. compas-2.8.1/src/compas_ghpython/scene/boxobject.py +28 -0
  384. compas-2.8.1/src/compas_ghpython/scene/brepobject.py +28 -0
  385. compas-2.8.1/src/compas_ghpython/scene/capsuleobject.py +29 -0
  386. compas-2.8.1/src/compas_ghpython/scene/circleobject.py +28 -0
  387. compas-2.8.1/src/compas_ghpython/scene/coneobject.py +28 -0
  388. compas-2.8.1/src/compas_ghpython/scene/curveobject.py +27 -0
  389. compas-2.8.1/src/compas_ghpython/scene/cylinderobject.py +27 -0
  390. compas-2.8.1/src/compas_ghpython/scene/ellipseobject.py +28 -0
  391. compas-2.8.1/src/compas_ghpython/scene/frameobject.py +58 -0
  392. compas-2.8.1/src/compas_ghpython/scene/graphobject.py +57 -0
  393. compas-2.8.1/src/compas_ghpython/scene/lineobject.py +27 -0
  394. compas-2.8.1/src/compas_ghpython/scene/meshobject.py +166 -0
  395. compas-2.8.1/src/compas_ghpython/scene/planeobject.py +59 -0
  396. compas-2.8.1/src/compas_ghpython/scene/pointobject.py +26 -0
  397. compas-2.8.1/src/compas_ghpython/scene/polygonobject.py +30 -0
  398. compas-2.8.1/src/compas_ghpython/scene/polyhedronobject.py +35 -0
  399. compas-2.8.1/src/compas_ghpython/scene/polylineobject.py +27 -0
  400. compas-2.8.1/src/compas_ghpython/scene/sceneobject.py +9 -0
  401. compas-2.8.1/src/compas_ghpython/scene/sphereobject.py +27 -0
  402. compas-2.8.1/src/compas_ghpython/scene/surfaceobject.py +27 -0
  403. compas-2.8.1/src/compas_ghpython/scene/torusobject.py +27 -0
  404. compas-2.8.1/src/compas_ghpython/scene/vectorobject.py +39 -0
  405. compas-2.8.1/src/compas_ghpython/scene/volmeshobject.py +126 -0
  406. compas-2.8.1/src/compas_ghpython/sets.py +83 -0
  407. compas-2.8.1/src/compas_ghpython/timer.py +36 -0
  408. compas-2.8.1/src/compas_ghpython/uninstall.py +31 -0
  409. compas-2.8.1/src/compas_rhino/__init__.py +607 -0
  410. compas-2.8.1/src/compas_rhino/conduits/__init__.py +16 -0
  411. compas-2.8.1/src/compas_rhino/conduits/base.py +121 -0
  412. compas-2.8.1/src/compas_rhino/conduits/faces.py +91 -0
  413. compas-2.8.1/src/compas_rhino/conduits/labels.py +105 -0
  414. compas-2.8.1/src/compas_rhino/conduits/lines.py +114 -0
  415. compas-2.8.1/src/compas_rhino/conduits/points.py +109 -0
  416. compas-2.8.1/src/compas_rhino/conversions/__init__.py +178 -0
  417. compas-2.8.1/src/compas_rhino/conversions/breps.py +306 -0
  418. compas-2.8.1/src/compas_rhino/conversions/curves.py +376 -0
  419. compas-2.8.1/src/compas_rhino/conversions/docobjects.py +132 -0
  420. compas-2.8.1/src/compas_rhino/conversions/exceptions.py +7 -0
  421. compas-2.8.1/src/compas_rhino/conversions/extrusions.py +80 -0
  422. compas-2.8.1/src/compas_rhino/conversions/geometry.py +182 -0
  423. compas-2.8.1/src/compas_rhino/conversions/meshes.py +281 -0
  424. compas-2.8.1/src/compas_rhino/conversions/shapes.py +288 -0
  425. compas-2.8.1/src/compas_rhino/conversions/surfaces.py +100 -0
  426. compas-2.8.1/src/compas_rhino/conversions/transformations.py +45 -0
  427. compas-2.8.1/src/compas_rhino/drawing.py +1080 -0
  428. compas-2.8.1/src/compas_rhino/geometry/__init__.py +44 -0
  429. compas-2.8.1/src/compas_rhino/geometry/booleans.py +118 -0
  430. compas-2.8.1/src/compas_rhino/geometry/brep/__init__.py +60 -0
  431. compas-2.8.1/src/compas_rhino/geometry/brep/brep.py +639 -0
  432. compas-2.8.1/src/compas_rhino/geometry/brep/builder.py +184 -0
  433. compas-2.8.1/src/compas_rhino/geometry/brep/edge.py +202 -0
  434. compas-2.8.1/src/compas_rhino/geometry/brep/face.py +285 -0
  435. compas-2.8.1/src/compas_rhino/geometry/brep/loop.py +129 -0
  436. compas-2.8.1/src/compas_rhino/geometry/brep/trim.py +124 -0
  437. compas-2.8.1/src/compas_rhino/geometry/brep/vertex.py +76 -0
  438. compas-2.8.1/src/compas_rhino/geometry/curves/__init__.py +34 -0
  439. compas-2.8.1/src/compas_rhino/geometry/curves/curve.py +405 -0
  440. compas-2.8.1/src/compas_rhino/geometry/curves/nurbs.py +249 -0
  441. compas-2.8.1/src/compas_rhino/geometry/surfaces/__init__.py +59 -0
  442. compas-2.8.1/src/compas_rhino/geometry/surfaces/nurbs.py +479 -0
  443. compas-2.8.1/src/compas_rhino/geometry/surfaces/surface.py +308 -0
  444. compas-2.8.1/src/compas_rhino/geometry/trimesh_curvature.py +344 -0
  445. compas-2.8.1/src/compas_rhino/geometry/trimesh_slicing.py +65 -0
  446. compas-2.8.1/src/compas_rhino/install.py +382 -0
  447. compas-2.8.1/src/compas_rhino/install_plugin.py +169 -0
  448. compas-2.8.1/src/compas_rhino/install_with_pip.py +20 -0
  449. compas-2.8.1/src/compas_rhino/layers.py +347 -0
  450. compas-2.8.1/src/compas_rhino/objects.py +983 -0
  451. compas-2.8.1/src/compas_rhino/print_python_path.py +18 -0
  452. compas-2.8.1/src/compas_rhino/scene/__init__.py +124 -0
  453. compas-2.8.1/src/compas_rhino/scene/boxobject.py +31 -0
  454. compas-2.8.1/src/compas_rhino/scene/brepobject.py +31 -0
  455. compas-2.8.1/src/compas_rhino/scene/capsuleobject.py +33 -0
  456. compas-2.8.1/src/compas_rhino/scene/circleobject.py +31 -0
  457. compas-2.8.1/src/compas_rhino/scene/coneobject.py +31 -0
  458. compas-2.8.1/src/compas_rhino/scene/curveobject.py +31 -0
  459. compas-2.8.1/src/compas_rhino/scene/cylinderobject.py +31 -0
  460. compas-2.8.1/src/compas_rhino/scene/ellipseobject.py +32 -0
  461. compas-2.8.1/src/compas_rhino/scene/frameobject.py +97 -0
  462. compas-2.8.1/src/compas_rhino/scene/graphobject.py +263 -0
  463. compas-2.8.1/src/compas_rhino/scene/helpers.py +33 -0
  464. compas-2.8.1/src/compas_rhino/scene/lineobject.py +31 -0
  465. compas-2.8.1/src/compas_rhino/scene/meshobject.py +548 -0
  466. compas-2.8.1/src/compas_rhino/scene/planeobject.py +75 -0
  467. compas-2.8.1/src/compas_rhino/scene/pointobject.py +31 -0
  468. compas-2.8.1/src/compas_rhino/scene/polygonobject.py +33 -0
  469. compas-2.8.1/src/compas_rhino/scene/polyhedronobject.py +33 -0
  470. compas-2.8.1/src/compas_rhino/scene/polylineobject.py +31 -0
  471. compas-2.8.1/src/compas_rhino/scene/sceneobject.py +130 -0
  472. compas-2.8.1/src/compas_rhino/scene/sphereobject.py +31 -0
  473. compas-2.8.1/src/compas_rhino/scene/surfaceobject.py +30 -0
  474. compas-2.8.1/src/compas_rhino/scene/torusobject.py +31 -0
  475. compas-2.8.1/src/compas_rhino/scene/vectorobject.py +37 -0
  476. compas-2.8.1/src/compas_rhino/scene/volmeshobject.py +509 -0
  477. compas-2.8.1/src/compas_rhino/ui.py +114 -0
  478. compas-2.8.1/src/compas_rhino/uninstall.py +243 -0
  479. compas-2.8.1/src/compas_rhino/uninstall_plugin.py +91 -0
  480. compas-2.8.1/src/compas_rhino/utilities/__init__.py +40 -0
@@ -0,0 +1,43 @@
1
+ # Credits
2
+
3
+ ## Project Lead
4
+
5
+ - Tom Van Mele <<tom.v.mele@gmail.com>> [@brgcode](https://github.com/brgcode), [@tomvanmele](https://github.com/tomvanmele)
6
+
7
+ ## Main Developers
8
+
9
+ - Gonzalo Casas <<casas@arch.ethz.ch>> [@gonzalocasas](https://github.com/gonzalocasas)
10
+ - Romana Rust <<rust@arch.ethz.ch>> [@romanarust](https://github.com/romanarust)
11
+ - Mathias Bernhard <<mathias.bernhard@epfl.ch>> [@worbit](https://github.com/worbit)
12
+
13
+ ## Contributors
14
+
15
+ - Andrew Liew <<a.liew@sheffield.ac.uk>> [@andrewliew](https://github.com/andrewliew)
16
+ - Tomás Méndez Echenagucia <<mendez@arch.ethz.ch>> [@tmsmendez](https://github.com/tmsmendez)
17
+ - Matthias Rippmann <<rippmann@arch.ethz.ch>> [@Rippmann](https://github.com/Rippmann)
18
+ - Kathrin Dörfler <<doerfler@arch.ethz.ch>> [@Kathrin3010](https://github.com/Kathrin3010)
19
+ - Robin Oval <<oval@arch.ethz.ch>> [@robin-oval](https://github.com/robin-oval)
20
+ - Rafael Pastrana <<pastrana@arch.ethz.ch>> [@arpastrana](https://github.com/arpastrana)
21
+ - Achilleas Xydis <<xydis@arch.ethz.ch>> [@Achillx](https://github.com/Achillx)
22
+ - Elitsa Dimitrova <<e.dimitrova77@gmail.com>> [@elidim](https://github.com/elidim)
23
+ - Li Chen <<li.chen@arch.ethz.ch>> [@licini](https://github.com/licini)
24
+ - Anton Johansson <<anton@tetov.se>> [@tetov](https://github.com/tetov)
25
+ - Victor Leung <<yck011522@gmail.com>> [@yck011522](https://github.com/yck011522)
26
+ - Robin Jodon <<robin.jodon@epfl.ch>> [@rojodon](https://github.com/rjodon)
27
+ - Nik Eftekhar Olivo <<eftekhar@arch.ethz.ch>> [@nikeftekhar](https://github.com/nikeftekhar)
28
+ - Beverly Lytle <<lytle@arch.ethz.ch>> [@beverlylytle](https://github.com/beverlylytle>)
29
+ - Juney Lee <<juney.lee@arch.ethz.ch>> [@juney-lee](https://github.com/juney-lee)
30
+ - Xingxin He <<xingxin.he@mail.polimi.it>> [@XingxinHE](https://github.com/XingxinHE)
31
+ - Robin Godwyll <<rodwyll+github@gmail.com>> [@robin-gdwl](https://github.com/robin-gdwl)
32
+ - Mattis Koh <<mattiskoh@gmail.com>> [@mattiskoh](https://github.com/mattiskoh)
33
+ - Andrea Ghensi <<a.ghensi@swsglobal.com>> [@sanzoghenzo](https://github.com/sanzoghenzo)
34
+ - Nizar Taha <<taha@arch.ethz.ch>> [@nizartaha](https://github.com/nizartaha)
35
+ - Gene Ting-Chun Kao <<kao@arch.ethz.ch>> [@GeneKao](https://github.com/GeneKao)
36
+ - Chen Kasirer <<kasirer@arch.ethz.ch>> [@chenkasirer](https://github.com/chenkasirer)
37
+ - Aleksandra Apolinarska <<apolinarska@arch.ethz.ch>> [@funkchaser](https://github.com/funkchaser)
38
+ - Nickolas Maslarinos <<maslarinosnickolas@gmail.com>> [@nmaslarinos](https://github.com/nmaslarinos)
39
+ - Katerina Toumpektsi <<e.toumpeksti@gmail.com>> [@katarametin](https://github.com/katarametin)
40
+ - Joelle Baehr-Bruyere <<joelle.baehr-bruyere@epfl.ch>> [@baehrjo](https://github.com/baehrjo)
41
+ - Adam Anouar <<aanouar@student.ethz.ch>> [@AdamAnouar](https://github.com/AdamAnouar)
42
+ - Joseph Kenny <<kenny@arch.ethz.ch>> [@jckenny59](https://github.com/jckenny59)
43
+ - Panayiotis Papacharalambous <<papacharalambous@arch.ethz.ch>> [@papachap](https://github.com/papachap)
compas-2.8.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017-2023 COMPAS Association
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.
compas-2.8.1/PKG-INFO ADDED
@@ -0,0 +1,134 @@
1
+ Metadata-Version: 2.2
2
+ Name: compas
3
+ Version: 2.8.1
4
+ Summary: The main COMPAS framework library.
5
+ Author-email: tom van mele <tom.v.mele@gmail.com>
6
+ License: MIT License
7
+
8
+ Copyright (c) 2017-2023 COMPAS Association
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+
28
+ Project-URL: Homepage, https://compas-dev.github.io/compas
29
+ Project-URL: Documentation, https://compas-dev.github.io/compas
30
+ Project-URL: Repository, https://github.com/compas-dev/compas.git
31
+ Project-URL: Changelog, https://github.com/compas-dev/compas/blob/main/CHANGELOG.md
32
+ Project-URL: Issues, https://github.com/compas-dev/compas/issues
33
+ Project-URL: Forum, https://forum.compas-framework.org/
34
+ Keywords: architecture,engineering,fabrication,construction
35
+ Classifier: Development Status :: 5 - Production/Stable
36
+ Classifier: Topic :: Scientific/Engineering
37
+ Classifier: Operating System :: Unix
38
+ Classifier: Operating System :: POSIX
39
+ Classifier: Operating System :: Microsoft :: Windows
40
+ Classifier: Programming Language :: Python
41
+ Classifier: Programming Language :: Python :: 3
42
+ Classifier: Programming Language :: Python :: 3.9
43
+ Classifier: Programming Language :: Python :: 3.10
44
+ Classifier: Programming Language :: Python :: 3.11
45
+ Classifier: Programming Language :: Python :: 3.12
46
+ Requires-Python: >=3.9
47
+ Description-Content-Type: text/markdown
48
+ License-File: LICENSE
49
+ License-File: AUTHORS.md
50
+ Requires-Dist: jsonschema
51
+ Requires-Dist: networkx>=3.0
52
+ Requires-Dist: numpy<2,>=1.15.4
53
+ Requires-Dist: scipy>=1.1
54
+ Requires-Dist: watchdog; sys_platform != "emscripten"
55
+ Provides-Extra: dev
56
+ Requires-Dist: attrs>=17.4; extra == "dev"
57
+ Requires-Dist: black>=22.12.0; extra == "dev"
58
+ Requires-Dist: bump-my-version; extra == "dev"
59
+ Requires-Dist: compas_invocations2; extra == "dev"
60
+ Requires-Dist: invoke>=0.14; extra == "dev"
61
+ Requires-Dist: pytest-cov; extra == "dev"
62
+ Requires-Dist: ruff; extra == "dev"
63
+ Requires-Dist: sphinx_compas2_theme; extra == "dev"
64
+ Requires-Dist: twine; extra == "dev"
65
+ Requires-Dist: wheel; extra == "dev"
66
+
67
+ # The COMPAS framework
68
+
69
+ ![build](https://github.com/compas-dev/compas/workflows/build/badge.svg)
70
+ [![codecov](https://codecov.io/github/compas-dev/compas/graph/badge.svg?token=wpkfew9szQ)](https://codecov.io/github/compas-dev/compas)
71
+ [![GitHub - License](https://img.shields.io/github/license/compas-dev/compas.svg)](https://github.com/compas-dev/compas)
72
+ [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/compas)](https://anaconda.org/conda-forge/compas)
73
+ [![pip downloads](https://img.shields.io/pypi/dm/compas)](https://pypi.python.org/project/COMPAS)
74
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/COMPAS.svg)](https://pypi.python.org/project/COMPAS)
75
+ [![PyPI - Latest Release](https://img.shields.io/pypi/v/COMPAS.svg)](https://pypi.python.org/project/COMPAS)
76
+ [![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/compas)](https://anaconda.org/conda-forge/compas)
77
+ [![Conda - Platform](https://img.shields.io/conda/pn/conda-forge/compas)](https://anaconda.org/conda-forge/compas)
78
+ [![DOI](https://zenodo.org/badge/104857648.svg)](https://zenodo.org/badge/latestdoi/104857648)
79
+ [![Twitter Follow](https://img.shields.io/twitter/follow/compas_dev?style=social)](https://twitter.com/compas_dev)
80
+
81
+ The **COMPAS** framework is an open-source, Python-based framework for computational research and collaboration in architecture, engineering, digital fabrication and construction.
82
+
83
+ The framework consists of a general-purpose core library, written in pure Python, and a growing collection of extensions that provide easy access to peer-reviewed research, state-of-the-art external libraries such as CGAL, libigl and Triangle, and tools with specialized functionality for AEFC applications such as Abaqus, ANSYS, SOFISTIK, ROS, etc.
84
+
85
+ COMPAS has dedicated packages for working with Rhino, Grasshopper, and Blender, but it can be used in any environment that supports Python scripting. It is available on PyPI and conda-forge and can be easily installed using popular package managers on multiple platforms.
86
+
87
+ ## COMPAS 2.0!
88
+
89
+ We are working on a new major release of the framework, COMPAS 2.0!
90
+ Therefore, be aware that the current version of the repository already contains some changes that are incompatible with the version 1 releases.
91
+ The documentation of the latest stable version (COMPAS 1.17.9) [is available here](https://compas.dev/compas/1.17.9).
92
+
93
+ ## Installation
94
+
95
+ The recommended way to install **COMPAS** is to use [Anaconda/conda](https://conda.io/docs/):
96
+
97
+ ```bash
98
+ conda config --add channels conda-forge
99
+ conda install compas
100
+ ```
101
+
102
+ For other installation options, [see the user guide](https://compas.dev/compas/latest/userguide/installation.html)
103
+
104
+ ## First Steps
105
+
106
+ * [First steps](https://compas.dev/compas/latest/userguide/firststeps.html)
107
+ * [Tutorials: geometry basics](https://compas.dev/compas/latest/userguide/basics.geometry.html)
108
+ * [Tutorials: datastructures](https://compas.dev/compas/latest/userguide/basics.datastructures.html)
109
+ * [API Reference](https://compas.dev/compas/latest/api/index.html)
110
+
111
+ ## Questions and feedback
112
+
113
+ The **COMPAS** framework has a [forum for questions and discussions](https://forum.compas-framework.org/).
114
+
115
+ ## Issue tracker
116
+
117
+ If you find a bug, please help us solve it by [filing a report](https://github.com/compas-dev/compas/issues).
118
+
119
+ ## Contributing
120
+
121
+ If you want to contribute, check out the [contribution guidelines](https://compas.dev/compas/latest/devguide/index.html).
122
+
123
+ ## Changelog
124
+
125
+ See changes between releases on the [changelog](https://github.com/compas-dev/compas/blob/main/CHANGELOG.md).
126
+
127
+ ## License
128
+
129
+ The main library of **COMPAS** is [released under the MIT license](https://compas.dev/compas/latest/userguide/license.html).
130
+
131
+ ## Credits
132
+
133
+ COMPAS is developed by a small team of core developers (`compas-dev`) and with the support of contributers from the open source community.
134
+ See the [list of authors](https://github.com/compas-dev/compas/blob/main/AUTHORS.md) for a complete overview...
compas-2.8.1/README.md ADDED
@@ -0,0 +1,68 @@
1
+ # The COMPAS framework
2
+
3
+ ![build](https://github.com/compas-dev/compas/workflows/build/badge.svg)
4
+ [![codecov](https://codecov.io/github/compas-dev/compas/graph/badge.svg?token=wpkfew9szQ)](https://codecov.io/github/compas-dev/compas)
5
+ [![GitHub - License](https://img.shields.io/github/license/compas-dev/compas.svg)](https://github.com/compas-dev/compas)
6
+ [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/compas)](https://anaconda.org/conda-forge/compas)
7
+ [![pip downloads](https://img.shields.io/pypi/dm/compas)](https://pypi.python.org/project/COMPAS)
8
+ [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/COMPAS.svg)](https://pypi.python.org/project/COMPAS)
9
+ [![PyPI - Latest Release](https://img.shields.io/pypi/v/COMPAS.svg)](https://pypi.python.org/project/COMPAS)
10
+ [![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/compas)](https://anaconda.org/conda-forge/compas)
11
+ [![Conda - Platform](https://img.shields.io/conda/pn/conda-forge/compas)](https://anaconda.org/conda-forge/compas)
12
+ [![DOI](https://zenodo.org/badge/104857648.svg)](https://zenodo.org/badge/latestdoi/104857648)
13
+ [![Twitter Follow](https://img.shields.io/twitter/follow/compas_dev?style=social)](https://twitter.com/compas_dev)
14
+
15
+ The **COMPAS** framework is an open-source, Python-based framework for computational research and collaboration in architecture, engineering, digital fabrication and construction.
16
+
17
+ The framework consists of a general-purpose core library, written in pure Python, and a growing collection of extensions that provide easy access to peer-reviewed research, state-of-the-art external libraries such as CGAL, libigl and Triangle, and tools with specialized functionality for AEFC applications such as Abaqus, ANSYS, SOFISTIK, ROS, etc.
18
+
19
+ COMPAS has dedicated packages for working with Rhino, Grasshopper, and Blender, but it can be used in any environment that supports Python scripting. It is available on PyPI and conda-forge and can be easily installed using popular package managers on multiple platforms.
20
+
21
+ ## COMPAS 2.0!
22
+
23
+ We are working on a new major release of the framework, COMPAS 2.0!
24
+ Therefore, be aware that the current version of the repository already contains some changes that are incompatible with the version 1 releases.
25
+ The documentation of the latest stable version (COMPAS 1.17.9) [is available here](https://compas.dev/compas/1.17.9).
26
+
27
+ ## Installation
28
+
29
+ The recommended way to install **COMPAS** is to use [Anaconda/conda](https://conda.io/docs/):
30
+
31
+ ```bash
32
+ conda config --add channels conda-forge
33
+ conda install compas
34
+ ```
35
+
36
+ For other installation options, [see the user guide](https://compas.dev/compas/latest/userguide/installation.html)
37
+
38
+ ## First Steps
39
+
40
+ * [First steps](https://compas.dev/compas/latest/userguide/firststeps.html)
41
+ * [Tutorials: geometry basics](https://compas.dev/compas/latest/userguide/basics.geometry.html)
42
+ * [Tutorials: datastructures](https://compas.dev/compas/latest/userguide/basics.datastructures.html)
43
+ * [API Reference](https://compas.dev/compas/latest/api/index.html)
44
+
45
+ ## Questions and feedback
46
+
47
+ The **COMPAS** framework has a [forum for questions and discussions](https://forum.compas-framework.org/).
48
+
49
+ ## Issue tracker
50
+
51
+ If you find a bug, please help us solve it by [filing a report](https://github.com/compas-dev/compas/issues).
52
+
53
+ ## Contributing
54
+
55
+ If you want to contribute, check out the [contribution guidelines](https://compas.dev/compas/latest/devguide/index.html).
56
+
57
+ ## Changelog
58
+
59
+ See changes between releases on the [changelog](https://github.com/compas-dev/compas/blob/main/CHANGELOG.md).
60
+
61
+ ## License
62
+
63
+ The main library of **COMPAS** is [released under the MIT license](https://compas.dev/compas/latest/userguide/license.html).
64
+
65
+ ## Credits
66
+
67
+ COMPAS is developed by a small team of core developers (`compas-dev`) and with the support of contributers from the open source community.
68
+ See the [list of authors](https://github.com/compas-dev/compas/blob/main/AUTHORS.md) for a complete overview...
@@ -0,0 +1,154 @@
1
+ [build-system]
2
+ requires = ["setuptools>=66.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ # ============================================================================
6
+ # project info
7
+ # ============================================================================
8
+
9
+ [project]
10
+ name = "compas"
11
+ description = "The main COMPAS framework library."
12
+ keywords = ["architecture", "engineering", "fabrication", "construction"]
13
+ authors = [{ name = "tom van mele", email = "tom.v.mele@gmail.com" }]
14
+ license = { file = "LICENSE" }
15
+ readme = "README.md"
16
+ requires-python = ">=3.9"
17
+ dynamic = ['dependencies', 'optional-dependencies', 'version']
18
+ classifiers = [
19
+ "Development Status :: 5 - Production/Stable",
20
+ "Topic :: Scientific/Engineering",
21
+ "Operating System :: Unix",
22
+ "Operating System :: POSIX",
23
+ "Operating System :: Microsoft :: Windows",
24
+ "Programming Language :: Python",
25
+ "Programming Language :: Python :: 3",
26
+ "Programming Language :: Python :: 3.9",
27
+ "Programming Language :: Python :: 3.10",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Programming Language :: Python :: 3.12",
30
+ ]
31
+
32
+ [project.urls]
33
+ Homepage = "https://compas-dev.github.io/compas"
34
+ Documentation = "https://compas-dev.github.io/compas"
35
+ Repository = "https://github.com/compas-dev/compas.git"
36
+ Changelog = "https://github.com/compas-dev/compas/blob/main/CHANGELOG.md"
37
+ Issues = "https://github.com/compas-dev/compas/issues"
38
+ Forum = "https://forum.compas-framework.org/"
39
+
40
+ [project.scripts]
41
+ compas_rpc = "compas.rpc.__main__:main"
42
+
43
+ # ============================================================================
44
+ # setuptools config
45
+ # ============================================================================
46
+
47
+ [tool.setuptools]
48
+ package-dir = { "" = "src" }
49
+ include-package-data = true
50
+ zip-safe = false
51
+
52
+ [tool.setuptools.dynamic]
53
+ version = { attr = "compas.__version__" }
54
+ dependencies = { file = "requirements.txt" }
55
+ optional-dependencies = { dev = { file = "requirements-dev.txt" } }
56
+
57
+ [tool.setuptools.packages.find]
58
+ where = ["src"]
59
+
60
+ [tool.setuptools.package-data]
61
+ "compas.colors.cmcrameri" = ["*.txt"]
62
+ "compas.data.samples" = ["*.obj", "*.stl", "*.off", "*.ply", "*.json"]
63
+ "compas_ghpython.components.ghuser" = ["*.ghuser"]
64
+
65
+ # ============================================================================
66
+ # replace pytest.ini
67
+ # ============================================================================
68
+
69
+ [tool.pytest.ini_options]
70
+ minversion = "6.0"
71
+ testpaths = ["tests", "src/compas"]
72
+ python_files = ["test_*.py", "*_test.py", "test.py"]
73
+ addopts = ["-ra", "--strict-markers", "--doctest-glob=*.rst", "--tb=short"]
74
+ doctest_optionflags = [
75
+ "NORMALIZE_WHITESPACE",
76
+ "IGNORE_EXCEPTION_DETAIL",
77
+ "ALLOW_UNICODE",
78
+ "ALLOW_BYTES",
79
+ "NUMBER",
80
+ ]
81
+
82
+ # ============================================================================
83
+ # replace bumpversion.cfg
84
+ # ============================================================================
85
+
86
+ [tool.bumpversion]
87
+ current_version = "2.8.1"
88
+ message = "Bump version to {new_version}"
89
+ commit = true
90
+ tag = true
91
+
92
+ [[tool.bumpversion.files]]
93
+ filename = "src/compas/__init__.py"
94
+ search = "{current_version}"
95
+ replace = "{new_version}"
96
+
97
+ [[tool.bumpversion.files]]
98
+ filename = "src/compas_blender/__init__.py"
99
+ search = "{current_version}"
100
+ replace = "{new_version}"
101
+
102
+ [[tool.bumpversion.files]]
103
+ filename = "src/compas_ghpython/__init__.py"
104
+ search = "{current_version}"
105
+ replace = "{new_version}"
106
+
107
+ [[tool.bumpversion.files]]
108
+ filename = "src/compas_rhino/__init__.py"
109
+ search = "{current_version}"
110
+ replace = "{new_version}"
111
+
112
+ [[tool.bumpversion.files]]
113
+ filename = "CHANGELOG.md"
114
+ search = "Unreleased"
115
+ replace = "[{new_version}] {now:%Y-%m-%d}"
116
+
117
+ # ============================================================================
118
+ # replace setup.cfg
119
+ # ============================================================================
120
+
121
+ [tool.black]
122
+ line-length = 179
123
+
124
+ [tool.ruff]
125
+ line-length = 179
126
+ indent-width = 4
127
+ target-version = "py39"
128
+
129
+ [tool.ruff.lint]
130
+ select = ["E", "F", "I"]
131
+
132
+ [tool.ruff.lint.per-file-ignores]
133
+ "__init__.py" = ["I001"]
134
+ "tests/*" = ["I001"]
135
+ "tasks.py" = ["I001"]
136
+
137
+ [tool.ruff.lint.isort]
138
+ force-single-line = true
139
+ known-first-party = [
140
+ "compas",
141
+ "compas_blender",
142
+ "compas_ghpython",
143
+ "compas_rhino",
144
+ ]
145
+
146
+ [tool.ruff.lint.pydocstyle]
147
+ convention = "numpy"
148
+
149
+ [tool.ruff.lint.pycodestyle]
150
+ max-doc-length = 179
151
+
152
+ [tool.ruff.format]
153
+ docstring-code-format = true
154
+ docstring-code-line-length = "dynamic"
@@ -0,0 +1,10 @@
1
+ attrs >=17.4
2
+ black >=22.12.0
3
+ bump-my-version
4
+ compas_invocations2
5
+ invoke >=0.14
6
+ pytest-cov
7
+ ruff
8
+ sphinx_compas2_theme
9
+ twine
10
+ wheel
@@ -0,0 +1,6 @@
1
+ # flake8: noqa
2
+ jsonschema
3
+ networkx >= 3.0
4
+ numpy >= 1.15.4, < 2
5
+ scipy >= 1.1
6
+ watchdog; sys_platform != 'emscripten'
compas-2.8.1/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+