irie 0.0.26__py3-none-any.whl → 0.0.28__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 irie might be problematic. Click here for more details.

Files changed (45) hide show
  1. irie/apps/admin_dash/__init__.py +1 -0
  2. irie/apps/admin_dash/admin.py +0 -0
  3. irie/apps/admin_dash/apps.py +6 -0
  4. irie/apps/admin_dash/forms.py +67 -0
  5. irie/apps/admin_dash/models.py +1 -0
  6. irie/apps/admin_dash/templatetags/__init__.py +0 -0
  7. irie/apps/admin_dash/templatetags/admin_material.py +86 -0
  8. irie/apps/admin_dash/templatetags/replace_value.py +8 -0
  9. irie/apps/admin_dash/urls.py +36 -0
  10. irie/apps/admin_dash/utils.py +462 -0
  11. irie/apps/admin_dash/views.py +113 -0
  12. irie/apps/events/views.py +4 -5
  13. irie/apps/inventory/filters.py +1 -1
  14. irie/apps/inventory/migrations/0003_asset_notes.py +18 -0
  15. irie/apps/inventory/models.py +11 -5
  16. irie/apps/inventory/templatetags/__init__.py +0 -0
  17. irie/apps/inventory/templatetags/get.py +6 -0
  18. irie/apps/inventory/templatetags/nbi.py +6 -0
  19. irie/apps/inventory/urls.py +1 -0
  20. irie/apps/inventory/views.py +72 -33
  21. irie/apps/static/assets/css/brace.css +22272 -14509
  22. irie/apps/static/assets/css/brace.css.map +1 -1
  23. irie/apps/static/assets/css/brace.min.css +32 -1
  24. irie/apps/static/assets/img/twin.png +0 -0
  25. irie/apps/static/assets/js/brace.js +858 -38
  26. irie/apps/templates/events/event-table.html +1 -2
  27. irie/apps/templates/includes/asset-event-table.html +1 -1
  28. irie/apps/templates/includes/navigation.html +1 -1
  29. irie/apps/templates/includes/settings-box.html +1 -1
  30. irie/apps/templates/includes/sidebar.html +4 -4
  31. irie/apps/templates/inventory/asset-profile.html +50 -15
  32. irie/apps/templates/inventory/asset-table.html +12 -2
  33. irie/apps/templates/inventory/dashboard.html +0 -1
  34. irie/apps/templates/layouts/base.html +1 -0
  35. irie/apps/templates/site/index.html +42 -12
  36. irie/apps/templates/site/robots.txt +42 -1
  37. irie/core/settings.py +1 -0
  38. irie/init/calid.py +95 -95
  39. irie/init/management/commands/init_assets.py +1 -11
  40. irie/init/management/commands/init_cesmd.py +19 -8
  41. {irie-0.0.26.dist-info → irie-0.0.28.dist-info}/METADATA +3 -2
  42. {irie-0.0.26.dist-info → irie-0.0.28.dist-info}/RECORD +45 -29
  43. {irie-0.0.26.dist-info → irie-0.0.28.dist-info}/WHEEL +1 -1
  44. {irie-0.0.26.dist-info → irie-0.0.28.dist-info}/entry_points.txt +0 -0
  45. {irie-0.0.26.dist-info → irie-0.0.28.dist-info}/top_level.txt +0 -0
@@ -16,9 +16,8 @@
16
16
  <svg class="icon icon-xxs" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg>
17
17
  </a>
18
18
  </li>
19
- <li class="breadcrumb-item"><a href="{% url 'dashboard' %}">BRACE2</a></li>
20
19
  <li class="breadcrumb-item">Events</li>
21
- <li class="breadcrumb-item active" aria-current="page">CGS</li>
20
+ <li class="breadcrumb-item" aria-current="page">CGS</li>
22
21
  </ol>
23
22
  </nav>
24
23
  <h2 class="h4">All Events</h2>
@@ -60,7 +60,7 @@
60
60
  </table>
61
61
 
62
62
  <div class="card-footer px-3 border-0 d-flex flex-column flex-lg-row align-items-center justify-content-between">
63
- <nav aria-label="Page navigation example">
63
+ <nav aria-label="Table page navigation">
64
64
  <ul class="pagination mb-0">
65
65
  <li class="page-item {% if not evaluations.has_previous %}disabled{% endif %}">
66
66
  {% if evaluations.has_previous %}
@@ -1,4 +1,4 @@
1
- <nav class="navbar navbar-top navbar-expand navbar-dashboard navbar-dark ps-0 pe-2 pb-0">
1
+ <nav class="navbar navbar-top navbar-expand navbar-dashboard navbar-dark ps-0 pe-2 pb-0">
2
2
  <div class="container-fluid px-0">
3
3
  <div class="d-flex justify-content-between w-100" id="navbarSupportedContent">
4
4
  <div class="d-flex align-items-center">
@@ -7,7 +7,7 @@
7
7
  aria-controls="theme-settings"></button>
8
8
  <div class="d-flex justify-content-between align-items-center mb-3">
9
9
  <p class="m-0 mb-1 me-4 fs-7">Open source</p>
10
- <a class="github-button" href="https://github.com/claudioperez/opensees"
10
+ <a class="github-button" href="https://github.com/claudioperez/OpenSeesRT"
11
11
  data-color-scheme="no-preference: dark; light: light; dark: light;" data-icon="octicon-star"
12
12
  data-size="large" data-show-count="true"
13
13
  aria-label="Star opensees on GitHub">Star</a>
@@ -15,7 +15,7 @@
15
15
  </nav>
16
16
 
17
17
  <!-- <nav id="sidebarMenu" class="sidebar d-lg-block bg-gray-800 text-white collapse" data-simplebar> -->
18
- <nav id="sidebarMenu" class="sidebar d-lg-block collapse bg-gray-200" data-simplebar>
18
+ <aside id="sidebarMenu" class="sidebar d-lg-block collapse bg-white ms-2 my-2 navbar-vertical navbar-expand-xs" data-simplebar>
19
19
  <div class="sidebar-inner px-4 pt-3">
20
20
  <div class="user-card d-flex d-md-none align-items-center justify-content-between justify-content-md-center pb-4">
21
21
  <div class="d-flex align-items-center">
@@ -26,7 +26,6 @@
26
26
  </div>
27
27
  {% endcomment %}
28
28
  <div class="d-block">
29
- <h2 class="h5 mb-3">Hi</h2>
30
29
  <a href="/page-sign-in.html" class="btn btn-secondary btn-sm d-inline-flex align-items-center">
31
30
  <svg class="icon icon-xxs me-1" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"></path></svg>
32
31
  Log Out
@@ -47,9 +46,10 @@
47
46
  <span class="sidebar-icon">
48
47
  <img src="{{ ASSETS_ROOT }}/img/brace2-no_text.png" height="20" width="20" alt="BRACE2 Logo">
49
48
  </span>
50
- <span class="mt-1 ms-1 sidebar-text">BRACE<sup class="superscript">2</sup></span>
49
+ <span class="mt-1 ms-1 sidebar-text center">BRACE<sup class="superscript">2</sup></span>
51
50
  </a>
52
51
  </li>
52
+ <hr class="horizontal dark mt-0">
53
53
 
54
54
  <li role="separator" class="dropdown-divider mt-2 mb-2 border-gray-700"></li>
55
55
 
@@ -156,4 +156,4 @@
156
156
 
157
157
  </ul>
158
158
  </div>
159
- </nav>
159
+ </aside>
@@ -1,16 +1,16 @@
1
1
  {% extends "layouts/base.html" %}
2
-
3
- {% block title %} {{ asset.calid }} {% endblock %}
2
+ {% load get %}
3
+ {% load nbi %}
4
+ {% block title %} {{ asset.calid }} Digital Twin{% endblock %}
4
5
  {% block meta %}
5
- <meta name="description" content="Live-updating digital twin for health assessment of the {{ asset.name }} ({{ asset.calid }}).">
6
+ <meta name="description" content="{% if asset.id|divisibleby:2 %}Live-updating digital twin for health assessment of the {{ asset.name }} ({{ asset.calid }}).{% else %}Digital twin profile for real-time health monitoring of the {{ asset.name }} ({{ asset.calid }}) bridge{% endif %}">
6
7
  {% endblock %}
7
8
  {% block stylesheets %}
8
9
  {% if asset.rendering %}
9
10
  <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
10
- <!-- <script src="https://unpkg.com/three@0.152.0/build/three.min.js"></script> -->
11
11
  <script type="module" src="https://ajax.googleapis.com/ajax/libs/model-viewer/4.0.0/model-viewer.min.js"></script>
12
- <!-- <script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script> -->
13
12
  {% endif %}
13
+ <script src="https://cdn.plot.ly/plotly-2.27.0.min.js" charset="utf-8"></script>
14
14
  <style>
15
15
  .crop {
16
16
  width: 100%; /* 200px;*/
@@ -107,8 +107,6 @@
107
107
  stroke: #61DAFB;
108
108
  }
109
109
  </style>
110
-
111
- <script src="https://cdn.plot.ly/plotly-2.27.0.min.js" charset="utf-8"></script>
112
110
  {% endblock stylesheets %}
113
111
 
114
112
  {% block content %}
@@ -126,7 +124,7 @@
126
124
  <li class="breadcrumb-item active"><code>{{ asset.calid }}</code></li>
127
125
  </ol>
128
126
  </nav>
129
- <h1 class="h4">{{ asset.id }} - {{ asset.name }}</h1>
127
+ <h1 class="h4"><samp>{{ asset.id }}</samp> / {{ asset.name }}</h1>
130
128
  </div>
131
129
  <div class="btn-toolbar mb-2 mb-md-0">
132
130
  <a role="button"
@@ -139,14 +137,48 @@
139
137
  </a>
140
138
  </div>
141
139
  </div>
142
- <!-- <h1 class="fs-2 lh-2 me-3"></h1> -->
143
- <!-- <span id="structureProfile" class="fs-2 lh-2 me-3">Structure Profile</span> -->
144
- <!--
145
- <div class="py-4 align-right">
146
- <a role="button" class="button btn btn-outline-primary"
147
- href="/inventory/{{ asset.calid }}/predictors/" class="me-1">Configure Predictors</a>
140
+ {% if True %}
141
+ <div class="col-10">
142
+ <p>
143
+ {% if asset.id|divisibleby:3 %}
144
+ The {{asset.name}} is a structure in
145
+ {{ asset.nbi_data.NBI_BRIDGE|get:"Highway Agency District"|nbi }}
146
+ of the California inventory.
147
+ The structure was constructed in {{asset.nbi_data.NBI_BRIDGE|get:"Year Built"}}.
148
+ {% elif asset.id|divisibleby:4 %}
149
+ The {{asset.name}} was contructed in {{asset.nbi_data.NBI_BRIDGE|get:"Year Built"}}
150
+ and belongs to {{ asset.nbi_data.NBI_BRIDGE|get:"Highway Agency District"|nbi }}.
151
+ {% else %}
152
+ <em>{{asset.name}}</em> is a structure in
153
+ {{ asset.nbi_data.NBI_BRIDGE|get:"Highway Agency District"|nbi }}
154
+ of California that was built in {{asset.nbi_data.NBI_BRIDGE|get:"Year Built"}}.
155
+ {% endif %}
156
+ {% if asset.id|divisibleby:2 %}
157
+ The superstructure is in
158
+ <em>{{ asset.nbi_data.NBI_BRIDGE|get:"Superstructure Condition Rating"|nbi }}</em>.
159
+ {% else %}
160
+ The condition of the superstructure is classified as being in
161
+ <em>{{ asset.nbi_data.NBI_BRIDGE|get:"Superstructure Condition Rating"|nbi }}</em>.
162
+ {% endif %}
163
+ The structure has been configured with {{asset.predictors|length}} predictors.
164
+ </p>
165
+ <p>
166
+ {% if asset.cgs_data %}
167
+ {% if asset.id|divisibleby:3 %}The superstructure consists of {% else %}The superstructure's construction is {% endif %}
168
+ {{ asset.cgs_data.2|get:"Superstructure Type"|lower }}
169
+ {{asset.cgs_data.2|get:"Remarks"}}
170
+ More information about the structure instrumentation is availiable from
171
+ <a rel="nofollow noreferrer" href="https://www.strongmotioncenter.org/cgi-bin/CESMD/stationhtml.pl?stationID={{asset.cesmd}}&network=CGS">CESMD</a>.
172
+ {% else %}
173
+ {% if asset.id|divisibleby:3 %}
174
+ The structure has not been instrumented.
175
+ {% else %}
176
+ No {% if asset.id|divisibleby:2 %}direct{% endif %} sensor data is available for this structure.
177
+ {% endif %}
178
+ {% endif %}
179
+ </p>
148
180
  </div>
149
- -->
181
+ {% endif %}
150
182
 
151
183
  {# BRIDGE RENDERING #}
152
184
  <details id="asset-sensors" open><summary><h3>Geometry</h3></summary>
@@ -177,6 +209,9 @@
177
209
  style="width: 100%; height: 400px;">
178
210
  </model-viewer>
179
211
  </div>
212
+ <div class="card-footer">
213
+ Powered by <a href="https://veux.stairlab.io">veux</a>
214
+ </div>
180
215
  </div>
181
216
  </div>
182
217
  </div>
@@ -37,12 +37,19 @@ table a[href^="https://"]::after
37
37
  </nav>
38
38
  <h2 class="h4">Inventory</h2>
39
39
  </div>
40
+ <div class="btn-toolbar mb-2 mb-md-0">
41
+ <form action="{% url 'asset_table_export_csv' %}" method="get">
42
+ {% for key, value in request.GET.items %}
43
+ <input type="hidden" name="{{ key }}" value="{{ value }}">
44
+ {% endfor %}
45
+ <button type="submit" class="btn btn-sm btn-outline-primary">Export</button>
46
+ </form>
47
+ </div>
40
48
  </div>
41
49
 
42
50
  {# Content #}
43
51
  <div class="row">
44
52
  <div class="col-xl-4">
45
- {# #}
46
53
  <div class="card border-0 shadow">
47
54
  <div class="card-header">
48
55
  <div class="row align-items-center">
@@ -61,6 +68,7 @@ table a[href^="https://"]::after
61
68
  <path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd"></path>
62
69
  </svg>
63
70
  </span>
71
+ {% if False %}
64
72
  <button type="button" class="btn input-group-text btn-outline dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
65
73
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-caret-down-fill" viewBox="0 0 16 16">
66
74
  <path d="M7.247 11.14l-4.796-5.481C2.014 5.334 2.482 4.5 3.25 4.5h9.5c.768 0 1.236.835.799 1.159l-4.796 5.481a1 1 0 0 1-1.506 0z"/>
@@ -83,6 +91,7 @@ table a[href^="https://"]::after
83
91
  <label class="form-check-label" for="flexSwitchCheckDisabled">District</label>
84
92
  </div></li>
85
93
  </ul>
94
+ {% endif %}
86
95
  <input
87
96
  id="search"
88
97
  name="search"
@@ -100,6 +109,7 @@ table a[href^="https://"]::after
100
109
  <path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd"></path>
101
110
  </svg>
102
111
  </span>
112
+ {% if False %}
103
113
  <button type="button" class="btn input-group-text btn-outline dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
104
114
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-caret-down-fill" viewBox="0 0 16 16">
105
115
  <path d="M7.247 11.14l-4.796-5.481C2.014 5.334 2.482 4.5 3.25 4.5h9.5c.768 0 1.236.835.799 1.159l-4.796 5.481a1 1 0 0 1-1.506 0z"/>
@@ -118,6 +128,7 @@ table a[href^="https://"]::after
118
128
  <label class="form-check-label" for="flexSwitchCheckChecked">Built</label>
119
129
  </div></li>
120
130
  </ul>
131
+ {% endif %}
121
132
  <input
122
133
  id="max_year"
123
134
  name="max_year"
@@ -130,7 +141,6 @@ table a[href^="https://"]::after
130
141
  >
131
142
  </div>
132
143
 
133
-
134
144
  <!-- CESMD Not Null Checkbox -->
135
145
  <div class="col-12">
136
146
  <div class="form-check">
@@ -15,7 +15,6 @@
15
15
  <svg class="icon icon-xxs" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6"></path></svg>
16
16
  </a>
17
17
  </li>
18
- <li class="breadcrumb-item"><a href="{% url 'dashboard' %}">BRACE<sup>2</sup></a></li>
19
18
  <li class="breadcrumb-item active" aria-current="page">Dashboard</li>
20
19
  </ol>
21
20
  </nav>
@@ -39,6 +39,7 @@
39
39
 
40
40
  <link type="text/css" href="{{ ASSETS_ROOT }}/vendor/sweetalert2/dist/sweetalert2.min.css" rel="stylesheet">
41
41
  <link type="text/css" href="{{ ASSETS_ROOT }}/vendor/notyf/notyf.min.css" rel="stylesheet">
42
+ <!-- <link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.min.css" media="screen" rel="stylesheet"> -->
42
43
  <link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.css" media="screen" rel="stylesheet">
43
44
 
44
45
  {% block stylesheets %}{% endblock stylesheets %}
@@ -6,7 +6,7 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
7
7
  <meta name="title" content="BRACE2 Platform">
8
8
  <meta name="author" content="Claudio M. Perez">
9
- <meta name="description" content="BRACE2 platform for structural health monitoring.">
9
+ <meta name="description" content="Bridge rapid assessment center for extreme events (BRACE2) platform for real-time structural health monitoring.">
10
10
 
11
11
  {# Open Graph and Facebook #}
12
12
  <meta property="og:type" content="website">
@@ -36,7 +36,7 @@
36
36
  {% endcomment %}
37
37
 
38
38
  {# BRACE CSS #}
39
- <link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.css" rel="stylesheet">
39
+ <link type="text/css" href="{{ ASSETS_ROOT }}/css/brace.min.css" rel="stylesheet">
40
40
 
41
41
  {# TODO: Use the _analytics.html partial to include production code specific code & trackers #}
42
42
  </head>
@@ -171,7 +171,7 @@ td.left-text{vertical-align:middle}
171
171
  </h2>
172
172
  {# Button Modal #}
173
173
  <div class="d-flex align-items-center justify-content-center mb-5">
174
- <a href="{% url 'dashboard' %}" class="btn btn-primary d-inline-flex align-items-center me-4">
174
+ <a href="{% url 'asset_table' %}" class="btn btn-primary d-inline-flex align-items-center me-4">
175
175
  <svg class="icon icon-xs me-2" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11 4a1 1 0 10-2 0v4a1 1 0 102 0V7zm-3 1a1 1 0 10-2 0v3a1 1 0 102 0V8zM8 9a1 1 0 00-2 0v2a1 1 0 102 0V9z" clip-rule="evenodd"></path></svg>
176
176
  Inventory
177
177
  </a>
@@ -221,14 +221,15 @@ td.left-text{vertical-align:middle}
221
221
  <p class="mb-4">The <em>IRiE</em> engine is used to realize high-fidelity digital twins that are backed by
222
222
  state-of-the-art analysis platforms like <a href="pypi.org/project/opensees">OpenSees</a> for nonlinear finite element analysis and <em><a href="chrystalchern.github.io/mdof">mdof</a></em> for system identification.</p>
223
223
  </div>
224
- <div class="col-lg-4 order-lg-1 card shadow"><img src="{{ ASSETS_ROOT }}/img/metric.png"
224
+ <div class="col-lg-4 order-lg-1 card shadow"><img src="{{ ASSETS_ROOT }}/img/twin.png"
225
225
  alt="Digital twins"></div>
226
226
  </div>
227
227
  {% comment %}
228
228
  <div class="col-lg-5 order-lg-2 mb-5 mb-lg-0">
229
229
  <h2 class="h1 d-flex align-items-center"> Corridors<span
230
230
  class="badge-md mb-0 fs-6 badge ms-3 rounded-pill text-dark bg-secondary">New</span></h2>
231
- <p class="mb-4">Corridor-level health analysis and recovery planning has been implemented through collaborations at UC Berkeley and the California department of transportation.</p>
231
+ <p class="mb-4">Corridor-level health analysis and recovery planning has been implemented through collaborations at UC Berkeley and
232
+ the <a href="https://dot.ca.gov/">California department of transportation</a> (Caltrans).</p>
232
233
  <a href="https://dot.ca.gov/-/media/dot-media/programs/research-innovation-system-information/documents/research-notes/task3798-rns-05-24-a11y.pdf"
233
234
  target="_blank" class="btn btn-outline-gray-600 d-inline-flex align-items-center"><svg
234
235
  class="icon icon-xs me-2" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
@@ -248,17 +249,18 @@ td.left-text{vertical-align:middle}
248
249
  </section>
249
250
  <section class=tabs-section>
250
251
  <div class="container align-items-center">
251
- <h1 class=tabs-title>Ecosystem</h1>
252
+ <h2 class=tabs-title>Ecosystem</h2>
252
253
  <div class=uikit-tab-wrapper>
253
254
  <p>The <em>IRiE</em> Ecosystem</p>
254
255
  <table>
255
256
  <tr>
256
257
  <td style=text-align:center>
257
- <a href="https://github.com/claudioperez/opensees">
258
+ <a href="https://stairlab.berkeley.edu/software/opensees/">
258
259
  <img class="first-column-layout"
259
260
  src="{{ ASSETS_ROOT }}/content_images/brace/opensees.jpg" alt="opensees"></a></td>
260
- <td class=full-center-text><a href="https://pypi.org/project/opensees" >opensees</a></td>
261
- <td class=left-text>Direct and idiomatic bindings to <a href="https://github.com/claudioperez/OpenSeesRT" ><tt>OpenSeesRT</tt></a> kernel for finite element analysis.</td>
261
+ <td class=full-center-text><a href="https://pypi.org/project/opensees" >sees</a></td>
262
+ <td class=left-text>Direct and idiomatic bindings to <a href="https://github.com/claudioperez/OpenSeesRT" >
263
+ <samp>OpenSeesRT</samp></a> kernel for finite element analysis.</td>
262
264
  </tr>
263
265
  <tr>
264
266
  <td style=text-align:center>
@@ -280,9 +282,9 @@ td.left-text{vertical-align:middle}
280
282
  </tr>
281
283
  <tr>
282
284
  <td style="text-align:center"><img class="first-column-layout"
283
- src="{{ ASSETS_ROOT }}/content_images/brace/sees.png" alt="sees"></td>
284
- <td class=full-center-text><a href="https://pypi.org/project/sees">sees</a></td>
285
- <td class=left-text>A modern finite element post-processor renderer.</td>
285
+ src="{{ ASSETS_ROOT }}/content_images/brace/sees.png" alt="veux logo"></td>
286
+ <td class=full-center-text><a href="https://pypi.org/project/veux">veux</a></td>
287
+ <td class=left-text>A web-first visualization framework for structural simulation.</td>
286
288
  </tr>
287
289
  </table>
288
290
  </div>
@@ -295,6 +297,34 @@ td.left-text{vertical-align:middle}
295
297
  </div>
296
298
  </div>
297
299
  </div>
300
+
301
+
302
+ <section class=tabs-section>
303
+ <div class="container align-items-center">
304
+ <hr>
305
+ <!-- <h2 class=tabs-title>Sponsors</h2> -->
306
+ <table>
307
+ <tbody><tr>
308
+ <td>
309
+ <a href="https://dot.ca.gov/" rel="nofollow" class="clutterFree_existingDuplicate clutterFree_noIcon cf_div_theme_dark">
310
+ <img src="https://pypi-camo.freetls.fastly.net/7b2504fa154d6de2f70d6cac80839f75574f7530/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636c617564696f706572657a2f73646f662f6d61737465722f646f63732f6173736574732f43616c7472616e732e7376672e706e67" alt="Caltrans Logo" width="100">
311
+ </a>
312
+ </td>
313
+ <td>
314
+ <a href="https://peer.berkeley.edu">
315
+ <img src="https://pypi-camo.freetls.fastly.net/7b0fbea1983dc8e51a6877fc010c458e8e3f3f77/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636c617564696f706572657a2f73646f662f6d61737465722f646f63732f6173736574732f706565722d626c61636b2d3330302e706e67" alt="PEER Logo" width="100">
316
+ </a>
317
+ </td>
318
+ <td>
319
+ <a href="https://stairlab.berkeley.edu">
320
+ <img src="https://pypi-camo.freetls.fastly.net/f638ffd43bd94592280eb4e3b05451526341670b/68747470733a2f2f7261772e67697468756275736572636f6e74656e742e636f6d2f636c617564696f706572657a2f73646f662f6d61737465722f646f63732f6173736574732f73746169726c61622e737667" alt="STAIRlab Logo" width="100">
321
+ </a>
322
+ </td>
323
+ </tr>
324
+ </tbody>
325
+ </table>
326
+ </div>
327
+ </section>
298
328
  </main>
299
329
 
300
330
  <footer class="footer py-4 bg-primary text-white">
@@ -1,8 +1,49 @@
1
1
  Sitemap: https://structures.live/sitemap.xml
2
2
 
3
3
  User-Agent: *
4
- Disallow: /inventory/*/*/
4
+ Disallow: /inventory/*/[ep]*/
5
5
 
6
+ User-agent: AI2Bot
7
+ User-agent: Ai2Bot-Dolma
8
+ User-agent: Amazonbot
9
+ User-agent: anthropic-ai
10
+ User-agent: Applebot
11
+ User-agent: Applebot-Extended
12
+ User-agent: Bytespider
13
+ User-agent: CCBot
14
+ User-agent: ChatGPT-User
15
+ User-agent: Claude-Web
16
+ User-agent: ClaudeBot
17
+ User-agent: cohere-ai
18
+ User-agent: Diffbot
19
+ User-agent: DuckAssistBot
20
+ User-agent: FacebookBot
21
+ User-agent: FriendlyCrawler
22
+ User-agent: Google-Extended
23
+ User-agent: GoogleOther
24
+ User-agent: GoogleOther-Image
25
+ User-agent: GoogleOther-Video
6
26
  User-agent: GPTBot
27
+ User-agent: iaskspider/2.0
28
+ User-agent: ICC-Crawler
29
+ User-agent: ImagesiftBot
30
+ User-agent: img2dataset
31
+ User-agent: ISSCyberRiskCrawler
32
+ User-agent: Kangaroo Bot
33
+ User-agent: Meta-ExternalAgent
34
+ User-agent: Meta-ExternalFetcher
35
+ User-agent: OAI-SearchBot
36
+ User-agent: omgili
37
+ User-agent: omgilibot
38
+ User-agent: PanguBot
39
+ User-agent: PerplexityBot
40
+ User-agent: PetalBot
41
+ User-agent: Scrapy
42
+ User-agent: Sidetrade indexer bot
43
+ User-agent: Timpibot
44
+ User-agent: VelenPublicWebCrawler
45
+ User-agent: Webzio-Extended
46
+ User-agent: YouBot
47
+ Disallow: /
7
48
  Disallow: /
8
49
 
irie/core/settings.py CHANGED
@@ -46,6 +46,7 @@ CSRF_TRUSTED_ORIGINS = [
46
46
  # Application definition
47
47
 
48
48
  INSTALLED_APPS = [
49
+ # "irie.apps.admin_dash", # TODO
49
50
  "django.contrib.admin",
50
51
  "django.contrib.auth",
51
52
  "django.contrib.contenttypes",