turbo-design 1.3.2__py3-none-any.whl → 1.3.3__py3-none-any.whl

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 turbo-design might be problematic. Click here for more details.

Files changed (30) hide show
  1. {turbo_design-1.3.2.dist-info → turbo_design-1.3.3.dist-info}/METADATA +1 -1
  2. turbo_design-1.3.3.dist-info/RECORD +33 -0
  3. turbodesign/bladerow.py +1 -0
  4. turbodesign/radeq.py +10 -7
  5. turbodesign/spool.py +1 -0
  6. turbodesign/td_math.py +2 -1
  7. turbo_design-1.3.2.dist-info/RECORD +0 -55
  8. turbodesign/.DS_Store +0 -0
  9. turbodesign/loss/.DS_Store +0 -0
  10. turbodesign/loss/__pycache__/__init__.cpython-310.pyc +0 -0
  11. turbodesign/loss/__pycache__/__init__.cpython-312.pyc +0 -0
  12. turbodesign/loss/__pycache__/losstype.cpython-310.pyc +0 -0
  13. turbodesign/loss/__pycache__/losstype.cpython-312.pyc +0 -0
  14. turbodesign/loss/turbine/__pycache__/TD2.cpython-310.pyc +0 -0
  15. turbodesign/loss/turbine/__pycache__/TD2.cpython-312.pyc +0 -0
  16. turbodesign/loss/turbine/__pycache__/__init__.cpython-310.pyc +0 -0
  17. turbodesign/loss/turbine/__pycache__/__init__.cpython-312.pyc +0 -0
  18. turbodesign/loss/turbine/__pycache__/ainleymathieson.cpython-310.pyc +0 -0
  19. turbodesign/loss/turbine/__pycache__/ainleymathieson.cpython-312.pyc +0 -0
  20. turbodesign/loss/turbine/__pycache__/craigcox.cpython-310.pyc +0 -0
  21. turbodesign/loss/turbine/__pycache__/craigcox.cpython-312.pyc +0 -0
  22. turbodesign/loss/turbine/__pycache__/fixedefficiency.cpython-310.pyc +0 -0
  23. turbodesign/loss/turbine/__pycache__/fixedefficiency.cpython-312.pyc +0 -0
  24. turbodesign/loss/turbine/__pycache__/fixedpressureloss.cpython-310.pyc +0 -0
  25. turbodesign/loss/turbine/__pycache__/fixedpressureloss.cpython-312.pyc +0 -0
  26. turbodesign/loss/turbine/__pycache__/kackerokapuu.cpython-310.pyc +0 -0
  27. turbodesign/loss/turbine/__pycache__/kackerokapuu.cpython-312.pyc +0 -0
  28. turbodesign/loss/turbine/__pycache__/traupel.cpython-310.pyc +0 -0
  29. turbodesign/loss/turbine/__pycache__/traupel.cpython-312.pyc +0 -0
  30. {turbo_design-1.3.2.dist-info → turbo_design-1.3.3.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: turbo-design
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: TurboDesign is a library used to design turbines and compressors using radial equilibrium.
5
5
  Author: Paht Juangphanich
6
6
  Author-email: paht.juangphanich@nasa.gov
@@ -0,0 +1,33 @@
1
+ turbodesign/__init__.py,sha256=N8Nu0I1vrlEHYJZZ7yhhg-FtbNbLyrgjy7hoicygUqg,325
2
+ turbodesign/arrayfuncs.py,sha256=GHIlTyLfeNsNCQQoh5m1aXK3iyvU6RjdYQipkqpU_ps,519
3
+ turbodesign/bladerow.py,sha256=FOs3I1dPHG0sPvfGH0PtZK9tyoTV9C8062_xGNZ4CrA,24974
4
+ turbodesign/cantera_gas/co2.yaml,sha256=M2o_RzxV9B9rDkgkXJC-l3voKraFZguTZuKKt4F7S_c,887
5
+ turbodesign/compressorspool.py,sha256=z8ZVczJ-EdZvIqqZArC6UdwC5MbU2SZh_MT2CGq5avY,2600
6
+ turbodesign/coolant.py,sha256=evDtUFOYhfZKTVAsDWzxRzUX20gTvfjj0uybaWg4CsI,427
7
+ turbodesign/enums.py,sha256=T4aFrGMnx9fgZkrExMBIY2IbCueA0utqr_afk-TUe9Q,1188
8
+ turbodesign/inlet.py,sha256=L_IHE8zzm3uFMSow0iO-VxI71SnyQZwRhJMlJDcwZ4o,7329
9
+ turbodesign/isentropic.py,sha256=YLTmNx69e_M5fTuLOmk_KvaQ6ABv0aZsityfBihJOmI,2003
10
+ turbodesign/loss/__init__.py,sha256=ZJomzXa6ElduFruURukCrFwJQXMWS2aW8JSaVQ-M2r8,46
11
+ turbodesign/loss/compressor/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
12
+ turbodesign/loss/losstype.py,sha256=Vzj3UPk1_5IA3DtL56Eb5Z7LkYyMQ97DGZvgfki8ByA,708
13
+ turbodesign/loss/turbine/TD2.py,sha256=evyTG4K6s56NGdjxrZFD3G7zsB8_2lJTBOxT3Ju2uG8,5207
14
+ turbodesign/loss/turbine/__init__.py,sha256=d1UrbiIicO60FhDlOemo_irYW2asUaYoqlXUz-UG9zk,285
15
+ turbodesign/loss/turbine/ainleymathieson.py,sha256=8UbugNmxI12I68HGctJe2lQpqjKZN1b40UOTzqU6hQQ,5861
16
+ turbodesign/loss/turbine/craigcox.py,sha256=TrbNdpGdyD5kTRFKfNmbRDhCOjA0-GT5xoluLQpO1gA,9664
17
+ turbodesign/loss/turbine/fixedefficiency.py,sha256=JJv4GUS5q9pvuf3akjBtlcHOykRYmRVFfDDrdWqH6S4,774
18
+ turbodesign/loss/turbine/fixedpressureloss.py,sha256=jbm8dt8wtyN1RaOgpgYZsvwM0-0lv2Y73kXleyoy0zE,683
19
+ turbodesign/loss/turbine/kackerokapuu.py,sha256=hUmZdyA1hAhN3_xbwBhka2dyk0Aq9rqq62S2ghuKSOk,5071
20
+ turbodesign/loss/turbine/traupel.py,sha256=aZxFE9JDcCfi1gy-fqS1SxjjlhuDG-H-g3LPurty1M0,4164
21
+ turbodesign/lossinterp.py,sha256=B2KEobp-nD9jwD6UINgBmTlH9kKyWg3UNvXxqfUsr-k,6198
22
+ turbodesign/outlet.py,sha256=-0XpeEmTQpFjUQNYQxOp5WuHkF7cXfx59hxy7BmaxgY,2119
23
+ turbodesign/passage.py,sha256=Ur6zZCzI9Y7HW0o5LrDq9yeatRain1mBLZBcTOzgjEU,11996
24
+ turbodesign/radeq.py,sha256=NC4cRJG1Kz4n4zaLS5GFoIKBRSvTPuuj1dR1dgTa1mU,6475
25
+ turbodesign/rotor.py,sha256=tHl9o5H4aQ6Etd4gqa8Ime1UK7k0de4GLt5Yb1sJdGs,1376
26
+ turbodesign/solve_radeq.py,sha256=nLYlRtXElPgHaoUP9jwMulRmYKTJs_uQ1eCulk2V59I,1938
27
+ turbodesign/spool.py,sha256=63Gc6U3-6zcHEJx8RDLN4kM12poo5E-M-nlbKvHm43I,14376
28
+ turbodesign/stage.py,sha256=UP45sDKDLsAkO_WfDWJ6kqXU7cYKh_4QO01QZnSN1oQ,166
29
+ turbodesign/td_math.py,sha256=czq-u1otamELybdBW5tP_05rzeTHo7lnrckzQkR4rG4,16183
30
+ turbodesign/turbinespool.py,sha256=8ttt2DuExuQFt9SXraRWhaYHQDkgyh_B6AoJqdNgRlg,25046
31
+ turbo_design-1.3.3.dist-info/METADATA,sha256=eJGhBnk9pjFtVMPNk6RiXg9DS5y1By2thmrniE1zxfo,734
32
+ turbo_design-1.3.3.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
33
+ turbo_design-1.3.3.dist-info/RECORD,,
turbodesign/bladerow.py CHANGED
@@ -14,6 +14,7 @@ from .passage import Passage
14
14
 
15
15
 
16
16
  class BladeRow:
17
+ id:int = 0
17
18
  stage_id:int = 0
18
19
  row_type: RowType = RowType.Stator
19
20
  loss_function:LossBaseClass
turbodesign/radeq.py CHANGED
@@ -94,12 +94,12 @@ def radeq(row:BladeRow,upstream:BladeRow,downstream:BladeRow=None) -> BladeRow:
94
94
  # dP0_dr = float(interp1d(row.percent_hub_shroud, np.gradient(row.P0,row_radius))((r-row_radius[0])/(row_radius[-1]-row_radius[0])))
95
95
 
96
96
  C = (1 + np.tan(alpha)**2) * Vm**2/(2*Cp*T0)
97
- if (C>1) & ((gamma/(gamma-1))<2):
98
- raise Exception("Invalid value of C {C}, change reduce alpha or Vm")
97
+ if (C>1):
98
+ raise Exception(f"Invalid value of C {C:0.2f} which causes Vm to be nan.\nChange reduce alpha/beta for {row.row_type} {row.id}")
99
99
  B = (1-C)**(gamma/(gamma-1))
100
100
  A = -P0 * gamma/(gamma-1) * (1-C)**(1/(gamma-1)) * (1 + np.tan(alpha)**2)/(2*Cp)
101
101
 
102
- eqn15_rhs = Vt**2/r - Vm**2/rm*np.sin(phi) - Vr*dVm_dm # right hand side of equation 15
102
+ eqn15_rhs = Vt**2/r - Vm**2/rm*np.cos(phi) - Vr*dVm_dm # right hand side of equation 15
103
103
  eqn15_rhs_simple = Vt**2/r # right hand side of equation 15 simplified for axial machines
104
104
 
105
105
  epsilon = 1e-10 # or another small threshold
@@ -107,7 +107,6 @@ def radeq(row:BladeRow,upstream:BladeRow,downstream:BladeRow=None) -> BladeRow:
107
107
  dVm_dr = T0/(2*Vm*A) * (rho*eqn15_rhs - B*dP0_dr) + Vm/(2*T0) * dT0_dr # Eqn 21
108
108
  else:
109
109
  dVm_dr = T0/(2*Vm*A) * (rho*eqn15_rhs_simple - B*dP0_dr) + Vm/(2*T0) * dT0_dr # Eqn 21, simple
110
-
111
110
  ydot = np.array([dP0_dr,dT0_dr,dVm_dr])
112
111
 
113
112
  return ydot
@@ -133,18 +132,22 @@ def radeq(row:BladeRow,upstream:BladeRow,downstream:BladeRow=None) -> BladeRow:
133
132
  # P0_new = interp1d(hub_to_tip,res[:,0])(row_radius)
134
133
  # T0_new = interp1d(hub_to_tip,res[:,1])(row_radius)
135
134
  # Vm_new = interp1d(hub_to_tip,res[:,2])(row_radius)
136
-
135
+ r_eval = row.r - mean_radius
137
136
  # mean_radius_to_tip = np.linspace(0,tip_radius-mean_radius,len(row_radius)*5)
138
- res1 = solve_ivp(ode_radeq_streamtube, t_span =[0, tip_radius-mean_radius], y0 = ics)
137
+ res1 = solve_ivp(ode_radeq_streamtube, t_span =[0, tip_radius-mean_radius], y0 = ics,
138
+ t_eval=np.linspace(0,tip_radius-mean_radius,len(row_radius)*2))
139
139
 
140
140
  # mean_radius_to_hub = np.linspace(0,hub_radius-mean_radius,len(row_radius)*5)
141
- res2 = solve_ivp(ode_radeq_streamtube, t_span = [hub_radius-mean_radius,0], y0 = ics)
141
+ res2 = solve_ivp(ode_radeq_streamtube, t_span = [0,hub_radius-mean_radius], y0 = ics,
142
+ t_eval=np.linspace(0,hub_radius-mean_radius,len(row_radius)*2))
142
143
 
143
144
  mid_to_tip_vals = res1.y.transpose()
144
145
  mid_to_tip_r = res1.t + mean_radius
145
146
  mid_to_hub_vals = res2.y.transpose()
146
147
  mid_to_hub_r = res2.t + mean_radius
147
148
  mid_to_hub_vals = np.flipud(mid_to_hub_vals)
149
+ mid_to_hub_r = np.flipud(mid_to_hub_r)
150
+
148
151
  hub_to_tip_vals = np.concatenate([mid_to_hub_vals[:-1,:],mid_to_tip_vals])
149
152
 
150
153
  r = np.concatenate([mid_to_hub_r[:-1], mid_to_tip_r])
turbodesign/spool.py CHANGED
@@ -69,6 +69,7 @@ class Spool:
69
69
  1. Conventional: Stator-Rotor-Stator-Rotor-etc. Set the RPM equally across all
70
70
  2. Counter Rotation: We either use the RPM already persecribed for each blade row.
71
71
  '''
72
+ self.blade_rows[i].id = i
72
73
  if (type(self.blade_rows[i]) != Inlet) and (type(self.blade_rows[i]) != Outlet):
73
74
  self.blade_rows[i].rpm = rpm
74
75
  self.blade_rows[i].axial_chord = self.blade_rows[i].location * self.passage.hub_length
turbodesign/td_math.py CHANGED
@@ -132,7 +132,8 @@ def compute_power(row:BladeRow,upstream:BladeRow) -> None:
132
132
  a = np.sqrt(row.gamma*row.R*row.T_is)
133
133
  row.T0_is = row.T_is * (1+(row.gamma-1)/2*(row.V/a)**2)
134
134
 
135
- row.power = row.massflow[-1] * row.Cp * (upstream.T0.mean() - row.T0.mean())
135
+ row.power = row.massflow[-1] * (row.Cp * (upstream.T0 - row.T0)).mean()
136
+ # row.power = sum(v * w for v, w in zip(row.power[1:], np.diff(row.massflow))) # Massflow weighted average
136
137
  row.eta_static = row.power/ (row.massflow[-1]*row.Cp*(upstream.T0.mean()-row.T_is.mean()))
137
138
  row.eta_total = (upstream.T0.mean() - row.T0.mean()) / (upstream.T0.mean() - row.T0_is.mean())
138
139
  row.stage_loading = row.Cp*(upstream.T0.mean() - row.T0.mean())/row.U.mean()**2
@@ -1,55 +0,0 @@
1
- turbodesign/.DS_Store,sha256=t7V1NfD6bO4j43hG3uNmietQ86qxjKeImkJzP2ywlbo,8196
2
- turbodesign/__init__.py,sha256=N8Nu0I1vrlEHYJZZ7yhhg-FtbNbLyrgjy7hoicygUqg,325
3
- turbodesign/arrayfuncs.py,sha256=GHIlTyLfeNsNCQQoh5m1aXK3iyvU6RjdYQipkqpU_ps,519
4
- turbodesign/bladerow.py,sha256=v4tX27aOL7iuN0ILWYbtSbANWZ_7_LIxksu4ux1aQ2o,24959
5
- turbodesign/cantera_gas/co2.yaml,sha256=M2o_RzxV9B9rDkgkXJC-l3voKraFZguTZuKKt4F7S_c,887
6
- turbodesign/compressorspool.py,sha256=z8ZVczJ-EdZvIqqZArC6UdwC5MbU2SZh_MT2CGq5avY,2600
7
- turbodesign/coolant.py,sha256=evDtUFOYhfZKTVAsDWzxRzUX20gTvfjj0uybaWg4CsI,427
8
- turbodesign/enums.py,sha256=T4aFrGMnx9fgZkrExMBIY2IbCueA0utqr_afk-TUe9Q,1188
9
- turbodesign/inlet.py,sha256=L_IHE8zzm3uFMSow0iO-VxI71SnyQZwRhJMlJDcwZ4o,7329
10
- turbodesign/isentropic.py,sha256=YLTmNx69e_M5fTuLOmk_KvaQ6ABv0aZsityfBihJOmI,2003
11
- turbodesign/loss/.DS_Store,sha256=e_rC7wNyUbhwj0B0K6KYPxjmDluA2pn-nPFKtB93cfg,8196
12
- turbodesign/loss/__init__.py,sha256=ZJomzXa6ElduFruURukCrFwJQXMWS2aW8JSaVQ-M2r8,46
13
- turbodesign/loss/__pycache__/__init__.cpython-310.pyc,sha256=O-Uef93wkpiZg2LEZJlwSRHJmyWvzUVPdQhazmUDzqY,240
14
- turbodesign/loss/__pycache__/__init__.cpython-312.pyc,sha256=hb-aUXzBVDra2DhnX5EHnMxHhOGg5GtGTSYeDYOSV7k,242
15
- turbodesign/loss/__pycache__/losstype.cpython-310.pyc,sha256=Xng0JhBRPhBVq3ajlo2iXy0TU1X8eZpfAHEiJ3nuemg,1258
16
- turbodesign/loss/__pycache__/losstype.cpython-312.pyc,sha256=D2cC1pJyAsSeYpm4cl09qIQG_0Z-0lQpQ9Q9JdhbueI,1729
17
- turbodesign/loss/compressor/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
18
- turbodesign/loss/losstype.py,sha256=Vzj3UPk1_5IA3DtL56Eb5Z7LkYyMQ97DGZvgfki8ByA,708
19
- turbodesign/loss/turbine/TD2.py,sha256=evyTG4K6s56NGdjxrZFD3G7zsB8_2lJTBOxT3Ju2uG8,5207
20
- turbodesign/loss/turbine/__init__.py,sha256=d1UrbiIicO60FhDlOemo_irYW2asUaYoqlXUz-UG9zk,285
21
- turbodesign/loss/turbine/__pycache__/TD2.cpython-310.pyc,sha256=_xmRJL3-uKEX7wIfFNJwlKrTl5NEfFhqe--NsGHlbpA,4037
22
- turbodesign/loss/turbine/__pycache__/TD2.cpython-312.pyc,sha256=AKWBhyn5DqDolrhmJHYN1VfOz2qbtxSlBPfOo99GnCg,5657
23
- turbodesign/loss/turbine/__pycache__/__init__.cpython-310.pyc,sha256=08oqidbLwK0k2Bwe_mrK7TupB3h5UrEcCG-scobWCas,533
24
- turbodesign/loss/turbine/__pycache__/__init__.cpython-312.pyc,sha256=7_ZJqoesRMXAMEVhltiRTEdJBwCaX9AtOEhFcBQyABM,546
25
- turbodesign/loss/turbine/__pycache__/ainleymathieson.cpython-310.pyc,sha256=0aWYiEVGu3IfCHQ8b4-z3T3Ov7wdqDOHW1ERkMDNGy8,4887
26
- turbodesign/loss/turbine/__pycache__/ainleymathieson.cpython-312.pyc,sha256=FdgZSynbR0LiwunAj4UPVGkfbtZ9uoJDaeVtr25uelo,9397
27
- turbodesign/loss/turbine/__pycache__/craigcox.cpython-310.pyc,sha256=xsBf4UJSwijRq6r_WQRk7q9tYpS2id5XZJiF-ovMslg,6353
28
- turbodesign/loss/turbine/__pycache__/craigcox.cpython-312.pyc,sha256=nTzvA31LQKYQriHuYQNmHCjTMNpqphfpRL306ilbJzI,12163
29
- turbodesign/loss/turbine/__pycache__/fixedefficiency.cpython-310.pyc,sha256=D00hoTdPBqqm6J7m2iMMMb3fKsnZqdbwhXS6R8ezWxI,1263
30
- turbodesign/loss/turbine/__pycache__/fixedefficiency.cpython-312.pyc,sha256=CGw2WgkjJfKxvpUO0Qlw19w_6HnZqX47cRJIz763vgI,1498
31
- turbodesign/loss/turbine/__pycache__/fixedpressureloss.cpython-310.pyc,sha256=-cwVbUmXsqGnYlUccc1ZWpSl4X4ZO1-XJtQ78mps5N0,1191
32
- turbodesign/loss/turbine/__pycache__/fixedpressureloss.cpython-312.pyc,sha256=anr2ZSqXg5_AFQnTZYdRw2dTHK-wCpIDJeMCTGu_RMg,1370
33
- turbodesign/loss/turbine/__pycache__/kackerokapuu.cpython-310.pyc,sha256=Snq6kyzAbRQ_h9WSKD5sjQs_ADcUj-JHEVqVmPY9ixE,4432
34
- turbodesign/loss/turbine/__pycache__/kackerokapuu.cpython-312.pyc,sha256=ldnWoi8a1T2UE_iH-aw_L7M-Xgak4gYdPa02Hwdt5xc,8574
35
- turbodesign/loss/turbine/__pycache__/traupel.cpython-310.pyc,sha256=OUGOncOs84iMlPd5mGgtqiY95V2NU2JHyDXLF_kwKk8,3183
36
- turbodesign/loss/turbine/__pycache__/traupel.cpython-312.pyc,sha256=x_BnQ49DhhL_cMYzORlOLAoxd8GgGGmd-w4ec5kHDds,6445
37
- turbodesign/loss/turbine/ainleymathieson.py,sha256=8UbugNmxI12I68HGctJe2lQpqjKZN1b40UOTzqU6hQQ,5861
38
- turbodesign/loss/turbine/craigcox.py,sha256=TrbNdpGdyD5kTRFKfNmbRDhCOjA0-GT5xoluLQpO1gA,9664
39
- turbodesign/loss/turbine/fixedefficiency.py,sha256=JJv4GUS5q9pvuf3akjBtlcHOykRYmRVFfDDrdWqH6S4,774
40
- turbodesign/loss/turbine/fixedpressureloss.py,sha256=jbm8dt8wtyN1RaOgpgYZsvwM0-0lv2Y73kXleyoy0zE,683
41
- turbodesign/loss/turbine/kackerokapuu.py,sha256=hUmZdyA1hAhN3_xbwBhka2dyk0Aq9rqq62S2ghuKSOk,5071
42
- turbodesign/loss/turbine/traupel.py,sha256=aZxFE9JDcCfi1gy-fqS1SxjjlhuDG-H-g3LPurty1M0,4164
43
- turbodesign/lossinterp.py,sha256=B2KEobp-nD9jwD6UINgBmTlH9kKyWg3UNvXxqfUsr-k,6198
44
- turbodesign/outlet.py,sha256=-0XpeEmTQpFjUQNYQxOp5WuHkF7cXfx59hxy7BmaxgY,2119
45
- turbodesign/passage.py,sha256=Ur6zZCzI9Y7HW0o5LrDq9yeatRain1mBLZBcTOzgjEU,11996
46
- turbodesign/radeq.py,sha256=1_OOOBP_UglnnPuF5WKhMXTzfzXcuMDJ5A0Zsr_2Mf0,6201
47
- turbodesign/rotor.py,sha256=tHl9o5H4aQ6Etd4gqa8Ime1UK7k0de4GLt5Yb1sJdGs,1376
48
- turbodesign/solve_radeq.py,sha256=nLYlRtXElPgHaoUP9jwMulRmYKTJs_uQ1eCulk2V59I,1938
49
- turbodesign/spool.py,sha256=XKvYABvfigLulGLHH23X7k6aL6wvfuqgfLkKCMK9X8c,14338
50
- turbodesign/stage.py,sha256=UP45sDKDLsAkO_WfDWJ6kqXU7cYKh_4QO01QZnSN1oQ,166
51
- turbodesign/td_math.py,sha256=1hWf-B24jxiDfJHNUVOTC_0lEMZ8iu_4GNoKE4uxm6Y,16072
52
- turbodesign/turbinespool.py,sha256=8ttt2DuExuQFt9SXraRWhaYHQDkgyh_B6AoJqdNgRlg,25046
53
- turbo_design-1.3.2.dist-info/METADATA,sha256=8QYJqpja9gYWj8N5aKgfJcSj510Odrdir761wlhav0A,734
54
- turbo_design-1.3.2.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
55
- turbo_design-1.3.2.dist-info/RECORD,,
turbodesign/.DS_Store DELETED
Binary file
Binary file